←2012-09-25 2012-09-26 2012-09-27→ ↑2012 ↑all
00:39:09 -!- Sgeo has quit (Read error: Connection reset by peer).
00:42:13 -!- Sgeo_ has joined.
00:50:38 -!- zzo38 has joined.
00:51:25 -!- oerjan has quit (Quit: Good night).
01:17:46 <kmc> i realized something today
01:17:55 <kmc> ORMs are a leaky abstraction because the normal way to manipulate data in your language (e.g. list comprehensions) doesn't translate to efficient database operations
01:18:08 <kmc> the value of something like LINQ is not that it gives you a nice syntax for database queries, but that it makes this the default for everything else, too
01:19:39 <shachaf> That's why I write my entire program in SQL.
01:20:03 <kmc> that is the pro move
01:20:49 <shachaf> http://www2.sqlonrails.org/
01:20:56 <kmc> GHC has those "generalized SQL-like list comprehensions" that I never heard of anyone using
01:21:06 <kmc> I bet they were contributed by one of the database DSL projects
01:21:18 <shachaf> I seem to remember SPJ's name associated with them.
01:21:35 <shachaf> http://research.microsoft.com/en-us/um/people/simonpj/papers/list-comp/index.htm
01:22:08 <kmc> sql on rails is an obvious joke because there is no way to build webscale applications without leveraging NoSQL technology
01:24:19 <kmc> you should probably write your business logic in SQL but interface to a NoSQL database for cloudscale storage
01:28:18 <shachaf> kmc: I watched the first two seasons of that television series.
01:29:22 <kmc> cool
01:39:23 <kmc> 'Skilled users can just fix GCC itself so that it implements nested function calls in a way that does not interfere with PaX.'
01:41:10 <zzo38> Someone once wanted a webpage to keep track of what items they require in the store and what they already have; I wrote it in SQLite Report Generator. So I don't know why you need NoSQL. Yes you can write an entire program in SQL, what I did is similar, I guess, but not quite. How else can you write an entire program in SQL? Probably it depend what SQL is used, since there is some different kinds of SQL?
01:42:57 <pikhq_> kmc: XD
01:43:02 <pikhq_> I'm not sure that's even possible.
01:43:25 <pikhq_> GCC nested functions are by necessity creating functions on the stack.
01:45:07 <zzo38> Can it be optimized?
01:45:46 <kmc> can't they be lambda lifted
01:46:20 <kmc> i guess they can't, if you want to be able to take the address of the nested function
01:46:39 <kmc> you can't return that pointer but you could still use it locally
01:46:50 <kmc> so it still needs to act kinda like a closure
01:47:03 <pikhq_> They are in fact a really weird form of closure.
01:47:05 <kmc> (but a closure with bounded object lifetime)
01:47:17 <kmc> if you don't allow taking the address, though, then I think you could do them as syntactic sugar
01:47:26 <pikhq_> Yeah.
01:47:37 <pikhq_> But the only real reason for them is so you can pass them as callbacks.
01:48:58 <zzo38> You shouldn't disallow taking the address since the address can be used! But in the cases where it knows if you are not going to take the address, or other thing, it might be optimized.
01:50:11 <zzo38> Or, if you use its address but the nested function does not use any local variables (other than static) then it might be changed to global static
01:50:34 <pikhq_> GCC does that.
01:50:49 <pikhq_> My lambda-in-C thing relies on that behavior, actually.
01:57:15 -!- david_werecat has joined.
02:02:03 <quintopia> hi david_werecat
02:02:09 <quintopia> do you like temple run?
02:03:55 <david_werecat> I don't know, never heard of it.
02:04:17 <quintopia> oh ok
02:05:01 <david_werecat> I don't have a fancy phone, so I couldn't play it even if I wanted to.
02:05:26 <quintopia> thats too bad
02:06:29 -!- Phantom__Hoover has quit (Ping timeout: 256 seconds).
02:11:04 -!- Phantom_Hoover has joined.
02:13:53 -!- SHUPFS has quit (Quit: ERC Version 5.3 (IRC client for Emacs)).
02:27:41 <kmc> shachaf: did you know that PaX makes use of GCC plugins?
02:28:32 <shachaf> kmc: Nope.
02:28:37 <shachaf> @context
02:28:38 <lambdabot> Unknown command, try @list
02:29:16 <kmc> some of the kernel hardening features are implemented with custom compiler passes
02:29:20 <kmc> that's pretty hardcore
02:29:31 <shachaf> Ah, I see.
02:32:42 <zzo38> What are kernel hardening features?
02:37:48 <kmc> features to make the kernel harder to exploit
02:37:57 <kmc> (and/or make programs running under that kernel harder to exploit)
02:40:59 <shachaf> They should put hardeining features in GCC that make it auto-insert hardening code when it detects that it's compiling GCC.
02:54:06 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
03:21:21 -!- kwertii has joined.
03:22:40 <zzo38> Which tests of random number generator does ARCFOUR pass?
03:35:08 <kmc> ha, PaX found an unintended bug in the intentionally-buggy kernel module I'm playing with exploiting
03:35:40 <shachaf> What module?
03:35:41 <shachaf> @context
03:35:41 <lambdabot> Unknown command, try @list
03:35:49 <kmc> one i wrote
03:36:24 <shachaf> Wow, you wrote C code with an unintentional bug in it?
03:36:28 <shachaf> Might as well give up on programming.
03:38:20 <kmc> yep
03:41:58 <kmc> i'll never be more than an idiot code monkey drone
03:49:37 -!- tertu has quit (Ping timeout: 256 seconds).
03:50:33 <Sgeo_> Oh, hey, I forgot to announce an update monqy wait is kallisti supposed to be on my list I forget
03:50:39 <Sgeo_> Also tswett
03:50:52 <Sgeo_> But not recent, this was a number of hours ago, should have said something
03:50:57 <kallisti> Sgeo_: I am not on your list
03:51:01 <kallisti> I am waiting for the series to conclude.
03:51:18 <kallisti> because I enjoy it more when I'm not waiting. >_>
03:51:24 <kallisti> and I assume it will one day end.
03:51:36 <kallisti> what if
03:51:40 <kallisti> it just went on for 20 years
03:52:55 <Sgeo_> There's a lot of detailed analysis you will likely never see
04:08:52 <kmc> craigslist's website is so shitty that they're now getting sued over it
04:09:39 <monqy> what
04:22:24 <kmc> http://www.pcmag.com/article2/0,2817,2410128,00.asp
04:32:18 <kmc> shachaf: It really was a shameful mistake, though
04:32:26 <kmc> i was using memcpy instead of copy_from_user
04:43:04 <kmc> "Conducting a PowerPoint presentation is a lot like smoking a cigar. Only the person doing it likes it. The people around him want to hit him with a chair."
04:46:57 <pikhq_> Ugh, Powerpoint.
04:47:32 <pikhq_> Presenting is just reading a teleprompter behind you, right?
04:52:32 -!- augur has joined.
04:53:47 -!- augur has quit (Remote host closed the connection).
04:54:10 -!- augur has joined.
05:21:07 -!- kwertii has quit (Quit: kwertii).
05:24:58 <Gregor> Welp.
05:25:02 <Gregor> http://youtu.be/LfFhHZq4oJU I have an accordion.
05:25:16 <Gregor> How are you suckers ever going to catch up with my amazingness now?
05:26:14 -!- itidus21 has quit (Ping timeout: 240 seconds).
05:27:06 <oklopol> there's no way
05:27:13 <oklopol> no offense but just no way
05:27:39 <Gregor> None taken *ha ha*
05:27:49 <oklopol> sorry to be so frank
05:28:12 <pikhq_> Your awesomeness made me spill water on my lap.
05:28:28 <ion> The mic amp’s gain was too high, the sound is distorted.
05:28:35 <oklopol> yeah you suck Gregor
05:29:44 <Gregor> ion: (a) I apologized for the sound in the description, (b) the “mic” is my phone, so it's not like it can do any better.
05:30:08 <oklopol> "but i tried my best! :("
05:30:21 <oklopol> "and even apologized for not being better!"
05:30:39 <oklopol> oh Gregor this is such ugly decline
05:30:54 <oklopol> please upload another accordion vid to get back to the top.
05:31:29 <Gregor> Fine, you buy me the professional video equipment.
05:31:45 -!- kinoSi has quit (Read error: Connection reset by peer).
05:32:02 <oklopol> you could just make sure ion isn't here so no one notices the bad sound quality?
05:32:12 -!- kinoSi has joined.
05:32:36 <oklopol> anyway that was pretty nice after two days
05:32:52 <oklopol> last time i played the accordion i was like holy fuck this is heavy and that was it
05:33:00 <oklopol> also i was 9
05:33:17 <Gregor> This accordion was literally the first accordion I have ever picked up X-D
05:33:26 <Gregor> And it's definitely heavy, my left shoulder still hurts >_>
05:33:33 <oklopol> my friend used to play but he switched to drums because he grew up and became boring
05:33:50 <Gregor> Laaaaaame.
05:34:11 <oklopol> yeah
05:34:27 -!- itidus21 has joined.
05:34:42 <oklopol> and i switched from piano to the electric guitar. not quite as bad but i'm not proud of it.
05:35:09 -!- SHUPFS has joined.
05:35:17 <Gregor> Piano -> piano+viola -> piano -> piano+accordion
05:35:28 <oklopol> :D
05:35:32 <oklopol> dude
05:35:34 <ion> Simultaneously?
05:35:35 <oklopol> fuck you
05:35:47 <Gregor> ion: That would be… quite the trick.
05:36:35 <oklopol> accordion is kind of annoyingly asymmetric
05:36:44 <oklopol> piano was so nice in that respect
05:37:02 <zzo38> I know someone who plays acoustic guitar, and I saw someone on television once who can play both acoustic guitar and electric guitar
05:37:15 <zzo38> How is accordion is kind of annoyingly asymmetric?
05:37:46 <oklopol> you're such a markov chain but umm leftie does different than rightie
05:37:56 <zzo38> OK
05:38:17 <zzo38> I don't know how to play accordion but I think I may understand what you mean now.
05:38:30 <Gregor> zzo38: The left hand buttons play chords, and are not arranged chromatically.
05:38:43 <oklopol> "I saw someone on television once who can play both acoustic guitar and electric guitar" they are kind of pretty damn similar :D
05:38:45 <zzo38> Then how are they arranged?
05:38:47 <Gregor> It's not really suitable for the same kind of music as e.g. a piano.
05:39:06 <ion> oklopol: THAT WAS THE JOKE.
05:39:12 <Gregor> zzo38: Vertically is the circle of fifths, horizontally is a selection of chords: Principle, major, minor, seventh, diminished.
05:39:13 <oklopol> don't most accordions also have some kinda chromatic register or whatever for leftie
05:39:19 <oklopol> ion: what was?
05:39:32 <ion> “I saw someone on television once who can play both acoustic guitar and electric guitar”
05:39:41 <oklopol> zzo38: was that a joke???
05:39:45 <zzo38> oklopol: Yes, I know it is similar; that person plays both though (some people play only one). But they do play different kind of music. And I think even electric guitar involves acoustics?
05:39:55 <ion> That couldn’t possibly be anything other than a joke.
05:40:04 <oklopol> i'm like 100% sure it wasn't a joke.
05:40:08 <zzo38> Actually, it was a TV show.
05:40:11 <oklopol> ^
05:40:29 <oklopol> tv shows are not jokes.
05:40:34 <oklopol> they are tv shows.
05:40:34 <ion> I’m 100 % sure it was a joke. I don’t know whether it was intentional, though.
05:40:53 <zzo38> ion: OK. Fine.
05:41:13 <oklopol> don't be like that ion.
05:41:26 <oklopol> i'm gonna go see ya.
05:41:31 <ion> FWIW, i found it funny.
05:42:45 <oklopol> no one cares
05:43:04 <itidus21> i can eat sandwiches with two pieces of bread and sandwiches with three pieces of bread.
05:43:14 <oklopol> everyone cares
05:43:43 <ion> I don’t believe in the existence of sandwiches with three pieces of bread.
05:43:53 <zzo38> I can play piano, and I don't know how to play other music instrument very well.
05:44:06 <oklopol> can you upload a vid?
05:44:19 <oklopol> or a recording
05:44:41 <itidus21> ion: it's an elegant way to do 1.5 sandwiches
05:44:54 <ion> http://www.youtube.com/watch?v=qZBXA4ye_us&fmt=18
05:45:09 <itidus21> but you gain an extra 25% topping
05:45:23 <itidus21> err i mean 33%
05:45:36 <zzo38> oklopol: No.
05:45:41 <oklopol> nice 5/4ing
05:46:30 <itidus21> i'm somewhat confused
05:46:33 <zzo38> But sometimes I do write music on paper
05:47:15 <oklopol> can i see a score?
05:47:54 <ion> http://johan.kiviniemi.name/music/delusions_of_grand_piano.pdf
05:47:57 <itidus21> given 3 slices of bread, the maximum fillings space is to cover each piece separately in toppings/fillings
05:48:26 <itidus21> or you can stack them.. which.. gives you 2/3 as many fillings
05:48:31 <Sgeo_> monqy, tswett foo bar
05:48:48 <oklopol> ion: just to clarify, both the recording and the score thing were for zzo38 :P but this works too
05:49:05 <ion> oklopol: Yeah, i figured that, i felt like spamming anyway. :-P
05:49:08 <zzo38> I do not have a scanner and the scores are a bit messy anyways, but I put some music I made into computer, into .NSF file one is "zzo38_1.nsf" I wrote directly on the computer, but "zzo38_2.nsf" I wrote on paper first and then put into computer, but you can also download the MML file.
05:49:08 <oklopol> :P
05:49:11 <itidus21> or you can present them as 1.5 sandwiches, which gives you 1/2 as much filling as the first
05:49:11 <tswett> Sgeo_: yes?
05:49:28 <oklopol> ion: got a band?
05:49:42 <zzo38> I know some people who have a scanner so if I could find the paper of the music, I could scan it.
05:50:01 <oklopol> that would be nice
05:50:30 <oklopol> okay i'm really gonna go.
05:50:44 <zzo38> But two musics I have written, one I wrote directly on MML, one on paper and then I put it in MML
05:51:58 <zzo38> Some people say it is too difficult to compose music with MML, but other people don't believe them.
05:52:09 <itidus21> i think you don't believe them
05:52:32 <ion> oklopol: I’m in one and i’ve had a bunch of projects with ad hoc groups out of my circle of friends over the years. Nothing serious with ambitions so far.
05:52:59 <zzo38> Well, I am one of them; I think it can easily to compose music by MML, as easily as to normally compose music; at least to me this is easiest way for me.
05:53:39 <itidus21> i think that a talent with thinking music helps with esolangs
05:53:48 <itidus21> some might say i was making excuses thouhg
05:54:51 <Sgeo_> tswett, epdeet
05:55:01 <tswett> I see. Thanks.
05:55:07 <itidus21> music never sits still
05:55:51 <zzo38> itidus21: Are you sure? Sometimes there is some silence and it must sit still
05:55:54 <itidus21> it seems to my mind to be a bit like animation where it is dependant on playback speed
05:56:16 <ion> John Cage – 4′33″
05:56:37 <zzo38> ion: Yes in that case, there is all silence and it must sit still.
05:57:02 <itidus21> all i know is i like many music
05:57:13 <itidus21> i have absolutely no idea why
05:57:47 <itidus21> in some cases i attribute it to simply being exposed to the song again and again
05:58:13 <zzo38> I also like many musics, and some I don't like much, but I always like classical music.
05:58:15 <itidus21> but that doesn't explain it right
05:58:28 <itidus21> if i am exposed to some songs i dont like it
06:00:23 <ion> For some reason my brain can’t stand the style of singing often used in classical music. The most painful aspect is the huge vibrato, i think. But i like classical otherwise.
06:01:09 <zzo38> They don't always sing. Often it is instrumental only.
06:01:28 <ion> Yes. I’m listening to Rachmaninov’s piano pieces right now.
06:03:11 -!- zzo38 has quit (Quit: piano).
06:10:01 <ion> Two Dogs Dining http://youtu.be/EVwlMVYqMu4
06:20:21 -!- david_werecat has quit (Ping timeout: 256 seconds).
06:26:38 <fizzie> "I am aware of the unsafe nature of the internet,I was compelled to use this medium due to the nature of this project.Permit me however I am a project coordinator with an oil & Gas consortium I have access to very vital information that can be used to transfer a huge amount of money from an Oil & Gas project account to a secured account ."
06:26:44 <fizzie> Sounds legit, as always.
06:27:26 <fizzie> Sadly, they do not specify the particular "huge amount" in question. It's always so impolite; I can't now sort all my lucrative offers by the amount of profit promised.
06:33:36 <itidus21> i have boring email spam.. 5 about diablo 3, 4 from fuckbook
06:35:06 <mroman> How does one update a branch (git) from a remote repository?
06:35:35 <ion> git fetch
06:36:03 <ion> That updates the state of the remote repo.
06:36:12 <ion> Then you can merge from or rebase against one of the remote branches.
06:36:19 <ion> git pull does both fetch and merge.
06:36:35 <mroman> I have no idea what git fetch does
06:36:40 <mroman> but it does not download newly added files.
06:36:50 <mroman> and git pull merged it into master
06:36:53 <mroman> and I don't want that.
06:38:15 <mroman> Does it merge in the currently checkedout branch.
06:38:44 <mroman> hm.
06:39:10 <mroman> Wouldn't it be better to rebase?
06:40:08 -!- Jafet has joined.
06:40:25 <mroman> If I'm working on branch B, and somebody updates branch A, I can rebase my branch B to branch A
06:40:35 <mroman> so I have the commits from branch A also in my branch?
06:42:53 <fizzie> "git pull" does merge into currently checked-out branch, to answer one question in the middle.
06:43:13 <fizzie> Oh, and rebasing can easily be better.
06:44:42 <mroman> git fetch + get rebase should be enough I think.
06:46:07 <fizzie> I don't have very complicated git use experience, but at least "check out the remote-tracking branch, git pull, check out my local branch, rebase on the tracking" seems to have worked rather well, especially in the case where the local branch is meant to be merged back sooner or later. I suppose technically you shouldn't need the tracking branch.
07:20:35 -!- NihilistDandy has quit (Quit: ["Textual IRC Client: www.textualapp.com"]).
07:57:50 -!- nooga has joined.
08:09:41 -!- jix_ has quit (Ping timeout: 268 seconds).
08:10:44 -!- oerjan has joined.
08:14:31 -!- jix has joined.
08:21:01 -!- ais523 has quit.
08:58:47 -!- zzo38 has joined.
09:15:06 -!- jix has quit (Ping timeout: 264 seconds).
09:15:29 -!- kinoSi has quit (Quit: kill -INT 1).
09:18:52 -!- jix has joined.
09:26:29 -!- kinoSi has joined.
09:38:57 -!- ais523 has joined.
10:03:05 -!- oerjan has quit (Quit: leaving).
10:06:59 -!- monqy has quit (Quit: hello).
10:11:09 -!- ais523_ has joined.
10:11:24 -!- ais523 has quit (Read error: Connection reset by peer).
10:14:53 -!- ais523_ has changed nick to ais523.
10:30:22 -!- Phantom_Hoover has joined.
10:34:44 -!- ais523_ has joined.
10:34:44 -!- ais523 has quit.
10:36:54 -!- ais523_ has quit (Read error: Connection reset by peer).
10:36:59 -!- ais523__ has joined.
10:55:38 -!- nooga has quit (Quit: Lost terminal).
11:01:05 -!- ais523__ has changed nick to ais523.
11:01:44 -!- ais523 has quit.
11:13:17 -!- Phantom__Hoover has joined.
11:13:36 -!- coppro has quit (Ping timeout: 246 seconds).
11:15:35 -!- coppro has joined.
11:16:18 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
11:32:10 -!- kinoSi has quit (Read error: Connection reset by peer).
11:32:38 -!- kinoSi has joined.
12:03:06 -!- SHUPFS has quit (Ping timeout: 264 seconds).
12:11:46 -!- Arc_Koen has joined.
12:11:57 <Arc_Koen> hello
12:11:58 <lambdabot> Arc_Koen: You have 1 new message. '/msg lambdabot @messages' to read it.
12:12:03 <Arc_Koen> @messages
12:12:03 <lambdabot> fizzie said 13h 2m 23s ago: Arguably (but certainly also counterarguably) the fact that the things are called stacks sort of mildly implies that the act of reading involves popping a value. (And the
12:12:04 <lambdabot> cat example only makes sense that way.)
12:12:23 -!- Arc_Koen has quit (Read error: Connection reset by peer).
12:12:40 -!- Arc_Koen has joined.
12:13:31 <Arc_Koen> well, yes everything that involves i only makes sense that way
12:15:11 <fizzie> I would've wanted to say that the Fibonacci example also would've made sense in that way only, but that would've involved understanding some Kipple code.
12:15:43 <Arc_Koen> haha
12:15:52 <fizzie> (It's possible it works with both interpretations for all I know.)
12:16:33 <fizzie> I suppose the (t>@ (@>o) 32>o) is not going to terminate ever if > doesn't pop.
12:20:02 <Arc_Koen> hmmmm
12:20:19 <Arc_Koen> looking into the fibonacci code seems to imply that + does make a copy
12:20:30 <Arc_Koen> (assuming > doesn't)
12:21:15 <Arc_Koen> because if we look at stack a only, the program starts with "1>a t<a>b+a"
12:21:33 <Arc_Koen> uh, wait, I meant "1>a a+0 t<a>b+a"
12:21:47 <Arc_Koen> so I guess a+0 is supposed to duplicate a's top element
12:22:34 <Arc_Koen> hmm, but then there are only two elements in a, so a cannot give one element to t, one element to b, and then again one element to be added to b's top element
12:22:45 <fizzie> Are you trying to say that, after cleverly avoiding it yesterday, I am now *still* going to have to understand some Kipple code.
12:23:45 <Arc_Koen> well the problem is, the description of the language is quite simple
12:23:58 <Arc_Koen> and then there are examples, which look different and not as simple
12:24:32 <Arc_Koen> for instance there is no mention of the "sharing operands" ability of kipple's operators, which is something pretty unusual in programming languages, I think
12:24:53 <fizzie> Unusual and I find it also very confuzzling.
12:25:06 <Arc_Koen> I guess a kipple code is supposed to be a sequence of numbers, stack identifiers, and operators
12:25:26 <fizzie> The "-" description doesn't even mention that it has a left operand.
12:25:32 <Arc_Koen> and the interpreter must consider numbers and stack identifiers as no-ops, and apply operators to the left and right operands
12:25:48 <Arc_Koen> well I think it is reasonable to assume that "-" works exactly like "+"
12:27:47 <Arc_Koen> (though at this point I may be assuming too much to understand how it works precisely)
12:27:52 <fizzie> Anyway, it's true that if + and - were to pop when the operand is a stack identifier, it sounds terribly difficult to e.g. dup anything.
12:27:58 <nortti> what idea?
12:28:13 <nortti> hmm
12:28:38 <nortti> wrong channel
12:28:46 <Arc_Koen> no no don't go!
12:29:32 <fizzie> Arc_Koen: The official spec, though, is pretty clear.
12:29:38 <fizzie> "The Push operator takes the operand to the left and pushes it onto the specified stack. E.g. 12>a will push the value 12 onto stack a. a>b will pop the topmost value from stack a and push it onto stack b. Popping an empty stack always returns 0. a<b is equivalent with b>a."
12:29:45 <fizzie> "The Add operator pushes the sum of the topmost item on the stack and the operand onto the stack. If the operand is a stack, then the value is popped from it. E.g. if the topmost value of stack a is 1, then a+2 will push 3 onto it. If a is empty, then a+2 will push 2 onto it. If the topmost values of stack a and b are 1 and 2, then a+b will pop the value 2 from stack b and push 3 onto stack a."
12:30:23 <fizzie> So the + seems to only pop from the right, so to speak.
12:30:43 <Arc_Koen> right
12:31:05 <fizzie> The Wiki summarization could do with some clarifications/improvements.
12:31:20 <fizzie> Especially since the official spec is only in the Archive.
12:32:41 <Arc_Koen> ok, I think I'll add some clarifications
12:32:57 <Arc_Koen> popping an empty stack gives 0, that explains the fibonacci
12:34:50 <zzo38> I think for it to work, the streams in REVER have to be stacks rather than queues.
12:37:02 <Arc_Koen> fizzie: ok, now the fibonacci programs seems to work properly, after a few iterations I get n: [24 23 22 21 20] t: [0 1 1 2 3] a: [3 5] b: [] c: []
12:38:16 <Arc_Koen> hmm, apparently the numbers will be outputted in reverse order, though
12:38:55 <Arc_Koen> "while t is not empty, t>@, (@>o) 32>o"
12:39:11 <Arc_Koen> oh, or the stack o is reversed when the program halts
12:40:32 <Arc_Koen> yes that would make sense - though I don't understand why prevent interactive io this way, he could just have said "when a value is pushed onto stack o, it is printed as a side effect" and "when popping from i while it is empty, it takes a char from standard input instead of giving 0"
12:50:52 <fizzie> I haven't really understood the no-interactivity thing either.
12:51:00 <fizzie> Perhaps a personal idiosyncracy.
13:03:14 -!- david_werecat has joined.
13:07:32 <Arc_Koen> hmmm wonder what a+a would do
13:07:44 <Arc_Koen> that is, what operand is evaluated first
13:08:35 <Arc_Koen> hmm, I mean if a = [1], does it set it to [1+1] or to [1+0]
13:11:18 <fizzie> "The program 1>a<2 a+a will result in a containing the values [1 4] and not [1 3]."
13:11:30 <fizzie> So the former, then.
13:19:10 <quintopia> what lang are you discusing
13:19:41 <quintopia> kipple
13:21:35 <Arc_Koen> ok
13:21:42 -!- boily has joined.
13:22:17 <Arc_Koen> he just said that to make the interpreter more complicated :o
13:41:28 -!- FreeFull has joined.
13:42:52 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:00:51 -!- copumpkin has joined.
14:26:45 <itidus21> ok here is a language. it's called "You don't know Jack". the only valid program is the name of the true identity of jack the ripper, and the program prints "Hello, world!"
14:27:21 <FreeFull> It's obviously Steven Malloy
14:27:30 <FreeFull> It's obviously Steven Malloy
14:27:32 <itidus21> it is left to interpretation whether there is more than one valid program
14:27:40 <itidus21> like...
14:27:53 <FreeFull> And couldn't you find out the right string by reading the compiler source
14:27:59 <FreeFull> Or interpreter source
14:28:32 <itidus21> well i mean... as anyone who has played a trivia bot knows, peoples names are never spelled how we expect them to be
14:28:42 <itidus21> so there may be more than one correct string
14:28:53 <FreeFull> Still
14:28:57 <itidus21> humm
14:29:13 <itidus21> well.. first someone has to write a compiler/interpreter for that to happen
14:37:07 <itidus21> bad joke since i haven't actually any non-joke esolangs to my name
14:39:00 <itidus21> in regards to how music is sometimes still, animation is the same way. in some cases it's too easy to accuse animators of reducing cost when they have no moving images in a scene
14:41:50 <Arc_Koen> "we're not reducing costs, we're doing it manga-style!"
14:44:13 <itidus21> i know what im talking about :D
14:44:17 <kmc> 'Police arrested a Cambridge man with 4 lbs. of marijuana and $5,400 in cash after stopping him for “excessive window tint.”'
14:44:38 <itidus21> ok i don't :(
14:46:25 <quintopia> kmc: thank god. we need to get those people off the road.
14:46:40 <itidus21> hmm
14:47:05 <itidus21> i think my random outbursts are unsolicited yet... in grand theft auto you never found anything in the car
14:47:14 <itidus21> like dead bodies in the trunk
14:47:16 <kmc> what's the point of being a drug dealer if you can't have a ridiculous car that screams "i'm a drug dealer"
14:47:19 <itidus21> or money or drugs
14:47:24 <kmc> that's not true itidus21
14:47:28 <quintopia> kmc: getting arrested, as always
14:47:28 <itidus21> kmc: cool
14:47:41 <kmc> there was at least one mission where you have to pick up a car with a body in the trunk
14:47:45 <kmc> and get it to the car crusher
14:47:48 <kmc> pulp fiction style
14:48:04 <kmc> and people (cops? rival gang? whatever) would be ramming your car, causing damage
14:48:17 <kmc> and if it got enough damage the trunk would pop open and you would see the dead guy inside on the 3rd person camera
14:49:30 <itidus21> ok, i'll accept that argument
14:50:50 -!- ssue has quit (Remote host closed the connection).
15:06:45 <Phantom__Hoover> kmc, wait, if they were ramming into you all the way wouldn't they just take the body out of the car after you left it?
15:07:24 -!- ssue has joined.
15:09:03 <quintopia> Phantom__Hoover: you leave it in a car crusher. they will leave it if they want to live.
15:09:35 <Phantom__Hoover> yeah man, once a car crusher starts there is no force of man nor god that can stop its descent
15:10:15 <quintopia> not in video game land
15:12:06 <Phantom__Hoover> the car crusher is actually made out of repurposed doors from half-life
15:14:58 <quintopia> lol
15:23:14 <Arc_Koen> !dlroW olleFatal error: exception Invalid_argument("index out of bounds")
15:23:45 <Arc_Koen> for whatever reason the 'H' disappeared
15:26:16 <kmc> you have to get away from the people who are following you
15:26:19 <kmc> i think
15:26:56 <kmc> this is a game where if you have a dozen cops chasing you, you can drive into a garage and have them repaint the car
15:27:06 <kmc> and the cops waiting outside will just leave
15:27:16 <kmc> "oh, damn guys, the car we were chasing was red, this one is blue"
15:27:53 <kmc> it's a pretty silly mechanic really
15:28:18 <kmc> in gta4 they got rid of this and introduced a new system
15:28:59 <kmc> now there is a radius on the map of where the cops are looking for you, and you have to stay outside that area for some amount of time
15:30:20 <Arc_Koen> tinted windows on a red car? what a lack of taste!
15:33:22 <itidus21> i once read up on it
15:33:27 <itidus21> gta wasn't always like that
15:33:49 <itidus21> apparently there was a bug once which caused the cops to go crazy pursuing you
15:34:23 <itidus21> i would love for that to happen at least once in my life
15:34:37 <itidus21> a lucky accident which makes me rich or famous
15:36:58 <kmc> there were those tourists in NYC who got into an unlicensed taxi at the airport
15:37:14 <kmc> the cops went after the taxi and a high-speed chase ensued
15:37:39 <kmc> long story short, the tourists got to manhattan for free and in record time
15:43:07 <Arc_Koen> fizzie: my kipple interpreter works!
15:43:20 <Arc_Koen> it doesn't respect the specs at all, though
15:43:31 <fizzie> Arc_Koen: Such disrespect.
15:44:08 <Arc_Koen> well i and o are interactive, and stack identifiers can be any string, not just one character
15:44:33 <Arc_Koen> (the string must consist of a-z, A-Z and @ only, though)
15:45:06 <fizzie> I was thinking you could've made the IO stack a single thing, with output pushery and input poppery.
15:45:14 <Arc_Koen> that's what I thought too
15:45:25 <Arc_Koen> but then I thought maybe it was better to make them actual stacks
15:45:51 <Arc_Koen> input only happens when try to pop i while it's empty; pushing o prints the character *and* pushes it
15:46:51 <Arc_Koen> (and I didn't want to brave the specs as much as merging the two stacks)
15:47:43 <Arc_Koen> though if I do I guess I should improve @ as well to ease number input
16:19:28 -!- Vorpal has joined.
16:30:22 -!- augur has quit (Remote host closed the connection).
16:53:36 -!- Sgeo_ has quit (Read error: Connection reset by peer).
16:54:22 -!- Sgeo has joined.
16:57:21 -!- augur has joined.
17:30:23 -!- SHUPFS has joined.
17:37:12 -!- ion has quit (Ping timeout: 260 seconds).
17:58:52 <Arc_Koen> fizzie: keeping i and o as actual stacks allows me to do stuff like that: " i>a+0 a>o a-48 a? a>b (a>o>a) "
17:59:14 <Arc_Koen> the (a>o>a) is an infinite loop of printing a's top element
17:59:25 -!- augur has quit (Read error: Connection reset by peer).
17:59:47 <Arc_Koen> ("give a to output, then take it back to give it again next iteration")
17:59:54 -!- augur has joined.
18:01:48 <fizzie> Yes, it would certainly be a shame to have to write (a+0 a>o) or something.
18:02:28 <Arc_Koen> well ok if you put it like that
18:02:46 <Arc_Koen> but there's that language based on input and output which name I have forgiven
18:03:07 <Arc_Koen> I'm sure it would be way more easy to implement it with i and o being actual stacks
18:07:23 -!- atriq has joined.
18:24:46 <atriq> "Buddhist Iron Man Found By Nazis Is From Space"
18:24:54 -!- ion has joined.
18:24:57 <atriq> I didn't realise the Daily Sport was still about
18:28:36 -!- ogrom has joined.
18:36:54 -!- atriq has quit (Remote host closed the connection).
18:41:07 -!- atriq has joined.
18:55:45 -!- augur has quit (Remote host closed the connection).
19:48:34 -!- augur has joined.
19:53:16 -!- nys has joined.
19:54:14 -!- oerjan has joined.
19:55:56 -!- ogrom has quit (Quit: Left).
20:06:19 <nortti> it seems opera has made opera mini for android usable again
20:07:31 <nortti> it no longer crashes regulary and it doesn't seem to leak memory
20:07:38 <atriq> :)
20:08:09 <olsner> nortti: nice
20:08:28 <mroman> about time.
20:08:35 <nortti> is it bad that I am surprided about browsee not leaking memory
20:08:46 <nortti> *surprised
20:08:49 <olsner> yes, that's bad :)
20:09:16 <nortti> well except links2
20:09:50 <nortti> it might be horrible rendering wise but it is solid as rock and just works
20:10:20 <nortti> well after you tweak it for a week but still
20:11:06 -!- SHUPFS has quit (Quit: leaving).
20:20:43 -!- augur has quit (Remote host closed the connection).
20:25:44 <shachaf> kmc: http://hpaste.org/75174
20:27:29 -!- augur has joined.
20:35:56 <Lumpio-> I think the builtin webkit browser in Android is good
20:36:09 <Lumpio-> then again most webkit browsers are
20:38:46 -!- nys has quit (Quit: quit).
20:39:55 <atriq> Safari isn't very good
20:40:21 <atriq> One of my friends recently switched from Safari to Internet Explorer and was amazed at the speed
20:40:32 -!- kwertii has joined.
20:40:33 <olsner> haha
20:40:42 <atriq> He's gonna slowly traverse through to Chrome so he doesn't shock himself.
20:57:18 <zzo38> If you are born on Feb.29 (a.k.a. St. Tib's Day), then officially the rule is your birthday is on Mar.1 if it is not a leap year. However, there is another solution which does not involve the calendar: Regardless of your date of birth, celebrate when the ecliptic longitude of the sun equals what it was at the time of your birth.
20:57:34 <atriq> ...
20:58:27 <zzo38> !!!
20:59:01 <atriq> That's a very you thing to say
20:59:06 <atriq> Good thing it was you who said it
21:02:05 <olsner> is there an official rule for birthdays? isn't the whole birthday thing just a convention anyway, and you can really celebrate it whenever you want
21:02:07 <oerjan> zzo38: that would probably mean some people occasionally have to celebrate on a different calendar day than they were born, even if not on Feb. 29...
21:02:57 <oerjan> it's not like people don't move celebrations to more convenient times
21:03:02 <zzo38> oerjan: Yes, I know, it is the non-calendar way. Of course you may not like it and you can use whatever you prefer I don't care.
21:03:27 <zzo38> I just made one possibility, as well as mentioning the official way. But there are other ways too.
21:03:59 <oerjan> official in canada, and possibly elsewhere.
21:04:30 <atriq> I'm gonna celebrate my birthday on bonfire night
21:06:03 -!- jix has quit (Ping timeout: 256 seconds).
21:06:22 <atriq> (that is)
21:06:35 <atriq> (when the bonfire is in celebration of Guy Fawkes or whatever)
21:06:42 <atriq> (well, his capture)
21:06:54 <atriq> (so, the closest Saturday to November 5th)
21:06:59 <atriq> (in Hexham at least)
21:07:12 <atriq> (WHICH COINCIDES WITH MY EIGHTEENTH BIRTHDAY)
21:08:25 <olsner> ()
21:09:13 <oerjan> just don't get so drunk you fall into the bonfire.
21:09:24 <atriq> UNLIKELY
21:09:30 <oerjan> OKAY
21:11:20 -!- Vorpal has quit (Ping timeout: 252 seconds).
21:12:46 -!- jix has joined.
21:23:30 <atriq> On a channel in a different server, there's 6 of us pretending to be the same person
21:23:36 <atriq> (one of us is actually that person)
21:26:25 <oerjan> is Taneb and ngevd in on this?
21:26:29 <oerjan> *are
21:26:34 <atriq> Nah
21:26:36 <atriq> They're asleep
21:26:39 <oerjan> okay
21:27:00 <atriq> We're trying to figure out who the first impostorr was
21:27:10 <atriq> By making there more impostors
21:27:15 <atriq> It hasn't worked
21:27:43 <oerjan> impost hoc, erco impropter hoc
21:28:22 <oerjan> ->
21:30:32 <atriq> Goodnight!
21:30:40 -!- atriq has quit (Quit: Leaving).
21:35:54 -!- boily has quit (Quit: Poulet!).
21:44:45 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
22:16:06 -!- copumpkin has joined.
22:19:31 <Arc_Koen> hello
22:22:42 <Arc_Koen> what's that "Hm okay."! you're supposed to either say "yes it's obvious" or "Hm it's likely but let's prove it" or "If you think so then prove it!" or something
22:22:43 -!- FreeFull has quit (Quit: Goodnight!).
22:28:23 -!- Nisstyre has changed nick to Nisstyre_.
22:28:39 -!- Nisstyre_ has changed nick to Nisstyre.
22:44:07 <oerjan> i wasn't fully aware of the concept of a moore machine. i had somehow internalized that transducers could have multiple output per input.
22:44:20 <oerjan> but those cannot.
22:47:34 -!- mroman has quit (Ping timeout: 260 seconds).
22:47:41 -!- mroman has joined.
22:48:59 -!- augur has quit (Remote host closed the connection).
22:55:35 <Arc_Koen> hey do we have a fancy binary-to-decimal converter on lambdabot?
22:55:59 <Arc_Koen> > dec 01000001100000011
22:56:00 <lambdabot> Not in scope: `dec'
22:56:10 <Arc_Koen> > 0b01000001100000011
22:56:10 <lambdabot> Not in scope: `b01000001100000011'
22:57:03 <Arc_Koen> > eval 0b01000001100000011
22:57:04 <lambdabot> Not in scope: `eval'Not in scope: `b01000001100000011'
22:57:40 <oerjan> > showInt 2 (const True) digitToInt "01000001100000011"
22:57:41 <lambdabot> Couldn't match expected type `GHC.Base.String'
22:57:42 <lambdabot> against inferred typ...
22:57:46 <oerjan> > showInt 2 (const True) digitToInt "01000001100000011" ""
22:57:47 <lambdabot> Couldn't match expected type `GHC.Base.String'
22:57:47 <lambdabot> against inferred typ...
22:57:49 <oerjan> oops
22:57:52 <oerjan> :t showInt
22:57:53 <lambdabot> forall a. (Integral a) => a -> String -> String
22:57:58 <oerjan> oh
22:58:05 <oerjan> > showIntAtBase 2 (const True) digitToInt "01000001100000011" ""
22:58:05 <lambdabot> Couldn't match expected type `GHC.Types.Char'
22:58:06 <lambdabot> against inferred type...
22:58:09 <oerjan> now what
22:58:13 <oerjan> :t showIntAtBase
22:58:14 <lambdabot> forall a. (Integral a) => a -> (Int -> Char) -> a -> String -> String
22:58:23 <oerjan> oh wait duh
22:58:36 <oerjan> > readInt 2 (const True) digitToInt "01000001100000011"
22:58:37 <lambdabot> [(33539,"")]
22:59:17 <Gregor> Wow, it's so clear and intuitive, too.
22:59:36 <oerjan> it's flexible.
23:00:03 <oerjan> although it doesn't support non-Strings
23:01:58 <Arc_Koen> > readInt 2 (const True) digitToInt "01010011000101011"
23:01:59 <lambdabot> [(42539,"")]
23:02:03 <Arc_Koen> yeay
23:02:20 <Phantom__Hoover> > readInt 2 (const False) digitToInt "01010011000101011"
23:02:21 <lambdabot> []
23:02:41 <Arc_Koen> so that's 16-bit, I'm sure I can find that in Pi
23:02:48 <Phantom__Hoover> @type readInt
23:02:49 <lambdabot> forall a. (Num a) => a -> (Char -> Bool) -> (Char -> Int) -> String -> [(a, String)]
23:02:52 <Arc_Koen> that would be the first Another Pi Language program!
23:03:29 <Arc_Koen> what the hell of a type is that... I think ocaml's read_int has type unit
23:03:37 <Arc_Koen> I mean, unit -> int
23:04:44 <Arc_Koen> I mean, your readInt doesn't even return an int??
23:06:22 <fizzie> @type readInt 2 (const False) digitToInt
23:06:23 <lambdabot> forall t. (Num t) => String -> [(t, String)]
23:06:37 <fizzie> Is that better/simpler?
23:07:09 <fizzie> Or if you want,
23:07:11 <fizzie> @type readInt (2 :: Integer) (const False) digitToInt
23:07:12 <lambdabot> String -> [(Integer, String)]
23:09:59 <oerjan> Arc_Koen: it returns [] if it doesn't parse and [(n, restOfString)] if it parses. (theoretically it could return multiple element if there was an ambiguous parse)
23:10:12 <oerjan> it's the API for the Read typeclass
23:10:24 <oerjan> *+s
23:12:15 <oerjan> > readInt 2 (const True) digitToInt "010abc"
23:12:15 <lambdabot> [(90,"")]
23:12:24 <oerjan> oh wait
23:12:36 <oerjan> > readInt 2 (`elem` "01") digitToInt "010abc"
23:12:37 <lambdabot> [(2,"abc")]
23:14:01 -!- fungot has joined.
23:16:41 <fizzie> !perl print oct("0b01010011000101011") # then there's this
23:16:41 -!- Arc_Koen has quit (Ping timeout: 245 seconds).
23:16:42 <EgoBot> 42539
23:23:30 -!- TeruFSX has joined.
23:26:50 -!- augur has joined.
23:30:56 -!- TeruFSX has quit (Quit: Leaving).
23:32:52 -!- kinoSi has quit (Read error: Connection reset by peer).
23:33:19 -!- kinoSi has joined.
23:43:42 -!- carado has quit (Quit: Leaving).
←2012-09-25 2012-09-26 2012-09-27→ ↑2012 ↑all