←2011-10-15 2011-10-16 2011-10-17→ ↑2011 ↑all
00:00:09 <Phantom_Hoover> Have you established what this way is, though?
00:00:22 <Ngevd> It varies person to person
00:00:23 <oerjan> clearly most are clones
00:09:02 -!- DHeadshot has quit (Read error: Connection reset by peer).
00:09:02 <Madoka-Kaname> Is it good practice to make the tools used to create the package you distribute, or is just source enough in most cases?
00:09:17 <Madoka-Kaname> s/source/source available/
00:09:29 <elliott> Eh?
00:09:38 <elliott> I don't understand the part before the comma.
00:11:08 <elliott> Madoka-Kaname: ?
00:11:20 <Madoka-Kaname> If you make a distribution package (for an open source program), is it good practice to include whatever you used to build that package too, or only what you need to compile and run the program?
00:12:55 <elliott> Madoka-Kaname: What distribution?
00:13:02 <elliott> Most distribution packages are binaries.
00:13:06 <elliott> So the question is incoherent.
00:13:52 <Madoka-Kaname> In this case, I'm using Scala, so, package = .jar file, launcher, external libraries, etc
00:14:39 <pikhq> Each distro generally documents their best practices for packaging.
00:14:57 <pikhq> Big, big thing is do not ever include external libraries.
00:15:15 <Madoka-Kaname> I don't mean package as in "Linux package"
00:15:31 <Madoka-Kaname> Uuu... never mind >>
00:15:31 <pikhq> What, do you mean a source tarball?
00:16:00 <elliott> Madoka-Kaname: Oh, distribution package.
00:16:06 <elliott> erm
00:16:08 <elliott> Right
00:16:13 <elliott> Madoka-Kaname: What kind of package, then?
00:16:21 <Madoka-Kaname> programname-blah.zip
00:16:21 <elliott> Madoka-Kaname: You should basically include whatever's in your VCS repository.
00:16:27 <elliott> s/zip/tar.gz/
00:16:44 <Madoka-Kaname> s/tar.gz/7z/
00:16:47 <elliott> ...no.
00:16:47 <pikhq> No.
00:16:56 <elliott> 7z doesn't even do permissions, IIRC.
00:16:56 <pikhq> Tarballs are the accepted format.
00:17:07 <elliott> And nobody has the decompressor on Linux.
00:17:08 <Madoka-Kaname> Okey then :<
00:17:17 <elliott> (Everyone with WinRAR can open tar.gz, I believe.)
00:17:21 <elliott> (Definitely everyone with 7-Zip.)
00:17:33 <pikhq> tar.gz and tar.bz2 are typical, tar.xz is not that unusual (though don't offer that exclusively).
00:17:52 <elliott> Madoka-Kaname: Anyway, you have a source repo, right? [This is me asking a question as if the answer will be the opposite of what I actually expect.]
00:18:03 <Madoka-Kaname> Yes.
00:18:05 <elliott> pikhq: I dislike bz2 for the much-increased requirements over gz.
00:18:14 <elliott> pikhq: tar.gz and tar.xz is reasonable, but really, gzip does just fine on text.
00:18:22 <elliott> Madoka-Kaname: tar czf program.tar program-repo/
00:18:30 <pikhq> elliott: Yeah, tar.gz and tar.xz seems utterly reasonable.
00:18:31 -!- derdon has quit (Remote host closed the connection).
00:18:33 <elliott> Erm
00:18:34 <Madoka-Kaname> I mean binary release, not source release. ^^;
00:18:35 <elliott> Madoka-Kaname: tar czf program.tar.gz program-repo/
00:18:38 <elliott> Madoka-Kaname: Oh.
00:18:45 <elliott> Madoka-Kaname: Then why would you include the sourec?
00:18:53 <elliott> source
00:19:01 <elliott> Source tarballs should be separate; or you could just point people to the relevant git commit.
00:19:24 <Madoka-Kaname> I mean, the binary release would contain a .bat file and a shell script to launch the program, the .jar file, and libraries, etc. Would it be good practice to include the script used to generate this package in the source repo?
00:20:12 <elliott> Madoka-Kaname: You should be able to wipe your hard drive and still retrieve all your project-related work from the repo.
00:20:18 <elliott> (Modulo stuff you haven't committed or pushed yet, I suppose.)
00:20:30 <elliott> Madoka-Kaname: And you should of course version such scripts because they'll inevitably change.
00:20:37 <elliott> So yes, it should go in the repo. Everything should.
00:20:43 <Madoka-Kaname> That works.
00:20:59 <pikhq> Everything you write should go in the repo, rather.
00:26:37 -!- oerjan has quit (Quit: How repoducible).
00:31:36 <Gregor> Finally upgraded my laptop to Lion.
00:31:57 <Gregor> Just when I thought that it would be literally impossible for Apple to put out any worse of an OS than they already have, they have once again managed to dig just a little bit deeper.
00:33:03 <elliott> Gregor: I told you to upgrade to Snow Leopard to avoid you whining.
00:33:18 <Gregor> Oh I did upgrade to Snow Leopard.
00:33:21 <Gregor> I had to to upgrade to Lion.
00:33:37 <Gregor> I figured "how could it hurt to get properly up to date instead of just almost up to date"
00:33:37 <Ngevd> Goodnight
00:33:39 <elliott> So why didn't you just stick there :P
00:33:43 -!- Ngevd has quit (Quit: Goodbye).
00:33:43 <Gregor> I wish I hadn't figured that.
00:34:02 * elliott thinks Lion is an improvement overall; unquestionably as far as the internals go, and about sixty percent UI-wise.
00:34:08 <CakeProphet> ugh, shopping for used cars is a pain.
00:34:09 * elliott doesn't like OS X.
00:35:17 <Gregor> Spaces (or whatever that feature is called), which is easily the worst implementation of virtual desktops in any OS in the history of the universe, has turned into little more than a joke in Lion. Right now it seems that spaces has taken my keyboard focus. I can change spaces, but I can't, y'know, TYPE INTO ANY FUCKING WINDOW.
00:35:32 <elliott> That... doesn't happen.
00:35:36 <elliott> At least not for me, at all.
00:35:47 <Gregor> Funny how for me it happened after all of ten minutes of use >_<
00:37:03 <Gregor> Where the hell is the spaces feature in this preferences app >_<
00:37:16 * Phantom_Hoover → sleep
00:37:19 -!- Phantom_Hoover has quit (Quit: Leaving).
00:37:33 <elliott> Gregor: There isn't one.
00:38:25 <Gregor> Great, so I guess I'll go reboot to get my keyboard back. Because that makes sense.
00:41:32 -!- kwertii has quit (Read error: Connection reset by peer).
00:41:55 -!- kwertii has joined.
00:47:35 <Gregor> OK, now to find a way to change the space-switching animation's speed to something other than its default "fast enough to be nauseating and yet too slow to be useful"
00:54:44 <Gregor> Just switching screens on this is going to make me vomit X_X
00:55:09 <elliott> Gregor: Does that MacBook have a multitouch thing?
00:55:18 <Gregor> Yeah
00:55:31 <elliott> Gregor: Using Lion will be much more pleasant if you use it for everything you possibly can.
00:56:23 <elliott> Gregor: (e.g. switching spaces with three-finger horizontal swipes.)
00:56:30 <elliott> Apple don't really give a shit about any other method of control :P
00:56:58 <Gregor> OK, it looks like it's a two-spot-max multitouch (two-finger scroll works, three finger doesn't seem to do anything)
00:57:17 <elliott> Gregor: So it's not multitouch :P
00:57:38 <Gregor> In the sense that two is clearly equal to one, no.
01:01:58 -!- nooga has quit (Ping timeout: 240 seconds).
01:10:36 <elliott> Gregor: Of course it is.
01:22:06 <zzo38> Can you even turn off those animations?
01:23:28 <Gregor> zzo38: Of course not.
01:23:36 <Gregor> Apple doesn't let you disable animations.
01:23:51 <Gregor> Because having something pretty to look at for a second is more important than not breaking your workflow constantly.
01:25:08 <zzo38> Are you sure there isn't some hidden settings to change these things if you know the names of the settings and can enter them at the UNIX command prompt?
01:26:38 <zzo38> Although it is possible that Apple forgot to put in those hidden settings.
01:27:23 <Gregor> I've looked for it.
01:27:31 <Gregor> There was one for 10.6 apparently. But not for 10.7.
01:27:48 <zzo38> So, they removed it?
01:29:34 <olsner> no, they added the feature of not having it
01:33:48 <Gregor> In spite of everything, olsner's answer is closer to the truth :P
01:34:25 <Gregor> As near as I can tell, they completely rewrote spaces from scratch, and somehow managed to make an even worse system (which is impressive since spaces was really awful)
01:35:23 <zzo38> Is there a command to disable the spaces system entirely? (since it is now even more really awful)
01:37:57 <zzo38> I have something like data Exp = Apply Exp Exp | Literal Literal | Case [(Pat, Exp)] ..... should I add annotations, and if so what method? One way I thought of is giving a type parameter to Exp and Pat and adding a constructor which is used for annotations, but is there better way?
01:45:16 <elliott> Gregor: TBH I think Mission Control makes Spaces basically useful
01:45:27 <elliott> Especially the handling of fullscreen apps
01:45:30 <elliott> But I'm not much of a virtual desktop user
01:46:24 <Gregor> I have to assume you typo'd "useless" there.
01:47:07 <elliott> Gregor: Nope :P
01:47:28 <Gregor> Regardless of anything you say, for the sake of my sanity I have to assume you typo'd "useless"
01:47:47 <Gregor> It's not so much that this is a rational conclusion, as that I refuse to accept any other conclusion.
02:10:32 -!- kwertii has quit (Read error: Connection reset by peer).
02:11:02 -!- kwertii has joined.
02:14:36 -!- elliott has left ("Leaving").
02:14:44 -!- elliott has joined.
02:15:29 -!- kwertii has quit (Read error: Connection reset by peer).
02:16:17 <elliott> pikhq: Look at the UK government's official reasons for insane copyright laws: "The creative industries are an important part of the UK’s economy, and they regularly report copyright infringement as a serious problem."
02:17:04 <pikhq> That... Is the stupidest reasoning I've seen.
02:23:12 <elliott> The gramophone companies are an important part of the UK's economy, and they regularly report CD sales as a serious problem.
02:29:57 <pikhq> The buggy companies are an important part of the UK's economy, and they regularly report car sales as a serious problem.
02:33:10 -!- kwertii has joined.
02:33:57 -!- kwertii has quit (Read error: Connection reset by peer).
02:35:10 <elliott> pikhq: The television companies are an important part of the UK's economy, and they regularly report time shifting as a serious problem.
02:38:38 <zzo38> Am I implementing deBruijn indexing correctly?
02:38:39 -!- Patashu has joined.
02:39:04 <zzo38> assignLocal i v h = case h of { Apply x y -> Apply (assignLocal i v x) (assignLocal i v y); Case x -> Case $ assignLocalCase i v <$> x; Local x -> if x == i then v else if x > i then Local (x - 1) else Local x; _ -> h; };
02:39:10 <zzo38> assignLocalCase i v (p, h) = (p, assignLocal (i + localOffset p) v h);
02:39:13 -!- kwertii has joined.
02:39:21 <zzo38> localOffset LocalP = 1; localOffset (ConstructorP _ x) = sum $ localOffset <$> x; localOffset _ = 0;
02:39:39 <Patashu> does anyone know how tynt works? For those who don't know, it's a company that offers a piece of javascript that, when you copy from a webpage using it, both tells the tynt site that it's been copied for analytics perfect and adds a Read more: then a url to the copied text that links back to the page. Is there a way to hook to copying in javascript?
02:40:31 <zzo38> Patashu: Yes, I have seen those things. Usually I disable scripting when viewing those kind of things, since I want to copy fragments all over the place instead of a single solid block of text.
02:41:01 <Patashu> yeah, I've seen how to disable it, I want to know how it can do what it does
02:41:12 <zzo38> Use the view-source command
02:41:23 <elliott> zzo38: doesn't help for obfuscated JS
02:41:41 <elliott> Patashu: Apparently:
02:41:41 <elliott> Register handlers for onCopy, onDrag, etc on the window Object
02:41:41 <elliott> Get a unique URL that will be used as a tracker
02:41:41 <elliott> When any of the registered event occurs
02:41:41 <elliott> Send an event to the server
02:41:42 <elliott> On firefox, create a new node with the data that has to be displayed with the content that is copied. Set selection to existing node and this new node.
02:41:45 <elliott> On IE, add extra text to the current Selection
02:41:47 <elliott> Cancel the propagation of the current event.
02:42:01 <Patashu> Ah ok
02:42:10 <Patashu> I have a lot to learn about JS, I didn't even know you could do that
02:42:13 <elliott> Definitely repulsive.
02:42:39 <Patashu> var clip = Components.classes['@mozilla.org/widget/clipboard;[[[[1]]]]'].createInstance(Components.interfaces.nsIClipboard);
02:42:42 <Patashu> that's a lot of []s
02:42:49 <zzo38> Mozilla seems incomplete, I cannot figure out how to make it get rid of events or make other changes to the DOM
02:42:57 -!- Timwi has quit.
02:44:10 <zzo38> So that certain events are not passed to the DOM, or are only called when certain conditions apply (such as which mouse buttons you use or which keys are pushed)
02:47:38 <zzo38> Use gopher protocol without HTML (and also without PDF, SVG, etc) and avoid these problems.
03:16:02 -!- ive has quit (Ping timeout: 256 seconds).
03:19:22 <elliott> Patashu: You should use gopher instead.
03:19:39 <Patashu> that was just some line I copy pasted
03:19:49 <Patashu> is the [[[[1]]]]] really necessary? it looks lol
03:19:58 <Patashu> it reminds me of that esolang with all the []s for pointer redirection
03:36:41 <CakeProphet> I'm going to lose my mind to craigslist and autotrader.
03:44:29 <pikhq> Wow. The US is *actually* ending military involvement in Iraq.
03:46:22 <coppro> [citation needed]
03:46:35 <pikhq> http://english.aljazeera.net/news/americas/2011/10/20111015191922744317.html
03:48:13 <coppro> al jazeera?
03:48:54 -!- copumpkin has quit (Ping timeout: 256 seconds).
03:48:58 <coppro> terrorist mutant traitor news
03:49:03 <pikhq> Yes, Al Jazeera is an entirely respectable reporting organization that happens to focus on the Arab world.
03:49:20 -!- copumpkin has joined.
03:51:44 -!- kwertii has quit (Ping timeout: 256 seconds).
04:00:41 <elliott> pikhq: Wow! Only eight years after we won the war!
04:00:55 <pikhq> elliott: I didn't realise the UK won.
04:00:57 <pikhq> Hardcore.
04:01:17 <elliott> pikhq: No we are all American at heart.
04:01:35 <pikhq> Ah. Very well then.
04:02:00 <CakeProphet> elliott: that goes without saying.
04:02:01 <pikhq> Let us consume gallons of high fructose corn syrup and eat pounds of bacon and artificial cheese food product.
04:02:13 <CakeProphet> and complain about taxes.
04:02:22 <CakeProphet> while we drive our cars everywhere.
04:02:25 <pikhq> Precisely!
04:06:09 <CakeProphet> American lifestyle is a mind virus.
04:06:21 <pikhq> I think the word you're looking for is "meme".
04:06:33 <CakeProphet> ha. Haskell meme.
04:06:46 <coppro> memeplex
04:06:47 <CakeProphet> meme is a just an internet mind virus.
04:11:17 <CakeProphet> wow software engineering is a really easy class.
04:11:38 <CakeProphet> a lot of is either completely unecessary, or something that's common sense that you would do without thinking.
04:11:58 <pikhq> Well, yes, software engineering is not a well-estabilished field of engineering, at least as commonly practiced.
04:12:20 <coppro> software engineering is not a class
04:12:23 <coppro> it's a discipline
04:12:32 <pikhq> Really, it's only sometimes deserving of the term "craft".
04:12:38 <coppro> at least, at a university level
04:13:02 <CakeProphet> coppro: ...yes, I was referring to "introduction to software engineering"
04:13:06 <CakeProphet> but decided to not type that out.
04:13:12 <coppro> CakeProphet: also which school
04:13:26 <CakeProphet> Southern Polytechnic State University.
04:13:48 <CakeProphet> highly pretigious. well-known. etc.
04:14:37 <coppro> Polytechnic State? nice
04:17:10 <CakeProphet> it was originally a satellite campus of Georgia Tech but then became its own institution. It's almost a feeder school for Lockheed Martin Aeronautics, which is located nearby.
04:17:46 <CakeProphet> but also has an okay CS degree, which is what I'm majoring in obviously.
04:17:59 <CakeProphet> (Note: all lies. I'm actually getting a culinary degree)
04:18:11 <CakeProphet> I write recursive recipes.
04:20:24 <coppro> sounds delicious
04:21:35 <zzo38> I find the <$ operator is very useful when using Parsec. The <* operator is also useful with Parsec; and liftM2, liftM3, etc are useful with Parsec.
04:22:36 <CakeProphet> how much has been done with non-character types and Parsec?
04:23:02 <zzo38> I don't know; but I would like to know the answer to that question, too.
04:25:57 <CakeProphet> well if you ignore the state monad underneath, Parsec essentially solves some kind of complex decision problem involving a list as input. Right?
04:27:25 <zzo38> I suppose it can do that.
04:28:31 <elliott> Stallman still uses XFree?
04:28:34 <elliott> pikhq: wat with me.
04:36:05 <pikhq> Wat.
04:36:13 <pikhq> Citation?
04:45:46 <elliott> pikhq: http://richard.stallman.usesthis.com/
04:45:52 <elliott> I guess it could have been inaccurate editing
04:45:59 <pikhq> One hopes.
04:46:29 <pikhq> Especially seeing as he uses gNewSense, and Ubuntu derivative.
04:48:25 <shachaf> CakeProphet: Why CS?
04:49:47 <elliott> pikhq: Maybe he didn't realise the X.org transition even happened :-)
04:49:52 <elliott> "Oh, haven't got to that part of my email backlog yet."
04:50:30 <shachaf> elliott: It does have "free" in its name.
04:52:00 <CakeProphet> shachaf: uh, because I want to major in something that's directly related to programming and the theory of such.
04:52:11 <CakeProphet> I'm not sure I understand the question.
04:52:31 <CakeProphet> you mean like, why do I like programming?
04:52:38 <shachaf> Oh, well, maybe the "obviously".
04:52:41 <shachaf> I suppose never mind.
04:52:58 * shachaf likes programming but would certainly not be sure that he wants to major in CS.
04:53:16 <CakeProphet> shachaf: are you in college right now?
04:53:22 <monqy> i hate programming but im unwisely major in cs :'(
04:53:53 <shachaf> CakeProphet: No.
04:54:00 <CakeProphet> I think computer science was probably the best choice because a) it's what I like to do b) it will be a relatively good source of income.
04:54:31 <CakeProphet> my second favorite hobby being bulleted, numered, and alphabetically ordered lists.
04:54:37 <CakeProphet> *numbered
04:54:47 <CakeProphet> (Note: least favorite hobby is typing)
04:55:18 * shachaf will see, he supposes.
04:56:22 <CakeProphet> shachaf: is there anything else you're good at?
04:56:37 <CakeProphet> or want to do?
04:56:42 <shachaf> I should hope so!
04:56:46 <shachaf> Oh, I want to do everything.
04:56:58 <shachaf> I think CS is probably easier to study on one's own than a lot of things.
04:57:31 <CakeProphet> it's certainly something you can learn by doing.
05:00:58 <CakeProphet> for relatively cheap.
05:01:36 <CakeProphet> for example, unless you work at a car shop or have a lot of money to spend on car stuff, it's more difficult to self-learn car stuff.
05:02:05 <CakeProphet> but software is (er, can be) free. And you only need the initial investment of a computer.
05:02:50 <CakeProphet> free as in "free beer" not free as in "free speech".
05:03:21 <monqy> i misread as free bear
05:03:27 <monqy> "oh cool free bear"
05:03:38 <CakeProphet> yes learning the codes can be dangerous. I have scars.
05:03:48 <CakeProphet> from terrible maul wounds.
05:04:51 <CakeProphet> shachaf: though if you do learn CS and go out into industry, you probably /will/ have to program something you're not necessarily interested in.
05:05:13 <CakeProphet> so far, in my very limited experienced, it's not too bad though.
05:05:20 * shachaf is "in the industry" now.
05:05:26 <shachaf> It's indeed not too bad.
05:05:27 <CakeProphet> ah okay.
05:05:36 <CakeProphet> it highly varies based on the problem.
05:05:41 <CakeProphet> icky web programing stuff will be the bane of me.
05:06:53 <monqy> haha web programming
05:07:39 <CakeProphet> I suppose it's a matter of perspective
05:08:13 <CakeProphet> for example, I could imagine that making my Javascript compatible with any number of different de facto conventions as being similar to writing a polyglot. Ah, that sounds much better.
05:09:41 <CakeProphet> s/conventions/implementations(?#I suppose)/
05:10:17 <monqy> :(
05:11:07 <CakeProphet> shachaf: so you're "in the industry" without a degree?
05:11:25 <shachaf> Currently.
05:11:42 <CakeProphet> how does that happen?
05:12:18 <shachaf> I went to do a summer internship after high school before college.
05:12:29 <CakeProphet> ah neat.
05:12:33 <CakeProphet> my high school didn't have those.
05:12:34 <shachaf> It ended up being indefinitely extended.
05:12:47 <shachaf> It wasn't part of the high school.
05:12:55 <CakeProphet> oh okay
05:13:07 <CakeProphet> I find that it's hard to find internships. many of them require obscene amounts of experience already.
05:13:26 <zzo38> Is this looks correctly to you as a transformation using De Bruijn index?
05:13:43 <zzo38> http://sprunge.us/BYVT
05:13:59 <shachaf> CakeProphet: I suppose it depends on where you look.
05:14:18 <shachaf> Or something.
05:14:57 <pikhq> elliott: RMS is actually pretty good about responding to email.
05:16:03 <zzo38> How can you have nineteen years of experience with something that was invented only three years ago?
05:16:50 <CakeProphet> zzo38: approach near-light speeds.
05:17:27 <shachaf> What sort of weird language is that?
05:17:30 <shachaf> Oh, it's Haskell.
05:17:56 <monqy> zzoskell
05:19:47 <zzo38> shachaf: Yes, it is Haskell. Although I have my own datatypes and constructors for the program that this is a part of.
05:20:34 <CakeProphet> I often find it difficult to read Haskell programs without the data type definitions.
05:20:46 <CakeProphet> and the types of basic functions on those types.
05:20:54 <zzo38> It is actually a different kind of De Bruijn indexing, where a lambda expression (e) instead corresponds to (Case [(LocalP, e)])
05:21:23 <zzo38> CakeProphet: OK I will include the types
05:21:52 <CakeProphet> zzo38: er, no that's okay I'm working on something right now I doubt I'll be able to help you with anything.
05:22:20 <zzo38> http://sprunge.us/FDCd
05:22:41 <CakeProphet> I was just commenting on my experience with reading Haskell programs. I also note that I don't have as much difficult determining things about OO code without the type information. Perhaps this just reflects my lack of experience with Haskell.
05:22:48 <CakeProphet> *difficulty
05:23:20 <CakeProphet> but it could also be because Haskell programs are fairly dense comparatively.
05:24:45 <CakeProphet> lol my professor just forgot how to say decrypt.
05:25:06 <zzo38> That is OK; but I included the types in case someone else knows the answer but only if types are indicated too
05:25:10 <CakeProphet> at first she said "unencrypt" and then she was like "wait... de... de-encrypt?"
06:30:38 -!- kwertii has joined.
06:36:22 <zzo38> Did I implement De Bruijn indexing correctly?
06:41:05 -!- zzo38 has quit (Remote host closed the connection).
06:50:02 <CakeProphet> elliott: have you heard of gnome-session-fallback?
06:55:25 <CakeProphet> !logs
06:55:33 <CakeProphet> EgoBot: sejriouwejriuweurh
06:55:34 <CakeProphet> !help
06:55:35 <EgoBot> ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
06:55:39 <CakeProphet> !info
06:55:39 <EgoBot> ​EgoBot is a bot for running programs in esoteric programming languages. If you'd like to add support for your language to EgoBot, check out the source via mercurial at https://codu.org/projects/egobot/hg/ . Cheers and patches (preferably hg bundles) can be sent to Richards@codu.org , PayPal donations can be sent to AKAQuinn@hotmail.com , complaints can be sent to /dev/null
06:55:55 <CakeProphet> !log
06:55:57 <CakeProphet> ewoeirjwoiejrwioehriuwehr
06:56:08 <CakeProphet> for some reason I can't rsync the logs
07:08:01 -!- ive has joined.
07:08:15 -!- tiffany has quit (Quit: Leaving).
07:12:00 -!- augur has quit (Remote host closed the connection).
07:23:50 <elliott> back
07:23:58 <elliott> <CakeProphet> elliott: have you heard of gnome-session-fallback?
07:23:59 <elliott> unusable
07:24:04 <elliott> it is the one i tried and reported on
07:24:36 <CakeProphet> unusual in what way?
07:24:38 <CakeProphet> er
07:24:39 <CakeProphet> unusuable
07:24:46 <CakeProphet> lol
07:24:51 <CakeProphet> hlep tpyeing
07:25:03 <elliott> see logs.
07:25:07 <elliott> i told you at the time.
07:26:48 <CakeProphet> mmk
07:50:15 -!- elliott has quit (Remote host closed the connection).
07:50:53 -!- elliott_ has joined.
07:52:58 -!- Ngevd has joined.
07:54:40 <Ngevd> Hello1
07:54:53 -!- augur has joined.
07:54:59 -!- elliott__ has joined.
07:55:30 -!- elliott_ has quit (Ping timeout: 260 seconds).
07:59:29 -!- kwertii has quit (Read error: Connection reset by peer).
08:00:34 -!- kwertii has joined.
08:03:17 -!- monqy has quit (Quit: hello).
08:05:29 <elliott__> Gregor: So out of morbid curiosity, how long does it actually take to build Chrome?
08:13:09 -!- Vorpal has joined.
08:20:42 <CakeProphet> elliott__: ah, I forgot that gnome-session-fallback was what you were trying to use
08:20:46 <CakeProphet> but yes I remember that conversation.
08:21:20 * elliott__ thinks Xfce is the best option for anyone who doesn't want to make the plunge to a non-traditional environment.
08:21:31 <Ngevd> Do any of the Platonic solids form Eulerian graphs?
08:21:51 * elliott__ considers buying C418's new album.
08:22:13 <Ngevd> Ooh! the octohedron does!
08:22:34 <elliott__> Octa.
08:23:05 <Ngevd> That does too!
08:23:15 -!- nooga has joined.
08:23:50 <elliott__> nooga: Exactly how maverick is the air city?
08:33:28 <CakeProphet> elliott__: so in programs like wget and apt-get, what software are they using to create things like progress bars and changing completion percentages?
08:33:49 <elliott__> CakeProphet: VT escape codes.
08:33:51 <CakeProphet> well I guess the progress bar can just be regular out
08:33:52 <elliott__> Or maybe curses, but I doubt it.
08:34:03 <elliott__> Actually you can do a spinner with just backspace of course.
08:34:34 <CakeProphet> ah yes.
08:34:53 <CakeProphet> you could technically do the changing completion percent thing that apt-get does with backspace I guess.
08:35:41 <CakeProphet> oh "VT escape codes" == "ANSI escape codes"?
08:39:34 -!- nooga has quit (Ping timeout: 240 seconds).
08:39:43 <elliott__> Yes.
08:40:53 <elliott__> CakeProphet: Better Ctrl+H than backspace.
08:41:13 <CakeProphet> isn't that... backspace?
08:41:45 -!- oklopol has joined.
08:41:56 <elliott__> Erm.
08:42:02 <elliott__> Ctrl+U. Or Ctrl+A; I forget which you'd want here.
08:42:07 <elliott__> oklopol: hi PH found the link to the gravity stuff.
08:42:19 <oklopol> i saw it, and it was good
08:42:23 <elliott__> oh
08:42:27 <CakeProphet> http://en.wikipedia.org/wiki/Backspace
08:42:28 <oklopol> but that was just two objects
08:42:29 <CakeProphet> lol, good picture
08:42:33 <elliott__> oklopol: um no
08:42:39 <elliott__> oklopol: there were links to add a bunch of moons and shit at the bottom
08:42:43 <oklopol> ooh okay
08:42:46 <elliott__> admittedly nothing for other ships but there was orbits and shit
08:43:01 <elliott__> CakeProphet: v. arty
08:43:09 <oklopol> so link again if on hand
08:43:17 <elliott__> oklopol: yeah, that's the thing i ain't got
08:43:24 <elliott__> PH will probably be around pretty soon though
08:43:42 <CakeProphet> elliott__: I just enjoy that it's in a completely different setting from where you would normally find a backspace key.
08:43:54 <elliott__> CakeProphet: no i use my backspace key in the woods.
08:44:03 <elliott__> it lets me get in tune with nature. also: bokeh.
08:44:08 <oklopol> yeah but ph is gay i prefer to have your link
08:44:08 <CakeProphet> this should perhaps be removed and replaced with a backspace key in its more typical usage.
08:44:09 <elliott__> these are the keys to nature.
08:44:13 <oklopol> amirite
08:44:19 <elliott__> http://upload.wikimedia.org/wikipedia/commons/6/69/Backspace.jpg
08:44:20 <elliott__> http://upload.wikimedia.org/wikipedia/commons/8/8a/Josefina_with_Bokeh.jpg
08:44:20 <elliott__> same wood
08:44:34 <elliott__> child uses backspace daily, to get in tune with nature.
08:44:38 <CakeProphet> lolwat
08:44:46 <elliott__> oklopol: yeah but do you really want to follow a link produced by someone who isn't a vampire
08:45:13 <oklopol> what? loser
08:45:20 <elliott__> oklopol: yeah ph is the vampire here
08:45:54 <CakeProphet> Hi guys I'm so la^H^H^H^H^Hso clever
08:46:04 <elliott__> laclevjrkerv
08:46:08 -!- DH____ has joined.
08:46:09 <elliott__> --pakecrophet
08:46:54 <CakeProphet> best longopt
08:48:50 -!- nooga has joined.
08:52:50 <CakeProphet> there should be a program
08:52:53 <CakeProphet> called elucidate
08:53:12 <CakeProphet> that explains everything about its input, in English words.
08:53:19 <CakeProphet> and requires no network connection or anything
08:53:23 <CakeProphet> it's just an AI that can explain anything.
08:53:34 <elliott__> it's called the opposite of CakeProphet
08:53:35 <Ngevd> Wolfram Alpha is trying to become that
08:53:45 <elliott__> fsvo trying to
08:53:52 <elliott__> without the no network connceiton part.
08:54:14 <Ngevd> I think the iPod app doesn't need network
08:54:20 <elliott__> Yes, it does.
08:54:29 <elliott__> There is no way you could fit all the data W|A has onto an iPod.
08:54:51 <elliott__> (At least not in a decently-queriable form.)
08:54:59 <elliott__> But yeah, every W|A client just talks to the servers.
08:55:47 <CakeProphet> yeah no there's no way you can use it offline...
09:09:50 <CakeProphet> nautilus-gksu and nautilus-open-terminal
09:09:56 <CakeProphet> good packages or best packages?
09:10:26 <CakeProphet> (I guess nautilus-actions is, in terms of generality, better)
09:10:44 -!- ive has quit (Quit: leaving).
09:18:46 -!- pikhq_ has joined.
09:19:20 -!- pikhq has quit (Ping timeout: 276 seconds).
09:27:21 -!- DH____ has quit (Ping timeout: 248 seconds).
09:28:08 <CakeProphet> elliott__: is there any inherent benefit to using FTP over HTTP when downloading files?
09:28:16 <elliott__> FTP is an obsolete protocol.
09:28:22 <elliott__> There is no reason to use it.
09:28:28 <CakeProphet> what about rsync?
09:28:58 <elliott__> Does over-the-wire compression by default and some other stuff, e.g. you'll have much better resume support, checksumming... A better choice than HTTP when available.
09:29:13 <CakeProphet> ah okay.
09:29:19 <elliott__> But over what protocol?
09:29:24 <CakeProphet> http, ftp, rsync
09:29:26 <CakeProphet> are the options.
09:29:35 <CakeProphet> also "rsync dvd" dunno the different there.
09:29:39 <CakeProphet> I'm downloading Knoppix.
09:29:40 <elliott__> Ah. You've never used rsync, I see.
09:29:43 <CakeProphet> *difference
09:29:46 <elliott__> Why are you downloading Knoppix?
09:29:50 <CakeProphet> fun.
09:29:56 <elliott__> Knoppix is also pretty obsolete.
09:30:17 <CakeProphet> okay so what do you recommend.
09:30:26 <elliott__> I dunno, I don't use livecds. Debian Live?
09:30:27 <CakeProphet> for liveCD distro.
09:30:30 <CakeProphet> ah
09:30:38 <elliott__> The Ubuntu LiveCDs are obviously pretty complete themselves.
09:30:44 <elliott__> So that's an option too.
09:31:05 <CakeProphet> well wouldn't Knoppix be a bit faster?
09:31:10 <elliott__> What?
09:31:16 <CakeProphet> less weight.
09:31:23 <elliott__> I don't think you know what you're talking about.
09:31:31 <CakeProphet> I don't. it was a question.
09:31:46 <elliott__> Oh, Tiny Core is also an option. And definitely the least weight you'll find, though probably more than you want to deal with not having.
09:32:20 <CakeProphet> this is for a shitty netbook, so lighter is better.
09:32:47 <elliott__> http://en.wikipedia.org/wiki/Comparison_of_netbook-oriented_Linux_distributions
09:33:33 <CakeProphet> Joli OS interface: HTML5 + Gnome
09:33:35 <CakeProphet> what the hell.
09:34:09 <elliott__> You could put Android on it.
09:34:49 <CakeProphet> that sounds like a bad idea to me...
09:34:58 <CakeProphet> though it would be neat.
09:35:04 -!- GreaseMonkey has quit (Remote host closed the connection).
09:36:20 <CakeProphet> though it would be very light.
09:36:25 <elliott__> It would suck.
09:36:37 <CakeProphet> it would work well with a low-memory system
09:36:43 <elliott__> It would suck.
09:36:47 <CakeProphet> ...well, yes.
09:37:48 <CakeProphet> Androids application model is pretty interesting.
09:38:19 <elliott__> How?
09:39:11 <CakeProphet> because it frequently removes apps from memory and forces the apps to deal with that.
09:39:24 <CakeProphet> well, not frequently.
09:39:28 <CakeProphet> but the OS can do that whenever it wants.
09:39:39 <elliott__> I think iOS has always done that.
09:39:41 <CakeProphet> ...not much different from swap space I guess.
09:40:01 <CakeProphet> oh really? I don't know much about iOS. I was comparing it to regular OSes
09:40:44 <elliott__> CakeProphet: Well, actually Lion does that too :P
09:40:54 <elliott__> (But the app has to opt in to it.)
09:41:17 <CakeProphet> makes sense. otherwise you would have compatability issues.
09:41:28 <elliott__> Compatibility issues, Apple's number one priority.
09:41:33 <CakeProphet> heh.
09:42:26 <elliott__> (Lion can also keep applications running even once you quit them if it think it's a good idea, and lets you turn off the open/closed indicators in the Dock altogether.)
09:42:41 <elliott__> (I'm pretty sure the plan is to replace "Quit" with "Hide" in some future release.)
09:43:01 <elliott__> That's all part of the pseudo-orthogonal persistence thing they've got going on.
09:43:06 <CakeProphet> it's a decent solution to dealing with a low memory environment. (not referring to the parenthetical stuff)
09:43:19 <elliott__> i.e., apps manually store all their state and restore it on re-open, including things like unsaved documents; and then the versioning system is layered on top of that.
09:43:22 <CakeProphet> I'm... not really sure I get the benefit of orthogonal persistence.
09:43:28 <CakeProphet> but it's "cool"
09:43:48 <elliott__> CakeProphet: Many, many millions of lines of code have been written to serialise and deserialise structures to disk.
09:43:59 <elliott__> This code is all completely obsolete from its conception.
09:44:46 <CakeProphet> right, but you wouldn't want every piece of memory to be persistent.
09:44:49 <elliott__> Not only are modern OSes faster and more efficient at managing when to swap to disk than programmers, the end result is simpler, reduces code complexity by a practically unimaginable degree, and avoids billions of cycles wasted on (de)serialisation.
09:44:57 <elliott__> CakeProphet: That's what generational GCs exist for.
09:45:04 <Ngevd> I think I'll make a Constantinople successor
09:45:26 <elliott__> CakeProphet: You serialise objects that survive the first few generations of garbage collection.
09:45:33 <CakeProphet> lol every dog in my neighborhood just exploded into barking and howling.
09:45:58 <elliott__> (If you want to read a whingy rant I wrote on this early last year, YOU'RE IN LUCK: http://catseye.tc/ehird/files-suck.html)
09:46:01 <CakeProphet> I think the first howl was actually a wolf.
09:46:07 <CakeProphet> elliott__: OH BOY
09:46:09 <elliott__> (My opinions have since refined somewhat, as has my knowledge of the subject.)
09:46:16 <elliott__> (But what I said there is essentially correct.)
09:46:21 <elliott__> (At least more correct than the status quo.)
09:46:28 <elliott__> (I've spent more time thinking about this than is healthy.)
09:47:05 -!- kwertii has quit (Quit: kwertii).
09:47:10 <CakeProphet> so the key to becoming incredibly knowledgable about a subject is to form strong, misguided opinions and then pursue them relentlessly until you come to better conclusions?
09:47:26 <CakeProphet> perhaps this is why I don't know everything about everything. I don't care enough.
09:47:35 <Ngevd> That's pretty much what science is all about
09:47:39 <elliott__> CakeProphet: I thought that was what you did.
09:48:00 <CakeProphet> form misguided opinions sure. but they're not strongly held.
09:48:11 <CakeProphet> nor do I relentlessly pursue them.
09:48:52 <CakeProphet> perhaps apathy is my shortcoming. :P
09:49:29 -!- elliott__ has quit (Remote host closed the connection).
09:50:52 <CakeProphet> elliott__: hmmm, okay so what happens when you have some long-standing piece of memory that is not intended to be persistent, and so becomes serialized "accidentally." is this a fault of the application programmer(s) or the system programmer(s).
09:51:02 <CakeProphet> can I assume that you will instantly logread this when you come back?
09:51:07 -!- elliott has joined.
09:51:22 * CakeProphet waits for it....
09:52:07 <CakeProphet> elliott: so you're not in stalker mode right now? :(
09:52:14 <elliott> ?
09:52:19 <CakeProphet> ? is no
09:52:24 * elliott logreads.
09:52:27 <CakeProphet> NOOO
09:52:31 <CakeProphet> I CAN COPYpaste
09:52:32 <elliott> 09:50:52: <CakeProphet> elliott__: hmmm, okay so what happens when you have some long-standing piece of memory that is not intended to be persistent, and so becomes serialized "accidentally." is this a fault of the application programmer(s) or the system programmer(s).
09:52:39 <elliott> CakeProphet: What happens when you have a purple banana?
09:52:53 <CakeProphet> elliott: I don't believe I understand how that's a relevant response... sorry
09:52:55 <CakeProphet> over my head.
09:53:04 <elliott> CakeProphet: What long-standing pieces of memory should not be persisted?
09:53:05 <CakeProphet> purple bananas and programming are new to me.
09:53:23 <elliott> What large, long-living pieces of information do you want to be completely lost whenever somebody cuts the power? And why?
09:54:11 <Ngevd> Viruses
09:54:20 <CakeProphet> elliott: well, my answer would be kind of tautalogical, and I can't think of a good example. But I'm sure there's lot of OO programs that have some weird monolith things that sit around in the background with lots of memory specific to a current session that isn't intended to "run into" the next invocation of the program.
09:54:22 <Ngevd> Because you want them lost anyway
09:54:42 <elliott> CakeProphet: ok. let me know when you have a real example!
09:54:49 <CakeProphet> but I suppose most of this data would be overwritten anyways.
09:54:53 <elliott> Also, there is no "current session".
09:55:02 <elliott> In an orthogonally persisted system, there are no shut downs, no reboots, nothing.
09:55:09 <elliott> Everything is a continuous live environment.
09:55:24 <CakeProphet> elliott: right. so that means there's huge compatability issues if you tried to run an existing program in that environment.
09:55:36 <elliott> Shutting down is simply causing a persistence cycle and cutting the power; restoring restores the set of objects needed to get the scheduler going, and continues as normal.
09:55:39 <elliott> CakeProphet: No.
09:55:51 <elliott> CakeProphet: Existing programs -- with an appropriate emulation layer -- simply see a system that never shuts down.
09:56:00 <elliott> Sure, things that care about the clock skipping will fail, but that's, like, ntp.
09:56:05 <elliott> CakeProphet: Everything has to handle this today. You know why?
09:56:09 <elliott> Because /hibernate exists/.
09:56:10 <CakeProphet> elliott: also that makes hard shutdowns way more problematic as that last persistence cycle may not be run.
09:56:26 <elliott> Hibernate is the dumbest, most brutal form of orthogonal persistence, and it means everyone already has to take like 90 percent of the steps.
09:56:43 <CakeProphet> really? I thought hibernate was somewhat transparent.
09:56:47 <elliott> Sessions are no longer continuous in real-time; network resources can drop in an instance for any program. It's okay, everybody handles this.
09:56:50 <elliott> CakeProphet: So is orthogonal persistence.
09:56:53 <CakeProphet> the application doesn't really have to care because /everything/ is persisted.
09:56:57 <elliott> CakeProphet: So is orthogonal persistence.
09:57:03 <elliott> You can't make cutting a network connection transparent.
09:57:04 <CakeProphet> hmmm...
09:57:09 <elliott> <CakeProphet> elliott: also that makes hard shutdowns way more problematic as that last persistence cycle may not be run.
09:57:15 <elliott> Oh wow, you might lose like TEN SECONDS of data.
09:57:26 <elliott> So much worse than the everything you lose with current systems.
09:57:26 <CakeProphet> ah.
09:57:36 <CakeProphet> okay, I think I understand.
09:57:51 <CakeProphet> because everything in the last persistence cycle is in a consistent state.
09:58:13 <CakeProphet> except all of those volatile chunks suddenly get lost.
09:58:35 <CakeProphet> assuming the program continues where it left off this would be problematic.
09:58:53 <elliott> You definitely want to maintain consistency, which is a tricky problem if you prune the set of objects to persist. But you can basically do it by persisting the current continuation of the process.
09:59:00 <elliott> Which you basically have to anyway.
09:59:09 <elliott> Then it's as simple as: Whatever the continuation points to.
09:59:20 <elliott> When the continuation gets re-persisted, so do all the objects it references.
09:59:38 <elliott> If it created some ephemeral objects then threw them away, they won't be persisted; just a sample of them, every few seconds.
09:59:39 <CakeProphet> so you don't resume exactly where you left off ---- aaaaah no I see.
09:59:57 <CakeProphet> you return the last consistent point in the program execution.
09:59:59 <elliott> So, yeah, you persist the loop index that will last another microsecond, but it's not that often, so who cares?
10:00:00 <CakeProphet> *to the
10:00:27 <CakeProphet> hmmmmmmmmmm
10:00:55 <CakeProphet> still depending on where it saves you may end up with some local variables that are suddenly gone.
10:01:03 <elliott> Nope.
10:01:11 <elliott> Do you know what a current continuation is?
10:01:29 <CakeProphet> ah it includes the stack, yes?
10:01:34 <CakeProphet> yes I have an idea of what it is.
10:01:40 <Ngevd> elliott, how are @, mcmap, mchost, and whatever else going?
10:01:41 <CakeProphet> not the low-level details.
10:01:57 <elliott> The low level details are irrelevant; a higher-level detail will be more conducive to understanding.
10:02:18 <elliott> The current continuation contains the entire rest of the execution; therefore it necessarily contains a reference to every object in the process that is not garbage.
10:02:18 <CakeProphet> the current continuation is essentially the current visible state of the program, right?
10:02:39 <elliott> That includes the ephemeral loop index.
10:02:43 <CakeProphet> right
10:02:58 <CakeProphet> but then the persistence cycle saves everything relevant, not based on generation?
10:03:10 <elliott> There is no special-casing.
10:03:34 <elliott> Every ten seconds or so, the persistence engine saves everything in the third generation or later.
10:03:41 <elliott> That includes the current continuations of the running processes.
10:03:43 <CakeProphet> ah okay. well yeah if you save the entire current continuation, no problem.
10:03:51 <elliott> Yes, that is called orthogonal persistence.
10:04:07 <elliott> The problem with saving things like loop indices or tables that only last for ten milliseconds is not because it uses space or anything.
10:04:11 <elliott> It's because it'd thrash your disk.
10:04:14 <CakeProphet> I thought you were implying that those local variables which are probably not third generation do not get included.
10:04:35 <elliott> No, I only mean that if you have a loop index which only lasts three seconds and there's no persistence cycle done, it'll be garbage collected and never persisted.
10:04:49 <elliott> (I'm backporting concepts slightly; @ has no concept of process.)
10:05:10 <CakeProphet> hmmm, okay.
10:05:35 <CakeProphet> then that's fine, except for the aforementioned disk thrashing, also performance issues maybe?
10:06:03 -!- Ngevd has quit (Read error: Connection reset by peer).
10:06:14 <CakeProphet> I guess that's implied.
10:06:16 <CakeProphet> in thrashing.
10:06:20 <elliott> What performance thrashing?
10:06:23 <elliott> What disk thrashing?
10:06:27 <elliott> It's every ten seconds.
10:06:28 -!- Ngevd has joined.
10:06:34 <Ngevd> brb
10:06:35 <CakeProphet> 06:03 < elliott> The problem with saving things like loop indices or tables that only last for ten milliseconds is not because it uses space or anything.
10:06:37 -!- Ngevd has quit (Client Quit).
10:06:38 <CakeProphet> 06:04 < elliott> It's because it'd thrash your disk.
10:06:44 <elliott> Which is why you don't do that.
10:06:48 <CakeProphet> oh
10:06:49 <CakeProphet> I see
10:06:52 <CakeProphet> nevermind :P
10:06:54 <elliott> Also, jesus christ Ngevd just came in here for like five seconds.
10:07:01 <CakeProphet> he.
10:07:04 <CakeProphet> ....h
10:07:10 <CakeProphet> it was a very drawn out heh
10:07:34 <CakeProphet> heh heh heh
10:08:19 <CakeProphet> okay so you also have to save everything that's been context switched to in the past 10 seconds
10:08:23 <CakeProphet> which might be a lot of data?
10:09:06 <elliott> No, you can prioritise that.
10:09:24 <elliott> Anyway I'm sure your OS writes to disk more than you think too in general operation.
10:09:29 -!- Ngevd has joined.
10:09:32 <Ngevd> Back
10:09:59 <Ngevd> Question: how hard is it to connect a python program and a haskell program so they work together?
10:11:20 <CakeProphet> elliott: I have a little disk usage meter that tells me how often it does that.
10:11:41 <Ngevd> Better question:
10:11:49 <CakeProphet> Ngevd: with IPC not difficult
10:11:55 <CakeProphet> I assume that's not what you mean though.
10:12:12 <Ngevd> How can I get a rng in Haskell?
10:12:24 <CakeProphet> /dev/random? :P
10:12:36 <Patashu> that's answered in Learn You A Haskell
10:12:49 <CakeProphet> er, a rng? you mean a prng right?
10:13:07 <Patashu> isn't there an IO function in haskell to get a random seed?
10:13:14 <Patashu> and then it's non-IO after that
10:13:31 <CakeProphet> yes
10:13:35 <CakeProphet> getStdGen I believe.
10:13:54 <elliott> :t withStdGen
10:13:54 <lambdabot> Not in scope: `withStdGen'
10:13:57 <elliott> argh
10:13:57 <CakeProphet> I assumed he meant an actual random number generator.
10:13:59 <elliott> ?hoogle withStd
10:13:59 <lambdabot> No results found
10:14:18 <elliott> AS I WAS SAYING,
10:14:20 <elliott> getStdRandom :: (StdGen -> (a, StdGen)) -> IO a
10:14:22 <elliott> is usually more useful imo
10:14:41 <CakeProphet> elliott: okay so if not processes then what does @ have?
10:14:52 <Ngevd> Chapter 8 of LYAH confuses me
10:15:00 <CakeProphet> also do you need any help with @? :3 No I don't expect to be able to do gory system stuff effectively.
10:15:05 <elliott> CakeProphet: Stuff. And no.
10:15:33 <CakeProphet> ah yes stuff is a good model for anything.
10:17:30 <CakeProphet> also you still need the concept of a file I'd think. or at least, a store of data that isn't ever put into memory until demanded.
10:17:54 <elliott> That's called... anything.
10:18:03 <elliott> Why would anything be put into memory if it wasn't demanded?
10:18:52 <CakeProphet> I suppose. but then you also need to have a filesystem of some kind.
10:18:55 <CakeProphet> or, anything-system.
10:19:25 <CakeProphet> where do I put my music collection in @? :P
10:19:56 <elliott> CakeProphet: I really have to ask at this point if your first response to not being able to think of a way to do something is to declare it must be done some other way.
10:20:01 <elliott> You've done it about ten times.
10:21:30 <CakeProphet> I didn't say that it must be done some other way at all. Just that you probably want these additional concepts to allow you to refer to segments of memory-stuff between processes (or stuffs, since they're not processes)
10:21:45 <CakeProphet> re: filesystem
10:22:00 <CakeProphet> and that you probably want some kind of structure to this method of sharing data.
10:22:00 <elliott> OK, but seriously, you've used argument by incredulity about ten times to declare that you'd still want a filesystem.
10:22:04 <elliott> Not once have you been correct.
10:22:46 <elliott> Anyway.
10:22:55 <elliott> CakeProphet: You put your music collection in the most convenient data structure to hand.
10:23:06 <elliott> Probably a set of tracks.
10:23:12 <CakeProphet> elliott: I am literally just talking to you about this model... not like, suggesting that you need to a filesystem. I am indirectly wondering, how do you solve the problems that a filesystem solves in this system?
10:23:46 <CakeProphet> there is no argument from my part.
10:24:16 <elliott> Anyway, I answered you.
10:24:18 -!- ranzz_die has joined.
10:24:43 <Ngevd> Is there much point upgrading ubuntu to oneiric ocelot?
10:24:50 -!- ranzz_die has changed nick to ranzz_die123.
10:24:51 <CakeProphet> how they're stored, sure. not how they're shared
10:24:54 -!- ranzz_die123 has quit (Client Quit).
10:24:58 <CakeProphet> Ngevd: no. unity is bad.
10:25:00 <CakeProphet> don't do it.
10:25:01 <elliott> rip ranzz_die
10:25:04 <elliott> CakeProphet: pre-oneiric has unity too
10:25:09 <elliott> <CakeProphet> how they're stored, sure. not how they're shared
10:25:12 <Ngevd> I'm already on Natty Narwhal
10:25:13 <elliott> what do you mean by "shared"
10:25:43 <Ngevd> How can a music player access the music?
10:25:47 <Ngevd> I assume
10:25:53 <Ngevd> I do not know what CakeProphet is thinking
10:26:10 <elliott> That's why I asked.
10:26:13 <CakeProphet> elliott: well, assuming you have more than one program running (not a process, but stuff or whatever they are), you probably want the data that they generate and manipulate to be accessible to other programs that perform a different task, perhaps even without these programs knowing that they may need to communicate with one another specifically.
10:26:39 <elliott> Ah -- they should magically communicate without intent?
10:26:53 <elliott> Yes, I would like a computer that reads my mind too. But seriously, that's about the opposite of a concrete question.
10:27:23 <CakeProphet> this is one thing a filesystem can do. you give the data names in a hierarchy and then they have names that can be referred to. the data isn't associated with any specific program.
10:27:50 <elliott> Yes, filesystems are a recursive map from strings to {filesystem | byte string}.
10:27:50 <CakeProphet> another program or a human can pass along the name.
10:27:56 <elliott> That is a fairly trivial structure.
10:27:59 <elliott> Anyone can implement that given ten minutes.
10:28:04 <elliott> It's also a bad structure for 90 percent of things.
10:28:26 <CakeProphet> okay, and how is this structure shared between programs? I'm back at my starting question. I don't think it's a difficult question to understand.
10:29:31 <elliott> It's not even a question. I mean, entirely apart from having no question mark in your elaboration of it, you're not even asking anything in particular; I can't answer a question I can't even understand. Ask something concrete and maybe you'll have better luck.
10:30:27 -!- Ngevd has changed nick to Taneb|hovercraft.
10:31:04 <CakeProphet> I am... very surprised that you can't answer that question.
10:31:25 <elliott> Exciting.
10:31:26 <CakeProphet> and am currently at a lose on how to phrase it more conretely.
10:31:30 <CakeProphet> *loss
10:31:38 <CakeProphet> *concretely
10:31:39 <CakeProphet> :P
10:31:55 <elliott> Go back to the music collection thing. That was a coherent question.
10:32:11 <oklopol> you can't collect music, music needs to run free
10:33:32 <CakeProphet> well, okay. you have a music collection. it exists as track structures or whatever. typically speaking when you collect music you want this data to exist indepently of any one program (or, rather, most of the programs that use it) I am wondering, how does an arbitrary program get access to this data.
10:34:21 <CakeProphet> which, brings up issues of security, "what is a program?", etc. I really don't know enough about this system to ask questions as concretely as you most likely want. I was kind of hoping you would just explain how that facet of it works.
10:34:28 <elliott> By being passed a reference to it.
10:34:33 <elliott> Like everything a program needs.
10:34:45 -!- Phantom_Hoover has joined.
10:35:44 <CakeProphet> elliott: that would have totally worked as an answer to "how do programs share data?"
10:35:55 <elliott> I don't think you ever asked that.
10:36:09 <CakeProphet> ... -_-
10:36:54 <CakeProphet> I think I'm done now. you win. I won't be bothering you anymore.
10:37:04 <CakeProphet> mission accomplished.
10:37:12 <elliott> Yess, finally I have won this battle that I was never having
10:37:32 <elliott> Consider maybe dropping the battle rhetoric for once and that instead maybe you might have been unclear.
10:37:36 <elliott> It gets tiring.
10:37:42 <CakeProphet> no not a battle. it seems as though you are being intentionally difficult so that I'll stop asking you all these questions.
10:37:58 <CakeProphet> I, have not, at any point, tried to argue anything.
10:38:06 <CakeProphet> except maybe at the beginning
10:38:09 -!- Taneb|hovercraft has changed nick to Ngevd.
10:38:20 <Ngevd> While I had my breakfast, a thought occured
10:38:32 <Phantom_Hoover> Shocking!
10:38:38 <Ngevd> Imagine a probably fictional programming language called Colorado
10:38:43 <elliott> CakeProphet: Either I'm being intentionally difficult, or you just won't challenge your preconceptions; among them that your questions are clear.
10:38:48 <Ngevd> The name isn't important, but anyway
10:39:13 <Ngevd> Now, Colorado has two compilers, Denver and Aspen
10:39:35 <Ngevd> Somebody writes a text editor in Colorado
10:40:02 <Ngevd> When compiled by Denver, it's 2 KB
10:40:10 <Ngevd> When compiled by Aspen, it's 3 KB
10:40:34 <Ngevd> But the Aspen-compiled version runs quicker
10:40:37 <CakeProphet> elliott: I've challenged plenty of preconceptions throughout the course of this conversation. I'll give you one: it doesn't make sense to have all data orthogonally persistent.
10:40:42 <Ngevd> Which is the better compiler?
10:41:05 <Phantom_Hoover> Oh dear, are you arguing about @?
10:41:06 <elliott> Ngevd: Aspen.
10:41:10 <Phantom_Hoover> Don't argue about @.
10:41:12 <CakeProphet> Phantom_Hoover: not /trying/ to argue. :P
10:41:13 <Phantom_Hoover> There's no point.
10:41:28 <Ngevd> Okay, now somebody else writes a different program
10:41:32 <elliott> Phantom_Hoover: No, CakeProphet just thinks he's being revolutionary by bringing up things that were solved a few decades ago and then blaming his confusing questions on me.
10:41:33 <Ngevd> Say, an image viewer
10:41:36 <elliott> But it's over now.
10:41:41 <CakeProphet> I am really just trying to ask questions, but apparently am not being concrete enough. probably because I don't know anything about it.
10:41:50 <CakeProphet> also I'm trying to be revolutionary (....?)
10:42:00 <Ngevd> The version of this compiled by Denver runs quicker than the version compiled by Aspen
10:42:34 <Ngevd> Is there much point for a Colorado programmer to try both compilers for every program he/she writes?
10:42:46 <elliott> No. (Are these questions meant to be difficult?)
10:42:52 <Ngevd> Not really
10:43:06 <Ngevd> They're meant to be ones I don't know the answer to
10:43:14 <elliott> If it doesn't go too slowly, who cares?
10:44:38 <CakeProphet> elliott: I would like to continue, but it appears that our conversations tend to break down easily.
10:44:48 <CakeProphet> because I would like to know more about this system.
10:44:55 <elliott> Okay. About what?
10:45:37 <CakeProphet> elliott: how would a human pass a reference to a program.
10:46:28 <elliott> Probably automatically in this case. But the UI is not one of the most fleshed-out parts of @. (OK, it has had a lot of thinking done to it, but it's mostly in disparate fragments right now.)
10:46:31 <elliott> It's the object-capability model, anyway.
10:47:24 <CakeProphet> elliott: I apologize for phrasing my questions in ways that I'm accustomed to thinking about them. it's not intended to be argumentative.
10:47:33 <elliott> I didn't say anything.
10:48:18 <CakeProphet> I was attempting to resolve some unresolved misunderstandings. nevermind. no need, I guess?
10:50:33 <CakeProphet> so do you forsee it making sense to interact with this system via a terminal with line-based commands, perhaps?
10:51:59 <elliott> The @ UI is really not something I can make even vaguely concrete statements about. But it is likely to be more linguistic than WIMP, and I have little interest in supporting the lower-resolution (some only supporting a limited resolution of fixed-width glyphs, often erroneously called "text" modes) graphics modes.
10:52:16 <CakeProphet> I do see how you could liberate the dependence on a filesystem by having long-running programs that manage specific kinds of data for you.
10:52:26 <CakeProphet> "long-running" being a bit misleading.
10:52:50 <CakeProphet> just sort of existing, forever, to be invoked.
10:52:51 <elliott> There's no real program involved in maintaining a set of trakcs.
10:52:53 <elliott> tracks.
10:53:07 <elliott> But a set of course contains code in some sense, since you can perform operations on a set.
10:53:46 <CakeProphet> ah so these structures you refer to are themselves programs, and not merely inactive data. There is no distinction here.
10:54:22 <CakeProphet> ...is that... too vague?
10:55:10 <elliott> Weeeell, I think words like active vs. inactive are way too emotionally charged to be useful for much.
10:55:19 <elliott> In this case, it's just... a set.
10:55:23 <CakeProphet> I.. don't think of them as such, but okay.
10:56:09 <elliott> It's hard to define "active".
10:56:20 <CakeProphet> okay perhaps a better question. How do you define a structure?
10:56:47 <elliott> An object; entity; value; call it what you will. Imagine a value in <favourite programming language>.
10:56:53 <CakeProphet> okay.
10:57:11 <elliott> Not Perl though.
10:57:17 <CakeProphet> but these entities are universally accepted by any program, so there is some sort of concrete implementation involved.
10:57:22 <CakeProphet> well
10:57:25 <CakeProphet> not universally
10:57:26 <CakeProphet> or any program
10:57:30 <CakeProphet> but accepted by programs. :P
10:57:40 <elliott> Yes, the @ system is based on a single object model.
10:58:12 <CakeProphet> s/implementation/representation/ so yeah that answers that.
10:58:15 <CakeProphet> sort of.
10:58:21 <CakeProphet> not very clear on how it works though
10:58:30 <shachaf> My favorite programming language has no values, you insensitive clod!
10:58:47 <elliott> CakeProphet: Just imagine a single language runtime underpinning the whole system; that's the easiest way to understand it.
10:58:51 <elliott> Not entirely accurate, but close.
10:58:56 <CakeProphet> yes that's what I imagined.
10:59:04 <elliott> (Smalltalk is a good starting point.)
10:59:26 <CakeProphet> so would you say it's... object-oriented? minus the connotations.
10:59:40 <elliott> What does it mean minus the connotations? Sincere question.
10:59:56 <CakeProphet> as in like... object-oriented but with a sensible model.
11:00:07 <CakeProphet> not invoking images of Java...
11:00:08 <CakeProphet> basically
11:00:14 <Ngevd> If Smalltalk is a good starting point, then it is VERY object-oriented
11:00:26 <elliott> CakeProphet: Probably not in any way you're thinking of, no.
11:00:32 <elliott> But maybe also a bit of yes. But no. But yes.
11:00:35 <elliott> But no, really, no.
11:00:38 <CakeProphet> but very much like smalltalk?
11:00:39 <elliott> It is primarily functional.
11:00:40 <elliott> No.
11:00:44 <CakeProphet> ah okay.
11:00:45 <elliott> I said Smalltalk was a good starting point.
11:00:49 <elliott> Unix etc. are just that much further off.
11:00:57 <CakeProphet> yes these questions are all an attempt to get more details out of what you mean by that. :P
11:01:07 <Ngevd> Object-oriented Haskell! :P
11:01:22 <CakeProphet> I do like the idea of all data being represented as code-stuffs.
11:01:40 <elliott> Church encoding.
11:01:42 <CakeProphet> yes.
11:01:54 <CakeProphet> maybe with some primitive notion of data underneath.
11:02:20 <elliott> Church encoding doesn't buy you much.
11:02:31 <CakeProphet> right I don't mean strictly Church encoding.
11:02:42 <elliott> The fold-based representation isn't particularly desirable, and anyway it's literally isomorphic to just using constructor bits as God intended and separating data out properly.
11:02:51 <Ngevd> If I am one of the few people who like Unity, should I upgrade Ubuntu?
11:02:58 <CakeProphet> but you have a set and the set is represented by the code that controls it.
11:03:07 <CakeProphet> I guess that's almost like OO....
11:03:08 <CakeProphet> in a way.
11:03:14 <elliott> CakeProphet: What control?
11:03:16 <elliott> There's no control.
11:03:27 <elliott> Sets are just set; abstract objects with a defined set of operations.
11:03:31 <elliott> s/set/sets/
11:03:33 <shachaf> "If I am one of the few people who like Unity, should I _?" "No."; "If _, should I upgrade Ubuntu?" "No."
11:03:35 <CakeProphet> that's... what I meant.
11:03:36 <shachaf> As far as I can tell.
11:05:05 <CakeProphet> okay so internally you're passing around something akin to Haskell constructors or C structs, with associated operations?
11:05:13 <Ngevd> Wow, conversation killer
11:05:21 <CakeProphet> er, referring to.
11:05:29 <elliott> CakeProphet: The low-level details are unlikely to aid in understanding here; they're essentially interchangable.
11:05:44 <elliott> The operators wouldn't be passed around with the data itself; that's simply wasteful.
11:05:46 <Ngevd> No wait, I lag
11:06:01 <Ngevd> This is a tad annoyin
11:06:01 <Ngevd> g
11:06:06 <elliott> If you have two sets, you don't want to pass the set operations twice.
11:06:28 <CakeProphet> elliott: well right. I didn't really mean that you pass around the operations.
11:07:29 <CakeProphet> in much the same way that you wouldn't actually pass the data, merely references.
11:10:23 -!- oerjan has joined.
11:10:28 <CakeProphet> okay so regarding the music tracks and not having a daemon program to manage them. How do you keep a music collection from being garbage collected?
11:11:10 <elliott> By holding a reference to it.
11:11:33 <elliott> Probably in whatever roughly constitutes the system's idea of you.
11:12:07 <CakeProphet> okay, so there will never be a point where no program references the music, unless you want it to go away.
11:13:19 <CakeProphet> because many programs don't really quit.
11:13:41 <elliott> It's more data than program here.
11:14:50 <CakeProphet> I'm not sure what you mean by that.
11:15:26 <elliott> It's data holding the references.
11:15:45 <CakeProphet> okay, but then said data is then being referenced by a program, right?
11:16:09 <CakeProphet> otherwise it wouldn't exist
11:16:24 <CakeProphet> or will die swiftly.
11:16:40 <CakeProphet> by the hands of the mighty garbage collector.
11:17:32 <elliott> There is no concept of program.
11:17:47 <CakeProphet> I..... okay.
11:19:36 <CakeProphet> what do you write for @ that makes things happen? for want of better terminology.
11:20:24 <elliott> Code.
11:20:33 <CakeProphet> but not programs.
11:20:56 <elliott> Indeed.
11:20:59 <CakeProphet> perhaps my confusion is evident.
11:21:22 <Phantom_Hoover> CakeProphet, it doesn't divide code into little packages called 'programs'.
11:21:45 <CakeProphet> or maybe my confusion is such a permanent force of nature that it's simply taken for granted at this point.
11:21:57 <CakeProphet> like water.
11:22:08 <Ngevd> So it's like... one giant meta-program?
11:23:14 <CakeProphet> I assume it just generalized code to data, and so the structure of the data somewhat determines what is executed.
11:23:31 <CakeProphet> but I'm probably wrong.
11:25:40 <Phantom_Hoover> It's not that complicated.
11:26:02 <CakeProphet> sure, but the idea is completely foreign to me, and little information about it has been given.
11:26:04 <Phantom_Hoover> On a typical modern OS, you have executable files, and these are what most of us mean by 'program'.
11:26:19 <CakeProphet> well I meant it in a more abstract sense. but yes, that's how such a thing is represented.
11:26:41 <Phantom_Hoover> Even interpreted languages package code into files.
11:26:46 <CakeProphet> right
11:27:02 <Phantom_Hoover> In @, code doesn't exist in files, so there's no subdivision imposed.
11:27:25 <CakeProphet> but you would still write..... programs right? bits of code, I guess.
11:28:32 <CakeProphet> and the subdivision could easily exist if you wanted it to, if you subdivided programs into blocks of memory.
11:28:55 <CakeProphet> but, I guess you don't want that subdivision? you have a different model?
11:29:37 <Phantom_Hoover> There *is* no subdivision, unless you explicitly create one.
11:29:47 <CakeProphet> that's... what I said, basically.
11:30:08 <Phantom_Hoover> So what are you failing to understand?
11:30:13 <CakeProphet> how that works.
11:30:17 <CakeProphet> in practice.
11:30:33 <CakeProphet> how does the code get executed.
11:30:50 <CakeProphet> when does it start.
11:30:52 <Phantom_Hoover> A function in it gets called by already-running code.
11:31:58 <CakeProphet> so @ isn't really an operating system.
11:32:21 <elliott> It's actually a chocolate bar.
11:32:28 <CakeProphet> it's orthogonal persistence and an object model.
11:32:48 <elliott> Unix isn't an operating system; it's just a task switcher and a hierarchical store.
11:35:05 <Phantom_Hoover> And a bunch of syscalls.
11:35:08 <CakeProphet> unix does provide an abstraction for subdividing segments of code from one another though. i.e. there are processes, and executable files. I assume to have any kind of semblance of order you would need a system that does something like that (but NOT the same thing. I am trying to challenge my preconceived notions here)
11:35:28 <elliott> Yes, we all need arbitrary distinctions to stay sane.
11:35:42 <elliott> It is inconceivable that code could be well-contained enough that a single system could interoperate as a whole.
11:35:59 <elliott> We demand impenetrable barriers that require obtuse duplicate mechanisms (IPC, anyone?) to work around.
11:36:13 <CakeProphet> no it's completely conceivable, you just haven't told me what that system is yet.
11:36:41 <elliott> "System" refers to @ there.
11:36:56 <CakeProphet> as far as I know @ is just a monolith with no way to place your own code into that system.
11:37:25 <elliott> You execute code. That's what users do.
11:37:26 <CakeProphet> there's just this ephemeral thing called @ and can somehow interoperate as a whole but that's all I know.
11:38:00 <elliott> Yes, this is the state known as "not knowing @".
11:38:07 <CakeProphet> correct.
11:38:13 <elliott> It is horrible.
11:38:39 <CakeProphet> can I somehow learn about @ without requiring extensive knowledge of it already to ask the right questions?
11:38:51 <CakeProphet> to get the right answers
11:39:31 <elliott> Yes: Ask questions without attaching your presumptions of the answers to them, and they'll be much easier to answer.
11:39:46 <Ngevd> How can one develop programs using @?
11:39:57 <CakeProphet> Ngevd: no such things
11:40:03 <CakeProphet> don't attach preconceived notions.
11:40:04 <elliott> Ngevd: One does not.
11:40:11 <Ngevd> Or the equivalent thereof
11:40:16 <CakeProphet> there is no equivalent
11:40:17 <elliott> CakeProphet: I see you're uninterested in learning.
11:40:23 <CakeProphet> again a preconceived notion.
11:40:45 <Ngevd> What features will @ have that an end-user would like to know about?
11:41:08 <elliott> Ngevd: No Unity support.
11:41:23 <Ngevd> Text editor?
11:41:25 <Ngevd> Image editor?
11:41:28 <Ngevd> Music player?
11:41:31 <Ngevd> Web browser?
11:41:40 <CakeProphet> elliott: uninterested in having my questions dismissed because they're not phrased in the language of a system I know nothing about.
11:41:53 <oerjan> Brain editor
11:42:03 <CakeProphet> elliott: interested in learning, yes. of course.
11:42:17 <elliott> Ngevd: One could compose an obsolete string type, I suppose, sure. Not sure why you would. Image editing I don't have any personal plans to write but it would be perfectly possible and more natural than most such systems. But really, those are all applications, so to speak; @ is very much document-centric.
11:42:48 <Ngevd> How will documents be created then?
11:42:51 <Ngevd> And in what format?
11:43:03 <elliott> Up to you.
11:43:18 <CakeProphet> elliott: how do I decide.
11:43:22 <Ngevd> What sort of tools will be available for document creation?
11:43:28 <elliott> But really, my focus is not on what the user-facing end is at this point. I'm not going to waste my time thinking about something that's many years off.
11:43:38 <Ngevd> Fair enough
11:43:43 <elliott> I cannot just design this mythical perfect system with a bunch of applications and expect it to come true; there are hard problems to be solved at the lower layers.
11:44:51 <CakeProphet> elliott: is subdividing and controlling units of code a problem that as been solved or something that you don't even intend to consider a problem?
11:45:07 <Ngevd> Or somewhere inbetween?
11:45:13 <elliott> Module systems are a well-researched field.
11:45:21 <Phantom_Hoover> <Ngevd> How will documents be created then?
11:45:21 <Phantom_Hoover> <Ngevd> And in what format?
11:45:37 <Phantom_Hoover> They're arbitrary formatting objects.
11:46:42 <Phantom_Hoover> So there /is/ no format: after all, formats only exist because we need to serialise the in-memory representation of a document onto a disk.
11:47:53 <CakeProphet> I am mostly confused about issues of multitasking and control flow. How data is represented and controlled makes sense now, for the most part.
11:48:32 <elliott> 76% [14 libstdc++6-4.3-dev 22389/1420kB 1%] 2073kB/s 3s
11:48:33 <elliott> aww ye
11:48:44 <elliott> (Unfortunately that's my server getting dem speeds.)
11:59:14 -!- Ngevd has quit (Quit: Leaving).
12:09:07 -!- nooga has quit (Ping timeout: 258 seconds).
12:27:08 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .).
12:40:20 -!- nooga has joined.
12:43:15 -!- derdon has joined.
12:58:21 -!- Ngevd has joined.
13:00:57 <Ngevd> Hello!
13:01:58 -!- derdon has quit (Remote host closed the connection).
13:02:23 <oerjan> Jell-O!
13:08:19 -!- yiyus has quit (Read error: Operation timed out).
13:14:46 <oklopol> lk uskoko itsenne viisaampia valheita
13:14:58 <elliott> hi
13:15:20 <oklopol> you know elliott you are a real person
13:15:26 <elliott> no
13:16:13 <oklopol> i know you like to think that but you're just another human
13:16:29 <oerjan> anti-solipsism would be weird
13:16:40 <elliott> no i'm actually a rat.
13:16:42 <oklopol> i think we've discussed that here
13:16:53 <Phantom_Hoover> oerjan, not as weird as solipsist missionaries
13:16:57 <oerjan> well, we've discussed solipsi... right
13:16:58 <oklopol> and those
13:17:08 <oklopol> especially those
13:17:21 <oerjan> rejoice! only you exist!
13:17:35 <oerjan> that annoying neighbor is just an illusion!
13:17:56 <oerjan> sadly, an annoyingly persistent one.
13:18:22 <elliott> Phantom_Hoover: excuse me
13:18:22 <elliott> I
13:18:23 <elliott> invented
13:18:24 <elliott> those
13:18:53 <elliott> I still can't figure out if they'd convince others that they didn't exist or that only they existed.
13:19:12 <oerjan> elliott: probably there'd be some terrible schism
13:19:46 <oerjan> "Only I exist!" "No, only _you_ exist!" wait, what.
13:20:20 -!- yiyus has joined.
13:20:20 <oklopol> the thought of there being and afterlife (more like betweenlife) where you get scored and use your points to buy your next life is so cool i have started to somewhat believe that
13:20:25 <oklopol> *an
13:21:02 <elliott> do you like distribute stats
13:21:11 <oerjan> oklopol: that sounds like my worst nightmare.
13:21:22 <oklopol> i suppose you need a shitload of points to buy memories of your previous lives
13:21:39 <oklopol> oerjan: yeah have fun as a cockroach
13:21:45 <oklopol> mwahaha
13:21:47 <oklopol> i'm so mean
13:21:54 <oklopol> or was that what you meant
13:22:01 <elliott> oerjan: no that sounds great i'd be like ok let's try being an idiot this time (that is what happened this time around)
13:22:31 <elliott> http://en.wikipedia.org/wiki/List_of_scandals_with_%22-gate%22_suffix
13:22:35 <oerjan> oklopol: well it's clearly time for the cockroaches to RULE
13:22:52 <elliott> Utegate – A June 2009 political incident around the lending of a utility vehicle ("ute") to Australian Labor Prime Minister Kevin Rudd by car dealer John Grant, and subsequent allegations of improper favorable treatment of Grant by the Treasury department.[74]
13:23:51 <Ngevd> Ah, good old K-Rudd
13:26:42 <oklopol> that's why people can't decide whether it's about environment or genetics, it's about *soul* genetics and *soul* environment from your past lives (yeah, there's sex in betweenlife. a fuckload of it.)
13:26:47 <elliott> Fajitagate – In November 2002, three off-duty San Francisco police officers allegedly assaulted two civilians over a bag of steak fajitas (which were mistaken as drugs), leading to the retirement of the chief of police and the firing of his successor.[53]
13:26:50 <elliott> fajitagate
13:27:13 <Ngevd> Toiletgate
13:27:15 <elliott> Sexy Photo Gate – The 2008 scandal in Hong Kong concerning illegal distribution over the Internet of intimate and private photographs of actor/singer Edison Chen with various notable celebrities, destroying the showbiz careers of all those involved.[27]
13:27:15 <elliott> YOU'RE NOT EVEN TRYING
13:27:24 <elliott> THAT'S JUST TWO WORDS PLUS "GATE" THEY AREN'T EVEN MUSHED TOGETHER
13:28:36 <oerjan> Nordre Gate
13:28:36 <oklopol> maybe someone should investigate this gate conspiracy. of course we all know the name of the scandal that would lead to.
13:29:39 <Ngevd> Gategate (2)
13:29:41 <elliott> investigate
13:29:47 <oklopol> i was going for #2
13:30:01 <elliott> investigate is definitely better it is less obvious
13:30:05 <oklopol> yes
13:30:10 <oklopol> that's why i was going for it
13:30:17 <elliott> oh that was first here
13:30:23 <oerjan> interrogate
13:30:59 <oklopol> elliott: ?
13:31:04 <elliott> oklopol:
13:31:04 <elliott> <elliott> investigate
13:31:04 <elliott> <Ngevd> Gategate (2)
13:31:06 <oklopol> oh
13:31:07 <elliott> is what it looked like here
13:31:13 <oklopol> got it just after asking
13:31:41 <elliott> so hey oklopol how is your ... theses ... doings
13:32:11 <oerjan> he's dropped it, zzo38 has convinced him to switch to astrology
13:32:29 <oklopol> i haven't even started my phd yet :( but planning to start after the exams next week, i think i know my topic now at least
13:33:00 <Phantom_Hoover> OMG I just got a chocolate pope hat BEST DAY EVER
13:33:06 * Phantom_Hoover eats it.
13:33:26 <oklopol> it's on the role of saturn in horoscopes. it's being done completely wrong nowadays.
13:33:28 <oerjan> <oklopol> [...] (yeah, there's sex in betweenlife. a fuckload of it.) <-- i am starting to warm to this idea
13:33:58 <oklopol> i should probably write a book about it
13:34:23 <Ngevd> oerjan, really? That line turned me off the idea a lot
13:34:29 <oerjan> oklopol: yeah a book about ring theory
13:34:35 <oerjan> Ngevd: PRUDE
13:34:40 <oklopol> Ngevd: ?
13:35:06 <Phantom_Hoover> Betweenlife;
13:35:09 <Phantom_Hoover> *?
13:35:24 <oklopol> Ngevd: don't worry, people will handle your vagina much more gently in the betweenlife
13:35:25 <Phantom_Hoover> Oh dear, oklopol met Ngevd. I hope they never shake hands.
13:35:27 -!- MSleep has joined.
13:35:31 -!- MSleep has changed nick to MDude.
13:36:13 <elliott> oklopol: Ngevd is taneb hth
13:36:31 <oerjan> * Phantom_Hoover eats it. <-- BUT BUT how can you then use it in a plot to get the _real_ pope hat?
13:36:33 <oklopol> oerjan: hehe, can you come up with an astrology version of "cantor type subshifts in the besicovitch and weyl topologies"
13:36:35 <oklopol> ?
13:36:50 <Phantom_Hoover> oerjan, curses!
13:36:53 <oklopol> elliott: i had a hunch that might be it
13:36:56 <Phantom_Hoover> oklopol, yes.
13:38:17 <oerjan> oklopol: not on the spot, no
13:38:59 <oklopol> me neither :/
13:39:11 <oklopol> Phantom_Hoover: what was that a yes to, taneb?
13:40:04 <Phantom_Hoover> No, to Cantor type subshifts in the Besicovitch and Weyl topologies.
13:41:52 -!- nooga has quit (Ping timeout: 260 seconds).
13:46:27 <oklopol> so you told me oerjan *can* come up with one?
13:46:32 <oklopol> makes sense
13:47:00 <Phantom_Hoover> Yes, I believe in oerjan.
13:47:54 <Ngevd> When did I say yes?
13:48:35 <Phantom_Hoover> You have been saying 'yes' your whole life; you have yet to realise.
13:48:48 <oklopol> Ngevd: you just misparsed my inparsible sentence.
13:49:10 <oklopol> also, maybe that's why you don't like sex
13:49:16 <oklopol> i mean what ph said
13:49:42 <oklopol> maybe i should stop picking on you and use elliott instead, he deserves it more
13:49:51 <oklopol> elliott: fuck you although i do kind of like you as a person
13:50:20 <elliott> hi
13:50:27 <elliott> i am pretty terrible yeah
13:50:37 <Phantom_Hoover> The worst.
13:50:55 <Phantom_Hoover> oklopol, what about elliott's eviller triplet, Facekicker McHird?
13:51:23 <oklopol> well i would certainly fuck him him too if he came here.
13:51:26 <Phantom_Hoover> (From Cursebacon.)
13:52:11 <elliott> Phantom_Hoover: What none of you realise is that I... am..... the Facekicker.........
13:52:17 <elliott> I just adopted the other Elliott's identity.
13:52:41 <Phantom_Hoover> elliott, well, my theory is that Facekicker is future you sent back in time with neutrinos.
13:52:54 <elliott> oklopol: oh yeah, are you gonna ragequit reality when it turns out ftl is possible
13:52:58 <oklopol> i wish i had a brother who is the future.
13:53:04 <Phantom_Hoover> Although I realise oklopol may find this offensive.
13:53:35 -!- pikhq has joined.
13:53:47 <oklopol> Phantom_Hoover: i have no problem with whole futures being sent back, just objects from the future
13:53:53 <oklopol> well at least not a priori
13:54:04 <oklopol> come to think of it i suppose that's just as bad
13:54:07 -!- pikhq_ has quit (Ping timeout: 260 seconds).
13:54:17 <elliott> oklopol: you heard the neutrino thing right
13:54:21 <oklopol> yes
13:54:29 <elliott> come on, i want some oklopol time travel rage
13:54:40 <oklopol> i called my dad and told him his crazy physicist friend was right all along
13:54:58 <elliott> :DDD
13:55:06 <Ngevd> Is the sine of an angle unitless?
13:55:14 <elliott> Phantom_Hoover: btw are there any updates on that neutrino thing
13:55:24 <Phantom_Hoover> Not that I know of.
13:55:32 <Phantom_Hoover> Ngevd, yes, because angles are unitless.
13:55:43 <oklopol> elliott: sorry, i'm reserving my rage for more concrete things nowadays, trying to steer clear of religion and time travel
13:56:11 <Phantom_Hoover> Ngevd, come on, you've heard of radians.
13:56:18 <oklopol> unless you like to think of a degree as a unit
13:56:36 <Ngevd> I count the radian as a unit of angle
13:56:46 <elliott> Ngevd: radians are not a unit
13:57:11 <Ngevd> So they aren't
13:57:13 <Ngevd> Huh
13:57:15 <oklopol> right, just like pointers should be thought of as just integers you can add and multiply with each other
13:57:17 <Ngevd> I did not know that
13:57:17 <oklopol> who needs types
13:57:40 <elliott> oklopol: i realise you're being sarcastic but how are radians a unit
13:57:46 <oklopol> but yeah they aren't a unit in the physical sense
13:57:46 <Ngevd> But is the sine of a right angle the same no matter how you measure the right angle?
13:58:49 <elliott> no, if you use a metric ruler it's 0.9 off
13:58:52 <oklopol> elliott: not in the physical sense, but you should really think of the radians as points on an isomorphic copy of R/2*pi*Z, not as regular reals.
13:59:56 <oerjan> elliott: no updates but a constant stream of people insulting the scientists' intelligence by claiming the error is something stupidly obvious to anyone with a physics degree, see http://www.reddit.com/r/science/comments/lc0vv/fasterthanlight_neutrino_puzzle_claimed_solved_by/?limit=500
14:00:11 <elliott> oerjan: you mean like ais? :D
14:00:21 <oerjan> ...maybe.
14:00:50 <oerjan> everyone who thinks they haven't _properly considered the effects of relativity_...
14:00:58 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
14:01:45 -!- invariable has joined.
14:01:47 <oklopol> Ngevd: usually the sine is defined using radians, the degree circle thingie should be thought of as the constant 2pi/360 and radians shouldn't be given a unit, although you might wanna put (rad) after your number to avoid confusion
14:02:07 <elliott> oklopol: so hey remember the Cube
14:02:10 -!- invariable has quit (Client Quit).
14:02:12 <Ngevd> I was just trying to work out which one python used
14:02:13 <oklopol> and by degree circle thingie i mean that funny little circle hovering in the air for fun
14:02:18 <oklopol> radians
14:02:19 <elliott> oh PH
14:02:20 <elliott> PH
14:02:20 <elliott> dammit
14:02:21 <Ngevd> Turns out it's radios
14:02:21 <elliott> he'll be back
14:02:23 <elliott> to link oklopol to the thing
14:02:25 <Ngevd> *ans
14:03:13 <oerjan> Ngevd: i'd say sines are unitless even if you don't consider the angles to be
14:03:19 <oklopol> it's always radians, since all the math computer people use without understanding them when writing libraries works in radians, so you'd have to convert back and forth otherwise
14:03:29 <elliott> oklopol: remember the cube
14:03:34 -!- Phantom_Hoover has joined.
14:03:42 <Ngevd> Brilliant, that's that sorted
14:03:52 <elliott> Phantom_Hoover: link oklopol to the gravity thing, he saw it but didn't see the multi-planet options
14:03:59 <oklopol> all them math people use without understanding them. so i suppose math is the plural and maths is the singular
14:04:02 <Phantom_Hoover> http://www.matthen.com/javascript/gravity.html
14:04:09 <oklopol> elliott: sure
14:04:18 <elliott> oklopol: i'm bringing that shit back
14:04:19 <oklopol> i promise to remember it
14:04:22 <elliott> also yeah there's the gravity link
14:04:24 <elliott> click it
14:04:26 <elliott> enjpoy
14:04:34 <oklopol> fuck you elliott, i click whatever i want
14:04:38 <oklopol> for instance that link
14:05:54 <oklopol> elliott: i put two planets in there and hit the sun after two tounds
14:05:56 <oklopol> rounds
14:06:03 <elliott> oklopol: congratulations
14:06:44 <oklopol> oh i'm congratulating myself like an asshole on meth for being right earlier
14:06:56 <Phantom_Hoover> OK so I suggest anyone who says their mind is blown after learning anything be shot on sight.
14:07:22 <elliott> oklopol: how were you right
14:07:50 <oklopol> elliott: how are orbits stable if i keep hitting the planets & sun?
14:08:00 <elliott> oklopol: because the planets and sun are tiny and your ship is fucking huge in this?
14:08:13 <elliott> i mean
14:08:17 <elliott> it's not my fault you can't establish an orbit
14:08:23 <elliott> i think Phantom_Hoover is quite good at it
14:08:34 <Phantom_Hoover> I am the master of Hohmann transfers.
14:08:52 <oklopol> i'm not saying i can't establish an orbit, i'm saying orbits don't seem to be very stable
14:08:55 -!- Taneb has joined.
14:09:03 <elliott> how can you say that if you haven't established one
14:09:35 <elliott> Phantom_Hoover: you've done stable orbits with it right
14:09:36 -!- Taneb has quit (Read error: Connection reset by peer).
14:09:48 <Phantom_Hoover> Yeah.
14:09:56 <oklopol> by "orbits aren't stable" i don't actually mean a stable orbit isn't stable. i mean if you put shit in the simulator, they do not form nice orbits
14:10:03 <oklopol> if there are many of them
14:10:07 <Phantom_Hoover> Just like in real life, then?
14:10:10 <elliott> does that happen in real life
14:10:11 <elliott> yeah
14:10:35 <elliott> i mean you did basically start off saying that two-dee newtonian gravity wouldn't work well at all but it seems to be as working as well as these things work :P
14:10:49 <oklopol> i don't care about real life, but yes, it's possible 3d works just as bad, i haven't tried.
14:10:55 <Phantom_Hoover> oklopol, incidentally, do you know of any undecidable/turing-equivalent problems in graph theory?
14:11:16 <oklopol> well rewriting problems ofv
14:11:19 <oklopol> *ofc
14:11:31 <Phantom_Hoover> Erm, sorry, add 'colouring' in there.
14:12:13 <oklopol> elliott: what do you mean seems to work as well as these things work? i don't care about realism, i care about getting interesting orbits
14:12:27 <elliott> oklopol: well i mean
14:12:31 <Phantom_Hoover> Is it just me, or is WP down?
14:12:34 <elliott> oklopol: what is your standard for interesting orbits if nothing that exists
14:12:43 -!- Ngevd has quit (Ping timeout: 252 seconds).
14:12:47 <elliott> Phantom_Hoover: just you (isup.me)
14:13:48 <oklopol> elliott: that things often eventually start going around each other in stable ellipsoids from a random initial config?
14:14:11 <Phantom_Hoover> oklopol, that happens in the sim.
14:14:25 <Phantom_Hoover> Things either get ejected or form stable orbits.
14:15:10 <oklopol> yeah maybe, i suppose with a huge amount of objects this would be nice enough
14:15:38 <oklopol> if you have a big thing and a small thing, they will usually be pretty stable at least
14:15:44 <Phantom_Hoover> No, just look at the 4-star system.
14:15:53 <oklopol> if you have multiple big things, they start a fight
14:16:16 <oklopol> Phantom_Hoover: i'm looking at that right now, one of the four starts flew off and hit my ship
14:16:28 <oklopol> after i pressed a key for like a millisecond
14:16:35 <oklopol> aaaand i'm off to space
14:17:13 -!- oerjan has quit (Quit: Later).
14:17:17 <oklopol> but yeah i dunno how this would work if you have enough objects that you can afford most of them hitting each other
14:17:23 <oklopol> perhaps really neatly
14:18:19 <oklopol> hehe, nice spaghetti these guys are drawing
14:19:18 <elliott> what if you had a billion objects......
14:19:39 <oklopol> anyway i think i'm sticking with my idea of having a concept of an orbit in the actual physics. if only because i don't want to use existing ones because this universe kind of sucks ass.
14:22:33 <oklopol> really i want something like minecraft with polygons and space travel
14:22:55 <oklopol> and prolly 2d because 3d just feels so old-fashioned and dull
14:24:12 <oklopol> hexagons might work nicely tho as a primitive shape
14:26:44 <oklopol> but maybe that doesn't really integrate into the whole gluing shit together optimization
14:57:21 -!- oklopol has quit (Ping timeout: 276 seconds).
15:03:59 -!- pikhq_ has joined.
15:04:25 -!- pikhq has quit (Ping timeout: 252 seconds).
15:20:51 -!- Timwi has joined.
15:21:01 <Timwi> Hello
15:25:59 -!- katak has joined.
15:34:19 -!- Phantom_Hoover has quit (Quit: Leaving).
15:34:24 -!- Phantom__Hoover has joined.
15:39:06 -!- Phantom__Hoover has quit (Ping timeout: 248 seconds).
15:39:57 -!- Phantom_Hoover has joined.
15:47:11 -!- Timwi has quit.
15:51:06 -!- nooga has joined.
15:52:51 <elliott> hi katak
15:52:53 <elliott> `? welcome
15:52:56 <HackEgo> Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
15:55:12 -!- Timwi has joined.
15:55:53 <Timwi> ... and hello again
15:56:21 <elliott> hi
15:57:58 -!- ais523 has joined.
16:23:49 -!- monqy has joined.
16:26:38 -!- tiffany has joined.
16:27:49 -!- zzo38 has joined.
16:28:38 <zzo38> If you add up all positive integers will you get -1/12 as the answer?
16:28:46 <elliott> Yes.
16:29:02 <Timwi> ... unless you round it
16:29:12 <elliott> Zeta regularisation is the best thing.
16:31:21 <zzo38> Can you explain how? I do not understand how. I can understand how you can get -1/3 if you add $2^0+2^2+2^4+2^6+2^8+2^10+2^12$ and so on; I have done this calculation myself in various ways and have always gotten the answer -1/3 if you add 2 to power of even natural numbers infinite series.
16:32:20 <Timwi> wtf, I thought it was a joke
16:32:22 <zzo38> (One way is to write the answer in binary notation, from which it can easily be seen that $3x+1=0$ if $x$ is the answer)
16:32:31 <elliott> zzo38: Z(s) = sum n=1 to inf n^-s
16:32:38 <elliott> so if you can make a sum look like the RHS, you can calculate it with the LHS :-)
16:32:46 <elliott> That's actually used seriously in some part of string theory, IIRC.
16:32:52 <elliott> It certainly gives very pretty results.
16:33:32 <elliott> also, 1 + 1 + 1 + ... = -1/2 :-)
16:34:07 <elliott> I like the infinite products too: prod n=1 to inf, n = sqrt 2pi.
16:45:07 <zzo38> I will continue to make the Super ASCII MZX Town (Part II) game. You can tell me ideas if you want to! Like Part I, it is full CP437, it has BIG_MONSTER, and you need all the purple keys. But this one has magic keycards; it has the Star Trek convention; MEDIUM_SIZE_MONSTER ask you for the book, the hat, the clock, and a copy of this game on VHS; there is a secret basement in the library; etc
16:49:23 -!- Ngevd has joined.
16:49:39 <zzo38> Like the Part I, it has a lot of scrolls, and finite resources (money, ammunition, health, keys, multimeter, etc)
16:49:41 <Timwi> ...?
16:49:48 <Ngevd> Hello!
16:49:56 <zzo38> Hello, World!
16:49:58 <Timwi> Hiya :)
16:53:09 <zzo38> On the shelf in the library is an optical disc, it is a CD on one side and a DVD on the other side. It contains a game titled "Sub EBCDIC ZZT Village", which claims to be similar to the present game, and contains a reference to an isomorphic but non-existent game. In addition, the game on that disc is licensed under the GNU GPL version 42.
16:53:20 -!- katak has quit (Remote host closed the connection).
16:53:37 <Ngevd> MYSTERIOUS
16:53:47 <zzo38> (The entire Super ASCII MZX Town series is public domain.)
16:54:00 -!- katak has joined.
16:56:14 <zzo38> Is there such things as optical discs that are a CD on one side and a DVD on the other side?
16:56:43 <Ngevd> I don't see why not
16:56:47 <elliott> zzo38: yep
16:56:50 <Ngevd> As in, top side and bottom side?
16:56:57 <Ngevd> Left side and right side would be tricky
16:57:10 <zzo38> Ngevd: Yes I mean top side and bottom side
16:57:20 <Ngevd> Yeah, that's a thing
16:58:22 <Timwi> Here on a CD is “left” anyway :)
16:58:25 <Timwi> s/Here/Where/
16:58:34 <elliott> That-away.
17:11:30 -!- Ngevd has quit (Quit: Goodbye).
17:14:45 <Timwi> Any admins here now?
17:16:12 <elliott> I don't think so; ais523 reads all wiki edits, though
17:31:26 <Gregor> OK, I'll admit that screen sharing's change from 10.5/6 -> 10.7 is a huge improvement. It's very nearly as useful as Xvnc now.
17:36:29 -!- Ngevd has joined.
17:37:03 <Ngevd> Hello!
17:37:33 <zzo38> I want to make the spells in Icosahedral RPG to form a category.
17:38:18 <zzo38> (As in, mathematical category theory)
17:38:27 <Ngevd> I have no idea what that would involve
17:39:34 <Ngevd> Hang on, brb
17:39:36 -!- Ngevd has quit (Client Quit).
17:40:03 <Timwi> I have no idea what any of this is about
17:48:11 <elliott> Gregor: Do you have a tool to merge two line-based pipes into another
17:48:19 <elliott> So that no lines end up intersecting awfully
17:48:46 <Gregor> Nope
17:49:14 <elliott> Gregor: sigh
17:49:20 <Gregor> Do YOUUUUUUUUUUU?
17:49:28 <elliott> Gregor: no, i want one :)
17:49:38 * Gregor nods sagely.
17:49:48 <Timwi> would be trivial to write in C#
17:49:59 <elliott> would be trivial to write in any language, just a pain
17:50:09 <Timwi> would be fun and painless to write in C# ;-)
17:50:13 <elliott> I doubt C#'s support for select() is very good
17:50:17 <elliott> which would be the pertinent thing to use here
17:51:03 <Timwi> No idea what select() does, but sounds like a hack. I’d just run two processes and read lines from their stdout in two separate threads
17:51:16 <Gregor> ... lol
17:51:23 -!- ive has joined.
17:51:28 <elliott> http://man.cx/select(2)
17:51:39 <elliott> threading-based IO has been dead for the last decade or so
17:51:47 <elliott> at least on platforms anyone actually uses for real serving.
17:52:08 <Timwi> “threading-based IO”?
17:52:18 <elliott> aka, "I’d just run two processes and read lines from their stdout in two separate threads"
17:52:20 <Timwi> There’s nothing special about reading from the STDOUT of a process... nothing to do with threads
17:52:38 <Timwi> I don’t see what relevance the threads are to the I/O
17:52:42 <elliott> two processes ~ two thread
17:52:42 <elliott> s
17:52:45 * Gregor gets the popcorn.
17:54:32 <elliott> Timwi: but anyway, there's no hack about blocking until one of the given file descriptors has events available
17:54:36 <elliott> that's simple event notification
17:56:49 <Timwi> And that is exactly what my solution does
17:57:13 -!- Ngevd has joined.
17:57:22 <Ngevd> Yeah, my IRC client isn't working
17:57:24 <elliott> Well, there were no processes meant to be involved anyway
17:57:31 <elliott> it just needs to take the names of two pipes and output to stdout
17:57:34 <Ngevd> Am using webchat
17:57:35 <elliott> (which can then be redirected to another pipe)
17:57:38 <Timwi> I see. Then I don’t know what a line pipe is :)
17:57:43 <elliott> line pipe?
17:57:56 <elliott> I just want to merge two http://en.wikipedia.org/wiki/Named_pipe s on a line-based level
17:58:24 <Timwi> UNTESTED: http://pastebin.info/?dl=2337
17:58:44 <Timwi> (assumes the existence of a “commandLines” list/array/enumerable)
17:59:10 <Madoka-Kaname> Hmm...
17:59:25 * Madoka-Kaname has never used asynchronous IO before
17:59:36 <Madoka-Kaname> elliott, how painful is it?
17:59:42 <elliott> Timwi: I think there's a race condition there
18:00:01 <elliott> oh, hmm, no
18:00:06 <Madoka-Kaname> I might be able to use Scala reset/shift
18:00:32 <Madoka-Kaname> Dunno how much it'll help.
18:00:37 <Ngevd> Uniquode is going to be interesting when it gets to...
18:00:43 <Ngevd> Anywhere, really
18:01:10 <Ngevd> I was going to say "arrows"
18:01:34 <Timwi> There’s almost nothing about Unicode that is /not/ interesting to some degree :)
18:01:42 <elliott> Uniquode = Unicode?
18:01:46 <Ngevd> No
18:01:57 <Timwi> Argh :) Why is everyone speaking in code today? :)
18:02:07 <elliott> http://esolangs.org/wiki/Uniquode
18:02:16 <Timwi> Oooh :)
18:02:45 <Ngevd> Uniquode ≈ UniCode
18:03:01 <Timwi> Interesting idea!
18:03:07 <Ngevd> What's in that article has already been completely destroyed
18:03:19 <Ngevd> And elliott had the idea first
18:03:39 <Ngevd> http://esolangs.org/wiki/UniCode
18:03:40 <Timwi> Well it’s kind of ironic you should mention Uniquode then, because I’m currently trying to write 99 bottles in Sclipting
18:04:26 <Ngevd> That chinese golf one?
18:04:30 <Timwi> Yes
18:04:43 <Timwi> I just added a reverse for loop instruction for this :)
18:07:34 <shachaf> elliott: Nothing wrong with thread-based I/O, FSVO "thread"!
18:07:47 <elliott> shachaf: Pretty sure .NET's threads are heavyweight.
18:07:59 <shachaf> Doesn't Windows have lightweight "fibres" of some sort?
18:08:01 <Timwi> Yeah, and there’s a whole whooping two of them
18:08:02 -!- Taneb has joined.
18:08:17 <elliott> shachaf: I believe so.]
18:08:19 <elliott> s/]//
18:08:20 <Taneb> Botherations
18:08:29 <shachaf> Oh, it's not for .NET, though, maybe?
18:08:32 * shachaf doesn't know.
18:08:37 <Taneb> Anyway, we should form a UNICODE BASED ESOTERIC PROGRAMMING LANGUAGE CONSORTIUM!
18:08:40 <elliott> Wouldn't surprise me.
18:08:58 <shachaf> Why would you use .NET when you can use Ruby for everything?!
18:09:14 -!- Ngevd has quit (Ping timeout: 265 seconds).
18:09:21 <shachaf> It's the language of the future.
18:09:23 <Taneb> Ruby .NET
18:09:28 <Taneb> There I go
18:09:46 <elliott> ret
18:09:52 <shachaf> rep ret
18:10:05 <elliott> That... returns for each non-zero byte pointed to by blah blah advancing?
18:10:09 <Timwi> All of my esolangs so far use Unicode characters
18:10:23 <shachaf> elliott: gcc emits it in some cases.
18:10:29 <Timwi> I had a vague idea for one that doesn’t, but haven’t thought it through yet
18:10:31 <elliott> shachaf: Wait, it's real?
18:10:35 <shachaf> Yes.
18:10:43 <elliott> Timwi: Technically, almost every esolang released uses Unicode characters.
18:10:47 <shachaf> It helps with AMD's implementation of branch prediction in some CPU. Or something.
18:10:47 <elliott> shachaf: Amazing.
18:11:05 <Timwi> elliott: I thought about how to phrase it, but decided it should be clear what I meant :-p
18:11:12 <shachaf> elliott: There's also rep nop.
18:11:18 <elliott> shachaf: Does it actually repeat the return, though?
18:11:19 <Taneb> Piet doesn't
18:11:23 <shachaf> No.
18:11:26 <elliott> shachaf: Sads.
18:11:36 <Taneb> By Unicode-based, in this context, I was referring to the entire of Unicode
18:11:45 <Taneb> Possibly minus non-printing characters
18:11:46 <fizzie> It should work as a multi-level out-of-function thing. :/
18:11:59 <elliott> fizzie: Like "k".
18:13:16 <fizzie> Yes, exactly like that. (Would "RBUS"4( ... 4kR work?)
18:15:20 <zzo38> Do you like Part I or Part II (or even Part III or Part IV) of Super ASCII MZX Town?
18:16:47 -!- katak has quit (Ping timeout: 240 seconds).
18:17:47 -!- katak has joined.
18:18:58 <Taneb> Thoughts on UBEPLC?
18:19:07 <zzo38> What is UBEPLC?
18:19:21 <Taneb> UNICODE BASED ESOTERIC PROGRAMMING LANGUAGE CONSORTIUM
18:19:53 <Taneb> Because a unicode based esoteric programming language is too much for one person to make
18:20:16 <zzo38> It is wiki so you can multiple people can write it, possibly on the talk page too.
18:21:00 <Taneb> I mean, there's at least two esoteric programming language work in progresses that claim to use all of unicode
18:21:26 <zzo38> Including control characters and private use characters?
18:21:39 <Taneb> Possibles
18:22:37 <Taneb> UBEPLC is a motion to merge efforts to create an actual language
18:23:08 <zzo38> O, OK. If that is the case, then yes you should do that.
18:23:45 -!- katak has quit.
18:25:00 <zzo38> I think there is esolang with Klingon writing, but is there a program that allows it to use Klingon scripts instead of using the Latin alphabet to write them?
18:31:43 <zzo38> How does anonymous macros work? And retroactive self-modification? What does missionary commands mean?
18:33:32 <fizzie> I don't think var'aq can be written in the Klingon script, possibly because it didn't make it to Unicode and the current private-use area based thing is so arbitrary.
18:34:19 <Timwi> You could use a font that has Klingon characters in the Latin range though
18:34:21 <zzo38> Then use an encoding other than Unicode.
18:34:54 <Taneb> Anonymous macros don't work, retroactive self-modification is a bit like ais523's Feather, and actually does work
18:35:19 <Taneb> A missionary command is a command that turns something into a Church encoding of it
18:35:31 <zzo38> OK.
18:37:33 <zzo38> Maybe you can use a Klingon encoding that puts the codes with the high bit set in a 8-bit encoding, and with the high bit clear uses ASCII.
18:40:23 <elliott> Index of /db
18:40:23 <elliott> Name Last modified Size Description
18:40:23 <elliott> Parent Directory -
18:40:23 <elliott> latest.sql.bz2 15-Oct-2011 22:27 19M
18:40:23 <elliott> notlatest.sql.bz2 21-Jul-2009 22:25 9.2M
18:40:26 <elliott> Good file naming.
18:41:25 <Taneb> Judging by the dates, it's accurate too
18:41:51 <fizzie> latest_REAL2_for_real_this_time.sql.bz2
18:43:14 <fizzie> And of course the currently-in-production front page, index_latest_test7_typofix.php.
18:44:53 <Taneb> What should ↚ do?
18:45:13 <elliott> Taneb: Break a reverse implication.
18:45:36 <Taneb> I was thinking more along the lines of "don't turn left"
18:45:48 <elliott> No lame.
18:46:06 <Timwi> “don’t shoot arrows at civilians”?
18:46:10 <elliott> It should modify the variables such that the boolean operation of reverse implication evaluates to false given them.
18:46:33 <Timwi> boolean satisfiability? :-p
18:47:52 <elliott> Timwi: If it takes too long the interpreter just starts mutating logical constants at random until it works.
18:48:01 <elliott> Eventually it gets sick and rewrites your program to have an easier problem to solve.
18:48:35 <Timwi> Yeah, like wiping it :-p
19:20:15 -!- sllide has joined.
19:25:52 <Timwi> I feel terrible for being the last one to say anything. It makes it look like I killed the conversation
19:28:13 <Taneb> I know the feeling
19:28:52 <Taneb> What could ↜ do?
19:39:43 <zzo38> I made up esolang now.
19:40:18 <Timwi> Taneb: “get drunk”?
19:42:10 <zzo38> http://esolangs.org/wiki/Bruijndejx
19:46:08 -!- oerjan has joined.
19:48:53 <Taneb> Timwi: could do
19:48:57 <Taneb> zzo38: interesting
19:49:01 <Taneb> oerjan: Hello
19:49:09 <oerjan> yo
19:50:15 <oerjan> <zzo38> I want to make the spells in Icosahedral RPG to form a category.
19:50:28 <zzo38> Does this look like a proper implementation of De Bruijn indexing? http://sprunge.us/FDCd
19:50:45 <zzo38> oerjan: Yes, that is what I wanted it to do. But I don't know the details.
19:51:06 <oerjan> well if you have one spell turning an A into a B, and another spell turning a B into a C, then doing the spells one after the other would seem to be an obvious composition
19:52:14 <zzo38> oerjan: Yes, I did think of that. But not all spells are transmutation.
19:52:33 <oerjan> although if you have a spell to split an A into a B and a C, it seems like you would get use for Arrows...
19:54:21 <oerjan> anyway, it seems like making the category objects the state of prerequisites and result of spells would be a start
19:54:48 <zzo38> OK.
19:58:20 <oerjan> zzo38: when you are doing both x == i and x > i tests you can also do a case compare x i of { LT -> ...; EQ -> ...; GT -> ... }
19:58:44 <Madoka-Kaname> Well...
19:58:56 <Madoka-Kaname> What kind of operations can you do if you had, say, a fireball and a magic dart spell.
19:59:35 <zzo38> oerjan: OK, thank you for that information.
20:00:12 -!- TeruFSX has quit (Remote host closed the connection).
20:00:15 <oerjan> this might be slightly more efficient, in theory, if the Ord instance is written for it
20:00:22 <zzo38> Madoka-Kaname: Yes; not all spells would be transmutations. Some would affect instances of other spells (or itself), some would create fireballs, some might be divination, etc
20:00:44 <zzo38> oerjan: If the Ord instance is written for what?
20:01:07 <zzo38> But do you know if there is anything wrong with this program that results in incorrect answers?
20:01:08 <oerjan> to implement compare directly
20:01:19 <oerjan> i don't know if it matters in practice
20:03:11 <zzo38> Or if there is anything inconsistent in my program?
20:03:25 <oerjan> oh also it is more idiomatic to do assignLocal i v h = case h of { as assignLocal i v (Apply x y) = ...; ... etc.
20:06:12 <zzo38> OK
20:10:33 -!- Taneb has quit (Ping timeout: 265 seconds).
20:11:01 <oerjan> zzo38: i don't see anything wrong with your algorithm
20:12:02 <zzo38> OK
20:18:31 <zzo38> Should I put in annotations for expressions/patterns?
20:19:15 -!- Taneb has joined.
20:19:16 <zzo38> Do you think it would help much?
20:20:31 <Taneb> Hello!
20:28:33 <Phantom_Hoover> Oh god, Derren Brown is doing another series.
20:29:18 <pikhq_> That's positively moronic.
20:29:22 <elliott> Does Derren Brown have anything more to offer the world at this point? I think we get the idea.
20:29:29 <pikhq_> Somehow, fglrx-driver got removed from Debian testing.
20:29:32 <pikhq_> It's still in sid.
20:31:46 <oerjan> zzo38: i see ghc core's Expr, which is slightly similar to your Exp, contains a Note constructor for that
20:31:57 <oerjan> http://www.haskell.org/ghc/docs/latest/html/libraries/ghc-7.2.1/CoreSyn.html#t:Expr
20:32:11 <oerjan> (only slightly)
20:34:07 -!- Timwi has changed nick to Timwi-Away.
20:37:00 <zzo38> Well, I was thinking to use a type parameter for the type of annotations (and then making the functor)
20:38:24 <oerjan> zzo38: even more flexible might be to make the type parameter of kind * -> *
20:38:46 <oerjan> ...probably overkill
20:39:08 <zzo38> oerjan: I was thinking of that too, and also thinking I don't know what to do about that and agree with you about probably overkill, too.
20:42:20 -!- sebbu has quit (Read error: Connection reset by peer).
20:43:13 <oerjan> zzo38: well the question is whether you'd actually need the functor instance for anything
20:45:04 <zzo38> To change annotations which might be used if one transformation requires one kind of annotations and another one uses different annotations, I suppose.
20:45:34 -!- sebbu has joined.
20:45:35 -!- sebbu has quit (Changing host).
20:45:35 -!- sebbu has joined.
20:47:51 <oerjan> hm ghc core Expr does sort of support an arbitrary type if you use Expr (TaggedBndr t), although the annotation is only on binders
20:50:12 <oerjan> oh huh they have AnnExpr further down
20:58:07 <oerjan> <fizzie> I don't think var'aq can be written in the Klingon script, possibly because it didn't make it to Unicode and the current private-use area based thing is so arbitrary.
20:58:47 <oerjan> i vaguely recall way back when i read the conlang list that there was an attempt to coordinate private-use assignments for conlangs
20:58:52 <oerjan> don't know what came of it
20:59:06 <elliott> http://www.evertype.com/standards/csur/
20:59:22 <zzo38> Even if you don't use the Unicode, you can use a custom encoding instead
20:59:29 -!- nooga has quit (Ping timeout: 258 seconds).
20:59:32 <elliott> has the all important SEUSS LETTER ABCDEFGHIJKLMNOPQRSTUVWXYZ: http://www.evertype.com/standards/csur/seuss.html
21:02:42 -!- Taneb has quit (Quit: Page closed).
21:04:59 <Phantom_Hoover> "Finland, vittu saatana!"
21:05:06 <Phantom_Hoover> Excuse me someone definnify this.
21:06:09 <Deewiant> http://www.google.com/translate_t
21:06:09 <elliott> Apparently it's Swedish.
21:06:14 <elliott> I...
21:06:16 <elliott> Wait
21:06:17 <elliott> I haveto
21:06:18 <elliott> take
21:06:19 <elliott> a screenshot
21:06:20 <elliott> Phantom_Hoover: stop
21:07:00 <elliott> Phantom_Hoover: Deewiant: http://i.imgur.com/FmxnS.png
21:07:27 <Deewiant> fi:Finland == en:Ireland
21:07:30 <Deewiant> Didn't you know?
21:07:51 <oerjan> at least in swearing-related contexts. makes sense.
21:08:27 <elliott> Phantom_Hoover: come on
21:08:28 <elliott> Phantom_Hoover: that's
21:08:29 <elliott> amazing
21:08:36 <Phantom_Hoover> Yes.
21:08:38 <Phantom_Hoover> Yes it is.
21:15:59 -!- GreaseMonkey has joined.
21:20:40 * oerjan smells a kiwi
21:29:39 -!- nooga has joined.
21:34:44 -!- elliott has quit (Remote host closed the connection).
21:37:51 <ais523> map(_, L, []) :- \+ free(L), L = [], !. map(_, [], []). map(Func, [H|T], [H2|T2]) :- Eval =.. [Func, H, H2], Eval, map(Func, T, T2).
21:38:03 <ais523> is that an abomination of Prolog, or normal style?
21:38:23 <ais523> you'd think that something like that would be in the standard library if you were meant to do it
21:38:35 <ais523> the first case is an optimisation to make it tail-recursive
21:38:46 <ais523> free(X) :- \+ (\+ (X = 1)), \+ (\+ (X = 2)).
21:39:01 <ais523> oh, forgot the helper definition; that is in the standard library of some Prologs, but either it isn't in mine, or I forgot what it was called
21:41:10 <ais523> and like any good Prolog function, it works backwards too
21:41:23 <ais523> s/tail-recursive/deterministic/
21:46:07 -!- nooga has quit (Read error: Connection reset by peer).
21:46:33 -!- nooga has joined.
21:50:10 <ais523> actually, I don't think it works if you don't give the function you're mapping on
21:50:14 <ais523> but that would be ridiculous if it did
21:52:01 -!- nooga has quit (Ping timeout: 260 seconds).
21:53:41 -!- nooga has joined.
21:56:42 -!- hagb4rd has joined.
22:06:38 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
22:06:49 <monqy> what is it lambda prolog that does unification on functions? are there any good uses for that
22:07:09 -!- Vorpal has joined.
22:07:45 <oerjan> ais523: hm why couldn't the first two lines be simply combined to map(_, [], []) :- !. ?
22:08:02 <ais523> because that's wrong
22:08:21 <ais523> if you run it as map(anything, X, Y), it'd return only X=[], Y=[]
22:08:37 <ais523> while it should also generate one-element, two-element, etc. lists as possible results
22:08:53 <ais523> so you have to check that the second argument isn't free before doing the cut
22:09:15 <oerjan> ais523: hm i may have misremembered what \+ is
22:09:17 <ais523> there is a little ridiculousness in writing not (not not X=1 and not not X=2), though
22:09:20 <ais523> \+ is just not
22:09:40 <ais523> it's defined along the lines of \+ X :- X, !, fail. \+ _.
22:09:52 <ais523> although it's typically in the standard library so you don't need the definition
22:11:46 -!- pikhq has joined.
22:13:24 -!- pikhq_ has quit (Ping timeout: 255 seconds).
22:13:47 <oerjan> monqy: i vaguely recall some theorem provers depend on unification of functions
22:14:05 <monqy> hmm
22:14:09 <oerjan> typed unification, though
22:14:42 <ais523> it's a pity you can't write map(X, [1,2,3,4,5], [2,4,6,8,10]). and actually get a result in X
22:15:01 <oerjan> ...you just said that would be ridiculous :P
22:15:08 <ais523> you could in Proud, but it's uncomputable precisely because it lets you do that sort of thing
22:15:14 <ais523> oerjan: it is ridiculous, but it's also a pity
22:15:25 <ais523> it's ridiculous enough that writing Eval like that actually works
22:15:53 <oerjan> ais523: btw isn't there a predicate like = except which doesn't unify? then you wouldn't need free there
22:16:23 <ais523> oerjan: there's not-not-equals, which I used in the definition of free, but although it doesn't unify it'll still match a free variable with anything
22:16:33 <ais523> whereas I want to match a bound variable to [], and reject free variables
22:19:09 <oerjan> http://www.gprolog.org/manual/html_node/gprolog027.html#Standard-total-ordering-of-terms
22:19:16 <oerjan> looks like == should work?
22:20:04 <ais523> wow, == is so massively unPrologish
22:21:27 <ais523> and I get a nagging feeling that it should really be called ===
22:21:31 <ais523> with == reserved for not-not-equals
22:21:35 <ais523> oh well, can't violate the standard
22:26:08 -!- ive has quit (Ping timeout: 260 seconds).
22:27:09 -!- Timwi-Away has changed nick to Timwi.
22:27:10 <Timwi> Hello
22:27:55 <Timwi> Hey ais523, how are you? :)
22:28:59 -!- Patashu has joined.
22:31:03 <Vorpal> <ais523> there is a little ridiculousness in writing not (not not X=1 and not not X=2), though <-- why would you ever do that?
22:31:16 <ais523> Vorpal: to verify that X is free
22:31:25 <ais523> you can't assign two different valuables to a variable that already has a set value
22:31:25 <Vorpal> ais523: eh, which language is this in?
22:31:33 <ais523> and the double-not prevents the assignment being permanent
22:31:35 <ais523> and Prolog
22:31:38 <Vorpal> ah
22:31:44 <Vorpal> ais523: so there is no compare?
22:32:08 <ais523> Vorpal: you're trying to verify that a variable has no value
22:32:13 <ais523> I don't see how you'd do that with a comparison
22:32:20 <ais523> no value isn't a value you can compare to
22:32:22 <ais523> it isn't a value
22:32:27 <Vorpal> ais523: hm, something undefined() ?
22:32:33 <Vorpal> or is-undefined
22:32:34 <Vorpal> or whatever
22:32:54 <ais523> Vorpal: no, it's not like NULL or undefined or whatever
22:32:58 <ais523> it is the absence of a value
22:33:08 <ais523> Prolog uses SSA, in a sense, in that once a variable has a value, you can't change it
22:33:24 <ais523> unlike SSA, though, a variable can stay without a value arbitrarily long, rather than having to have one at intializaiton
22:33:34 <Vorpal> heh
22:33:49 <Vorpal> okay that explains it
22:33:50 <Vorpal> still weird
22:34:07 <ais523> also, two variables can be unified, so that they have the same value eventually when either are assigned
22:34:12 <ais523> a bit like quantum entanglement
22:34:47 <Vorpal> he
22:34:48 <Vorpal> heh*
22:39:14 <zzo38> I think some Perl modules can also make quantum entanglement variables. But a different way would be to represent the state vector.
22:39:39 <Patashu> quantum computing does sound perlish
22:39:48 <Patashu> I assume hardware acceleration will be available in some 20 years?
22:40:48 <Vorpal> night
22:41:18 <ais523> CLC-INTERCAL's "quantum changes" isn't really
22:41:21 <ais523> it's just a sort of threading
22:46:33 <oerjan> `ls bin
22:46:35 <HackEgo> ​? \ addquote \ allquotes \ calc \ define \ delquote \ etymology \ forget \ fortune \ frink \ google \ json \ k \ karma \ karma+ \ karma- \ learn \ log \ logurl \ macro \ marco \ paste \ pastekarma \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ ping \ prefixes \ quine \ quote \ quotes \ roll \ toutf8
22:46:58 <oerjan> `frink 1 g -> m/s^2
22:47:09 <HackEgo> Conformance error \ Left side is: 1/1000 (exactly 0.001) kg (mass) \ Right side is: 1 m s^-2 (acceleration) \
22:47:16 <oerjan> oops
22:49:20 <oerjan> `frink 9.8 m/s^2 / c * year
22:49:28 <HackEgo> 1.0315732310779089713
22:49:55 <oerjan> `frink tanh(9.8 m/s^2 / c * year)
22:50:03 <HackEgo> Warning: undefined symbol "tanh". \ 1.0315732310779089713 tanh (undefined symbol)
22:50:13 <oerjan> hmph
22:50:20 <oerjan> `frink tanh[9.8 m/s^2 / c * year]
22:50:28 <HackEgo> 0.77453854135156246931
22:50:29 <zzo38> ais523: I know CLC-INTERCAL's quantum computing is not real quantum computing. But CLCLC-INTERCAL might have proper quantum computing
22:50:59 <ais523> zzo38: note that proper quantum computing needs to be reversible up until you collapse the state, or it uses infinite (or very large) amounts of energy
22:51:11 -!- Rugxulo has joined.
22:51:31 <Rugxulo> Deewiant here? anyone seen him lately?
22:51:35 <Deewiant> Pong
22:52:02 <oerjan> Rugxulo: no such person, nothing to see here, move on
22:52:08 <Rugxulo> did you know that (2011-07-03) "current dmd (1.068 & 2.053)" fixes your bug report (finally)?
22:52:38 <zzo38> ais523: I know that.
22:52:57 <Rugxulo> also, it seems work is heavily under way to integrate GDC into GCC proper
22:53:13 <Deewiant> #3001? Yes, I get notifications from the 'zilla
22:53:30 <Rugxulo> good to know
22:53:59 <Rugxulo> I just found out and wanted to make sure you knew (as two years is quite a long time)
22:56:06 <Deewiant> Two years probably brings the mean time for my (nontrivial) bug reports down
22:58:48 -!- nooga has quit (Ping timeout: 260 seconds).
22:58:48 <Rugxulo> I also guess it's pointless to mention that FBBI was updated too? ;-)
22:59:38 -!- ais523 has quit (Ping timeout: 248 seconds).
22:59:48 <Deewiant> Somebody announced that here when it happened
23:00:39 <Rugxulo> I figured (just haven't been here a lot lately)
23:12:56 -!- tiffnya has joined.
23:13:11 -!- tiffnya has quit (Remote host closed the connection).
23:14:01 -!- tiffany has quit (Ping timeout: 252 seconds).
23:23:43 <zzo38> As someone says:
23:23:56 <zzo38> You can tell who the shoe maker is because they have holes in their shoes.
23:24:14 -!- pikhq_ has joined.
23:24:18 -!- pikhq has quit (Ping timeout: 245 seconds).
23:33:55 -!- ive has joined.
23:40:30 -!- Rugxulo has quit (Quit: ChatZilla 0.9.87 [Firefox 7.0.1/20110928134238]).
23:40:52 -!- sllide has quit (Read error: Connection reset by peer).
23:46:23 -!- Timwi has quit.
23:47:24 <Phantom_Hoover> Note to self: reading r/math is not wise shortly after applying to do maths at university.
23:48:56 <oerjan> funny guy
23:49:33 <Phantom_Hoover> Talking to an unemployed mathematician is also perhaps unwise.
23:49:55 <Phantom_Hoover> http://en.wikipedia.org/wiki/Field_with_one_element
23:50:02 * oerjan lurches away
23:50:03 <Phantom_Hoover> I love how this reads like it's about physics.
23:50:19 <Phantom_Hoover> "F1 is believed to have the following properties."
23:50:45 <Phantom_Hoover> "Future experiments with high-energy theorem accelerators may reveal its true nature."
23:51:37 <oerjan> well physicists have been pretty good at inventing math before proving it actually works :P
23:52:04 <Phantom_Hoover> I'm afraid that one goes over my head (do I shoot myself now).
23:52:11 <oerjan> *without, even
23:54:58 * Phantom_Hoover → sleep
23:55:02 -!- Phantom_Hoover has quit (Quit: Leaving).
23:56:10 <oerjan> @tell Phantom_Hoover for a start, calculus was used for hundreds of years without a sound logical basis. dirac used "functions" which did not exist for quantum mechanics. and one of the millennium problems is proving that the mathematics of quantum field theory is actually mathematically consistent. also i'm tempted to ban you for quitting the moment i had finished writing the previous sentence.
23:56:10 <lambdabot> Consider it noted.
23:57:24 <zzo38> That is not a very good reason to ban someone.
23:57:45 <oerjan> and you still don't have a working joke detector :P
23:58:55 <oerjan> not that one is necessary here
23:59:33 <oerjan> *that having one
23:59:42 <CakeProphet> oerjan: I am deeply offended that you would think that joke detectors even exist.
←2011-10-15 2011-10-16 2011-10-17→ ↑2011 ↑all