←2009-01-15 2009-01-16 2009-01-17→ ↑2009 ↑all
00:22:50 <bsmntbombdood> i must have missed soemthing
00:23:38 <oerjan> nope
00:23:42 <ehird> 23:19 <oerjan> <Ilari> Actually, that language would be more powerful than BlooP, as BlooP expresses functions that are primitive-recursive, but that language could express A(m,n), which is not primitive recursive.
00:23:43 <ehird> 23:19 <oerjan> sort of BlooP with oracle...
00:23:45 <ehird> 23:50 <Ilari> Even one that could be implemented on Turing machine to run in "finite" time... :-)
01:35:00 -!- GreaseMonkey has joined.
04:18:49 -!- ehird has quit (kornbluth.freenode.net irc.freenode.net).
04:18:49 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net).
04:19:10 -!- ehird has joined.
04:19:10 -!- GregorR has joined.
04:23:45 -!- ehird has quit (kornbluth.freenode.net irc.freenode.net).
04:23:45 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net).
04:25:44 -!- ehird has joined.
04:25:44 -!- GregorR has joined.
04:42:16 <bsmntbombdood> teh buz
04:42:19 <bsmntbombdood> *bugz
04:42:48 <oerjan> ^ul ((*BUZZ* )S:^):^
04:42:48 <fungot> *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *B ...too much output!
04:52:51 <bsmntbombdood> yay unexplained segfault
04:56:24 <oerjan> ^ul (KH)(A)(:*)(:*)::**^^(N)**S
04:56:24 <fungot> KHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN
04:56:50 <Slereah> :D
04:57:27 <oerjan> http://www.khaaan.com/
05:14:11 <bsmntbombdood> Segmentation fault (core dumped)
05:22:49 -!- Corun has joined.
05:29:23 -!- oerjan has quit ("Bus").
05:37:40 <bsmntbombdood> haha!
05:37:45 <bsmntbombdood> my dc is waaaay faster than gnu dc
05:38:43 <Slereah> It's not the speed of your dick that matters, bsmnt_bot
05:39:02 <bsmntbombdood> dc(1), loser
05:39:31 <Slereah> I don't know what that is.
05:40:40 <bsmntbombdood> http://www.openbsd.org/cgi-bin/man.cgi?query=dc&apropos=0&sektion=0&manpath=OpenBSD%20Current&arch=i386&format=html
07:13:14 -!- olsner has joined.
07:50:37 -!- GregorR has quit (Read error: 110 (Connection timed out)).
07:51:06 <psygnisfive> rip ricardo montalban indeed
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:21 -!- olsner has quit ("Leaving").
08:31:37 <AnMaster> <ehird> crazy sedes. <ehird> *swedes <-- no Finns. Not Swedes.
08:34:13 <AnMaster> <bsmntbombdood> 1.5 × 10**-9 seconds at 2 ghz <-- not sure about that, some CPUs execute more than one instruction per cycle iirc. Though I'm not sure if x86 does that.
08:35:16 -!- GreaseMonkey has quit ("Client Excited").
08:36:35 <AnMaster> <bsmntbombdood> hey guys i just wrote a goto <bsmntbombdood> is this bad y/n <-- well depends a lot on language, how it is used and so on.
08:36:53 <AnMaster> like, C doesn't have break; for more than one level at a time
08:37:08 <AnMaster> using goto to break two levels is the cleanest solution there
08:38:02 <AnMaster> also sometimes in functions that can error out at several points and need to do common cleanup for all the error paths, goto error; and putting an error: block at the end may be the cleanest code.
08:38:20 <AnMaster> some file reading functions or such would fit into that category
08:38:38 <AnMaster> also I think it is often ok in _generated_ C code
08:44:22 <psygnisfive> anmaster
08:44:34 <psygnisfive> do you know anything about the properties of rewriting systems?
08:49:00 <AnMaster> psygnisfive, like Thue?
08:49:19 <psygnisfive> no no i mean the formal properties of such systems in general
08:49:48 <AnMaster> psygnisfive, not much really.
08:49:55 <psygnisfive> ok
09:38:54 -!- Corun has quit ("This computer has gone to sleep").
10:12:14 -!- Slereah_ has joined.
10:24:15 -!- Slereah has quit (Read error: 110 (Connection timed out)).
10:24:32 -!- Slereah has joined.
10:32:47 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
13:06:57 -!- oerjan has joined.
13:08:36 -!- Hiato has joined.
13:10:22 <oerjan> <psygnisfive> do you know anything about the properties of rewriting systems?
13:10:45 <oerjan> if it's string rewriting then you have the Chomsky hierarchy at least
13:30:26 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
13:31:35 -!- Hiato has joined.
13:59:14 <oklopol> oerjan: YOU'RE NOT FOOLING ANYONE :DDDDDDDDDDD
14:00:42 <oklopol> i misread "eurocreme" was on the clipboard and not the topic (shown next to each other), thought i had sleep googled for gay porn again
14:01:08 <oklopol> well that was actually complete bullshit, i just wanted to use the term sleep googling in some context.
14:01:25 <oerjan> fooling anyone about what?
14:01:32 <oklopol> oerjan: nothing in general
14:01:42 <oerjan> hm...
14:01:44 <oerjan> scary
14:01:52 <oklopol> is it now?
14:02:04 <oerjan> you regularly sleep google for gay porn?
14:02:43 * oerjan realizes responding to comments before reading the next line is more fun
14:03:09 <oklopol> well yeah i'm not sure why i said that bullshit comment
14:03:24 <oklopol> i mean it's all about choice, i honestly don't know whether i actually did think it was on the clipboard.
14:03:59 <oerjan> yeah i often don't know what i'm thinking either
14:04:18 <oklopol> i do know i don't sleep google for gay porn (afaik), but that is fun as a joke, so there's no need to be honest; then again if i say i misraed something, and i'm lying, there's no excuse.
14:04:21 <oklopol> but often i don't know
14:04:26 <oklopol> *misread
14:04:47 <oklopol> oooooooooooooooooooooooooooo
14:04:48 <oerjan> i misread that as misraped
14:04:50 <oklopol> oooooooooooooooooooooooooo
14:04:56 <oklopol> xD
14:05:01 * oerjan has no excuse
14:05:01 <oklopol> what's misraping
14:05:15 <oerjan> let's try to never find out
14:05:17 <oklopol> like, to accidentally someone?
14:05:19 <fizzie> I think it's just like rape, except you're doing it wrong.
14:05:26 <oklopol> oh.
14:05:27 <oerjan> deep.
14:05:33 <oklopol> there's probably like a comic about that
14:06:14 <oerjan> you misrape what you sow
14:07:04 <fizzie> One of the only three google hits of "misrape" (quoted) sounds like it's just a case of applying the procedure to the wrong person: "... bust into someone’s house and terrorize them, i suggest you keep detailed records of your victims so you don’t misrape any innocent bystanders. ..."
14:07:29 <oerjan> i think i should stop now, i just noticed it anagrams to "spermia"
14:07:40 <oklopol> Sperm AI
14:08:32 <oklopol> so cummon down south park and meet some frendsa mineeeee
14:08:36 <fizzie> Also "ram pies".
14:09:05 <oklopol> SimRape
14:09:18 <oerjan> rim peas
14:09:19 <oklopol> i'd play it.
14:09:33 <oerjan> prim sea
14:09:42 <fizzie> "ear imps".
14:09:45 <oklopol> simrape would probably need sperm ai.
14:09:55 <oklopol> but i hope there wouldn't be any ram pies
14:10:13 <oklopol> oh
14:10:32 <oklopol> almost prime ass, like that bear has
14:12:22 <oerjan> ip smear
14:12:29 <fizzie> Also maybe related: seam rip.
14:13:00 <oklopol> this is kinda getting outta hand ppl.
14:14:58 <Ilari> g66 = 3 !g65-1! (3 !g65-1! 3) > 3 !g65-1! (g64 + 3) = 3 -> (g64 + 3) -> (g65 - 1) > (2 -> (g64 + 3) -> (g64 - 2)) - 3 = A(g64,g64)... :->
14:17:27 <Ilari> => g66 > A(g64,g64)...
14:27:57 <Ilari> Heh: 'g64 -> g64 -> g64 -> g64'. That should be fairly BIG.
14:28:10 <Slereah> A million is already fairly big.
14:29:21 -!- Hiato has quit ("Leaving.").
14:34:11 <Ilari> g1 is already really really HUGE number. 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 iterated base-10 logarithms would barely do a minor dent to it. g2 is MUCH bigger than g1, etc...
14:35:04 <Slereah> Isn't g1 just 3^3^3?
14:35:05 <Slereah> Or something
14:36:31 <Ilari> g1 is 3 !!!! 3 = 3 !!! (3 !!! 3) = 3 !!! (3 !! (3 !! 3)) = 3 !!! (3 !! (3 ^ 3 ^ 3)) = 3 !!! (3 !! 7625597484987) = ...
14:37:52 <Ilari> = 3 !!! (3 ^ 3 ^ 3 ^ ... ^ 3) [7625597484986 '^'s]...
14:38:59 <fizzie> Your definition of "minor dent" is interesting, if you look at how large a fraction of the original number is left after that many logarithms. I'm not saying it wouldn't still be a rather large number, but if you consider a chunk of rock, take a similarly proportioned amount of it away, it doesn't really look like a "minor dent" at that point.
14:40:54 <Ilari> These numbers are so huge you can't even use power tower scale... And iterated logarithm operates in that scale...
14:43:40 <oklopol> power tower scale?
14:44:00 <oklopol> i agree, minor dent is a weird term
14:48:43 <Ilari> "Power tower scale" essentially measures how many times you (approximately) have to apply logarithm to get into small numbers..
14:50:47 <oerjan> which is just the fourth step of the ackermann function
14:51:18 <oerjan> A(4,n) = 2^2^...n times - 3 or something like that
14:53:13 <oklopol> Ilari: k right. still i agree with fizzie
14:56:11 <fizzie> Yes, well, in my viewpoint it's just a matter of what the word "dent" means; it doesn't seem right to me to call something a "dent" if over, say, half of the original thing is gone, no matter how large the dented thing is.
15:07:03 -!- Slereah_ has joined.
15:15:40 -!- Slereah has quit (Read error: 110 (Connection timed out)).
15:37:36 -!- ehird has left (?).
15:37:39 -!- ehird has joined.
15:37:54 -!- ehird has left (?).
15:37:57 -!- ehird has joined.
15:38:44 <ehird> 08:31 <AnMaster> <ehird> crazy sedes. <ehird> *swedes <-- no Finns. Not Swedes.
15:38:46 <ehird> no
15:38:48 <ehird> finns are sane
15:39:09 <fizzie> Completely Finn-sane.
15:39:31 <oerjan> ehird: you show a complete misunderstanding of nordic stereotypes
15:39:41 <ehird> good :D
15:51:14 <AnMaster> ehird, you were talking about that iki.fi thing then
15:51:22 <AnMaster> Swedes aren't related to that
15:51:24 <AnMaster> afk
15:51:29 <ehird> meh, iki.fi makes some sense
15:51:36 <ehird> it's just odd that finns are the only ones who use such a thing
15:57:29 <oerjan> i assume the japanese do to, it's just that we never know because they are speaking in japanese.
15:57:42 <oerjan> *too
15:58:21 <oerjan> oh and the north koreans with internet access also do so. both of them.
16:00:33 <ehird> to be honest I don't exist
16:00:45 <oklopol> duh.
16:00:50 <oerjan> i had suspected that.
16:01:22 <oerjan> but then i thought: figments of imagination are people too!
16:01:37 <oerjan> in fact they're the only people
16:09:37 -!- dbc has quit (Read error: 110 (Connection timed out)).
16:36:36 <ehird> http://lost-theory.org/realultimatepower/ The Official Jeff Atwood Homepage
16:36:59 <Slereah_> How terribly lame
16:37:11 <ehird> it's a parody.
16:37:14 <Slereah_> Yes
16:37:15 <Slereah_> I know
16:37:19 <Slereah_> I have the book
16:37:36 <ehird> I guess you also have to hate jeff atwood to find it funny :P
16:37:50 <Slereah_> Who's Jeff Atwood?
16:38:00 <ehird> Idiot extraordinaire.
16:38:18 <ehird> So idiotic that _Joel Spolsky_ teaches him something on a weekly basis. http://www.codinghorror.com/blog/
16:38:20 <Deewiant> codinghorror.com
16:38:33 <ehird> jeffatwoodhorror.com
16:38:49 <Slereah_> Coding horror
16:38:53 <Slereah_> I hope I'm not on there :o
16:40:49 <ehird> http://www.reddit.com/r/WTF/comments/7q2rj/google_search_results_for_khaxn_for_x1_to_100/c072mvj
16:41:12 <ehird> eliezer's reply is so. perfectly. timed.
16:41:38 <psygnisfive> ehird: not infact all that odd
16:41:47 <ehird> shut up. it's humour.
16:41:48 <ehird> it's funny.
16:41:54 <psygnisfive> you can find two dimensional graphs of ARGH
16:42:01 <ehird> um
16:42:03 <ehird> im not talking about that
16:42:07 <ehird> im talking about the specific comment thread linked
16:42:15 <ehird> psygnisfive: clicking links since 2009
16:42:21 <psygnisfive> thats nice.
16:42:29 <psygnisfive> im commenting on the content of the link.
16:42:29 <psygnisfive> :P
16:42:55 <oerjan> Don't joke about this. He's dead, Jim.
16:42:56 <ehird> the link I posted selects one comment thread in the comments for that link.
16:43:13 <psygnisfive> ah well, it doesnt do anything special for me, ehird. dunno why.
16:43:23 <ehird> yes. it does.
16:43:24 <ehird> scrolld own.
16:43:27 <ehird> past the link.
16:43:28 <ehird> http://www.reddit.com/r/WTF/comments/7q2rj/google_search_results_for_khaxn_for_x1_to_100/c072mvj
16:43:36 <psygnisfive> yeah it doesnt do anything for me dude
16:43:37 <ehird> The yellow-backgrounded comment.
16:43:42 <ehird> And Eliezer Yudkowsky's reply.
16:43:47 <psygnisfive> ah, ok.
16:43:53 <ehird> fail
16:44:18 <psygnisfive> i didnt realize that it was only showing one thread
16:44:25 <psygnisfive> as for yudkowsky, heh.
16:44:55 <psygnisfive> i wonder if he just stumbled across that thread or if he has An Algo
16:45:42 <oerjan> hm he really _must_ have come by google, it's a month since his last post :D
16:46:18 <ehird> (Context: qgyh2 is the person on reddit with the most submission & comments points, over 100,000 or sth)
16:46:28 <psygnisfive> lol
16:49:46 <oklopol> so.
16:50:15 <oklopol> did you know the turku university specializes in discrete math, and there's a lot of research in mathematical esolangs?
16:50:29 <oklopol> you didn't. my point is i think i know what i'm gonna be when i grow up.
16:52:09 <psygnisfive> i should learn hoare logic
16:52:20 <psygnisfive> mathematical esolangs??
16:52:38 <Slereah_> Like -recursive functions? :o
16:53:31 <oklopol> WHORE LOGIC YOU SAY :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
16:53:51 <oklopol> psygnisfive: reductions from all kindsa constructs into turing machines.
16:53:58 <Slereah_> With the whore operator
16:53:59 <psygnisfive> example?
16:54:06 <oklopol> talked to this prof who does cellular automata stuff today
16:54:31 <oklopol> i was instructed to meet him after mentioning i was thinking switching university.
16:54:43 <ehird> lol
16:54:50 <ehird> "im leaving, you guys are too practical"
16:54:54 <ehird> "HERE IS A CRAZY-ASS GUY"
16:54:59 <ehird> *crazy ass-guy
16:55:27 <Slereah_> More like ASS-GUY
16:55:39 <psygnisfive> too slow, slereah_
16:55:50 <ehird> yeah I was just doing that to shut up the fucking xkcd fans
16:55:52 <Slereah_> :(
16:56:02 <Slereah_> I'm just a fan of asses.
16:57:03 <oerjan> fucking-xkcd fans are scary.
16:57:43 <psygnisfive> i dont know many people who are fans of fucking xkcd
16:58:19 <ehird> 16:57 <niukas> HEJ PEOPLES HELP -TELL AROUND THE WORLD WHAT WE DIEING STOP MAKE DEATH STOP KILL ANIMALS PLANTS WATER METALL ANOTHER PEOPLES BAD PEOPLES MAKE THIS WORLD WE CAN LIVE FOREVER WIT NATURE WITH GOD WITH UNIVERSE PIECE
16:58:20 <ehird> 16:57 <niukas> STOP KILL STOP DEATH
16:58:22 <Slereah_> Is this fucking xkcd? http://d.furaffinity.net/art/seaweedprincess/1232091972.seaweedprincess_xkcd34.jpg
16:58:22 <ehird> -- #haskell
16:58:35 <ehird> Slereah_: I did not need to see that.
16:58:43 <Slereah_> ehird : Yes.
16:58:44 <Slereah_> Yes you did.
16:58:49 <Slereah_> Now you are complete.
16:58:54 <ehird> No, I... really didn't
16:59:10 <Slereah_> You'll thank me one day.
17:00:24 <oerjan> ehird: see, it's the swedes that are crazy
17:00:30 <psygnisfive> thats a totally inappropriate fake xkcd, slereah_
17:00:37 <psygnisfive> there's no alt text!
17:00:53 <ehird> oerjan: I know :P
17:00:59 <Slereah_> Yes there is
17:01:05 <ehird> finns and norway-yians are cool
17:01:08 <Slereah_> It's "Raptors on Hoverboards are Offscreen"
17:01:10 <oerjan> oh wait
17:01:14 <psygnisfive> ahhh
17:01:15 <Slereah_> But I posted the pix directly
17:01:15 <psygnisfive> good one
17:01:23 <Slereah_> Since you butts don't have FA accounts
17:01:27 <psygnisfive> μYou?
17:01:35 <psygnisfive> i have an FA account
17:01:47 <Slereah_> Yes
17:01:51 <Slereah_> But not the rest.
17:01:51 <oerjan> what the heck is an FA account.
17:01:54 <Slereah_> Unless...
17:02:01 <psygnisfive> fur affinity, oerjan
17:02:02 <Slereah_> IS ANYONE A CLOSET FURRY HERE
17:02:06 <ehird> the picture is on furaffinity.net, which is a shithole full of retarded furries.
17:02:07 <oerjan> ah
17:02:07 <psygnisfive> deviant art for furries
17:02:11 <ehird> and the associated porn.
17:02:39 <Slereah_> it's a fun thing, really
17:02:41 <oerjan> Slereah_: yes iirc. not me though.
17:02:59 <Slereah_> Ever since DA was created, furries have migrated from sites to sites
17:03:03 <Slereah_> Until FA was thar.
17:03:05 <ehird> wait, how can you know if someone is a closet furry
17:03:08 -!- kar8nga has joined.
17:03:15 <Slereah_> HERE'S ONE!
17:03:16 <ehird> that doesn't make sense
17:03:17 <Slereah_> GET HIM!
17:03:18 * Asztal is a cute b/w wolf
17:03:27 -!- ehird has set topic: No furries allowed.
17:04:03 <Slereah_> Hey >:|
17:04:06 <Slereah_> You forgot the logs!
17:04:14 <ehird> Furries don't deserve logs
17:04:22 <oerjan> he must have thought they looked furry
17:04:30 <oerjan> ehird: it's just moss!
17:04:40 <oerjan> and lichen!
17:06:31 -!- oerjan has set topic: No smurfing.
17:07:07 -!- ehird has set topic: No furries allowed.
17:07:32 -!- oerjan has set topic: No smurfing furries allowed.
17:10:03 <Slereah_> Hey psygnisfive
17:10:06 <Slereah_> Want to smurf?
17:11:02 <oklopol> :O
17:11:08 <oklopol> TOO MUCH REQUESTING INFORMATION
17:11:27 <Slereah_> I'll request allright.
17:11:31 <Slereah_> REQUEST A REACH AROUND
17:14:33 <oklopol> xD
17:15:18 <oklopol> blah, i don't feel like reading, i feel like running around naked and eating doors.
17:15:32 <oklopol> but, i guess i have little choice.
17:15:34 <oklopol> wish me luck ->
17:15:42 <Slereah_> Delicious door
17:16:27 -!- FireFly has joined.
17:16:39 <AnMaster> argh
17:16:41 <AnMaster> where are the logs?
17:16:53 <AnMaster> the link in topic is GONE!
17:17:16 <Slereah_> It's all ehird's fault
17:17:21 <Slereah_> Him and his fursecution!
17:17:28 <oklopol> that maniac
17:17:30 <ehird> AnMaster: bookmarks
17:17:33 <ehird> do you know how to use them?
17:17:35 <oklopol> optbot!!!!!!!!!!!!!
17:17:46 <oklopol> why use bookmarks when the topic has the logs
17:17:59 -!- Slereah_ has set topic: butt | http://tunes.org/~nef/logs/esoteric.
17:18:20 <AnMaster> ehird, yes you place them in books to remember where you should continue reading.
17:18:31 <ehird> Ha. Ha. Ha.
17:19:07 * ehird writes cat(1) program in Python because why not.
17:19:12 <ehird> #!/usr/bin/env python
17:19:12 <ehird> import sys
17:19:12 <oerjan> i bet if i had said it ehird wouldn't have laughed. oh wait.
17:19:13 <ehird> for filename in sys.argv:
17:19:16 <ehird> file = sys.stdin if filename == '-' else open(filename)
17:19:18 <ehird> while not file.closed:
17:19:20 <ehird> sys.stdout.write(file.read(1))
17:19:29 <ehird> oerjan: no, I wouldn't have :P
17:19:44 <AnMaster> oerjan, yes, but not in such a sarcastic manner
17:20:58 <oerjan> ehird: you are missing _several_ POSIX options.
17:21:06 <ehird> isn't there just -u?
17:21:15 * oerjan has no idea really :D
17:21:16 <ehird> yep
17:21:20 <ehird> -u
17:21:21 <ehird> Write bytes from the input file to the standard output without delay as each is read.
17:21:22 <ehird> which I already do
17:21:25 <ehird> and nobody uses that anyway
17:21:38 <ehird> mine misses stdin on no args through
17:21:44 <ehird> s/sys.argv/sys.argv or ['-']/
17:21:44 <oerjan> ok how many GNU options are there...
17:21:49 <ehird> oerjan: 5 bajillion
17:21:56 <ehird> i don't believe in gnu tools
17:22:16 <oklopol> so, you know how i like stuff right?
17:22:35 <oerjan> oklopol: eww
17:22:59 <oklopol> oerjan: i bet if i had said it ehird wouldn't have laughed. oh wait. <<< you would never say that
17:23:07 <ehird> well exactly.
17:23:34 <oerjan> i could have made a similar joke. in fact i must have done so.
17:23:48 <oklopol> oerjan: you would've made a joke based on the same thing, yes
17:23:55 <oklopol> the point is you would've made it less direct
17:24:19 <oerjan> you mean like remote library loan?
17:24:47 <oklopol> see that's what you would've said. something so complicated i don't get it
17:24:57 <oklopol> plz explain i want to laugh.
17:25:16 <oerjan> less direct + books = remote library loan
17:26:05 <oklopol> hmm
17:26:14 <oklopol> THAT'S NOT FUNNY.
17:26:28 <oerjan> NEITHER IS YOUR MOTHER.
17:26:55 <oklopol> FUCK YOU, MY MOTHER IS OUTRIGHT RIDICULOUS!!
17:27:11 <oerjan> also, i was obviously trying to make the joke even less direct than usual, it's a meta thing
17:27:20 -!- ais523 has joined.
17:27:23 <oerjan> and you know i never *hit by anvil*
17:27:27 <oklopol> yes, i think i get it.
17:28:05 <ehird> http://pastie.org/362562.txt?key=r1mvwcrozo1c5mcrklic8w
17:28:09 <oklopol> oerjan: trying to balance it out... or is that your new swatter replacement?
17:28:09 <ehird> Now it does rot13 too.
17:28:19 <ehird> because cat is _exactly_ the place for it
17:28:23 <oklopol> *are you trying
17:28:34 <oklopol> balance directness out that is
17:28:37 <oerjan> i don't think i can make a 1-line anvil. hm.
17:28:42 <ehird> python is fun.
17:28:45 <oerjan> _T_
17:28:46 <ais523> ehird: I was thinking about the UNIX philosophy
17:28:53 <ehird> ais523: heh, nice timing
17:28:55 <oerjan> _||_
17:29:01 * ehird breaks oerjan's anvil with lines
17:29:06 <ais523> and actually, I decided find | grep is more unixy than either find -name blah or ls -R | grep
17:29:14 <oklopol> i think that was it, ehird.
17:29:19 <ais523> you can tell you're being properly UNIXy if you don't need command-line options
17:29:25 <oerjan> ehird: those were two anvils
17:29:31 <ehird> ais523: that makes sense to a degree
17:29:39 <ehird> some command line options just change how it operates, not fundamentally what it does
17:29:45 <ehird> ls -R changes fundamentally what it does, however
17:29:51 <ehird> so you're right in that case
17:29:52 <ais523> yes
17:30:19 <ehird> uh oh, my cat has a bug
17:30:20 <ehird> XD
17:30:26 <ais523> the fact that so many commands have recursion options implies that find is definitely a unixy command, when you don't use its options yourself
17:30:27 <ais523> ehird: what lang?
17:30:33 <ehird> ais523: http://pastie.org/362562.txt?key=r1mvwcrozo1c5mcrklic8w
17:30:34 <ais523> buggy cats normally imply some pretty difficult lang
17:30:39 <ehird> I wrote cat in python for no reason, but then added rot13
17:30:42 <ehird> for no reason
17:30:49 <ehird> ais523: no, just buggy logic for detecting EOF
17:30:55 <ais523> ah, EOF
17:31:00 <oerjan> ehird: use a flea collar
17:31:05 <ehird> btw, one instruction that more languages need
17:31:08 <ehird> is pipe
17:31:10 <ehird> basicall
17:31:11 <ehird> y
17:31:19 <ehird> in python
17:31:34 <ehird> pipe(lambda: file.read(1), lambda a: sys.stdout.write(transformer(a)))
17:31:38 <ehird> is equivalent to
17:31:46 <ehird> (pseudo-python, you can't assign in whiles in reality):
17:31:54 <ehird> while a = file.read(1): sys.stdout.write(transformer(a))
17:31:57 <ehird> it's such a common idiom
17:31:59 <ehird> something like
17:32:17 <ehird> pipe file.read(1) as a: sys.stdout.write(transformer(a))
17:32:21 <ehird> would be great
17:32:23 <ais523> incidentally, I read somewhere that Python lambdas were syntactic sugar
17:32:28 <ais523> what do they expand to?
17:32:36 <ehird> foo(lambda x: x)
17:32:36 <ehird> could be
17:32:44 <ehird> def bar(x): return x
17:32:45 <ehird> foo(bar)
17:32:58 <ais523> oh, you can declare named functions in inner scopes in Python?
17:33:02 <ehird> yes
17:33:08 <ais523> that would explain it
17:33:37 <ehird> python is a bit verbose, unfortunately
17:33:43 <ehird> so using it for scripting is a bit annoying
17:33:51 <ehird> but it's nicer than writing shell script...
17:34:04 <ais523> it depends on how long the scripts are
17:34:14 <ehird> even trivial things in shell can be a pain
17:34:32 <ehird> if I get beyond one for loop over something like * in a shell, it instantly goes to hell
17:34:36 <ehird> and I switch to a real language :P
17:36:43 <ehird> but it'd be nice if python was, you know, shorter
17:36:57 <ehird> I'm pretty sure that cat is the not much shorter than it would be in C
17:37:00 * ehird writes it in C to find out
17:38:39 <ehird> hm
17:38:39 <ehird> uppercase = code >= ord('A') and code <= ord('Z')
17:38:41 <ehird> lowercase = code >= ord('a') and code <= ord('z')
17:38:43 <ehird> ->
17:38:45 <ehird> uppercase = char.islower()
17:38:47 <ehird> err
17:38:49 <ehird> isupper
17:38:54 <ehird> lowercase = char.islower()
17:38:54 <ehird> :P
17:43:13 <ehird> c version: 55 lines
17:43:18 <ehird> so, python is quite a bit shorter
17:43:24 <ehird> the programs essentially look the same, though.
17:43:40 <ehird> http://pastie.org/362584.txt?key=bm06tagczdoiybatmth9q
17:44:24 <ehird> err, that transformer assignment needs to be lower
17:44:25 <ehird> whatever
17:46:37 <ehird> am I connected?
17:46:37 <ehird> ping.
17:47:00 <ehird> amusingly, this python
17:47:00 <ehird> shifted = (((ord(char.lower()) - ord('a')) + 13) % 26) + ord('a')
17:47:05 <ehird> is more verbose than this c
17:47:05 <ehird> shifted = (((tolower(c) - 'a') + 13) % 26) + 'a';
17:48:03 <ehird> incidentally, C only does so well at this program because it involves no dynamic allocation whatsoever.
17:48:15 -!- kar8nga has left (?).
17:49:39 <ehird> also, my stdin check fails
17:49:42 <ehird> as I forgot to use strcmp.
17:49:50 <ais523> heh, comparing pointers?
17:49:55 <ehird> conclusion: python is better but sometimes uglier.
17:51:25 <psygnisfive> slereah: no.
17:52:07 <ehird> I should now write some code that actually does anything.
17:52:12 * ais523 looks at the Wiki recent changes
17:52:19 <ais523> oh no, not yet /another/ BF derivative
17:52:51 <oklopol> linkkkkk
17:53:25 <ehird> proposal: bf derivatives are banned
17:53:38 <oklopol> but what about continuous brainfuck
17:53:49 <oklopol> it's gonna be awesome.
17:53:54 <ehird> ais523: I like the syntax, though
17:53:55 <ehird> the swirling dna
17:54:13 <ais523> yes
17:54:23 <ais523> also, the notion of BF derivatives isn't bad as a whole
17:54:27 <ais523> just, they ought to be interesting
17:54:35 <ais523> and most of the ones that people come up with aren't
17:55:17 <ehird> I wonder if I will ever use 25GB of mail storage.
17:55:48 <ehird> (My current gmail account, which I made in 2006 and only started using heavily in around 2008, is using "744MB (10%) of your 7285MB.")
17:55:57 <ehird> (Which is a lot for such a little time I've used it heavily.)
17:57:11 <ehird> I don't think I'm connected.
17:57:48 <ehird> ais523: ping.
17:58:39 <ais523> pong
17:59:09 <ehird> "Why buy a dedicated fart app AND a flashlight, when you can have BOTH, and get a TWITTER CLIENT along with it!"
17:59:14 <oerjan> pyng
17:59:20 <ehird> This person has got the iPhone appstore 100% figured out.
17:59:46 <ais523> heh
17:59:51 <ais523> is that one of the adverts?
18:00:06 <ehird> http://www.atebits.com/pee/
18:00:25 <ehird> they actually sell it :D
18:01:07 <Slereah_> WHAT IS PEE
18:01:11 <Slereah_> I wonder as well!
18:01:34 <psygnisfive> http://atebits.cachefly.net/pee/wow.jpg
18:01:44 <psygnisfive> this looks like a stock photo
18:01:56 -!- puzzlet has quit (Remote closed the connection).
18:02:00 <psygnisfive> but it's odd. i wonder what the photographers were thinking when they planned/took this photo.
18:02:01 -!- puzzlet has joined.
18:02:28 <ehird> psygnisfive: it's from a recent advert bought on reddit
18:02:31 <ehird> advertising viagra or something
18:02:40 <psygnisfive> aha
18:02:46 <ehird> the ad is now gone due to complaints and there are tons of ads on reddit using the same image but advertising things like subreddits.
18:02:53 <psygnisfive> so they were thinking "we should make her look like she'
18:03:04 <ehird> yes, I don't think you have to elaborate psygnisfive.
18:03:05 <psygnisfive> s amazed at the size of the adviewer's engorged penis"
18:03:24 <psygnisfive> well ehird its important to be clear!
18:03:27 <ehird> The Bush Boom: How a Misunderestimated President Fixed a Broken Economy
18:03:28 <ehird> worst
18:03:28 <ehird> book
18:03:30 <ehird> EVAR
18:03:31 <ehird> http://www.amazon.com/Bush-Boom-Misunderestimated-President-Economy/dp/1594670870?ie=UTF8&s=books&qid=1232115413&sr=8-1
18:03:49 <psygnisfive> if i wasnt, you might've thought i meant, "she's amazed at the low low prices of viagra that we're selling"
18:04:05 <psygnisfive> and i wouldnt want you to have wrong assumptions about my perspective on advertisements for viagra
18:05:29 <oklopol> oooooooooo
18:07:48 <ehird> hmm
18:07:51 <ehird> you know what would be cool?
18:07:58 <ehird> an irc server specifically designed for things like bitlbee
18:07:59 <ehird> that is
18:08:03 <ehird> clients can do things like
18:08:07 <ehird> MAKEDUMMY foobarbaz
18:08:11 <ehird> ASDUMMY foobarbaz JOIN #mychannel
18:08:17 <ehird> ASDUMMY foobarbaz PRIVMSG #mychannel :I am totally a real person
18:10:04 <ais523> what is bitlbee?
18:10:55 <ehird> bitlbee is a gateway that lets you use MSN/AIM/Jabber/etc through irc
18:11:03 <ehird> you connect to a special server and your contacts become irc users in a room
18:11:06 <ehird> you can just /msg them and stuff
18:11:29 <ehird> there's plenty of good things that could do with an "IRC interface" with that, I'm just thinking about a server that would make it as easy as writing an irc bot
18:11:34 <ehird> with some special commands to control fake users
18:14:50 <ehird> so. yes.
18:18:46 -!- MigoMipo has joined.
18:21:23 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
18:22:26 -!- ais523 has joined.
18:31:24 -!- ais523 has quit (Client Quit).
18:34:17 <ehird> http://www.noteflight.com/scores/view/2177201ae448ab894682b16d557f5544fb678e7b
18:34:21 -!- puzzlet has quit (Remote closed the connection).
18:34:28 -!- puzzlet has joined.
18:36:00 -!- ais523 has joined.
18:36:26 <ehird> 18:34 puzzlet has joined (n=puzzlet@147.46.241.231)
18:36:26 <ehird> 18:36 ais523 has joined (n=ais523@147.188.254.127)
18:36:28 <ehird> puzzlet == ais523
18:36:42 <ais523> meh, 147 is massive
18:36:49 <ais523> 147.188 is Birmingham University
18:36:59 <ais523> therefore my guess is that puzzlet's on the UK academic network or something connected to it
18:37:03 <ais523> but not in Birmingham
18:37:53 <ehird> umm, puzzlet is chinese I'm prety sure
18:38:07 <ehird> oops. korean
18:38:14 <ais523> interesting
18:38:18 <ehird> (Puzzlet Chung lives in the Republic of Korea. He is one of the administrators of the Korean Wikipedia and the Korean Wikiquote.
18:38:18 <ehird> --http://en.wikipedia.org/wiki/User:PuzzletChung
18:38:21 <ais523> in that case, 147 stretches a long way
18:38:33 <ais523> there are only 256 /8s, and they aren't all used
18:38:43 <ais523> so it's not surprising that some of them go all over the world, I suppose
18:39:19 <ehird> also,http://kiwi.cabal.fi/home/aki/misc/cons-ceremony.txt
18:44:25 <ehird> Hmm. Oh dear. I think I have my editor committed to muscle memory.
18:45:01 <ais523> which editor?
18:45:07 <ais523> both vi and emacs are pretty quick to type
18:45:14 <ehird> I mean, the editor commands.
18:45:18 <ais523> and I have most common words committed to muscle memory, not just editors
18:45:25 <ehird> As in, switching to another editor for daily use would involve a lot of unlearning.
18:45:30 <ais523> and yes, editor commands seems reasonable
18:45:51 <ehird> (it's textmate, FWIW)
18:45:59 -!- BeholdMyGlory has joined.
18:47:40 <lament> i use a 7-string vi in drop-D tuning
18:49:29 -!- Hiato has joined.
19:08:13 <AnMaster> grr
19:08:32 <AnMaster> mysql docs doesn't even say when some sql syntax is non-standard
19:08:39 <ais523> AnMaster: that's easy enough
19:08:43 <AnMaster> postgresql manuals documents it all the time
19:08:45 <AnMaster> clearly
19:08:46 <ais523> /all/ sql syntax is nonstandard
19:08:59 <AnMaster> ais523, for example it seems using LIMIT with UPDATE is non-standard
19:09:08 <AnMaster> I'm porting a program from mysql to postgresql btw
19:09:16 <ais523> AnMaster: LIMIT isn't standard at all
19:09:21 <ais523> although it's certainly useful
19:09:36 <AnMaster> ais523, well, postgresql supports it with SELECT, but nothing else
19:09:54 <ais523> the SQL standard doesn't even have LIMIT as a keyword
19:10:46 <AnMaster> ais523, interestingly, the worst problems so far has been 1) postgresql has bytea, but no blob 2) postgresql wants "" around column names that happens to be keywords, mysql wants ``
19:10:49 <oerjan> an unLIMITed standard
19:10:59 <AnMaster> oerjan, heh
19:11:10 <ais523> AnMaster: yep, quoting is really inconsistent between the DB engines
19:11:12 <oerjan> hey, even i wasn't laughing
19:11:15 <ais523> surely they must have standardised that
19:11:33 <ais523> so why aren't DB engines staying consistent about it?
19:11:48 <AnMaster> ais523, well since I need to support both (eww) I wrote a small wrapper quote_for_stupid_db
19:11:55 <AnMaster> that quotes one word as a column name
19:12:34 <AnMaster> apart from column names and table names the code uses prepared statements everywhere
19:13:36 -!- sebbu has quit (Read error: 104 (Connection reset by peer)).
19:14:01 -!- sebbu has joined.
19:14:57 <AnMaster> ais523, anyway what is worse in this case (which is horrible php code), is that while pdo is supposed to be an abstraction layer, it is kind of useless when it returns mysql blobs as strings and postgresql bytea as streams
19:19:00 -!- KingOfKarlsruhe has joined.
19:20:27 <ehird> ooh, a syntax highlighting program that actually parses textmate theme files to work.
19:20:28 <ehird> nice.
19:21:19 * Hiato hates to interrupt but is concerned that his NASM OS compiles with FASM, yet causes kernel panics randomly
19:21:28 <ehird> #osdev? :P
19:21:35 * Hiato and is wondering what the compiler differences are
19:21:39 <Hiato> :P
19:21:42 <Hiato> roger
19:21:42 <Hiato> thanks
19:21:52 <ehird> Hiato: you have an os?
19:22:09 <Hiato> indeedy
19:22:43 <Hiato> was in NASM, then I started porting it to FASM today so that I could port FASM to it. It's 16bit, real-time mono-tasking (for now)
19:23:01 <ehird> http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=7,475,086.PN.&OS=PN/7,475,086&RS=PN/7,475,086
19:23:03 <ehird> Patent fail
19:23:11 <ehird> thx ibm
19:23:51 <AnMaster> ehird, err
19:23:58 <AnMaster> ehird, prior art
19:24:08 <ehird> Lol! You think the US patent system cares?
19:24:11 <ehird> Oh, what a comedian
19:24:55 <AnMaster> ehird, this sounds like the definition of the CHAR(n) type...
19:25:06 <ehird> no, it's the definition of TRIM()
19:25:29 <AnMaster> well, using TRIM() in a trigger rather?
19:26:27 <ehird> perhaps.
19:29:32 -!- Zetro has joined.
19:30:41 -!- Mony has joined.
19:33:03 <Mony> plop
19:33:10 <ais523> blob
19:33:18 <oerjan> kablam!
19:45:14 <AnMaster> argh, mysql auto increment NEEDS a NULL in INSERT, it must be listed. PostgreSQL's equivalent requires the column to not be listed
19:45:14 <AnMaster> :(
19:49:46 <ais523> AnMaster: autoincrement is different between all sorts of db engines
19:49:52 <AnMaster> ais523, yes
19:50:31 <AnMaster> ais523, do you know any sort of true DB abstraction layer? A "anti-quirk middleware"
19:50:33 <AnMaster> an*
19:50:37 <ais523> I don't know of one
19:50:39 <ais523> they must exist, though
19:50:46 <ehird> DBI.
19:50:53 <AnMaster> ehird, for (ewwwww) php
19:50:55 <ais523> ehird: that isn't a true abstraction layer
19:51:03 <ais523> it requires you to write the SQL yourself
19:51:12 <ehird> AnMaster: that was not specified. ais523: It translates the SQL to the correct dialect, I believe.
19:51:12 <ais523> in a syntax that the target DB engine understands
19:51:17 <ais523> ehird: no it doesn't, IIRC
19:51:22 <ehird> yes it does, IIRC>
19:51:46 <AnMaster> ehird, well true
19:52:12 <AnMaster> but I'm not using perl, no way I'm rewriting an existing software in perl
19:52:29 <AnMaster> at least this php program has all the DB calls in a single file
19:52:34 <ehird> then tough shit.
19:53:05 <AnMaster> ehird, ais523: also does DBI rewrite or not?
19:53:13 <ais523> Dates and times are returned as character strings in the current
19:53:15 <ais523> default format of the corresponding database engine. Time zone effects
19:53:15 <ehird> 19:51 <ais523> ehird: no it doesn't, IIRC
19:53:16 <ehird> 19:51 <ehird> yes it does, IIRC>
19:53:16 <ais523> are database/driver dependent.
19:53:23 <ais523> from the DBI docs
19:53:25 <ais523> I haven't found a definitive answer to the original question yet
19:53:25 <ehird> I am talking about SQL syntax, ais523.
19:53:26 <ais523> but that's a clue
19:53:58 <AnMaster> ehird, and I'm waiting for you two to make up your mind
19:54:01 <ais523> The DBI itself does not mandate or require any particular language to
19:54:03 <ais523> be used; it is language independent. In ODBC terms, the DBI is in
19:54:04 <ais523> "pass-thru" mode, although individual drivers might not be. The only
19:54:06 <ais523> requirement is that queries and other statements must be expressed as a
19:54:07 <ais523> single string of characters passed as the first argument to the
19:54:09 <ais523> "prepare" or "do" methods.
19:54:12 <ais523> it doesn't even require SQL!
19:54:16 -!- MigoMipo has changed nick to PrepareForMigol0.
19:54:17 <AnMaster> hah
19:54:21 <ehird> k
19:54:35 <AnMaster> ais523, what is ODBC btw? I have seen the term a lot, but never understood what it was
19:54:43 -!- PrepareForMigol0 has changed nick to Migol09.
19:54:44 <ais523> I think it's a DB driver, not sure though
19:54:48 <ehird> letmegooglethatforyou.com/?q=ODBC
19:54:51 <ais523> it's probably something DB-related, anyway
19:54:57 <ais523> ehird: does that site need JavaScript?
19:55:00 <ehird> yes.
19:55:06 <ehird> enable it, it's worth it
19:55:08 <ais523> then it's considerably worse than just linking to Google
19:55:16 <ais523> <ehird> enable it, it's worth it <--- no it isn't
19:55:22 <ehird> ais523: it's a sarcastic insult.
19:55:32 <ehird> if I wanted to be helpful I wouldn't link to it.
19:56:14 <AnMaster> ehird, I have javascript off too
19:56:21 <AnMaster> and not about to turn it on
19:56:24 <ehird> care level: 0
19:56:48 <AnMaster> "In computing, Open Database Connectivity (ODBC) provides a standard software API method for using database management systems (DBMS). The designers of ODBC aimed to make it independent of programming languages, database systems, and operating systems."
19:56:49 <AnMaster> interesting
19:58:00 * AnMaster forces ehird to use MS Query with the Microsoft Excel backend for his databases
20:04:40 -!- oerjan has quit ("Good night").
20:14:29 -!- Zetro has quit (Read error: 104 (Connection reset by peer)).
20:14:49 -!- Zetro has joined.
20:18:16 -!- Migol09 has changed nick to JohnWins.
20:23:06 -!- Judofyr has joined.
20:26:47 -!- BeholdMyGlory has changed nick to ThisIsAReallyLon.
20:27:08 -!- ThisIsAReallyLon has changed nick to BeholdMyGlory.
20:28:15 <ehird> cool, the IRC interface I was thinking about exists
20:29:17 -!- Zetro has left (?).
20:34:05 <AnMaster> ehird, and what is that interface?
20:34:16 <ehird> you have 3 guesses
20:34:55 <AnMaster> not file system based since we talked about that before, not integrated in to zsh since we also talked about that before
20:34:57 <AnMaster> hm
20:35:15 <AnMaster> ehird, are you talking about a client or some server side feature?
20:35:26 <AnMaster> like say, a jabber<->irc proxy
20:35:36 <ehird> IRC interface: an IRC server that provides an interface to another service.
20:35:37 <AnMaster> (that exists yes)
20:35:44 <ehird> For example, bitlbee is an IRC interface for IM services.
20:35:47 <AnMaster> indeed
20:35:59 <AnMaster> but it isn't bitlbee?
20:36:01 <AnMaster> hm
20:36:11 <AnMaster> ehird, is it related to IM?
20:36:17 <ehird> Sort of.
20:36:37 <AnMaster> related to web browser? (like, say cgi::irc but in server)
20:37:04 <AnMaster> ehird, ?
20:37:07 <ehird> nope.
20:37:10 <AnMaster> hm
20:37:54 <AnMaster> ehird, is it for translating between different IRCD procotols?
20:37:56 <AnMaster> protocols*
20:37:59 <ehird> nope.
20:38:02 <AnMaster> ah
20:38:03 <AnMaster> hm
20:38:04 <ehird> brb, feel free to guess while I'm brbing
20:38:18 <AnMaster> ehird, well if it isn't bitlbee I'm out of ideas.
20:38:41 <AnMaster> brb too
20:43:27 <AnMaster> back
20:44:22 -!- Corun has joined.
20:48:33 -!- Mony has quit ("Quit").
20:52:32 -!- Hiato has quit ("Leaving.").
20:54:08 <lament> bass fretboard showing the c major scale:
20:54:08 <lament> O O O O O O O O O O O O O O O
20:54:08 <lament> O O O O O O O O O O O O O O O
20:54:08 <lament> O O O O O O O O O O O O O O O
20:54:08 <lament> O O O O O O O O O O O O O O O
20:54:11 <lament> . . . . : . . . . :
20:55:08 <AnMaster> UNI(mirror N)UN(mirror N)I
20:55:10 <AnMaster> ?
20:55:20 <AnMaster> lament, nice ASCII art!
20:55:32 <lament> it does look pretty
20:55:39 <lament> it looks like a punch tape
20:55:43 <AnMaster> lament, apart from the mirrored N
20:56:00 <AnMaster> hm have you seen that javascript punch card library?
20:56:13 * AnMaster looks for url
20:56:26 <AnMaster> ah yes lament: http://www.outstandingelephant.com/jcquard/
20:56:58 <lament> hehehe
21:00:33 <ais523> yay, this VHDL synthesizer actually seems half-decent
21:00:39 <AnMaster> ais523, nice
21:00:40 <ais523> it gave me several screenfuls of optimiser warnings
21:00:42 <AnMaster> ais523, what one?
21:00:54 <ais523> Synplify Pro, it seems
21:00:55 <lament> AnMaster: that mirror N, could it be a lambda?
21:01:02 <ais523> must be a for-pay expensive one
21:01:06 <ais523> because there are no free ones
21:01:15 <AnMaster> ais523, and you have a copy?
21:01:17 <ais523> which are at all good, and even the rubbish ones are closed-source
21:01:20 <ais523> AnMaster: no, at University
21:01:33 <AnMaster> heh
21:01:45 <AnMaster> lament, hm upper case or lower case?
21:01:56 <ais523> pretty much only companies and universities can afford good VHDL synthesizers
21:01:59 <lament> hard to say
21:02:05 <ais523> I'm amused at the way that anything optimisable is considered a warning, though
21:02:12 <ais523> in VHDL, you're supposed to write optimal code yourself
21:02:13 <AnMaster> lament, don't think so
21:02:17 <lament> ais523: hah
21:02:26 <lament> AnMaster: oh well
21:02:26 <ais523> anything suboptimal is bad style
21:02:33 <ais523> good thing the compiler's catching it for me
21:02:53 <ais523> in my case, I'm doing all sorts of suboptimal things like not using all the codepaths in a function every time I use it
21:03:07 <AnMaster> ais523, eh, how do you then branch?
21:03:08 <ais523> or not running all the commands in a loop every iteration
21:03:18 <ais523> AnMaster: via loop unrolling and constant folding
21:03:33 <ais523> in VHDL, all functions are inlined and all loops are unrolled by the compiler anyway
21:03:46 <ais523> luckily, I trust it to do that job a lot more reliably than I trust me to do it
21:03:48 <lament> so it isn't turing-complete?
21:03:56 <ais523> no
21:03:58 <ais523> finite storage
21:04:08 <ais523> although there are non-loop ways to get infinite repitition
21:04:12 <lament> o_O
21:04:16 <ais523> *repetition
21:04:23 <lament> penrose tilings??
21:04:26 <AnMaster> ais523, how does that work?
21:04:27 <ais523> lament: a <= not b; b <= a
21:04:36 <ais523> causes infinite repetition in VHDL
21:04:38 <ais523> despite not being a loop
21:04:51 <lament> brain explodes
21:04:59 <lament> lazy evaluation?
21:05:39 <ais523> behavioral evaluation
21:05:42 <ais523> not exactly lazy
21:05:49 <ais523> if you don't want the loop to be a tight loop and block your program
21:05:57 <ais523> you can write a <= not a after 10 ns;
21:06:08 <ais523> then the loop only changes once every 10 nanoseconds, and you're fine
21:06:35 <AnMaster> ais523, nice
21:06:44 * AnMaster waits for lament comments on that
21:06:50 <AnMaster> lament's*
21:06:56 <lament> i don't get it :)
21:07:05 <AnMaster> lament, VHDL compiles to hardware
21:07:08 <AnMaster> so timing matters
21:07:15 <lament> but what does a <= not a do?
21:07:27 <AnMaster> well, I guess toggle a
21:07:29 <AnMaster> ?
21:07:34 <AnMaster> is that correct ais523?
21:07:45 <ais523> yes
21:07:57 <AnMaster> ais523, VHDL is event driven right?
21:07:58 <lament> what does <= mean?
21:08:02 <AnMaster> also how does Verilog differs
21:08:07 <ais523> lament: delayed action assignment
21:08:19 <AnMaster> differ*
21:08:25 <ais523> writing a <= b; b <= c; is equivalent to b <= c; a <= b;
21:08:40 <ais523> the assignments all happen at the end of the program/process
21:08:54 <ais523> immediate assignment is := but you aren't allowed to use it, except as local shorthand
21:08:58 <ais523> sort-of like #define
21:09:04 <AnMaster> ais523, huh
21:09:16 <ais523> VHDL has lots of features that can't be synthesized into hardware
21:09:23 <ais523> they're fine on simulators, but you have to avoid them for synthesis
21:09:25 <AnMaster> oh ok
21:09:32 <ais523> this is why I think a VHDL->VHDL compiler would actually be highly useful
21:09:36 <ehird> back
21:10:03 <AnMaster> ehird, so what one was it?
21:10:38 <ais523> heh, this is amusing
21:10:48 <ais523> the compiler warned me that it generated 6 copies of one of my variables
21:10:56 <AnMaster> ais523, I checked their website, it seems to be "contact for price"
21:10:56 <ais523> if you use a variable too much in VHDL, it overheats
21:11:07 <ais523> AnMaster: yep, if you have to ask, you can't afford it
21:11:07 <AnMaster> ais523, wow, sounds like an esolang
21:11:24 <ais523> so the compiler generated extra copies to spread the load around
21:11:27 <ehird> yeah, ask for price = this is too expensive for you
21:11:28 <ehird> :-)
21:11:49 <AnMaster> ehird, indeed
21:13:43 <AnMaster> ais523, and there seems to be an even more advanced product "Synplify Premier", which can handle ASIC too
21:14:05 <ais523> AnMaster: if you have any reason to be doing ASIC synthesis, then you can afford it
21:14:10 <ehird> I like the idea of using a variable too much overheating the "executable" :-)
21:14:12 <AnMaster> ais523, exactly
21:15:04 <ais523> now let's see if this insane design fits on the processor
21:15:10 <ehird> see, I think vhdl synthesizers costing a lot makes sense
21:15:23 <ehird> it's a niche product and making it is extremely difficult
21:15:31 <AnMaster> "ESL synthesis" <-- don't know what that is, seems related to DSPs though
21:15:39 <ehird> and despite being niche, the people who need it really do need it
21:15:45 <ais523> you should try to implement mergesort using nothing but nested FOR loops sometime
21:15:52 <ais523> and no array indexes that can't be hard-coded
21:15:58 <ais523> after the loop's unrolled
21:16:01 <AnMaster> ais523, ouch
21:16:14 <AnMaster> ais523, can't you use a sorting network if it is hardware?
21:16:28 <ais523> AnMaster: that's what it is
21:16:32 <AnMaster> ais523, oh
21:16:34 <ais523> this is the code for generating one
21:16:38 <AnMaster> right
21:16:42 <ais523> and ugh, it seems my design is too complex to fit on the chip
21:16:50 <AnMaster> ouch
21:17:14 <ais523> looks like I'll just have to cut down on some of the PRNGs
21:17:29 <ais523> I have sixteen 32-bit multipliers in there to provide test case data
21:17:35 <ais523> they must be taking up most of the chip, I reckon
21:17:35 <ehird> what are you doing
21:17:35 <AnMaster> ah
21:17:44 <ais523> ehird: project for University
21:17:50 <AnMaster> ehird, what irc gateway was it btw?
21:18:01 <ehird> ais523: what is it?
21:18:05 <ehird> AnMaster: I /msg'd the answer
21:18:09 <AnMaster> oh right
21:18:12 <ehird> don't want to spoil anyone else's guessing :P
21:18:12 <AnMaster> didn't see the tab
21:26:00 <ehird> ais523: would Verilog be easier?
21:26:02 <ais523> yay, Total Number 4 input LUTs: 2600 out of 3840
21:26:09 <ais523> and that was just deleting half the multipliers
21:26:12 <ais523> ehird: no
21:26:20 <ais523> nowadays, VHDL and Verilog are the same lang with different syntax
21:26:24 <ais523> they started out very different
21:26:25 <ehird> ah
21:26:30 <ais523> but all features in one got added to the other, and vice versa
21:32:05 <ais523> Verilog wasn't even intended for synthesis, in the first place
21:32:11 <ais523> but for the construction of verifier testbenches
21:33:38 <ais523> and yay, the design wasn't too difficult to place in the end
21:33:45 <ais523> it only took the compiler 1 minute 47 seconds
21:33:52 <ais523> I've heard cases of it taking days
21:34:51 <ehird> ais523: does this like, actually print to hardware?
21:34:57 <ais523> it will do
21:35:02 <ais523> although I don't have a JTAG cable on me atm
21:35:09 <ais523> nor a reprogrammable logic chip
21:35:14 <ais523> we can only book those out in working hours
21:35:23 <ehird> ais523: oh, so it just reprograms a generic thing?
21:35:24 <ehird> lame
21:35:31 <ehird> i want a CHIP PRINTER :|
21:35:39 <ais523> ehird: that's the ASIC stuff that AnMaster suggested
21:35:41 <ais523> it exists
21:35:47 <ehird> i want it
21:35:49 <ehird> <_<
21:35:51 <ais523> but the typical price is about a million dollars setup cost
21:35:57 <ais523> plus 10 cents for each identical chip you make
21:36:07 <ais523> or up to maybe about 50 cents for complex ones
21:36:14 <ais523> if you make even a single change, that's another million dollars
21:36:34 <ehird> ais523: ... :(
21:36:40 <ehird> I want it, cheaper <_<
21:36:53 <ehird> ... but seriously
21:36:56 <ehird> a million dollars? Whaat
21:37:01 <ais523> there is some progress towards being able to generate arbitrary electronic components
21:37:05 <ehird> Do they do cold fusion or something?
21:37:06 <ais523> ehird: that's how much it costs to retool the factory
21:37:13 <ehird> Sheesh.
21:37:28 <ais523> I've heard there's progress towards printers which you fill with plastic n-type and p-type ink
21:37:33 <ais523> that can print transistors
21:37:40 <ais523> so maybe your wish will be fulfilled in the end
21:37:47 <ais523> at a rather higher unit price, but rather lower setup cost
21:38:26 <ehird> One day it shall be free :<
21:40:17 -!- Corun has quit ("This computer has gone to sleep").
21:42:44 <ais523> next problem: trying to figure out why a program for showing where everything was placed would trigger the firewall on the Windows computers here
21:46:04 <AnMaster> ais523, "report home mode"?
21:46:55 <ais523> maybe
21:47:01 <ais523> or some sort of automatic updates
21:47:13 <AnMaster> ais523, did it work anyway?
21:48:49 <AnMaster> <ais523> ehird: that's how much it costs to retool the factory <-- what does a retool include?
21:48:59 <ehird> also, how big is this factory?
21:49:13 <ais523> ehird: I'm not sure
21:49:19 <ehird> i mean
21:49:21 <ehird> is it a machine
21:49:23 <ehird> or a warehouse
21:49:24 <ehird> :D
21:49:25 <ais523> I think they have massive foundries, but they produce more than one product at a time
21:49:36 <ais523> because you need a big assembly-line-type process
21:53:40 <AnMaster> ais523, but why does it cost 1 million, I mean...
21:53:56 <ehird> AnMaster: because you're making an actual chip.
21:53:58 <ehird> i mean, carbon and shit.
21:54:00 <ehird> silicon.
21:54:01 <AnMaster> ehird, well true
21:54:02 <ehird> melting.
21:54:03 <ehird> and stuff.
21:54:24 <AnMaster> but is it making some sort of "master" copies or something that cost?
21:54:34 -!- Judofyr has quit (Remote closed the connection).
21:55:07 <AnMaster> I mean, a lot of the actual tools wouldn't differ would they?
21:55:17 <ais523> AnMaster: yes, I think so
21:55:24 <ais523> the problem is trying to get all the photomasks into place
21:55:29 <AnMaster> aha
21:55:57 <AnMaster> ais523, how was it done back in the 1980s or so, because you wouldn't have as large batches back then
21:56:19 <AnMaster> smaller markets
21:56:33 <ais523> AnMaster: my guess is much the same way, and the chips ended up more expensive as a result
21:56:44 <AnMaster> ais523, yet they were able to produce C64 and such?
21:56:53 <AnMaster> even though market was smaller
21:57:38 <AnMaster> just consider the sound chipset for it, to a modern sound chipset, surely the modern one has been produced in lot more copies
22:01:37 <ais523> heh, this is great
22:01:44 <ais523> I get a massively big circuit diagram I can look at
22:02:03 <ais523> and I can double click on a component, and it highlights a single instance of the word "if" in the source code, for instance
22:03:32 <ehird> ha
22:12:20 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
22:12:48 -!- puzzlet has joined.
22:13:45 -!- JohnWins has changed nick to MigoMipo.
22:20:04 -!- ais523_ has joined.
22:21:12 -!- olsner has joined.
22:22:08 -!- MigoMipo has left (?).
22:23:53 <ehird> ▁▇▅▄█▃▄▁▂▆
22:24:02 <ais523_> ehird: that's an interesting Unicode-art graph
22:24:07 <ehird> it's a unicode sparkline
22:24:12 <ais523_> btw, ohw do people here think Unicode art compares to ASCII art?
22:24:16 <ehird> ▁▁▂▃▄▄▅▆▇█
22:24:21 <ehird> % 1 to 10
22:24:22 <ehird> *^
22:24:23 <ais523_> and what's a sparkline?
22:24:30 <ehird> http://en.wikipedia.org/wiki/Sparkline
22:24:39 <ehird> in this case, essentially a mini graph
22:25:08 <ais523_> yep
22:25:19 <ehird> the unicode blocks are a bit ugly, but there you go
22:25:22 <ehird> i wrote a program to do it
22:25:51 <Deewiant> █▉▊▋▌▍▎
22:26:59 <ais523_> heh, I just decompiled the resulting circuit into VHDL
22:27:01 <ais523_> it's an utter mess
22:27:13 <ais523_> with variable names like un75_prng_1_s_8_n_XORG
22:27:14 <Deewiant>
22:27:14 <Deewiant> ▗▟
22:27:56 <ehird> whee, now it accepts input from stdin too
22:28:03 <ehird> lovely little 40-line hack.
22:28:33 <ehird> of course, unicode sparklines were someone elses idea and my script is almost identical to their(mozilla ubiquity)'s but there's not that many ways to implement this :P
22:28:50 <ehird> % seq 1 10 | sparkline
22:28:50 <ehird> ▁▁▂▃▄▄▅▆▇█
22:29:00 <ehird> now to make it scale M values into N values
22:29:05 <ehird> i.e., you can compress 1000 data points into 10
22:29:13 <ehird> not hard
22:29:21 <ehird> just split the list every M values, and mean it up
22:29:27 <ehird> hmm, maybe that should go into another program
22:29:27 <ehird> like
22:29:41 <ehird> % seq 1 1000 | squish 10 | sparkline
22:29:43 <ehird> thoughts?
22:30:15 <ais523_> what does squish do?
22:30:25 <ais523_> ah, skips every nth element?
22:30:29 <ehird> ais523_: no
22:30:34 <ais523_> oh, averages blocks of n elements
22:30:38 <ehird> pretty much, yep
22:30:46 <ehird> hrmph, squish requires me to duplicate this code
22:30:47 <ehird> if sys.argv[1:]:
22:30:48 <ehird> input = sys.argv[1:]
22:30:50 <ehird> else:
22:30:52 <ehird> input = re.split(r'\s+', sys.stdin.read().strip())
22:30:54 <ehird> numbers = map(float, input)
22:30:56 <ehird> :-)
22:30:58 <ehird> well, almost
22:31:00 <ehird> sys.argv[2:]
22:31:07 <ehird> since first arg is number to squish too
22:31:08 <ehird> *to
22:33:56 <ais523_> we should so make an esolang based on VHDL
22:34:01 <ais523_> even though it's arguably an esolang itself
22:34:58 -!- ais523 has quit (Read error: 110 (Connection timed out)).
22:39:31 -!- ais523_ has changed nick to ais523.
22:41:00 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
22:41:04 -!- puzzlet has joined.
22:42:23 <ais523> hmm... since when did <i> become a block element on Slashdot?
22:42:30 <ais523> OK, I get that it's unsemantic
22:42:41 <lament> my gtalk status line: Azure a Flatus volant Or
22:42:45 <ais523> but still...
22:42:57 <ais523> lament: looks like a coat of arms description
22:43:08 <lament> yeah, it's a blazon
22:47:06 <ehird> ais523: do you think squish(1) should expand values too?
22:47:07 <ehird> e.g.
22:47:11 <ehird> squish 3 1 2
22:47:13 <ehird> would become
22:47:14 <ehird> 1 1.5 2
22:48:14 <ais523> may as well
22:48:19 <ais523> also, wouldn't the 1 2 be on stdin
22:48:21 <ehird> that's harder though :-)
22:48:23 <ehird> ais523: can be
22:48:24 <ais523> or can it take from stdin or arguments?
22:48:27 <ehird> if you omit the arguments, it reads from stdin
22:48:32 <ehird> same with sparkline(1)
22:48:39 * ehird tries to figure out how to do expansion easily
22:50:36 <ehird> uh oh
22:50:37 <ehird> % squish 3 1 2 3 4 | xargs echo
22:50:38 <ehird> 1 2 3 4
22:50:40 <ehird> I hate off by one errors
22:52:25 <ehird> yay, fixed
22:52:41 <ehird> ok, who has a bunchload of numbers they want turned into a sparkline?
22:52:51 -!- BeholdMyGlory has quit ("bye").
22:53:28 <ehird> hmm?
22:54:52 <AnMaster> jm
22:54:54 <AnMaster> hm*
22:54:54 <AnMaster> idea
22:55:00 <AnMaster> I just had a great idea...
22:55:04 <AnMaster> that netbsd toaster
22:55:08 <Deewiant> ehird: http://www.eveandersson.com/pi/digits/1000000
22:55:08 <AnMaster> it should have transactions
22:55:15 <AnMaster> so if you cancel the toast
22:55:20 <AnMaster> they aren't burnt!
22:55:33 <AnMaster> no idea how to implement it :(
22:55:53 <ehird> Deewiant: hee, sure
22:56:14 <Deewiant> and then http://antwrp.gsfc.nasa.gov/htmltest/gifcity/e.1mil
22:59:17 <AnMaster> http://filebin.ca/nastsa/pi_data.txt (16 million)
23:00:26 <AnMaster> http://ja0hxv.calico.jp/pai/epivalue.html <-- 100 billion... split over multiple files
23:00:35 <ehird> initial testing:
23:00:36 <ehird> % curl http://www.eveandersson.com/pi/digits/1000000 2>/dev/null | python -c 'from BeautifulSoup import BeautifulSoup; import sys; print " ".join(list(BeautifulSoup(sys.stdin).pre.renderContents().replace("\n", "").replace("3.", "")))' | wc -w
23:00:38 <ehird> 1000000
23:00:40 <ehird> good
23:00:45 <ehird> ok, now to | squish 100 | sparkline
23:01:05 <ehird> % curl http://www.eveandersson.com/pi/digits/1000000 2>/dev/null | python -c 'from BeautifulSoup import BeautifulSoup; import sys; print " ".join(list(BeautifulSoup(sys.stdin).pre.renderContents().replace("\n", "").replace("3.", "")))' | squish 100 | sparkline
23:01:07 <ehird> ▄▆▄▆▄▃▄▃▂▅▄▅▁▅▄▅▅▅▆▅▂▄▄▄▆▅▇▅▅▅▅▅▄▇▆▅▂▁▄▂▄▆▄▇▄▅▇▇▆▅▂▆▇▆▆▂▆▆▂▅▅▃▄▂▃▅▆▃▃▇▃▄█▅▄▂▆▆▄▇▃▅▄▇▅▆▂▆▆▄▄▃▂▆▆▆▅▃▁▄
23:01:11 <AnMaster> http://ja0hxv.calico.jp/pai/ee1value.html <-- e to 100 billion digits, again multiple files
23:01:11 <ehird> Deewiant: you're welcome.
23:01:15 <ehird> that python invocation is really ugly though.
23:01:17 <AnMaster> ehird, wtf is that?
23:01:26 <AnMaster> some bars in unicode?
23:01:26 <Deewiant> ehird: :-)
23:01:26 <ehird> AnMaster: that's the first million digits of pi, graphed as a sparkline
23:01:30 <ehird> you know, what we've been discussing.
23:01:36 <AnMaster> ehird, I was afk
23:01:39 <ehird> ah.
23:01:46 <ehird> Deewiant: conclusion: pi is random :P
23:01:46 <Deewiant> ehird: so how does that come out to less than a million characters
23:01:56 <ehird> Deewiant: | squish 100 |
23:01:56 <Deewiant> i.e. what does the squishing do
23:02:10 <Deewiant> ehird: yeah, but what's the transformation
23:02:11 <ehird> Deewiant: basically, it divides the input into the right amount of segments
23:02:16 <ehird> and runs mean on them
23:02:30 <ehird> % squish 5 1 2 3 4 5 6 7 8 9 10 | xargs echo
23:02:30 <ehird> 1.5 3.5 5.5 7.5 9.5
23:02:43 <ehird> (first arg is result length)
23:03:01 <AnMaster> ehird, links for these programs?
23:03:12 <Deewiant> right, so you preserve the arithmetic mean
23:03:13 <ehird> AnMaster: ~ehird/bin/{squish,sparkline}
23:03:21 <AnMaster> ehird, care to pastebin them?
23:03:23 <AnMaster> :)
23:03:28 <ehird> AnMaster: sure, after I've processed e
23:03:34 <AnMaster> ehird, right :)
23:04:34 <ehird> the python invocation is ugly, but html scraping is ugly.
23:04:43 <AnMaster> <ehird> % squish 3 1 2 3 4 | xargs echo
23:04:43 <AnMaster> <ehird> 1 2 3 4 <-- why the xargs echo?
23:04:48 <ehird> AnMaster: because it outputs one per line
23:04:52 <AnMaster> ah
23:04:54 <ehird> since that's the unixy standard
23:05:00 <AnMaster> true
23:05:23 <AnMaster> ehird, would you say sendmail is unixy?
23:05:41 <ehird> it doesn't exactly do one thing, and it doesn't exactly do it well.
23:05:43 <ehird> so... no.
23:05:54 <AnMaster> ehird, it is however traditional unix software
23:05:55 <AnMaster> :)
23:06:04 <AnMaster> so unix isn't unixy
23:06:15 <ehird> correct.
23:06:22 <AnMaster> what about dd?
23:06:25 <ehird> plan 9 is the first system applying the unix philosophy to a reasonable degree
23:06:27 <AnMaster> I don't think it is unixy
23:06:34 <ehird> AnMaster: it's a swiss army knife, and it's inconsistent with hte rest of the system
23:06:35 <ehird> -> not unixy
23:06:44 <ehird> Deewiant: here comes yer e sparkline
23:06:46 <AnMaster> ehird, indeed, command line argument format is weird
23:06:52 <ehird> % curl http://antwrp.gsfc.nasa.gov/htmltest/gifcity/e.1mil 2>/dev/null | python -c 'from BeautifulSoup import BeautifulSoup; import sys; print " ".join(list(BeautifulSoup(sys.stdin).hr.nextSibling.replace("e =", "").replace(" ", "").replace("\n", "").replace("2.", "")))' | squish 100 | sparkline
23:06:53 <ehird> ▄▂▃▄▄▁▁▄▄▄▄▂▃▄▄▁▂▃▂▆▂▃▅▄▇▄▂▅▅▅▃▄▃▂▅▃▂▃▄▅▄▁█▅▃▂▄▅▁▄▄▄▄▄▃▃▁▄▄▅▃▃▅▆▄▃▄▄▅▄▂▂▃▄▄▄▃▄▂▅▂▄▄▇▅▅▄▅▄▆▃▄▆▄▄▃▃▃▅▅
23:06:57 <ehird> conclusion: e is also random.
23:07:21 <ehird> interestingly,
23:07:27 <ehird> squish gives _all_ 4s
23:07:29 <ehird> i.e.
23:07:32 <ehird> 4.5119 4.4689 4.481 4.5036 4.5132 4.4527 4.4554 4.5137 4.5147 (...)
23:07:39 <ehird> I wonder why? that's very odd.
23:07:46 <AnMaster> ehird, did it do so for pi too?
23:07:51 <ehird> I'll check
23:08:09 <ehird> ... yes.
23:08:13 <AnMaster> ehird, a bug?
23:08:26 <AnMaster> anyway please pastebin sparkline?
23:08:32 <ehird> I don't think it's a bug, % seq 1 1000 | squish 100 works fine
23:08:37 <ehird> I guess it's just an odd numerical property o_O
23:08:40 <Deewiant> rather obvious?
23:08:42 <ehird> AnMaster: yes, I will in a bit
23:08:46 <ehird> Deewiant: is it? elaborate :P
23:08:47 <Deewiant> ehird: it's around 9/2
23:08:52 <ehird> ah
23:09:03 <Deewiant> and we've got stuff in the range 0-9 randomly distributed
23:09:13 <ehird> of course
23:09:14 <AnMaster> ah I see
23:09:21 <ehird> one thing that saddens me about squish/sparkline
23:09:26 <AnMaster> ?
23:09:29 <ehird> is that there's one piece of almost identical code in them :P
23:09:35 <ehird> sparkline:
23:09:37 <ehird> if sys.argv[1:]:
23:09:37 <ehird> input = sys.argv[1:]
23:09:38 <Deewiant> ehird: make a library out of it
23:09:39 <ehird> else:
23:09:41 <ehird> input = filter(None, re.split(r'\s+', sys.stdin.read().strip())) or [0]
23:09:43 <ehird> numbers = map(float, input)
23:09:45 <ehird> squish:
23:09:47 <ehird> if sys.argv[2:]:
23:09:49 <ehird> input = sys.argv[2:]
23:09:50 <AnMaster> ehird, command line parsing you mean
23:09:51 <ehird> else:
23:09:53 <ehird> input = filter(None, re.split(r'\s+', sys.stdin.read().strip()))
23:09:55 <ehird> numbers = map(float, input)
23:09:57 <ehird> Deewiant: surely too small for that
23:09:59 <ehird> I don't want to tell people "Also, download this lib."
23:10:01 <ehird> AnMaster: not really
23:10:02 <Deewiant> ehird: surely not
23:10:03 <ehird> just "give me inputs from arguments or stdin"
23:10:22 <Deewiant> ehird: doesn't python have some kind of magical library installation tool
23:10:23 <ehird> Deewiant: % curl http://blahblah -O blah; blah
23:10:28 <ehird> is fast
23:10:28 <Deewiant> like CPAN, cabal, DSSS, etc
23:10:29 <ehird> Deewiant: yes
23:10:37 <ehird> but tbh
23:10:39 <ehird> it's 5 SLOC
23:10:40 <ehird> who cares
23:10:50 <MizardX> re.split(r'\s+', sys.stdin.read().strip()) == sys.stdin.read().strip().split()
23:10:54 <Deewiant> 5 SLOC times 100 projects is 500 SLOC
23:11:13 <ehird> MizardX: does that split on all whitespace?
23:11:16 <MizardX> yes
23:11:19 <ehird> okay then
23:11:33 <ehird> MizardX: what about the filter(None, ) ugliness?
23:11:39 <ehird> it's to stop empty inputs giving ['']
23:13:13 <MizardX> (w for w in sys.stdin.read().strip().split() if w) ... maybe better with filter
23:13:31 <ehird> yeah, I'll just put it in a library if I ever expand it
23:13:41 <ehird> % wc -l sparkline
23:13:42 <ehird> 38 sparkline
23:13:43 <ehird> % wc -l squish
23:13:45 <ehird> 52 squish
23:13:47 <ehird> not bad.
23:13:51 <ehird> I should probably run slocc or something on them instead.
23:14:11 <MizardX> [ float(w) for w in sys.stdin.read().strip().split() if w ]
23:14:30 <ehird> nah, the float mapping is after to not duplicate it per input source
23:14:54 <AnMaster> ehird, download link? going brb in a sec
23:15:00 <AnMaster> brb
23:15:08 <ehird> AnMaster: sheesh, be patient
23:16:18 <MizardX> strip().split() does not leave any empty elements
23:16:27 <ehird> oh, nice
23:16:43 <ehird> there, that's better
23:17:00 <ehird> % squish 3 1
23:17:00 <ehird> Fewer numbers (1) than the target amount (3)!
23:17:13 <ehird> I probably need a squap or something to expand.
23:17:21 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
23:18:12 -!- puzzlet has joined.
23:18:35 <MizardX> What's the first argument for?
23:19:02 <ehird> MizardX: target numbers
23:19:12 <ehird> squish N means "squish the values I give you into N values"
23:19:22 <ehird> % seq 1 100 | squish 10 | xargs echo
23:19:22 <ehird> 5.5 15.5 25.5 35.5 45.5 55.5 65.5 75.5 85.5 95.5
23:20:29 <MizardX> oh, {ehird} (first arg is result length)
23:21:03 <MizardX> I was confused by % squish 5 1 2 3 4 5 6 7 8 9 10 | xargs echo -> 1.5 3.5 5.5 7.5 9.5
23:21:09 <ehird> :)
23:21:17 <ehird> mostly you'll give it stuff via stdin
23:21:37 <ais523> ehird: xargs echo? that's clever
23:21:41 <ehird> yes
23:21:42 <ais523> normally I do that using tr
23:22:10 <ais523> seems like an utter abuse of xargs
23:22:16 <ehird> actually
23:22:18 <ehird> just xargs works
23:22:25 <ehird> % seq 1 100 | squish 10 | xargs
23:22:25 <ehird> 5.5 15.5 25.5 35.5 45.5 55.5 65.5 75.5 85.5 95.5
23:22:27 <ehird> who'dathunkit?
23:23:14 <ais523> it's still an abuse
23:23:21 <MizardX> xargs = print sys.stdin.read().strip().split() :)
23:23:32 <ehird> err, no
23:23:35 <ais523> on DJGPP, xargs does weird stuff to avoid ever passing the arguments directly
23:23:40 <ais523> due to the command-line length limit
23:23:43 <ehird> xargs = print ' '.join(sys.stdin.read().strip().split('\n'))
23:23:50 <ehird> or rather, xargs echo
23:23:53 <ehird> ais523: it's not an abuse
23:23:56 <MizardX> ah, forgot join
23:24:03 <ehird> we have values on multiple lines, and we want to give them as arguments to one command - echo
23:24:07 <ehird> that is what xargs is for
23:24:08 <ais523> well, I suppose so
23:24:12 <ehird> xargs defaulting to echo is just even more convenient
23:24:19 <ehird> MizardX: and splitting on '\n'
23:24:21 <ais523> I see xargs as passing file lists to things, specifically
23:24:26 <AnMaster> back
23:24:33 <ehird> ais523: then you see wrong
23:24:37 <ehird> NAME
23:24:37 <ehird> xargs -- construct argument list(s) and execute utility
23:24:39 <AnMaster> ais523, nah, you use -exec to find
23:24:44 <AnMaster> ais523, much safer
23:24:44 <ehird> MizardX: hmm actually xargs splits on all whitespace
23:24:50 <AnMaster> considering newlines in filenames
23:24:53 <AnMaster> and so on
23:25:00 <ehird> yeah I put newlines in my filenames all the time.
23:25:13 <ais523> ehird: does `printf "ab cd\nef gh" | xargs ls` list the files "ab cd" and "ef gh"
23:25:17 <AnMaster> ehird, if I want to run a script as root to clean out /tmp
23:25:19 <ais523> or the 4 files ab cd ef gh?
23:25:27 <ehird> ais523: latter
23:25:35 <ais523> ehird: something's wrong, then
23:25:35 <AnMaster> well
23:25:39 <AnMaster> unusable to me then
23:25:40 <ehird> ais523: why?
23:25:43 <ehird> it splits on all whitespace
23:25:50 <AnMaster> since I often need to work on files with spaces in them
23:26:04 <ehird> AnMaster: sure.
23:26:05 <ais523> ehird: so why are you explicitly splitting on \n in your program above
23:26:15 <ais523> AnMaster: so do I, mostly trying to deal with Windows program URLs via Wine
23:26:16 <ehird> ais523: 23:24 <ehird> MizardX: hmm actually xargs splits on all whitespace
23:26:26 <ais523> anyway, I have to go now
23:26:32 <ais523> or I'll miss the last bus
23:26:33 <AnMaster> ais523, cya
23:26:39 -!- ais523 has quit.
23:26:39 <AnMaster> afk again
23:27:59 <ehird> Deewiant: any other numbers you want graphed?
23:28:13 <ehird> ooh, I should graph the size of the IRC logs in #esoteric
23:31:26 <ehird> from 03.01.17 to 08.10.31:
23:31:27 <ehird> % wc -c *.*.* | head -n -1 | perl -pe's/\s+(\d+).*/$1/' | squish 100 | sparkline
23:31:28 <ehird> ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▁▂▂▂▂▂▃▁▁▁▂▂▁▁▁▁▂▁▁▃▃▂▂▂▁▁▄▃▂▂▃▂▁▂▂▄▅▄▃▂▃▃▂▃▄▄▃▆▅▄▃▄▆▇▇▆▆█
23:31:39 <ehird> conclusion: this place only gets more active over time.
23:32:16 <ehird> tl;dr 10-length version: ▁▁▁▁▂▂▃▄▄█
23:33:23 <ehird> tl;dr 2-length comedy version: ▁█
23:38:02 <FireFly> :D
23:38:31 <MizardX> def chunked(iterable,size): return itertools.izip(*[iter(iterable)]*size) ... print ' '.join(str(1.0 * sum(chk) / len(chk)) for chk in chunked((float(x) for x in sys.argv[2:] or sys.stdin.read().strip().split()),int(sys.argv[1])))
23:38:32 <ehird> whoaaaa ,this looks awesome: http://pastie.org/362943.txt
23:38:39 <ehird> MizardX: ok, and ? :
23:38:40 <ehird> :P
23:38:48 <ehird> your chunking fails
23:38:53 <ehird> as it doesn'taccount non-divisible lengths
23:39:14 <ehird> so... mine is more elegant, works better, and is probably faster :-P
23:41:17 <ehird> p.s. i generated that arrow like this
23:41:17 <ehird> for i in `seq 20`; do (seq $i; seq $i | tac) | sparkline; done; for i in `seq 20 | tac`; do (seq $i; seq $i | tac) | sparkline; done
23:51:40 <ehird> Deewiant: i just read one of your reddit comments!
23:51:43 <ehird> everyone should stop internet-stalking me
23:51:54 <psygnisfive> ehird
23:52:00 <psygnisfive> what on earth are you doing there
23:52:19 <ehird> i'd tell you, but it'd be annoyingly tedious and you wouldn't understand.
23:53:41 <psygnisfive> i get that you're graphing channel activity
23:53:47 <psygnisfive> i was more nterested in what you're using to do it
23:54:00 <ehird> wc(1), squish(1) and sparkline(1)
23:54:15 <ehird> the latter two I wrote myself
23:54:28 <ehird> also, the pastie link I gave is just to some random arty thing I made with it
23:54:30 <ehird> not channel activity
23:55:42 <ehird> http://www.noteflight.com/scores/view/2177201ae448ab894682b16d557f5544fb678e7b
23:56:35 <olsner> kioskmongo! </random>
23:58:55 <psygnisfive> and i presume wc, squish, and sparkline are run in the shell?
23:59:15 <AnMaster> ehird, so link?
23:59:22 <AnMaster> if not I'm going to bed in a second
←2009-01-15 2009-01-16 2009-01-17→ ↑2009 ↑all