00:00:02 <ais523> Sgeo__: because you can't send arbitrary ICMP messages without root privs
00:00:11 <ais523> or you could really snarfle up a network
00:00:42 <EgoBot> /tmp/input.16734: line 1: telnet: command not found
00:02:14 <EgoBot> Linux codu.org 2.6.26-1-xen-amd64 #1 SMP Sat Jan 10 20:39:26 UTC 2009 x86_64 GNU/Linux
00:04:43 -!- tombom has quit (Quit: Leaving).
00:05:10 <alise> ais523: I wonder how Plan 9 does ping?
00:07:13 <alise> QEMU GUIs: any recommendations?
00:09:20 <alise> ais523: what's the thing to add a user to a group? addgroup?
00:10:56 <alise> Eh, I'll just edit /etc/passwd.
00:11:21 <calamari> alise: I think you're missing an OS somewhere
00:11:43 <calamari> oh you meant frontends.. never mind :)
00:18:35 <zzo38> The `ls command is broke O NO
00:19:06 -!- Sgeo has joined.
00:19:58 <zzo38> Does it break all the time like that?
00:20:40 -!- Sgeo__ has quit (Ping timeout: 265 seconds).
00:23:16 <zzo38> http://sprunge.us/gGec
00:25:39 <ais523> alise: adduser user group, IIRC
00:25:59 <alise> heh i was trying to do kvm not kqemu >_<
00:26:47 <zzo38> That URL is something for D&D game, do you have any opinion of it?
00:26:52 * Sgeo considers just buying Kindle books from now on
00:27:38 <alise> Sgeo: No, don't support the Kindle.
00:27:51 <Sgeo> alise, any other suggestions?
00:28:12 <zzo38> I just buy proper books, with paper
00:28:18 <alise> Sgeo: Get some other ebook reader? I'm not sure that there /is/ a good ebook store. Piracy would be a reasonable option.
00:28:26 <alise> zzo38: You can't carry a hundred books around with you -- especially textbooks.
00:28:33 <alise> But indeed, I do enjoy paper.
00:28:43 <alise> I'd like to see any ebook reader match the typography achieved by well-set books.
00:29:09 <zzo38> I do carry around a lot of books when necessary
00:29:29 <Sgeo> There's no Kindle edition of Dirk Gently's Holistic Detective Agency
00:30:16 <alise> Sgeo: Buy the dead tree version. Adams typeset it himself, on a Macintosh Plus II (IIRC)!
00:30:25 <alise> I know he typeset it himself with MacAuthor, that's in the introduction.
00:31:04 <alise> It has one or two blatant spelling errors though.
00:31:09 <alise> ("tjat" for "that", for instance.)
00:31:35 <alise> Hmm, MacAuthor was MacWriter's codename. But it was 1987, so it would be MacWriter. Curious.
00:31:42 <Sgeo> If I didn't pirate it, who would I be supporting?
00:32:14 -!- zzo38 has quit (Quit: zzo38).
00:32:39 <alise> Sgeo: Perhaps half a penny to his widow.
00:33:46 <alise> Dunno if he was actually married.
00:36:10 <Sgeo> I think I prefer reading on my N1 to physical books
00:36:22 -!- alise_ has joined.
00:37:15 <alise_> What happened to my internet? Huh.
00:38:35 -!- calamari has quit (Quit: Leaving).
00:39:48 <Sgeo> It's nice to read HHGG again
00:39:56 <Sgeo> Although this is only the sample
00:40:00 -!- alise has quit (Ping timeout: 265 seconds).
00:40:14 <alise_> Sgeo: I have a long-term-ish plan to produce a wonderful, (La)TeX-set H2G2.
00:40:30 <alise_> Spurred on by Quadrescence's homemade printing press.
00:41:01 <alise_> Sgeo: tl;dr it'll look really pretty and you'll feel happy as you read it.
00:41:37 <alise_> Unfortunately, I have been unable to obtain a good text source.
00:41:47 <alise_> I just need one with the italic Guide text marked and with some way to differentiate opening and closing quotes.
00:42:42 * Sgeo upsets at lack of Dirk Gently on Kindle
00:42:46 <Sgeo> I'm half tempted to pirate
00:42:58 <Sgeo> Especially because there's some thorough source for Aldiko
00:43:16 <Sgeo> The thing is, the pirated stuff seems to be crappily done
00:43:27 <Sgeo> Tried a Pratchett book, didn't see any footnotes
00:43:56 -!- FireFly has quit (Quit: swatted to death).
00:44:09 <alise_> Mm; we really need better contraband books.
00:44:50 <alise_> I can't wait until .so is available.
00:44:56 <alise_> CakeProphet: McCarthy.
00:45:10 <alise_> CakeProphet: I have read little bits about it.
00:45:16 <CakeProphet> it's not very well documented as it's probably just a concept at this point
00:45:32 <alise_> His mind is still sharp, it seems.
00:45:46 <CakeProphet> I'm not sure I fully understand Elephant though
00:46:47 <Sgeo> "End of this sample Kindle book"
00:47:16 -!- coppro has joined.
00:47:34 <CakeProphet> alise_: I like the idea of being able to refer to the past as a means of memory.
00:48:57 <Sgeo> Dirk Gently's Holistic Detective Agency is here
00:50:02 <Sgeo> alise_, indiscriminatelyfrom?
00:50:11 <Sgeo> Is that from the original, or a typo in this verison?
00:50:18 <alise_> Sgeo: Typo, I am pretty sure.
00:50:28 <alise_> Sgeo: Fuck it, want me to mail you my paperback?
00:50:50 <Sgeo> I could probably buy it, but I end up losing paperbacks eventually
00:50:53 <CakeProphet> so, if I can fetch arbitrary URLs to egobot
00:51:06 <CakeProphet> there's nothing really stopping me from compiling programming language interpreters/compilers onto it, correct?
00:51:18 <alise_> CakeProphet: indeed. it's easier just to send a revision to Gregor, though
00:51:21 <alise_> also, HackEgo is more suited to that
00:51:31 <alise_> EgoBot doesn't really keep state afaik
00:51:39 <Sgeo> Now that I have Internet access whereever I go, I'm more willing to go to the bookstore
00:52:59 <CakeProphet> I wonder if you could combine functional programming with temporal logic as in Elephant
00:53:46 <Sgeo> Why does The Last Hero have to be one of very few Pratchett books not on Kindle?
00:53:52 <Sgeo> It's one of very few I haven't read
00:53:52 <CakeProphet> The simplest function of the past is the value of some parameter at a given time, say the account balance of a certain person on January 5, 1991. References to the past are rarely this simple.
00:53:56 <CakeProphet> Next we may consider the time of a certain event, say the time when a person was born.
00:53:58 <Sgeo> Erm, Discworld, not Pratchett in general
00:54:00 <CakeProphet> Slightly more complex is the first or last time a certain event occurred or a certain parameter had a certain value, say the most recent time a certain person was overdrawn at his bank.
00:54:04 <CakeProphet> More generally, we may consider the unique time or the first or last time a certain proposition was true.
00:55:36 <CakeProphet> the if-where concept would come in handy for that. if <condition> where <temporal "fetch" operation here>
00:56:38 <CakeProphet> rather than breaking it up into two statements.
00:57:42 <coppro> Sgeo: Because it's 20 centimeters on a side, in larger print, and very illustrated
00:59:55 <alise_> CakeProphet: egobot has a sandbox
00:59:58 <alise_> just not persistance afaik
01:00:05 <Sgeo> Hm, guess I have to buy a print version
01:00:17 <Sgeo> I wanted all my books from now on to be eBooks :/
01:00:18 <alise_> Sgeo: Stop buying Kindle books.
01:00:31 <Sgeo> I haven't bought any yet
01:01:36 <alise_> Because the Kindle is a closed, DRM'd platform with the ability -- and which has happened, with Animal Farm and 1984 -- to yank books remotely from your Kindle device.
01:01:42 <alise_> Ergo, don't support Amazon's Kindle endeavours.
01:03:02 <alise_> Well, that's the issue, isn't it.
01:03:21 <alise_> Wonder what Sony readers recommend.
01:03:36 <alise_> http://ebookstore.sony.com/ Hmm.
01:04:02 <alise_> Sgeo: Any ebook store will work, really, as long as they use some format that your reader supports; if it's the Kindle, then ... options are limited.
01:04:14 <alise_> The Kindle doesn't support ebook files, afaik.
01:04:18 <Sgeo> Hmm, what about the Nook? What system does that use? B&N's, presumably.
01:04:22 <Sgeo> I'm using a Nexus One
01:04:57 <alise_> Nook sucks because it's quite slow, the actual-screen is distracting and laggy, and the you-can-only-lend-one-copy-lol is asshattery disguised as a revolutionary revival of the true nature of books.
01:05:14 <alise_> For a nexus one, anything goes; presumably everything has an appropriate reader. But honestly, reading on that screen is not good for you!
01:05:19 <alise_> And you won't enjoy it.
01:06:31 <Sgeo> I'm finding it comfortable so far
01:06:34 <CakeProphet> Sgeo: when/if I complete an Android game app
01:06:35 <Sgeo> In my limited experience
01:06:43 <alise_> Sgeo: Well, you're wrong.
01:06:44 <Sgeo> CakeProphet, will do :D
01:07:18 <CakeProphet> with 360 degree aiming... if it turns out we can actually animate that.
01:07:19 <Sgeo> I've heard Aquaria was.. Metroidy in some way?
01:07:47 <CakeProphet> like, I'm really not sure I have the programming experience to pull off my ideas
01:07:55 <fizzie> I've read a dozen (or three) books on the N900 (which I guess has a similar screen) so far, but of course that's just me; I tend to read books with a monospace terminal font in less anyway.
01:07:57 <CakeProphet> but if I can... I think it will sell very well.
01:08:58 <fizzie> (The physical page-flippin keys -- officially volume control, or zoom in browser -- are a nice addition, though.)
01:09:14 <CakeProphet> allow me to clarify: as a puzzle element of the game you can fire missiles that stretch-time in the radius around them upon explosion. You would use this to run by turrets as their otherwise unavoidable bullets are slowed.
01:10:36 <CakeProphet> ...don't even ask me if I can program that. But I've found a sweet open source 2d engine for Android
01:12:49 <alise_> CakeProphet: that's a great idea. make it free :|
01:13:46 <CakeProphet> so what I plan on doing is releasing the code open source but copyrighting the artwork.
01:14:00 <CakeProphet> meh. dunno. perhaps ads would be worthwhile as I would get more total downloads
01:14:13 <CakeProphet> at the very least there will be a free version. Every successful Android game has a free version
01:14:29 * Sgeo wonders if that's true of iOS games as well
01:14:35 <Sgeo> If not, that would be fairly.. sad
01:14:57 <alise_> CakeProphet: I suggest offering support for profit. ...Wait.
01:15:09 <alise_> I just have my general objection to copyright, really. :P
01:15:47 <CakeProphet> alise_: me too, but unfortunately I see the practical benefits. Especially being unemployed.
01:15:48 <Sgeo> Unenforcable != should be legal
01:16:08 <Sgeo> ^^trap I've fallen into way too much
01:16:12 <alise_> Sgeo: Nice of you to be so presumptious of your reasons.
01:16:17 <alise_> I have far deeper arguments about copyright.
01:17:56 <CakeProphet> I really don't have very solid reasons for supporting no-copyright, but I can defend against the typical reasons
01:18:53 <CakeProphet> ah, but I lack the time to open this can of worms
01:29:57 <pikhq> Sgeo: Why should there be unenforcable laws?
01:30:13 <pikhq> All they do is bloat the legal system, after all.
01:31:16 <Sgeo> They encourage more lawful people to follow them
01:31:33 <Sgeo> There are people who care about following the rules
01:31:56 <coppro> and they get run over by the people who don't
01:31:56 <Sgeo> Although, in my case, I have a tendency to care about that, while philisophically disagreeing with such a mentality :/
01:32:25 <ais523> being seen to break the law, even an unenforceable one, sometimes has other drawbacks
01:32:30 <ais523> like people trusting you less from then on
01:32:34 <coppro> ais523: ssh, I'm playing devil's advocate here!
01:32:46 <alise_> I don't think many people have a strong will to follow unenforcable laws that they do not think are right.
01:32:56 <alise_> And they will still do what they think is right in the absence of unenforcable laws.
01:33:13 <alise_> So they are useless except for people like ais523 -- but then he'd be morally perfect even in the absence of laws.
01:33:14 <pikhq> ais523: Only when the law in question is commonly seen as a reasonable moral code.
01:33:33 <coppro> in which case, is a law necessary?
01:33:33 <ais523> or if you're in a rather unusual community for some reason
01:33:35 <pikhq> And the thing is, laws *do not exist to dictate morality*...
01:33:46 <coppro> laws exist to codify it
01:34:05 <pikhq> They exist to keep society running.
01:34:09 <alise_> "Probably all laws are useless; for good men do not want laws at all, and bad men are made no better by them." --Demonax, Roman philosopher and possessor of the most badass name in history.
01:34:12 <pikhq> Don't give a flying fuck about morality.
01:34:35 <ais523> arguably, laws are useful if only as a prediction of how the police and courts will behave
01:34:36 <alise_> Of course, back then there were a lot fewer book-keeping laws and it was mostly legislation of morality.
01:34:39 <coppro> pikhq: Soo... how about them laws against gay marriage?
01:35:04 <pikhq> coppro: Those cause issues in the functioning of society, by causing unequal treatment of members of it.
01:35:06 <ais523> coppro: the ironic thing is, I don't see how definition of what counts as marriage or not has anything to do with morality
01:35:09 <ais523> it's just a definition
01:35:26 <coppro> ais523: Yeah, but it exists as a reflection of morals
01:35:37 <ais523> law is effect here, rather than cause
01:35:45 <alise_> Marriage is between a man and many women, like it always used to be!
01:35:53 <pikhq> Yup, acting in opposition to the purpose of a legal system.
01:36:23 <pikhq> If laws existed to enforce morality, then surely, surely they'd legislate against more immoral behaviors.
01:37:13 <alise_> Of course, the reductio ad absurdum of enforcing morality is extreme fascism. A slippery slope argument, yes, but one that conservatives have been steadily sliding down for quite a while now.
01:38:03 <pikhq> alise_: Is it really a "slippery slope" argument if people are actually advocating it?
01:38:27 <coppro> pikhq: The problem there is that the distribution of political is unbalanced; the people performing the immoral acts are the ones with all the power
01:38:35 <coppro> s/political/political power/
01:38:46 <alise_> I note that economic immorality goes unpunished.
01:39:07 <pikhq> coppro: Hooray, we have one of the major reasons why legal systems legislate hardly anything based on any reason at all! :P
01:39:08 <alise_> As well as ecological immorality (BP got a slap on the wrist).
01:39:19 -!- SgeoN1 has joined.
01:39:26 <ais523> alise_: their stock price plummeted miles, which is more than just a slap on the wrist
01:39:31 <coppro> alise_: It does not go entirely unpunished
01:39:36 <ais523> the markets managed to punish them pretty effectively, even if the government didn't
01:39:41 <coppro> it certainly doesn't get punished appropriately
01:39:43 <alise_> ais523: yeah, but they sell fucking /oil/, they'll be back up soon
01:40:09 <alise_> pikhq: Could you please remove the curry powder from my body?
01:40:11 <coppro> the US is going to be on BP's ass for a lot of money for a long time
01:40:44 <ais523> corruption is a real problem in basically every government in the world
01:41:05 <alise_> pikhq: O-kay, this is way too ambiguous.
01:41:11 <ais523> in the US, it's big enough that it's actually noticeable, which is worrying
01:41:22 <ais523> normally they hide it better in first-world countries
01:41:27 <alise_> ais523: on a scale of 1 to 10, how much does anarchism scare you?
01:41:32 <pikhq> coppro: Yes, but they sell *oil*.
01:41:44 <alise_> ais523: under what definition of anarchism? Somalia?
01:41:55 <alise_> I'm talking about, e.g. anarcho-syndicalism.
01:42:03 <ais523> alise_: a generic one where there's no authority of any kind
01:42:09 <ais523> it would lead to large levels of vigilantism, at least
01:42:12 <Sgeo> Anything that doesn't have a peaceful plan of transition scares me
01:42:14 <pikhq> If BP really wanted to, they could *stop selling oil in the US*.
01:42:19 <ais523> and vigilantes tend to be rather indiscriminate
01:42:26 <pikhq> Thereby causing immediate collapse of giant chunks of infrastructure.
01:42:27 <alise_> ais523: That's a statement that I believe to be unjustified; people have a tendency of vastly oversimplifying anarchism.
01:42:43 <alise_> You can't just say "generic anarchism", the different strains differ *very* much.
01:42:50 <coppro> pikhq: and that would be how the US would get back at BP?
01:42:54 <pikhq> Granted, the supply would eventually be met by other suppliers, but damn would it hurt.
01:42:55 <ais523> alise_: agreed; I was trying to interpret your question
01:42:55 <coppro> oh, I see what you mean
01:43:05 <coppro> there is a third option, though
01:43:08 <ais523> did you hear about the BNP setting up its own private police force in an attempt, they claimed, to reduce crime?
01:43:25 <ais523> it actually made things worse because the real police had to follow them around to stop them doing anything illegal
01:43:26 <coppro> the US can expropriate
01:44:10 <alise_> I'm a bit of an anarcho-syndicalist, which is somewhat of a strange position for a strong cynic.
01:44:47 <alise_> I tend to espouse liberal policies (with a libertarian bent wrt social issues), though, as anarchism is so far removed from current political debate as to be almost irrelevant to bring up.
01:45:45 <alise_> Ah, I do love xkill; the indiscriminate chainsaw of the Linux world.
01:45:46 <ais523> ideally, I think you want the impression of strong authority
01:45:58 <alise_> ais523: Ew, no thanks.
01:46:03 <alise_> I don't want to be living in a dictatorship, even a mock one.
01:46:13 <ais523> alise_: I mean, a benevolent one
01:46:21 <ais523> benevolent dictatorships are unlikely to exist
01:46:33 <pikhq> The issue being that there is no suitable benevolent dictator.
01:46:34 <alise_> "They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety."
01:46:39 <ais523> but if you somehow persuade someone they're in a benevolent dictatorship, with an efficient police force, when there is in fact no government
01:46:41 <pikhq> "Suitable" includes "immortal".
01:46:58 <ais523> that would seem to be optimal, but unfortunately impossible
01:47:12 <alise_> ais523: what about an insane sociopath who just wants to kill people and cares not of the consequences?
01:47:25 <alise_> so he's killed, so what? at least he killed someone first
01:47:29 <ais523> you'd need an actual police force
01:47:35 <alise_> "when there is in fact no government"
01:48:00 <ais523> they'd have to be too terrified of the nonexistent government to become corrupt
01:48:14 <alise_> nonsense; sociopaths have no sense of morals, they simply don't care
01:48:30 <alise_> they can fully believe the government will kill them but if they're insane enough to want to go on a killing spree whatever the consequences, why should they care?
01:48:47 <alise_> anyone know how to use kqemu?
01:48:48 <ais523> alise_: I mean, you have people who actually stop them, even the citizens at large
01:48:57 <alise_> ais523: why? the police force will do it.
01:49:01 <ais523> and you install kqemu, then run qemu with sudo
01:49:27 <ais523> you tend to get a lot of local crime-suppression even in, say, the UK
01:49:42 <alise_> well, in the UK we're all nosy, paranoid fuckers.
01:49:58 <ais523> especially in places which have good reason to fear a crime, like banks and jewelery stores
01:50:21 <alise_> "don returned to Case Institute for his Senior Year. At the graduation ceremonies, they
01:50:21 <alise_> were handing out the diplomas in alphabetical order. But they passed over don when they
01:50:22 <alise_> got to the k’s. (Maybe lowercase k comes after Z). After all of the diplomas were handed
01:50:22 <alise_> out, they asked don to step up on the platform. They said for the first time in the history of
01:50:22 <alise_> Case Institute, they were conferring a Masters Degree on a student that had been pursuing a
01:50:49 <alise_> So, is KVM the new KQEMU?
01:51:07 <alise_> KQEMU, was initially released free of charge but was licensed as a closed-source proprietary product. However, since version 1.3.0pre10[5], released on February 5, 2007, it has been available under the GNU General Public License. QEMU versions starting with 0.12.0 no longer support KQEMU.[6]
01:51:39 <coppro> KQEMU is an accelerator module
01:51:51 <alise_> coppro: no, it's deprecated.
01:51:54 <alise_> Regular QEMU will be fine.
01:52:00 <coppro> It takes some code and executes it directly
01:52:06 <coppro> it will work on any processor
01:52:39 <coppro> KVM, on the other hand, requires a processor capable of doing virtualization directly
01:53:05 <alise_> is KVM a bitch to get working?
01:53:32 <coppro> I haven't tried it on a machine capable
01:54:13 <alise_> I guess QEMU will be fast enough for Plan 9.
01:54:13 <SgeoN1> Alise, when will you read Fine Structure?
01:54:23 <alise_> Sgeo: *alise; and when I'm out of the unit and in another country.
01:55:46 <alise_> Wow, the Plan 9 mouse is slow.
01:58:11 <alise_> ais523: wow, recursive descent was preceeded with the ridiculous "recursive ascent":
01:58:12 <alise_> Ned Irons preceded our invention with a Recursive Ascent technique that starts off by
01:58:12 <alise_> calling the primary routine, which makes the assumption that it should call the expression
01:58:12 <alise_> routine, which makes the assumption that it must be in an assignment statement and calls
01:58:12 <alise_> that routine. Obviously, expressions appear in places other than assignment statements. So
01:58:12 <alise_> his technique makes mistakes. It recovers from the mistakes by leaving tracks that allow it
01:58:13 <alise_> to find its was back to where the erroneous assumption was made. It then makes another
01:58:15 <alise_> guess and starts working its way up the syntax chart again. Ned’s technique is obviously
01:58:17 <alise_> slower, does not exercise as tight control, and gives pretty poor error messages. He imple-
01:58:19 <alise_> mented his parser on a CDC 1604 at he University Of Princeton in 1960. He was working
01:58:21 <alise_> with a group from the University Of Pennsylvania.
01:58:45 <ais523> alise_: that's pretty much just backtracking, isn't it?
01:59:10 <alise_> how does ANYONE think of that before recursive descent?
01:59:14 <ais523> although, I suppose it could have helped to inspire the brilliantly crazy LR(1)
01:59:23 <ais523> which vaguely resembles that, except actually works
01:59:47 <ais523> it's a pity language designers don't use LR(1) so much nowadays, it's all LR(0), LL(1), and the occasional LALR(1)
02:00:04 <ais523> INTERCAL is LR(infinity), btw
02:00:06 <alise_> which one is the most complex of those?
02:00:10 <alise_> LALR is the most complex right?
02:00:16 <ais523> LALR's a special case of LR
02:00:26 <alise_> is LL more general than LR?
02:00:28 <ais523> which isn't quite as good, but uses a fraction of the memory
02:00:35 <ais523> and LR's more general than LL
02:00:35 -!- poiuy_qwert has joined.
02:00:39 <alise_> anything more general than LR?
02:00:46 <ais523> I mention LALR(1) because that's what yacc does
02:00:53 <ais523> and yes, bison supports GLR(1)
02:01:18 <ais523> which is a sort of nondeterministic LR(1)
02:01:25 <ais523> I mean, more nondeterministic than LR(1) normally is
02:01:33 <ais523> and thus is capable of handling /any/ lang
02:01:46 <alise_> oh, so GLR(infinity) isn't more powerful
02:01:57 <ais523> although, GLR(2) would be a lot more efficient than GLR(1) at a lang that was actually LR(2)
02:01:59 <alise_> ais523: it can't handle, say, ZFC, can it?
02:02:07 <ais523> alise_: err, any TC-parseable lang
02:02:07 <alise_> after all, that's a language, technically
02:02:32 <ais523> in most channels, I wouldn't even need to add the qualifier that the language has to be theoretically possible to parse...
02:02:58 <coppro> `quote <ais523> in most channels, I wouldn't even need to add the qualifier that the language has to be theoretically possible to parse...
02:03:11 <coppro> `addquote <ais523> in most channels, I wouldn't even need to add the qualifier that the language has to be theoretically possible to parse...
02:03:20 <alise_> Oh. HackEgo's broken. Sorry.
02:03:31 <ais523> ugh, how did it break?
02:03:49 <alise_> ais523: I have a pet theory that #esoteric is one of the best places to find computer science talent in the world; the only problem is that there's a lot of fluff here too, like me and AnMaster, and the channel is so tiny. :)
02:04:11 <ais523> alise_: I wouldn't be surprised
02:04:18 <ais523> well, it depends on what you're trying to do
02:04:30 <coppro> thanks, eBay: 31 items found <lists 3 items>
02:04:35 <ais523> there's a kind of problem which is simultaneously theoretical computer science, and engineering
02:04:42 <ais523> and it's that sort of problem that #esotericers are good at
02:04:43 <alise_> and that's your problem :P
02:04:50 <ais523> it comes up surprisingly often, but people don't recognise it
02:05:20 <alise_> ais523: outside of academia, otoh, our solutions to those problems are ... well ... not accepted :P
02:05:30 <coppro> alise_: you don't consider me fluff? yay!
02:05:42 <alise_> coppro: indeed not! although i don't know if you do any actual cs
02:05:47 <ais523> alise_: nah, my solutions at least often are accepted
02:05:54 <pikhq> alise_: A lot of computer science talent, but we seem to *all* suffer from project ADD.
02:05:57 <alise_> certainly if anyone wants a /programmer/ they'll find an excellent one here
02:06:03 <ais523> although I normally need a complete rewrite to get them in anything close to language that other people understand
02:06:17 <coppro> I'm starting my CS degree next year
02:06:25 * SgeoN1 wonders what he's considered
02:06:26 <alise_> coppro: congratulations; you'll then know nothing about CS
02:06:35 <ais523> coppro: good thing you're in Canada rather than the UK; otherwise I might end up teaching you
02:06:38 <alise_> unless the CS curriculum has improved significantly since the last time I looked.
02:06:39 <ais523> and that would be really embarassing, probably
02:06:42 <alise_> ais523: good thing? bad thing!
02:06:52 <pikhq> alise_: Not really.
02:06:54 <coppro> alise_: It's at UW, which is known for teaching actual CS
02:07:01 <alise_> ais523: what uni do i need to go to to get taught by you, birmingham?
02:07:07 <alise_> coppro: Even *MIT* have ruined their CS curriculum.
02:07:09 <pikhq> In general, a CS degree is a degree in being able to program.
02:07:19 <ais523> but I'm not actually all that good at teaching
02:07:26 <alise_> pikhq: except you can't handle fizzbuzz or linked lists
02:07:35 <ais523> nearly all the students hate me, except for contradictory reasons
02:07:46 <alise_> ais523: i don't really care, it'd be cool to meet you :P
02:07:57 <alise_> and you could just give me A++++++++++ on everything since clearly i am awesome
02:08:04 <alise_> This scenario is realistic.
02:08:04 <SgeoN1> Hmm. I was considering going to Stony Brook postgraduate so I could get an actual CS degree and education.
02:08:05 <ais523> nah, that would be bias
02:08:09 <ais523> and besides, marks are percentages
02:08:14 <alise_> Sgeo: augur went to stony brook at some point
02:08:21 <ais523> it's bad enough when you're trying to anonymously mark someone whose ID number you have memorised
02:08:23 <alise_> I did one better than 110%.
02:08:38 <coppro> Unless there are some serious issues with my academics, I'm going to try for a double major in pure math too
02:08:51 <pikhq> alise_: Uh... That's like first or second semester...
02:09:09 <alise_> pikhq: You do realise that plenty of people get a Bachelor's degree in CS without actually being able to do one bit of CS?
02:09:22 <SgeoN1> Currently the major I'm in is .. a bit less than pure programming, I'd say
02:09:23 <pikhq> alise_: Somehow, yes.
02:09:31 <alise_> Because (a) people are stupid and (b) a lot of universities suck.
02:09:39 <alise_> So, yeah, a CS degree counts for nothing these days.
02:09:39 <pikhq> The CS programs I've seen at least teach *programming* well.
02:09:39 <ais523> the quality of some of the students worries me, although most of them are very good
02:09:47 <ais523> also, I'm pretty certain that Java does not make a good first language
02:09:54 <ais523> although, it's the one I have to teach anyway
02:09:58 <pikhq> Well, except for that really retarded one that considered C a very hard, optional thing.
02:10:06 <SgeoN1> On the plus side, I'm at the top of every computer class... which says more about the other students, really
02:10:22 <pikhq> Rather than, y'know, essential to *practical* programming these days, regardless of whether or not you use it.
02:10:45 <coppro> SgeoN1: Stop being so self-deprecating, already
02:11:02 <alise_> coppro: Sgeo is simultaneously too self-deprecating and too naive.
02:11:07 <alise_> A difficult combination to achieve.
02:11:11 <ais523> I liked my (electronic engineering) degree; the first languages they taught us were C and asm, simultaneously
02:11:19 <ais523> I suppose electronic engineers rarely work with anything higher-level
02:11:21 <alise_> pikhq: I don't think CS courses should concentrate on practical programming at all.
02:11:26 <alise_> pikhq: Programming, yes; practical, no.
02:11:26 <augur> SgeoN1: whats your interest in stony brook?
02:11:36 <coppro> IIRC the current program at UW is Scheme then into Python or C (student's choice)
02:11:40 <alise_> pikhq: C is probably worth teaching because if you can't understand pointers you lose.
02:11:53 <alise_> coppro: which will you choose, do you think?
02:12:13 <alise_> I'd choose C; with Python there'll be an awful lot of Python-related cruft and rubbish class-ery.
02:12:19 <alise_> It's hard to bullshit C, especially if you start with Scheme.
02:12:20 <SgeoN1> Augur, a decent CS curriculum, rather than "Computer Programming/Information Systems"
02:12:21 <pikhq> alise_: "Practical" in the sense of "if you do any nontrivial programming at all, you will need to understand C."
02:12:33 <ais523> Python will be easier to pick up later, among other things
02:12:39 <alise_> Python is a language to get shit done in, not a language to understand things in.
02:12:48 <alise_> Among the reasons are the fact that Guido doesn't know shit himself :P
02:12:51 <ais523> and learning C helps get rid of a whole bunch of awful misconceptions about how computers work
02:12:59 <alise_> coppro already knows both
02:13:02 <coppro> I don't have very many of those either
02:13:02 <augur> SgeoN1: ahh, yes. i would suggest UMD cause thats where i am but i dont know if they have much hardcore computer science
02:13:03 <alise_> but I think he should pick C, personally
02:13:17 <augur> theres a CS department, ofcourse, but i dont know if theres anything theoretical being done
02:13:25 <SgeoN1> This channel humbles me.
02:13:39 <alise_> SgeoN1: humbled me once too, just find a niche
02:13:44 <ais523> and yes, the whole situation with Python and tail-call optimisation is a really depressing one
02:14:02 <ais523> there are other depressing things about Python, but that's the biggest one
02:14:07 <alise_> my life goal is basically to be a dilettante with some specialist subjects on the side.
02:14:16 <ais523> (meanwhile, Perl has a special operator for TCO, and just for fun, calls it "goto")
02:14:38 <ais523> (it has three goto statements, in fact; but the one that does TCO is the only one that Perl experts actually recommend using)
02:14:39 <coppro> Python's easier, but I will probably learn more in C
02:14:45 <SgeoN1> What niche would I have, besides virtual world stuff?
02:14:49 <coppro> ais523: three of them?
02:15:04 <SgeoN1> Which isn't a particularly relevant niche?
02:15:20 <alise_> ais523: you know VPRI?
02:15:26 <ais523> coppro: label: goto label; my $labelname="label"; goto $labelname; sub tco_infinite_loop { goto &tco_infinite_loop; }
02:15:27 <pikhq> goto, goto &, and goto (with a labeled loop), IIRC.
02:15:28 <alise_> SgeoN1: who knows. play with everything, find something you like
02:15:40 <pikhq> Ah, right, that was it.
02:15:44 <alise_> SgeoN1: stop being so damn nostalgic; stop caring so much about recognition... and do interesting stuff instead.
02:15:45 <ais523> the second form makes the heads of good-practices people explode
02:15:49 <ais523> but doesn't really have any other purpose
02:15:52 <SgeoN1> I think the self depreciation is partially because Alise got to me. And dang it, I need to fix that cap
02:16:31 <alise_> I never meant to make you hate yourself >_<
02:16:35 <coppro> SgeoN1: You're very intelligent, we all just think you're a little quirky because you spend your time on games that were in fashion 20 years ago
02:16:36 <pikhq> ais523: goto & is analogous to using jmp to a function in assembly, I'm pretty sure.
02:17:01 <pikhq> SgeoN1: If you were an idiot we would have ignored you long ago.
02:17:06 <alise_> I think if SgeoN1 gets over the severe case of nostalgia, and gets over the extreme caring about recognition, he could do great things.
02:17:14 <ais523> pikhq: yes, although not implemented the same way
02:17:18 <alise_> ...and replying to that with "15" just proves coppro's point.
02:17:35 <ais523> it basically jumps out of one function and into another without any of the typical prologue/epilogue
02:18:12 <ais523> which is what TCO /is/, if you think about it
02:18:36 <coppro> I've never thought about it any other way
02:18:51 <augur> SgeoN1: whats your particular interest in CS?
02:19:29 <SgeoN1> Partially knowing how things work, partially keeping up with this channel
02:19:30 <ais523> coppro: if you look at it at a higher level (say, the one Scheme works in), it's more like calling a function then deleting the second-top stack frame
02:19:38 <ais523> which is actually how it's implemented in INTERCAL
02:20:05 <ais523> hmm, I was in a car with my supervisor for several hours
02:20:09 <alise_> "A type-safe embedding of x86-64 assembly into Haskell"
02:20:20 <ais523> and we were discussing language features
02:20:38 <ais523> it seems that INTERCAL's NEXT FROM is actually used in a few mainstream mathematical models, although ones I hadn't heard of
02:20:43 <ais523> it /is/ a very neat command
02:20:51 <coppro> which is NEXT FROM again?
02:21:12 <coppro> I haven't intercaled in a while
02:21:35 <ais523> it causes the target line to do a function call to the current line, when it's encountered
02:23:27 <alise_> Wow, Plan 9 is installing slowly.
02:23:42 <alise_> ais523: explicit entry points :)
02:23:50 -!- SevenInchBread has joined.
02:23:58 <coppro> ais523: okay, this is a sign that I need to read the spec again
02:25:01 <ais523> read the Revamped Manual, or maybe CLC-INTERCAL's spec; NEXT FROM's been in CLC-INTERCAL for ages, but was added to C-INTERCAL only recently
02:25:04 <ais523> so it's not in the older manual
02:25:20 <alise_> ais523: ok, ridiculous idea for a language: we have eax-ish variable @. [<] marks an entry point, @ here will be function argument, [>] marks an exit point, @ is return, e.g. [<] x = @; @ = x + 2 [>]. [<label] specifies that the entry comes from a specific label, like come from; [>label] specifies that we jump to this label to return
02:25:34 <alise_> it's like generalised come from / goto with structure of a sort
02:25:42 <coppro> oh, it's just COME FROM that saves the address
02:25:53 <coppro> boring; that makes it too easy
02:25:58 <ais523> coppro: no, it's NEXT FROM that saves the address, COME FROM doesn't
02:25:59 <coppro> lectures are the proper way to go
02:26:02 <ais523> also, NEXT saves the address
02:26:07 <ais523> GO TO wouldn't, but doesn't exist in INTERCAL
02:26:20 <coppro> ais523: yes, that's what I mean; NEXT FROM is COME FROM except that it does save the address
02:26:56 <ais523> I really like modern INTERCAL's flow structure; easy to grasp how it works and remember it, flexible enough to do all sorts of interesting things, yet unlike other languages
02:27:02 <coppro> SgeoN1: what about it?
02:27:04 -!- CakeProphet has quit (Ping timeout: 276 seconds).
02:27:07 <ais523> if you haven't seen continuation.i, try reading it sometime
02:27:51 <SgeoN1> As far as I know, it's a register, but context implies that there's something special about it.
02:28:20 <ais523> SgeoN1: it's a register that's commonly used to pass arguments in 32-bit x86 ABIs, IIRC
02:30:18 -!- BeholdMyGlory has quit (Remote host closed the connection).
02:33:45 <alise_> ais523: any thoughts about my [<], [>] idea? it's not that interesting I guess
02:33:48 <alise_> but it does sort of unify stuff
02:34:05 <alise_> [<] and [>] can be read as [<any] and [>any], i.e. "we have a language construct that specifies the label to be used here"
02:34:08 <ais523> alise_: it's sort-of how I think about INTERCAL
02:34:35 <alise_> so that e.g. "foo(?foo_result); [foo_result] result = @" works
02:34:43 <alise_> because the [>] gets reinterpreted as [foo_result], i.e. jump to foo_result
02:34:49 <alise_> but then we can't call functions
02:35:39 <alise_> @ = 42; foo : foo_entry : foo_result; [foo_entry] [foo_result] result = @;
02:36:00 <alise_> where f:a:b means "set up f's [<] points to be [<a], and its [>] points to be [>b]"
02:36:06 <alise_> maybe foo < foo_entry > foo_result is a nicer syntax
02:36:24 <alise_> so it's like... voluntary come from :)
02:39:15 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
02:42:23 -!- poiuy_qwert has joined.
02:44:08 <alise_> ais523: hmm, I can't see plan 9 ping doing anything special
02:44:13 <alise_> but then the default user has a lot of privileges
02:46:57 <alise_> Why the hell isn't there a type-safe database.
02:48:10 <ais523> alise_: many SQL databases are vaguely type-safe
02:48:17 <ais523> and could probably be made more so without major issues
02:48:18 <alise_> Yeah, but not in the good kind of way.
02:57:32 <alise_> ais523: what power does recursive descent have? i forget
02:57:36 <alise_> it doesn't really have lookahead
02:57:43 <alise_> then it's... R(1), if that even makes sense?
02:58:06 <ais523> which method is recursive descent, again?
02:58:16 <alise_> one element in the syntax tree becomes a procedure
02:58:20 <alise_> x := 'a' y 'b' becomes
02:58:27 <alise_> x() { char('a'); y(); char('b') }
02:58:38 <ais523> it's going to be something(0) in that case
02:58:52 <ais523> but I can't remember exactly how the naming scheme works
02:58:56 <alise_> http://en.wikipedia.org/wiki/Recursive_descent_parser
02:59:09 <alise_> i mean, ofc, i elided the accept stuff
03:00:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
03:02:12 <alise_> i quite like recursive descent
03:02:23 -!- poiuy_qwert has joined.
03:02:30 <alise_> hmm... i think you can make an LL(infinity) recursive descent
03:02:40 <alise_> if input is an array, just have accepting(symbol, n)
03:02:44 <alise_> where n = 0 produces current symbol
03:04:13 -!- coppro has quit (Read error: Connection reset by peer).
03:06:45 <alise_> hmm, an a^nb^nc^n parser in C is oddly ugly
03:09:01 -!- coppro has joined.
03:10:30 <alise_> #define Ntimes(c) while (*s++ == c) i++; if (i != n) return 0; i = 0
03:10:30 <alise_> if (*s++ != 'a') return 0;
03:10:30 <alise_> while (*s++ == 'a') n++;
03:13:02 <alise_> ais523: ok, insane idea: post-emptive multitasking
03:13:17 <alise_> it runs the two programs, *then* decides the best times to switch
03:14:11 <alise_> presumably, this would somehow take place retroactively
03:14:49 <pikhq> Clearly, a use for TARDIS in Befunge.
03:14:55 <alise_> you could perhaps implement this by somehow "speculating" on how the program is going to run, and deciding based on that; then, if it turns out you chose wrong, try and multitask 'the opposite way' to correct for your errors (i.e. if a process was neglected, give it disproportionate time) -- and update your prediction values accordingly
03:15:29 <pikhq> Time and Relative Dimension in Space, not Time And Relative Dimension In Space.
03:23:41 * Sgeo is getting a C# book for free soonish
03:24:58 <Sgeo> All I have to do is tutor someone and make more money
03:25:28 <coppro> that doesn't count as free
03:27:59 <alise_> One, you can't tutor someone -- nothing personal, it's just that very few people can teach effectively.
03:28:04 <alise_> Two, why the fuck do you want such a book?
03:28:07 <alise_> Three, yeah, that's not free.
03:29:24 <Sgeo> No money is leaving my hands
03:30:03 <alise_> you have a stupid definition of free, then
03:30:15 <Sgeo> If $10/h really does balance out with what my time is worth (I'm bad at knowing how much money is worth) then yes, the book is free
03:30:46 <ais523> you have to be pretty young for an hour's work to only be worth $10, if the work's on someone else's terms rather than yours
03:33:14 <alise_> your time is only worth $10/h if you're retarded
03:33:44 <Sgeo> Does being clueless with money count as "retarded"?
03:37:49 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
03:39:26 -!- coppro has quit (Read error: Connection reset by peer).
03:39:37 -!- Halph has joined.
03:39:50 -!- Halph has changed nick to coppro.
03:40:59 <coppro> Is it safe to dd into a filter and then into dd for the same file?
03:41:45 <alise_> coppro: I don't think so.
03:41:55 <alise_> The last dd process will start immediately and open the file in write mode, erasing it.
03:42:11 <coppro> does this apply to a device?
03:43:01 -!- poiuy_qwert has joined.
03:44:23 <alise_> coppro: streaming device or block device?
03:44:26 <alise_> dunno the correct terms
03:44:43 <coppro> (the other one is character btw)
03:44:51 <alise_> coppro: i... wouldn't risk it, tbh.
03:44:57 <alise_> try it with a floppy device or something :P
03:45:27 <coppro> I'd have backups, and the whole point would be to prevent idiot support agents from having access to my files while still making it relatively quick for me to undo
03:47:16 <coppro> well, guys fixing my computer
03:50:47 <alise_> why do you have such guys?
03:52:02 <coppro> (the "oops I hit my computer will you fix it pls" kind)
03:53:44 <alise_> coppro: well ... don't hit it
03:59:01 <ais523> hmm, I have to hit this computer occasionally to stop it overheating
03:59:12 <ais523> it took a while to figure out where to hit it to stop the fan getting stuck
03:59:55 <alise_> ais523: when did you wake up?
04:07:46 -!- Oranjer has joined.
04:09:14 <alise_> ais523: omfg, esolang mailing list activity
04:09:58 <ais523> (and am not subscribed)
04:11:24 -!- SevenInchBread has quit (Ping timeout: 265 seconds).
04:11:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
04:12:02 <ais523> in B, I just judged that a scam that I myself had tried to take advantage of (better than the original scamster) worked
04:12:06 <ais523> I wonder if people will appeal?
04:13:20 -!- poiuy_qwert has joined.
04:14:06 <alise_> how would $you write an a^nb^nc^n parser in C?
04:14:26 <ais523> does it have to shortcircuit?
04:14:28 <alise_> i.e. f(s) iff s = "a"^n "b"^n "c"^n [anything]
04:14:35 <alise_> ais523: no, just that specification above
04:14:37 <alise_> the only concern is elegance
04:14:40 <ais523> the simplest way would probably be to count as, count bs, count cs, compare
04:14:57 <ais523> and simplest way to count a particular letter is just to read until you get a different letter, then ungetc it
04:15:01 <ais523> ungetc was invented for that purpose
04:15:32 <alise_> for(i=0; *s++ == 'a'; i++);
04:15:32 <alise_> for(j=0; *s++ == 'b'; j++);
04:15:32 <alise_> for(k=0; *s++ == 'c'; k++);
04:15:45 <alise_> this accepts the empty string though with junk after it
04:15:47 <alise_> which isn't really kosher
04:15:50 <alise_> so let's say it has to check end of string
04:16:02 <ais523> just check for \0 after the comparison
04:16:11 <alise_> for(i=0; *s++ == 'a'; i++);
04:16:11 <alise_> for(j=0; *s++ == 'b'; j++);
04:16:11 <alise_> for(k=0; *s++ == 'c'; k++);
04:16:12 <alise_> return !*s && i==j && j==k;
04:16:15 <ais523> as in, return i==j && j==k && !*s
04:17:49 <alise_> More "abstract" version:
04:17:50 <alise_> while(*s++ == "abc"[i]) n[i]++;
04:17:50 <alise_> return !*s && n[0]==n[1] && n[1]==n[2];
04:20:15 <alise_> ais523: ok then, here's something tricker: a parser that parses (a_0)^n (a_1)^(n+1) (a_2)^(n+2) ... (a_i)^(n+i) for a fixed alphabet a of size i, and arbitrary n.
04:21:44 <alise_> int decralph(char *s, char *a, int sz) {
04:21:44 <alise_> while(*s++ == a[i]) n[i]++;
04:21:44 <alise_> if(n[i+1] != n[i]+1) return 0;
04:21:52 <alise_> Well, you can't actually do int n[sz].
04:22:02 <alise_> int decralph(char *s, char *a, int sz) {
04:22:03 <alise_> int *n = malloc(sizeof(int)*sz), i;
04:22:03 <alise_> while(*s++ == a[i]) n[i]++;
04:22:04 <alise_> if(n[i+1] != n[i]+1) return 0;
04:22:08 <ais523> perfectly legal in C99
04:22:13 <alise_> ais523: Well, sure, but :P
04:22:18 <ais523> and you forgot to free n
04:22:18 <alise_> Anyway, I /think/ that code is correct.
04:22:32 <ais523> if you want to keep it short, you could use alloca, but that's nonstandard
04:22:40 <ais523> despite normally existing in practice
04:23:31 <alise_> dammit, C needs 'finally' :P
04:24:32 <alise_> int decralph(char *s, char *a, int sz) {
04:24:32 <alise_> int *n = malloc(sizeof(int)*sz), i, ret=1;
04:24:32 <alise_> while(*s++ == a[i]) n[i]++;
04:24:33 <alise_> if(n[i+1] != n[i]+1) ret=0; goto end;
04:24:35 <alise_> end: free(n); return ret && !*s;
04:24:39 <alise_> There. Ugly, sure, but what the hell.
04:24:44 <alise_> Hmm, you could do this in one pass.
04:25:38 <alise_> int decralph(char *s, char *a, int sz) {
04:25:39 <alise_> int *n = malloc(sizeof(int)*sz), i;
04:25:39 <alise_> while(*s++ == a[i]) n[i]++;
04:25:39 <alise_> if(i>0 && n[i]!=n[i-1]+1) { free(n); return 0; }
04:26:17 -!- SgeoN1 has quit (Quit: Bye).
04:26:55 <alise_> ais523: the nice thing about recursive descent is that you can include little ultra-powerful parsers like that as part of it
04:26:58 <alise_> as long as they have a recognisable start
04:27:14 <alise_> (i.e., you never get aabc being valid but different from aabbcc)
04:29:05 <pikhq> Gotta love recursive decent.
04:30:20 <pikhq> The kind of parser you end up writing without ever having heard of just because they are that intuitive.
04:31:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
04:33:23 -!- poiuy_qwert has joined.
04:34:01 <alise_> pikhq: no! Recursive ASCENT!
04:34:09 <alise_> It is the most hideously stupid parser ever-- and therefore, our favourite!
04:34:21 <alise_> pikhq: Actually invented BEFORE descent.
04:34:35 <ais523> surely bogoparse is the most hideously stupid parser ever?
04:34:37 <alise_> Not under that name, of course.
04:34:38 <alise_> Ned Irons preceded our invention with a Recursive Ascent technique that starts off by
04:34:38 <alise_> calling the primary routine, which makes the assumption that it should call the expression
04:34:39 <alise_> routine, which makes the assumption that it must be in an assignment statement and calls
04:34:39 <alise_> that routine. Obviously, expressions appear in places other than assignment statements. So
04:34:39 <alise_> his technique makes mistakes. It recovers from the mistakes by leaving tracks that allow it
04:34:40 <alise_> to find its was back to where the erroneous assumption was made. It then makes another
04:34:41 <ais523> generate random parse-trees, see if they're correct
04:34:42 <alise_> guess and starts working its way up the syntax chart again. Ned’s technique is obviously
04:34:44 <alise_> slower, does not exercise as tight control, and gives pretty poor error messages. He imple-
04:34:46 <alise_> mented his parser on a CDC 1604 at he University Of Princeton in 1960. He was working
04:34:48 <alise_> with a group from the University Of Pennsylvania.
04:34:53 <ais523> actually, that's not so different from recursive ascent
04:34:55 <pikhq> But... And... That... And?
04:35:22 <pikhq> That sounds freaking awful.
04:35:34 <alise_> "An expression? I hear those appear in assignments! Let's go with that."
04:35:58 <pikhq> I cannot fathom accidentally reinventing one of those.
04:36:12 <pikhq> I have written parsers and realised after the fact that they were recursive descent.
04:36:33 <ais523> CLC-INTERCAL's parser is now so complex that CLC doesn't have a clue what the operator precedence and associativity is
04:36:37 <ais523> or even if it's consistent
04:36:38 <pikhq> Because they just seem freaking natural for anything that's got clean BNF.
04:37:18 <alise_> ais523: once, the CLC parser proved a false statement
04:37:23 <alise_> but nobody noticed, as it seemed like normal output
04:37:40 <ais523> alise_: its output is ICBM bytecode
04:37:55 <ais523> oh, I see, you were making a joke on "consistent"
04:38:00 <ais523> and I did an AnMaster and missed it
04:38:32 <alise_> it would be cool if it actually outputted a proof that the given text must parse to a certain parse tree :)
04:38:34 <pikhq> What does the CLC in CLC-INTERCAL mean?
04:38:43 <ais523> pikhq: it's the initials of the primary author
04:39:12 <coppro> Why can't a predictive recursive descent parser parse an ambiguous grammar?
04:39:16 <alise_> Clever "Lemniscate" Caviar
04:39:24 <ais523> coppro: if it guesses wrong, it doesn't know what to do next
04:39:31 <alise_> coppro: Why can't your MOTHER parse an ambiguous grammer??
04:39:59 <coppro> nm, being an idiot today
04:40:23 -!- CakeProphet has joined.
04:40:53 <alise_> pikhq: So, typesettery. I was considering having the 'final stage' before actually putting pixels to paper be, basically, nested lists containing sets.
04:41:03 <alise_> Actually, no nested lists.
04:41:06 <alise_> Just sets at certain points.
04:41:13 <ais523> oh no, this isn't yet another total preorder is it/
04:41:18 <alise_> So, we say that at point (3,4) -- for some abstract coordinate system --
04:41:28 <ais523> those things have come up twice in a month at work, despite being generally unused
04:41:35 <alise_> we have the foop (a (12 pt) bold)
04:41:52 <alise_> so we have nested sets here
04:42:04 <alise_> now, when this is actually rendered, we ask the character set for a character matching these attributes
04:42:16 <alise_> it's a, so it looks up the a character, then it looks for the bold variant, then it renders it at 12pt
04:42:20 <alise_> and that's the pixels returned
04:42:28 <alise_> now, these coordinates can overlap, because of kerning etc.
04:42:32 <alise_> but this is okay, because of transparent backgrounds
04:42:58 <alise_> things like borders would be big box characters around the stuff, i think
04:43:08 <alise_> and images would be e.g. (image 234988eu98234-uniqueid)
04:45:30 <pikhq> coppro: It is awesomeness.
04:48:09 <coppro> it is basically the way parsing was meant to be done
04:48:22 <alise_> or IS it... dun dun DUNNNN
04:48:55 <alise_> PEGs huh, i hear pegs are good, pirates have pegs fuckshitting pegs pirates yeaaah it's almost 5am.
04:48:59 <alise_> FUCKING PIRATESHITTING PEGS!
04:49:06 <coppro> nope, I'm pretty sure that when the gods crafted the Universe, they said "Well, we'll have to include parsing" "Oh, man, that sucks" "Well, we could make sure they get Parsec" "Sounds good"
04:49:07 <alise_> Any parsing expression grammar can be converted directly into a recursive descent parser[citation needed].
04:49:12 <alise_> so they're like quite as awesome
04:49:19 <alise_> twice is basically the same word as quite ithink
04:49:24 <alise_> there's a t there, thjat should be a c
04:49:34 <alise_> and nobody gievs a fuck about q, so we can just replace that with t
04:49:37 <alise_> so we get quite = twice
04:50:39 <alise_> ais523: So, um... when did you last sleep? I set my sleep clock on other people's.
04:50:52 <ais523> alise_: woke up at about 5pm yesterday
04:51:00 <ais523> my sleep clock is not a good one to set to, though
04:51:04 <coppro> I last went to sleep 18 hours ago
04:51:06 <alise_> fuck, i woke up at 10am this morning :)
04:51:14 <coppro> my sleep is not a good one to set to if you're in the UK
04:51:18 <ais523> 10am this morning hasn't happened yet, at least if you're in the UK
04:51:30 * pikhq woke up at 10am as well
04:51:33 <alise_> shut up i'm too tired to think so fuck that shit
04:51:41 <alise_> pikhq: but it's like 7pm there in "MILD COUNTRY "
04:51:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
04:51:54 <alise_> U S A , land of the mild
04:52:52 <pikhq> Also, mild country?
04:52:55 <alise_> 7 "mild" pm, the "mildest " of hours
04:53:15 -!- coppro has quit (Quit: backup).
04:53:21 -!- poiuy_qwert has joined.
04:53:31 <alise_> mascot thourselfs towaqrds my untodistablishabilityies
04:53:34 <pikhq> Uh. It's 7 in Hawaii-Aleutian time?
04:53:35 * Sgeo arbitrarily decides that alise_ is mild
05:01:37 * pikhq loves polyglot sentences
05:01:50 <ais523> pikhq: polyglot between which langs?
05:02:17 <pikhq> ais523: Japanese, all Sinitic languages, (atypically-written) Korean, (atypically-written) Vietnamese.
05:02:32 <pikhq> Yeah, that's right. An entire language branch.
05:02:33 <ais523> is it particularly meaningful in all of them?
05:03:16 <ais523> that's a sort of pointless polyglot, then
05:03:22 <ais523> sort-of like the null quine
05:03:27 <pikhq> It's easiest with proper nouns, yes.
05:03:52 <ais523> hmm, I wonder if there are any spoken Mandarin/Cantonese polyglots
05:04:21 <ais523> preferably, meaning a different thing in each lang
05:04:33 <pikhq> Oh, different meanings in each? Trivial.
05:04:49 <pikhq> They're both syllable/tonal structured, and there's overlapping syllables and tones.
05:04:53 <alise_> SP[Æ]KING THE Shíshì shīshì Shī Shì, shì shī, shì shí shí shī.
05:05:08 <ais523> perhaps you could make it a question in one lang, and its answer in another
05:05:09 <alise_> WOULD BE THE SPOKING OF THE WORDS ENVISIONED -- INSIDE THIS -- pikhq -- THOU HA'STEST A LINGUISTIC SYSTEM
05:05:12 <alise_> FOR THE TRANSCRIBING OF KANJI
05:05:21 <alise_> APPLY IT TO THIS POE~TRY, LION - EATING POET IN STONE DEN, THE
05:06:00 <pikhq> I can kinda-sorta understand that.
05:06:02 <alise_> IT IS NOT REALLY KANJI BEING CHINESE I GUESS BUT WHO CARES
05:06:17 <pikhq> Really freaking weird-looking, mind, but.
05:06:42 <alise_> IT IS ROMANISED IN "SHI"S
05:06:45 <pikhq> alise_: "Kanji" is more literally translated as "Chinese characters". Or even more literally translated as "Han dynasty characters".
05:06:58 <pikhq> Not all of those characters have Japanese readings.
05:07:49 <pikhq> Oh, wait. The few that don't have reading indicators. I can cheat!
05:09:18 <pikhq> Ishishittsujishishishi, shishi, shishokujyuushi. Shijijitekishikanshi. Shiji, tekijyuushitekishi. Saiji, tekishishitekishi. Shikansaijyuushi, jishitsudou, bensaijyuushishise. Shikaisaijyuushishin, tekiishishitsu.
05:09:25 <pikhq> ... That's about where I'm going to give up.
05:09:37 <alise_> pikhq: Excuse me? That is not entirely "shi".
05:09:42 <alise_> Also, that is not in your romanisation scheme.
05:09:47 <alise_> Yours had xs in, or something.
05:12:34 <pikhq> Isisitus`isisisi, sisi, sisixyoku`ixyuusi. Siz`iz`itekisikannshi. Sis`i, tekis`ixyuusitekisi. Sais`i, tekisisitekisi. Sikansais`ixyuusi, s`isitut`ou, h`ennsais`ixyuusisise. Sikaisais`ixyuusisinn, tekiisisitu.
05:13:35 <pikhq> After that is where I stop being able to give or reasonably guess at readings.
05:14:37 <alise_> 321654165456465465 need to sleep
05:19:58 <Sgeo> How do I tell if I've been a victim of C# poisoning?
05:20:46 <Sgeo> It is a nice language..
05:20:57 <ais523> alise_: C# is a massive improvement over all the other standard Windows application development languages
05:21:00 <ais523> which is why people like it
05:21:30 <alise_> ais523: it's also shit
05:22:05 <Sgeo> C++ is worse, Python is not statically typed, Java is worse
05:22:05 <ais523> alise_: I don't know it well enough to know what bad points it has
05:22:23 <ais523> what's so bad about it? I'm curious, and would like ammo to use against C#-loving types
05:22:48 <Sgeo> C is not really application-level, especially for security-requiring stuff. Too easy to write unsafe code.
05:23:50 <ais523> I think the thing I dislike most about C# is it reminds me a bit of MAGENTA
05:24:07 <ais523> so many different ways to do things, that please different subsets of programmers, not for any particularly good reason
05:31:34 -!- alise_ has quit (Remote host closed the connection).
05:42:59 -!- Oranjer has left (?).
05:47:28 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
05:47:53 <CakeProphet> I rather like. It's basically what Java should be.
05:47:53 -!- poiuy_qwert has joined.
05:48:35 <CakeProphet> like... it always pissed me off that methods weren't first-class in Java
05:49:08 <CakeProphet> but in C# there's multicast delegates. It already saves you a shit ton of work when doing something event-driven.
05:49:44 <ais523> CakeProphet: are in Java 1.7
05:49:49 <CakeProphet> all of it's bad points are essentially the same as Java
05:49:50 <ais523> first-class methods, that is
05:50:04 <CakeProphet> ais523: oh really? Hmmm, okay. I assume it works differently from delegates based on your wording.
05:50:22 <ais523> CakeProphet: you use # rather than . when referencing a method
05:50:29 <ais523> and you get what's basically a function pointer
05:50:43 <ais523> ofc you could do it anyway making an anon class, and people did all the time, but that's stupidly wordy
05:50:55 <ais523> and I'd guess it's typesafe at compile time but not run time, the way type erasure normally works
05:51:01 <CakeProphet> ais523: very stpidly. It's cumkbersome when it should be easy.
05:51:33 <Sgeo> Suddenly getting first-class methods won't help when most Java APIs expect classes..
05:52:17 <CakeProphet> delegates are probably my favorite thing about C#. It's the thing that makes it stand out when compared to Java.
05:52:58 <Sgeo> It's possible to go overboard, though
05:53:09 <Sgeo> I recently wrote a function with 3 nested anonymous delegates.
05:53:19 <CakeProphet> fortunately every language design isn't Guido
05:53:31 <CakeProphet> or we'd be trying to prevent everything that allows mistake.
05:53:52 <CakeProphet> I need to pay more attention to what I type. :P
05:55:03 <CakeProphet> I have so many crazy and conflicting language ideas... I don't think I could ever unify them.
05:55:07 -!- oerjan has joined.
05:55:28 <Sgeo> Crazy and conflicting, like ABCDEF?
05:55:34 * Sgeo sins by abbreviating it
05:55:47 <CakeProphet> right now I'm considering how one would merge concepts from Elephant with functional and OO paradigms.
05:56:07 <CakeProphet> but mostly functional. I'd pick functional over OO I think.
05:56:38 <CakeProphet> so essentially logic programming mixed with functional
05:57:02 <CakeProphet> where you have an implicit history (possibly via monad?) that can be referred to and manipulated via temporal logic.
05:57:25 <Sgeo> http://esoteric.voxelperfect.net/wiki/Adjudicated_Blind_Collaborative_Design_Esolang_Factory
05:58:37 <CakeProphet> some other language ideas I want to develop involve manipulation and definition of syntax... in a sane way. I suppose like Lisp macros but in a more syntatically diverse setting.
05:59:34 <CakeProphet> I sort of envison it like defining a custom parser in Parsec, that interprets the language for the syntax element in question.
06:06:16 <CakeProphet> maybe it's just easier to have macro operators. Combinations of operators.
06:08:22 <CakeProphet> Sgeo: someone should actually run a ABCDEF
06:08:35 <Sgeo> CakeProphet, it was, once
06:08:43 <Sgeo> We just never wrote a spec for the resulting language
06:08:47 <ais523> nobody did the actual compilation into a language
06:15:14 -!- Sgeo_ has joined.
06:18:19 -!- Sgeo has quit (Ping timeout: 265 seconds).
06:22:14 * pikhq adores the Meiryo font now
06:32:50 -!- Slereah has quit (Ping timeout: 265 seconds).
06:34:48 <CakeProphet> I cannot wait for tomorrow night (technically today's night, since it's past midnight now)
06:35:37 <Sgeo_> You know the kid I was talking about as being a co-worker?
06:35:46 <CakeProphet> American Independence Day celebration... with terrible cheap vodka and pot brownies
06:40:19 <CakeProphet> I am wondering what I should mix this vodka with though. It's /bad/... it cannot be drank neat.
06:40:42 <CakeProphet> Perhaps http://en.wikipedia.org/wiki/Sex_on_the_beach_(cocktail)
06:40:57 * Sgeo_ would rather have real sex
06:41:53 <CakeProphet> it'll be like, orange soda and peach-cranberry juice.
06:42:14 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
06:43:55 -!- poiuy_qwert has joined.
06:50:41 <CakeProphet> I've got $6 US and a $12 handle of vodka. What mixers should I purchase?
06:51:07 <Sgeo_> His computer was taken away, apparently because his parents thought that they needed it more than he does
06:51:26 <CakeProphet> this was for the virtual world thing right?
06:51:56 <Sgeo_> Seriously, taking a computer away from a kid programmer has got to be the most obnoxious..
06:52:42 -!- oerjan has quit (Quit: leaving).
06:52:57 <CakeProphet> I didn't realize until recently how many very young people inhabit this channel.
06:53:00 * Sgeo_ is 21. The kid is around 15
07:02:14 <CakeProphet> hmmmm salty dog / greyhound = vodka + grapefruit juice
07:02:15 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
07:03:25 -!- poiuy_qwert has joined.
07:06:20 <CakeProphet> Yorsh (Russian: ёрш) is a Russian drink consisting simply of beer thoroughly mixed with an ample quantity of vodka.
07:06:54 <CakeProphet> Preparation: mix thoroughly and drink quickly!
07:21:44 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
07:23:20 -!- poiuy_qwert has joined.
07:41:44 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
07:43:20 -!- poiuy_qwert has joined.
07:46:43 -!- Adrian^L has quit (Read error: Connection reset by peer).
07:46:48 -!- Adrian^L has joined.
07:51:14 -!- coppro has joined.
07:52:29 <coppro> a) I have two partitions on my computer doing nothing. I would be more worried if that wasn't what most of the rest of my disk space was also doing
07:52:30 <coppro> b) my backup disk is refusing to be bootable
07:55:30 * Sgeo_ should probably sleep soon
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
08:03:20 -!- poiuy_qwert has joined.
08:21:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
08:23:23 -!- poiuy_qwert has joined.
08:23:46 * ais523 reads Reddit discuss Lotus Notes
08:24:05 <ais523> someone suggested to get a similar effect, you should try compiling Firefox's source with ghc without porting it to Haskell first
08:25:37 <Sgeo_> Similar effect to what?
08:26:35 <ais523> CakeProphet: I have no idea
08:26:43 <ais523> but it must be bad if someone even /suggested/ that analogy
08:27:31 <CakeProphet> but you can just enable -CompileFirefoxSource extension in GHC
08:27:36 <CakeProphet> it's pretty much standard Haskell at this point
08:30:38 <ais523> "Copyright 200X ACM X-XXXXX-XX-X/XX/XX ...$10.00."
08:30:51 <ais523> strangest copyright notice I've ever seen, although admittedly it was on a draft paper
08:35:58 <CakeProphet> ais523: do you know anything about mixed drinks by chance?
08:36:19 <ais523> no; I don't drink alcohol
08:41:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
08:43:20 -!- poiuy_qwert has joined.
08:52:30 -!- poiuy_qwert has quit (Ping timeout: 265 seconds).
08:59:14 -!- poiuy_qwert has joined.
09:17:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
09:19:20 -!- poiuy_qwert has joined.
09:37:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
09:39:18 -!- poiuy_qwert has joined.
09:40:42 * ais523 randomly comes across a compile-time FizzBuzz in C++
09:40:44 <ais523> http://www.adampetersen.se/articles/fizzbuzz.htm
09:43:59 -!- tombom has joined.
09:54:52 -!- kar8nga has joined.
09:57:44 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
09:59:23 -!- poiuy_qwert has joined.
10:01:27 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
10:12:17 -!- coppro has joined.
10:12:23 -!- ais523 has quit (Remote host closed the connection).
10:13:26 <coppro> hahah, my backup is working
10:17:44 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
10:19:23 -!- poiuy_qwert has joined.
10:23:49 -!- ski has quit (Ping timeout: 264 seconds).
10:27:07 -!- ski has joined.
10:30:30 -!- coppro has quit (Quit: testing bootability).
10:34:54 -!- poiuy_qwert has quit (Read error: Operation timed out).
10:39:19 -!- poiuy_qwert has joined.
10:42:43 <Deewiant> http://nethack.petricek.net/ :-)
10:57:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
10:59:20 -!- poiuy_qwert has joined.
11:17:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
11:19:23 -!- poiuy_qwert has joined.
11:27:04 -!- FireFly has joined.
11:37:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
11:39:25 -!- poiuy_qwert has joined.
11:57:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
11:59:19 -!- poiuy_qwert has joined.
12:03:54 -!- poiuy_qwert has quit (Ping timeout: 265 seconds).
12:29:38 -!- poiuy_qwert has joined.
12:32:01 -!- tulcod has joined.
12:32:31 <tulcod> so are there any languages for which it isn't intuitively clear that they're turing-complete?
12:33:14 -!- alise has joined.
12:33:23 <oklopol> no you can always sense it
12:33:57 <tulcod> well, all languages i've seen so far are pretty obvious
12:34:36 <tulcod> all the brainf*ck languages and stuff
12:34:41 <alise> "ACTA has now been declared a trade agreement thereby bypassing the congress."
12:34:41 <tulcod> simply weird syntax for assembly
12:34:48 <alise> tulcod: we have far more shit
12:35:17 <alise> intercal with extensions
12:35:40 <alise> http://esolangs.org/wiki/
12:36:07 <oklopol> all of those except toi are pretty obvious tho, so maybe you should check out toi?!?
12:36:40 <alise> oklopol: point is they're more interesting than bf
12:37:17 <oklopol> well yes but compared to toi... yeah i'll shut up
12:37:27 <alise> tulcod: yes, you can easily make a language tc iff goldbach conjecture
12:37:28 <tulcod> alise: hm, just looking at underload, that's far better than whitespace and all that wikipedian crap :)
12:37:32 <oklopol> so i was at least partially being useful
12:37:44 <oklopol> whitespace is a syntax language, yes
12:37:48 <alise> tulcod: we're the snob part of the esolang guys :P
12:38:13 <oklopol> there's a rather clear separation into the 99% of esolangs that are fun syntax ideas, and the 3% that someone actually put some thought into.
12:38:32 <alise> all 102% of languages
12:38:43 <oklopol> the 2% that's both is my languages, there's just a few of them but i counted them multiple times because they're awesome.
12:39:03 <oklopol> how did i get this humble i wonder
12:39:23 <alise> tulcod: some of the absolute best languages come from cpressey. classics like befunge but also very abstract, unknown-tc langs
12:39:30 <oklopol> i did like graphica's syntax, but admittedly toi has the worst syntax ever
12:39:42 <alise> tulcod: http://esoteric.voxelperfect.net/wiki/Chris_Pressey;
12:39:44 <oklopol> i don't know much about cpressey's work outside bf
12:39:57 <alise> oklopol: cpressey didn't do bf he did befunge :P
12:40:20 <alise> tulcod: http://catseye.tc/cpressey/lingography.html his languages
12:40:35 <alise> tulcod: further you go down, much more interesting and CSy they get
12:40:48 <alise> e.g. burro where the set of burro programs is a group
12:41:19 <alise> Okapi is a language I designed for my wife for our sixth anniversary. Its only means of control flow is throwing exceptions, and as if this wasn't enough, there are two restrictions on exceptions that are thrown — they must be divide-by-zero exceptions, and they must be caught in a lexically enclosing block. Nor is there any facility to "retry" after an exception is caught. The language is nonetheless Turing-complete."
12:41:33 <alise> great anniversary present or best anniversary present?
12:41:49 <tulcod> alise: sounds great :D
12:42:22 <alise> RUBE is a classic by him
12:42:34 <oklopol> i'm just wondering what the message of making an error-based language is
12:43:09 <alise> A self-modifying assembly-like language which completely lacks any kind of jump instructions whatsoever.
12:43:16 <alise> Noit o' mnain worb (2000)
12:43:16 <alise> A neat little toy automaton that uses pressure between randomly moving particles to approximate the behaviour of circuits.
12:43:45 <oklopol> you're my new idol, oerjan is out
12:43:58 <alise> A self-modifying language; the language is defined in terms of a meta-circular interpreter, and this meta-circular interpreter provides an operation that redefines operations of the meta-circular interpreter. In fact, this mechanism is required for Emmental to be Turing-complete.
12:44:14 <tulcod> so why are you guys dedicated to this? is there any external interest in all this or is the esolang group just for the lols?
12:44:26 <alise> tulcod: well there are applications in CS
12:44:38 <oklopol> i'm aiming for a career in research in computability
12:44:44 <alise> our ais523 won the wolfram prize by inventing what is basically a deliberately sub-TC esolang tag system
12:45:14 <oklopol> and i wouldn't say many of us are all that dedicated :-P
12:45:17 <alise> tulcod: and his day job requires a lot of esolangy stuff
12:45:29 <alise> most of us just do this for fun and interestingness, though
12:45:34 <tulcod> more esolangy than fortran and basic?
12:45:46 <alise> more esolangy than haskell
12:45:57 <alise> "idealised concurrent algol", mathematical model
12:46:00 <tulcod> so what kinda work would that be? :)
12:46:08 <alise> i dunno exactly, ask him :P
12:46:40 <oklopol> cpressey: yes could you tell us where you get your ideas
12:46:56 <oklopol> why does everything i say look sarcastic
12:47:55 <alise> tulcod: wouter has cool stuff if you can handle his gigantic language list: http://strlen.com/proglang/index.html
12:48:07 <alise> highlight: http://strlen.com/aardappel/index.html
12:48:30 <alise> he also did false but that's basically brainfuck on a stack
12:48:48 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
12:49:09 <alise> lazy k is pretty cool
12:49:14 <alise> tulcod: malbolge too
12:49:23 <alise> took a computer search to find the first hello world
12:49:26 <alise> and was /cryptanalysed/
12:49:47 <alise> sub-tc but only for memory limitations
12:49:48 <oklopol> false is brainfuck on a stack? i'm not sure i agree 100%, but maybe i remember it wrong...
12:50:01 <alise> oklopol: http://esolangs.org/wiki/FALSE close enough
12:50:04 <oklopol> okay i guess if you interpret it freely enough
12:50:20 <alise> with arithmetic and shit
12:50:24 <alise> so it's less esoteric :P
12:50:45 <alise> tulcod: btw brainfuck's goal was tiny compiler, not extreme abstract interest
12:51:08 <tulcod> i'm not saying the guys who designed it are stupid
12:51:13 <tulcod> but it's not extremely interesting
12:51:59 <alise> finally, if you ever want to see what over-engineering is, compare:
12:52:02 <alise> befunge-93 http://catseye.tc/projects/befunge93/doc/website_befunge93.html
12:52:08 <alise> funge-98 http://quadium.net/funge/spec98.html
12:52:11 <oklopol> brainfuck is based on a computational model called P'' whose point was to prove you can be tc without loops
12:52:32 <alise> oklopol: no without goto
12:52:32 <oklopol> i don't actually know for a fact it is based on this, but it's the same thing
12:52:56 <oklopol> (was gonna write with loops, but it's the omission that's important so well yeah asd)
12:53:43 <oklopol> so anyway, that surely was interesting back then.
12:57:08 -!- cheater99 has joined.
13:01:52 -!- kar8nga has quit (Remote host closed the connection).
13:20:44 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
13:22:27 -!- poiuy_qwert has joined.
13:40:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
13:42:25 -!- poiuy_qwert has joined.
13:47:22 <alise> http://www.youtube.com/watch?v=NH0aEp1oDOI New version of Photoshop CS5 includes hyper-intelligent gnomes that can do anything.
13:48:46 <alise> that + http://vimeo.com/6496886 = gnome child labour
13:51:16 -!- nooga has quit (Read error: Connection reset by peer).
13:51:24 <alise> http://img.skitch.com/20091005-q5jx8gdg2j11ubrhap4fpfe8mp.jpg
13:51:30 <alise> Raptor, raptor, raptor, screaming man, endless void of space.
13:53:45 <alise> i think they're taking the term "magic wand" a bit too literally
14:00:31 <alise> http://i.imgur.com/ZN3b9.jpg "Oh no, the image is cropped!"
14:00:34 <alise> "It's okay! Just press undo!
14:00:40 <alise> http://i.imgur.com/AqTcE.jpg
14:00:44 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
14:01:30 -!- Slereah has joined.
14:01:55 -!- poiuy_qwert has joined.
14:09:47 <oklopol> http://www.youtube.com/watch?v=NH0aEp1oDOI <<< looks like someone finally made a program that isn't completely retarded
14:10:48 <oklopol> would be interesting to know how special-cased that is for real-life objects
14:12:30 <alise> apparently there's a quite old plugin for gimp that does the same thing quite well
14:12:38 <alise> i imagine it'd have an easier time with abstract shit
14:12:47 <alise> the basic technique appears to be "given a texture, make more of that texture"
14:12:53 <oklopol> what's awesome about http://i.imgur.com/AqTcE.jpg is that it looks really natural, but actually the bottom makes absolutely no sense
14:12:55 <alise> presumably with some tweaks to mirror e.g. the balance of elements in the texture
14:13:06 <alise> oklopol: oh god you're right
14:13:10 <alise> shit, looking at the bottom is so disturbing
14:13:16 <alise> it's like... fractal and... evil
14:13:32 <alise> shit, i'm pretty sure there's plant / zoomed out grass hybrids in there
14:13:48 <tulcod> oklopol: though, admit you need to know it's computerized to see it
14:13:58 <tulcod> it is very convincing otherwise
14:14:06 <oklopol> to me it looks like there's some sort of portal to another forest
14:14:18 <oklopol> tulcod: you need to look at the bottom to see it, yes
14:14:30 <oklopol> as i said, it looks very natural if it's in the corner of the eye
14:14:55 <alise> i think if i looked at that dark patch in the bottom and then to the left i'd notice shit was up
14:15:01 <alise> plants are not furry like that
14:15:08 <alise> please obliterate this feature
14:15:10 <oklopol> but once you look at the bottom, you can tell by some of the pixels that there's a fucking portal to another forest.
14:15:22 <alise> oklopol: hey you're right, that dark spot looks like the trees in another forest
14:15:35 <oklopol> i still think that's incredible
14:15:36 <alise> the plants around it get spatially distorted due to, you know, portal physics
14:15:42 <alise> oklopol: if you went through the portal you'd be huge
14:15:45 <alise> look how tiny the tree is
14:16:17 <alise> portal physics is the very scientific principle whereby portals do crazy shit
14:16:19 -!- hiato has joined.
14:17:06 <oklopol> yes; anyway i seriously want to hear how these algorithms work, but i presume i'd have to join the team
14:17:20 -!- relet has joined.
14:17:22 <alise> http://www.logarithmic.net/pfh/resynthesizer
14:17:25 -!- nooga has joined.
14:17:28 <alise> phd thesis detailing the algorithm
14:17:33 <alise> (that creepy forest was done with resynthesiser)
14:17:42 <alise> (I have a hunch photoshop would produce something slightly less creepy)
14:17:50 <alise> same algo basically
14:17:50 <oklopol> well judging by the youtube vid
14:17:57 <alise> gives almost identical results for most of the pics
14:18:00 <oklopol> how do you know it's the same algo
14:18:00 <alise> i guess forests are just pathological :P
14:18:08 <alise> oklopol: cuz the results are almost identical basically
14:18:12 <alise> also the internet says it's the same
14:18:19 <alise> and it has like the same tools
14:18:39 <alise> anyway just read the thesis, that's the creepy forest algo, the important portal one
14:18:44 <oklopol> results are almost identical, what are you basing this on?
14:18:54 <oklopol> looking at those examples, or more
14:18:57 <alise> people who did the panorama and desert thing, want me to find links?
14:19:54 <alise> i will anyway because i'm awesome.
14:20:07 -!- BeholdMyGlory has joined.
14:20:07 -!- BeholdMyGlory has quit (Changing host).
14:20:07 -!- BeholdMyGlory has joined.
14:20:11 <alise> oklopol: you've seen http://vimeo.com/6496886 right? and the image resizing seam carving stuff?
14:20:15 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
14:20:27 <alise> how about synthesising a picture, removing some trees, then seam carving it
14:20:39 <alise> thought-out photography is so last century
14:20:53 <alise> "I'll bet it can uncrop a stock chart and predict the markets!"
14:21:16 <alise> someone linked to http://graphics.cs.cmu.edu/people/efros/research/NPS/efros-iccv99.pdf
14:21:20 <alise> "This is completely real. In fact, the technology has been in development since 1999. (pdf warning)"
14:21:38 <alise> oklopol: using an obviously lower-quality screenshot of the panorama from the video:
14:21:42 <alise> http://i.imgur.com/0yKBG.jpg
14:21:42 <alise> http://i.imgur.com/e25kG.jpg
14:21:49 <oklopol> i guess the problem is, like you said, that forests are a bit pathological, because you have small plants near, and big trees far, so they look roughly the same; so plants happen to get interpreted as trees, because the algo doesn't think in 3d
14:21:59 <alise> http://i.imgur.com/4A4ral.jpg
14:21:59 <alise> http://i.imgur.com/fEbazl.jpg
14:22:03 <alise> admittedly that example isn't so hard
14:22:10 <alise> and the grass is a bit dodgy around the removed area
14:22:35 <alise> oklopol: it's just that seeing furry grass-tree-plants makes me get scared that all matter is suddenly going to go slightly furry at the edges
14:22:42 <alise> that's how my brain responds to the visual information
14:22:47 <alise> "oh GOD fuzz apocalypse imminent"
14:23:06 <alise> used to wonder what would happen if reality's texture system broke and i got mapped on to a couch
14:23:24 <alise> got pretty scared about it
14:25:30 <oklopol> give me an even number between 50 and 100 that doesn't repeat a digit
14:26:54 <alise> oklopol: not falling for that
14:26:55 <oklopol> holy fuck at the sketch thing
14:27:03 <alise> i saw it in the logs :p
14:27:12 <alise> apparently everyone picks 68
14:27:27 <alise> someone linked to a shitty mind control blog mentioning it, after it worked on... maybe you
14:27:41 -!- poiuy_qwert has joined.
14:27:45 <oklopol> oh hmm, maybe i got the link from here then, i thought i was googling for something else
14:27:52 <oklopol> and no i doubt i would've chosen 68
14:27:53 <alise> 11:58:16 <ghostwriter42> quick i need a someone to pick a *even* number between 50 and 100 that has two different digits!
14:27:53 <alise> 12:00:04 <Sgeo_> 68
14:27:53 <alise> 12:00:29 <ghostwriter42> interesting
14:27:53 <alise> 12:00:35 <ghostwriter42> thank you
14:27:53 <alise> 12:00:40 <Sgeo_> hm?
14:27:54 <alise> 12:00:41 --- part: ghostwriter42 left #esoteric
14:27:56 <alise> 12:00:47 --- join: ghostwriter42 (~ghostwrit@unaffiliated/ghostwriter42) joined #esoteric
14:27:58 <alise> 12:00:59 <Sgeo_> Is 68 a common response or something?
14:28:00 <alise> 12:01:29 <ghostwriter42> http://mindcontrol101.blogspot.com/ read the paragraph that says "pick a number"
14:28:02 <alise> 12:02:17 <Sgeo_> ...
14:28:03 <oklopol> but 1/2 of my test subjects have said 68
14:28:04 <alise> 12:02:27 <ghostwriter42> i guess you win
14:28:06 <alise> http://tunes.org/~nef/logs/esoteric/10.07.01
14:28:08 <alise> oklopol: yeah i guess you wouldn't, but you aren't human
14:28:46 <oklopol> we have one constraint on the pair that's completely symmetric in some sense, and a constraint on the latter digit
14:28:51 <oklopol> so obviously i would choose the latter one first
14:29:02 <oklopol> i might take an easy one like 2
14:29:08 <oklopol> then i could choose any number for the first one
14:29:27 <oklopol> 68 is the first possible choice ofc, realizing that i don't think it's all that interesting
14:30:22 <oklopol> "<alise> wonder why 68" <<< ^
14:31:09 <alise> wait, that isn't a suit is it
14:31:27 <alise> doesn't work when your target knows what you're doing
14:31:45 <oklopol> i'm doing a very partial disproof of these things working.
14:31:58 <alise> wtf, that thesis is 60 megabytes
14:32:01 <oklopol> HELLO I'M GOING TO TRY TO TRICK YOU INTO SAYING WHAT PEOPLE USUALLY SAY
14:32:05 <alise> was wondering why net was so slow
14:33:02 <alise> 04:07:19 <ais523> heh, just saw a bogus proof on Slashdot that the last digit of pi was 5
14:35:01 <oklopol> tried to search for more of these because i'd like to try one on myself
14:35:11 <oklopol> and the link for http://www.indianchild.com/number_trick.htm gives the answer away on google
14:35:23 -!- nooga has quit (Ping timeout: 265 seconds).
14:35:36 <alise> you can't hypnotise yourself dude
14:36:01 <alise> "While not absolutely everybody picks "3", most people do." <-- oh i thought it meant pick an /arbitrary/ number, i picked 72
14:36:04 <alise> oklopol: i was joking.
14:36:11 <alise> interesting fact, these tricks aren't hypnosis
14:36:21 <alise> i guess i should have picked a real
14:36:21 -!- tulcod has quit (Quit: Leaving).
14:36:28 <alise> but i think they probably meant natural even if they meant arbitrary
14:37:01 <oklopol> you thought 1 2 3 4 was like a countdown to seeing how controllable you are
14:37:16 <alise> i thought it was gonna be like
14:37:18 <alise> "did you pick FIVE???"
14:37:43 <alise> then when i scrolled down I was like "what how does 1, 2, 3, 4 make people think the next entry should be '3'"
14:38:48 <oklopol> WELL ACTUALLY I HERD THERES A POLYNOMIAL THAT IS THE SEQUENCE 1 2 3 4 3
14:39:04 <alise> that's asstonishing
14:39:17 <alise> i'm just tonishing my ass
14:39:22 <oklopol> you just lagrance it up you'd understand if you knew maths
14:39:37 <oklopol> but i guess you don't..................
14:40:03 <oklopol> hey did you read about my fart language btw
14:40:07 <oklopol> did you think it was awesome
14:40:22 <oklopol> well it's a bf derivative but even funnier
14:40:36 <alise> ooh is it wav files
14:40:41 <alise> it detects fart noises
14:40:47 <alise> and uses the duration and pitch to pick a command?
14:40:55 <alise> if so congratulations you are a genius
14:40:56 <oklopol> well i thought of that but fizzie refused to do the sound stuff for me :(
14:41:12 <oklopol> but input is still in farts
14:41:39 <oklopol> i removed nestor loops because they are too complecited for me...
14:41:51 <alise> oklopol: i don't think you need loops if you just have if
14:41:58 <alise> i mean you can just repaet the code multiple times instead of looping
14:42:01 <alise> so really you just need if
14:42:10 <alise> or 2d movement, that is also tc
14:42:18 <oklopol> well yes i also changed the for ... until loops of bf into just ifs but i think it's the same thing really
14:42:20 <alise> but really tc is irrelevant since we only have finite memory in the universe
14:42:36 <alise> so don't listen to the zealots who say "ohh you need tc"
14:42:43 <alise> its just a purist masturbating thing
14:42:50 <oklopol> i don't really understand tc
14:43:03 <alise> i don't i think it doesn't really mean much in the real world
14:43:06 <oklopol> if it like when you can use printers and usb drives and so on
14:43:18 <alise> does your language run or replace windows ??
14:43:23 <alise> i know windows is a language you can type things like "dir" into it
14:43:33 <alise> and "format c:" which formats your files to look better
14:43:37 <alise> that's what i heard on the internet
14:43:57 <alise> i think you should make a 3.75d version of your language
14:44:03 <alise> like my favourite game
14:44:18 <alise> i dunno what isometric means
14:44:21 <alise> i think it means illegal
14:44:32 <alise> the the the the the the of the
14:44:39 <oklopol> well an isometry is a distance-preserving bijection between two metric spaces
14:44:53 <alise> so what is a language?
14:45:58 <oklopol> i wish i was like this all the time, but made really awesome languages
14:46:14 <oklopol> and then they'd always have some really stupid design flaws and retarded names for things
14:46:15 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
14:46:27 <alise> "what's that? my language is a turing-complete field? what's that"
14:46:31 <oklopol> but the ideas behind them would be awesome
14:46:41 <alise> "i just made a bf derivative..."
14:47:42 <alise> why does my computer suck so much this user interface was designed by a moron or something
14:47:44 <alise> like all user interfaces
14:48:04 -!- poiuy_qwert has joined.
14:48:22 <oklopol> "maybe its a filed but the POIT of the langauge is that the loopes are realy hard to write because you have to repeat every charater 40 times in soruce code :D"
14:48:43 <oklopol> the typos would be essential
14:48:53 <oklopol> and everything he'd say would be totally retarded
14:49:24 <alise> so basically asiekierka with a genius mathematician in his subconscious
14:49:52 <Sgeo_> I figured out how all those "fill in data that isn't there for pictures" stuff in shows works!
14:50:11 <alise> well we can instinctively do pretty awesome stuff ... like do differential calculus so fast we can catch a flying ball ... stole that from Dirk Gently
14:50:43 <Sgeo_> Basically, in secret, there are surveillance cameras everywhere, constantly taking very high resolution pictures. However, the secret network won't give up those picutures without proof that you had most of the data anyway.
14:50:45 <oklopol> i heard something about some psychology people saying people do diff calc when they catch balls
14:50:59 <oklopol> and i thought damn they're retarded
14:51:03 <alise> oklopol: also douglas adams, therefore it is true
14:51:08 <alise> a character in a douglas adams novel
14:51:14 <alise> admittedly they can be pretty stupid
14:52:05 * Sgeo_ ignores the succeeding conversation to best avoid spoilers
14:52:51 <alise> oklopol: Svald Cjelli a.k.a. Dirk Gently, of Dirk Gently's Holistic Detective Agency
14:52:54 <oklopol> usually if i hear a spoiler, i completely forget about it once i start reading/watching said object
14:53:14 <alise> a bloody good book
14:53:19 <alise> also it references prolog which is pretty neat i guess
14:53:36 <oklopol> but apparently there was something like that in a psychology book my friend had to read for schools. a uni course that is
14:53:50 <alise> oklopol: tl;dr dirk gently scams old people with missing cats using bullshit quantum physics
14:53:51 <oklopol> the psychology dep seems really retarded btw
14:54:13 <alise> oklopol: gura vg gheaf bhg gvzr vf shpxrq hc, naq n znpuvar perngrq fcrpvsvpnyyl gb oryvrir guvatf fb lbh qba'g unir gb sebz nabgure havirefr xvyyf n thl
14:54:16 <alise> Sgeo_: do NOT unrot13 that
14:59:51 <alise> oklopol: anyway it's a good book, even more nerdyish plotpoints than h2g2 and a fun plot
15:00:31 <alise> * Save. Every edit is saved immediately. Changes to the file by other programs are loaded automatically.
15:00:34 <alise> well that's an interesting feature :P
15:00:44 <alise> i guess if you use version control religiously
15:00:53 <alise> would be cool if every change was saved and ctrl+s just did a vcs commit
15:01:58 <alise> " * A jump-to-line dialog box.
15:01:58 <alise> * A find dialog box.
15:01:58 <alise> * In fact, does not have any dialog boxes."
15:02:29 -!- kar8nga has joined.
15:06:29 <Sgeo_> Grr, another app available everywhere except Android
15:27:26 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
15:29:03 -!- poiuy_qwert has joined.
15:31:04 <alise> so, ridiculous idea
15:31:13 <alise> audio compression using lagrange interpolation!
15:31:28 <alise> we cut out every N samples, and use lagrange interolation to fix it
15:42:58 <alise> dammit, now i have an urge to write an editor
15:43:42 <alise> sometimes this happens.
15:47:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
15:49:25 -!- poiuy_qwert has joined.
15:59:03 -!- oerjan has joined.
16:00:10 * alise behaves like he has a 200dpi screen
16:01:19 <alise> this is confusing :D
16:05:45 <oerjan> <oklopol> you're my new idol, oerjan is out <-- WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH
16:07:28 -!- alise has quit (Remote host closed the connection).
16:07:36 <oklopol> hey might be temporary, so you should be at your best behavior
16:07:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
16:09:22 -!- poiuy_qwert has joined.
16:13:16 -!- alise has joined.
16:13:32 <alise> no hinting is weird
16:16:38 <pikhq> A well-hinted Japanese font is an awesome thing.
16:17:02 <alise> Bah. I spit at hinting. Why don't we have 300 ppi screens?
16:17:16 <alise> Then we wouldn't /need/ hinting.
16:17:21 <alise> 600 ppi? Then we wouldn't need /antialiasing/.
16:17:44 <alise> The iPhone 4 is 326 ppi, so, you know, just make that bigger.
16:18:55 <alise> error: failed retrieving file 'ffmpeg-23792-1-x86_64.pkg.tar.xz' from www.mirrorservice.org : Not Found
16:19:20 <alise> pikhq: So, I am writing an editor! Call me crazy. Please.
16:20:28 <pikhq> You're fucking nuts.
16:23:54 <alise> ff there are sequels to A Glorious Dawn
16:24:04 <alise> my day has been made
16:26:09 <alise> ** Message: pygobject_register_sinkfunc is deprecated (GtkWindow)
16:26:09 <alise> ** Message: pygobject_register_sinkfunc is deprecated (GtkInvisible)
16:26:09 <alise> ** Message: pygobject_register_sinkfunc is deprecated (GtkObject)
16:27:59 <alise> pikhq: I just want to make something I can use instead of Emacs until I reinvent everything :P
16:28:16 <alise> I use maybe 5% of Emacs' editing features so I wade through a lot of boilerplate in using it.
16:28:33 <alise> Plus I've now become enamoured with the idea that all changes are saved immediately, and Ctrl-S does a *VCS commit*.
16:31:24 <olsner> no need to make another editor
16:31:33 <alise> olsner: My editing style is nothing like vi's.
16:31:44 <alise> There /are/ differences between people's editing styles.
16:31:57 <alise> Some people are emacsers, some people are viers, some people are acmers, some people are samers, some people are geditors.
16:32:01 <alise> I'm an alise-editorer.
16:32:13 <olsner> using vi kind of requires that you forget everything you think you know about editing and relearn the vi way
16:32:27 <alise> yes, and that way really doesn't sit well with the way i /think/ about code
16:32:59 <olsner> maybe, or perhaps you just don't think like that because you're not using an editor like that
16:33:18 <alise> I used vim for a while. Went through vimtutor and all, sawed off my cursor keys (not really).
16:33:31 <alise> I'm happy with the way I think about code and edit it. Is there something wrong with a person who doesn't use vim? :)
16:33:55 <olsner> of course there is, not using vim for starters
16:34:05 <alise> i am no longer listening to you :-)
16:34:36 -!- KingOfKarlsruhe has joined.
16:35:03 <alise> olsner: Considering the idea of "cursor key acceleration (a la mouse acceleration)" seriously just popped into my head, pretty sure I'm /not/ a vi user.
16:35:35 <oerjan> well you _could_ accelerate all key repeats...
16:35:53 <alise> perhaps, i don't repeat many keys often though
16:35:54 <alise> other than cursors
16:36:09 <alise> and it would exasperate the problem of accidental repeats
16:36:24 <alise> oerjan: i mean far more extreme accel though
16:36:34 <oerjan> nah, just accelerate backspace too >:D
16:36:35 <olsner> my basic point is: how happy you are now says nothing about how happy you *could* be after taking time to be proficient in another way of working
16:36:56 <alise> like it starts out moving one line per N, then in 1/4 seconds is moving up 3 lines per N, then in 1/2 seconds is moving up 5 lines per N, after 1 second 8 lines per N
16:37:05 <alise> oh, also backspace, yeah
16:37:11 <alise> but with characters
16:37:31 <alise> olsner: I have tried a great, great many editors.
16:37:32 <oerjan> i think your fibonacci is missing a term
16:37:39 <alise> olsner: I jived more with acme than I did with vim.
16:37:48 <alise> oerjan: wasn't going for fibonacci, but cooool :D
16:38:01 <alise> fibonacci as natural acceleration
16:38:38 * alise tries to remember what (Delta fib(n)) simplifies to
16:39:20 <alise> no, Delta fib(n) = fib(n+1) - fib(n)
16:40:14 <alise> well it's (fib(n) + fib(n-1)) + (fib(n-1) + fib(n-2))
16:40:33 <alise> wolfram alpha says it's fib(n) - fib(n-2), but that's obvious
16:40:59 <alise> lemme take this step by step
16:41:00 <oerjan> fib(n+1) - fib(n) = fib(n-1)
16:41:05 <alise> fib(n) + 2fib(n-1) + fib(n-2)
16:41:36 <alise> fib(n-1) + fib(n-2) + 2(fib(n-2) + fib(n-3)) + fib(n-3) + fib(n-4)
16:41:41 <alise> oerjan: yeah but wolfram alpha isn't correlating that
16:41:44 <alise> so i'm really confused
16:42:00 <alise> fib(n-1) + 3fib(n-2) + 3fib(n-3) + fib(n-4)
16:42:14 <oerjan> you substitute _just_ the fib(n+1) into the recursion. sheesh.
16:42:46 <alise> fib(n+1) - fib(n) = fib(n) + fib(n-1) - fib(n-1) - fib(n-2)
16:42:50 <alise> = fib(n) - fib(n-2)
16:43:00 <alise> fib(n) = fib(n+1) + fib(n-2)
16:43:06 <alise> ergo fib(n) - fib(n-2) = fib(n+1) which is obvious but
16:43:08 <alise> why didn't W|A get that?
16:44:17 <alise> oerjan: ok so we have that fibonacci grows according to fibonacci
16:44:25 <alise> which would seem to give a nice acceleration ... property
16:44:46 <alise> so wait, the finite integral of fib(n) is fib(n+1), that's cool.
16:46:35 <alise> 0/1 1/16 1/8 1/4 1/2 1/1 2/1 4/1 8/1
16:46:35 <alise> 1 1 2 3 5 8 13 21 34
16:46:39 <alise> that's actually an awesome acceleration pattern
16:47:51 <alise> assuming that we start with 1, ofc
16:47:55 <alise> 0 lines per interval would be useless
16:48:49 <oerjan> alise: fib(n) = fib(n+1) + fib(n-2) surely you want n-1 not n+1
16:49:38 <alise> Delta^n fib(m) = fib(m-n)
16:49:44 <alise> ...undelta^n fib(m) = fib(m+n)
16:50:12 <alise> dunno about you but that seems like a pretty cool acceleratory property to me
16:52:24 <alise> oerjan: has anyone used fibonacci as a nice acceleration sequence in this way before, do you know?
16:53:34 <alise> i just sucked an icecube and it popped
16:53:44 -!- kar8nga has quit (Remote host closed the connection).
16:58:44 <alise> oh, awesome, yaedit has a prefix option
17:02:39 <Deewiant> Doesn't have: - An option to set the bloody tab size and screw up your indenting. Tabs are 8 spaces, get over it.
17:05:09 <alise> Deewiant: yeah it's a silly opinion but even ais523 holds it religiously
17:05:25 <alise> (that 1 tab = indent until mod 8 = 0, or in today's world, indent 8 spaces)
17:05:31 <Deewiant> I'm also slightly amused by "- Menus or ugly icons that take up precious screen real-estate."
17:05:37 <Deewiant> When coupled with the screenshot
17:05:45 <alise> he has, like, the tiniest screen
17:05:53 <alise> otoh i have tried it out and with a more reasonable screen size it's alright
17:05:57 <alise> since the left hand side is... the only UI :P
17:06:09 <alise> of course it still /sucks/ incorrigibly, why do you think i'm writing an editor?
17:06:25 <alise> max undo levels? why do I want max undo levels? is your computer going to run out of memory or something?
17:06:31 <Deewiant> It's just that he complains about screen real-estate and then has an UI that takes up around 30-40% of his screen :-P
17:06:48 <alise> I ... don't think he has a 454x360 screen.
17:07:05 <Deewiant> Whatever, you know what I meant
17:07:33 * alise does pygtk babysteps
17:07:36 <alise> this is easy actually!
17:08:05 <alise> i have a feeling save-everything-then-Ctrl+S-does-VCS-commit might be a pain if you're setting other programs on the file, but eh, just disable it if you do that
17:14:55 <alise> if anyone's wondering the best code window size at whatever 10pt at 85ppi is, is 640x432
17:14:58 <alise> (just the code, nothing else)
17:15:37 <alise> it can display... 31.9 lines, or something, should probably round that up, and 88 columns for some reason
17:24:48 -!- FireFly has quit (Ping timeout: 245 seconds).
17:25:02 <alise> wow, gtksourceview themes suck.
17:25:44 -!- 77CAAV6KB has joined.
17:26:33 <alise> ok, now i'll do file loading ... then the actual hard part
17:26:56 -!- 77CAAV6KB has changed nick to FireFly.
17:29:54 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
17:31:27 <alise> "The operations between the begin_user_action() and end_user_action() methods can then be grouped when creating an undo stack."
17:34:33 -!- MizardX has joined.
17:34:33 <alise> anyone have gtk experience?
17:36:05 <alise> pikhq: don't do what
17:36:10 <alise> don't make the most AWESOME editor ever?
17:36:29 <pikhq> alise: Don't do GTK.
17:36:38 <pikhq> It's an abomination.
17:36:41 <alise> pikhq: why not, it's so eaaaaaaaaaaaasy to use in python
17:37:19 <alise> pikhq: i'm using it tastefully
17:38:08 <alise> pikhq: suggest something better
17:39:38 <pikhq> Wxwidgets? FLTK? A hole in the head?
17:40:40 <alise> pikhq: Ever tried to use wxWidgets? Ever looked at a wxWidgets interface?
17:41:00 <alise> FLTK? Well, sure, point me to the ready-made source widget :-)
17:41:14 <alise> Qt is hideously complex to get going and the signals/slots stuff is just living pain if you're trying to get something simple done.
17:41:17 <Deewiant> http://pyfltk.sourceforge.net/
17:41:22 <alise> pikhq: Really, what's wrong with GTK if it's used simply?
17:41:29 <alise> Deewiant: Is that a ready-made source widget?
17:41:36 <alise> Also, I forgot to mention that FLTK is ugly as hell.
17:41:39 <pikhq> alise: Look at Gobjects. Deeply.
17:41:44 <alise> pikhq: Yes. Yes I have.
17:41:51 <alise> pikhq: You are already running a GTK program right now.
17:41:55 <alise> You already have GObjects on your system.
17:42:00 <alise> And it won't even be interfaced into an actual object system.
17:42:07 -!- oerjan has quit (Quit: Bye).
17:42:10 <alise> I, on the other hand, will be using GObject interfaced to Python's object system; the two blend rather well.
17:42:44 -!- zzo38 has joined.
17:43:04 <pikhq> alise: Yes, I use Conkeror.
17:43:14 <pikhq> This is the *only program* I have with GObjects.
17:43:45 -!- poiuy_qwert has quit (Ping timeout: 240 seconds).
17:43:57 <alise> pikhq: And do GObjects personally affect you while using it?
17:44:06 <pikhq> ... Oh wait. Mlterm. Darnit.
17:44:09 <alise> Probably not. And they won't personally affect me while writing it, as I'll see them all as Python objects.
17:44:10 <pikhq> alise: Not at all.
17:44:17 <alise> In conclusion, the only thing GObjects damage is our sanity when we look at them, which we're not doing.
17:44:25 <alise> Therefore, I will continue to use GTK as it's the easiest thing for this :P
17:44:32 <pikhq> However, the source code is enough to make me want to murder RMS.
17:45:41 <pikhq> Gregor: ../../../gcc-4.5.0/libgcc/config/libbid/bid_decimal_globals.c:47:18: fatal error: fenv.h: No such file or directory
17:45:52 <pikhq> Gregor: This error. How did you make it go away in Microcosm?
17:46:07 * pikhq is trying to build an i386-pc-linux-newlib GCC
17:52:01 <alise> okay so what ui element should i add first ... hmm
17:52:27 <alise> oh, i should make it indent properly first
17:52:51 <alise> gtksourceview takes view a bit literally it seems, and doesn't do intelligent autoindentation
17:53:17 <pikhq> Also, why oh why is it using xgcc for a *cross compiler*?
17:55:04 <pikhq> Apparently "make all-gcc" is how you tell it to just make the compiler. XD
17:57:18 <alise> Make every GCC, EVER.
17:57:24 <alise> All versions, all platforms, all settings.
17:57:43 <alise> Themselves compiled with every GCC, EVER.
17:58:44 <alise> pikhq: Why isn't there a library that just works out autoindentation?
18:02:47 <alise> pikhq: Furthermore, should I write one?
18:03:30 -!- FireFly has quit (Quit: swatted to death).
18:07:17 -!- FireFly has joined.
18:10:57 <pikhq> WHY IS NEWLIB FAILING SO HARD AT CROSS COMPILATION
18:11:50 <pikhq> It is, no joke, trying to build x86_64 assembly for an i386 libc.
18:12:05 <alise> pikhq: i suggest you write an indentation library
18:13:05 * pikhq tries with linux32
18:16:03 <alise> pikhq: MWAHAHAHA MY EDITOR WILL BE SO AWESOME THAT YOU WILL USE IT AND SUFFER
18:16:18 <pikhq> Argh. Yeah: newlib is "smart".
18:16:37 <pikhq> It's convinced that because you're going linux->linux, it can special case a bunch of stuff.
18:16:56 <pikhq> And so it does stupid stuff.
18:17:11 <alise> writing an autoindenter is hard :(
18:17:18 <alise> with tabs for indent spaces for align
18:17:42 <pikhq> I can probably get a uclibc system working now.
18:18:52 <alise> Suggest a feature for my editor so I can tell you why I'm not going to add it!
18:19:17 <alise> Deewiant: Well, it will have that.
18:19:34 <alise> pikhq: Well... it'll have widgets ... but very few of them, and you'll rarely click them. :P
18:19:39 <alise> Okay, suggest something /slightly/ less fundamental.
18:19:55 <pikhq> alise: Scripting support.
18:20:35 <alise> pikhq: Define scripting.
18:20:48 <alise> Deewiant: ... be a /little/ bit outlandish, please? :D
18:21:03 -!- hiato has quit (Ping timeout: 245 seconds).
18:21:04 <alise> Yes, I do know elisp.
18:21:36 <Deewiant> alise: Can't think of much else to be honest
18:21:45 <alise> Indeed, it will not have scripting support because it'll be so simple that scripting it would be basically pointless, as there isn't anything to script. If there's an actual "big" (big being almost anything in this context) feature you want to add, you can patch the code easily enough.
18:22:11 <alise> Deewiant: How about "a save file command"? :P
18:22:21 <olsner> scripting is overrated
18:22:57 -!- hiato has joined.
18:24:02 <alise> Deewiant: I have this disease where I never bother using a VCS because, even with editor support, making a commit is so much of a fuss as opposed to simply not doing it. So, with my editor, I'm moving the goalposts: every change is saved automatically, and the minimal-effort action, Ctrl+S, is "make VCS commit"; it will prompt for a one line summary, which I'll type and press enter, and that'll be it. For files where this is undesirable, it will be disable
18:24:02 <alise> able in a few keypresses.
18:24:31 <Deewiant> IOW you will have that, just not by default
18:24:34 <alise> This way, I can just type and then invoke e.g. "git diff" to see what I've changed so far, making a commit will be as instinctual and automatic as saving is now, with no extra effort, and I'll have a nicely fine-grained revision history.
18:24:44 <alise> Deewiant: Well, yes. But that's just for editing /etc files. :P
18:24:48 <alise> And it won't be in version 0.01.
18:25:37 <alise> Deewiant: Or I could be a nazi, and tell you to version /etc and ~/.*.
18:25:42 <alise> And not have any save command at all.
18:25:47 <alise> But I don't do that, so I won't. :P
18:26:11 <Deewiant> So the intended purpose of the editor is /etc, ~/.*, and source code? :-P
18:26:32 <alise> Name another purpose? Writing textual works is also included, but you should be versioning them anyway.
18:28:12 <alise> Well, generally you shouldn't do that. Example of when you would?
18:28:38 <Deewiant> I often modify configure scripts and makefiles because that's much easier than figuring out why the autotools/whatever got something wrong
18:28:59 <Deewiant> Or I do know why, but that's much easier than changing the generators
18:29:39 <alise> Okay, then press whatever keys disable the magic. :P
18:30:18 <alise> Ctrl+. A or something (A for Autosave).
18:30:30 <alise> Then Ctrl+S would be save, and Ctrl+S on an already-saved file would be VCS commit.
18:30:31 <Deewiant> Right; just pointing out that your "be a nazi" option isn't very realistic even if people would agree to that much :-P
18:30:40 <alise> Well, I /am/ writing this just for me. :P
18:31:17 <Deewiant> alise: Context-sensitive tab completion
18:31:25 <alise> You mean smart autoindentation?
18:31:51 <alise> Yeah, I'll have that. It's minimalist in fluff, not in text editing features. :P
18:32:01 <alise> I'm pretty sure it won't have macros.
18:32:47 <Deewiant> No; completion, not indentation
18:32:58 <alise> Naw, none of that... unless I change my mind.
18:33:08 <alise> I'd generally think that if your names are long enough to need completing you have shitty names.
18:33:12 -!- sebbu has quit (Read error: Connection reset by peer).
18:33:26 <alise> Same reason I won't have snippet-macros.
18:44:59 <zzo38> I was looking at documentation for CWEB. I was trying to see what features it has. I was specifically looking for the feature to export parts to other files, the @( command does that it is exactly what I was looking for. But in my opinion there is still one feature missing, which is a kind of meta-macros, which can take parameters and output C codes, TeX codes, and other CWEB codes.
18:48:25 <zzo38> Like, to add command such as @M defines a meta-macro, and @X does a calculation before compile-time, including checking whether the mode is tangle or weave.
18:48:46 <zzo38> That would make CWEB useful, in my opinion.
18:53:01 <zzo38> If this command were added I might rewrite MegaZeux with CWEB and convert the documention of MegaZeux into TeX. But as it is right now, I cannot do such a thing as that. This way all documentation can be neatly printed with cross-references to the relevent part of the codes, and with automatically for all Forth and Robotic commands, together with the relevent code and also printable in separate section for reference manual
19:04:21 -!- sebbu has joined.
19:05:35 -!- hiato_ has joined.
19:05:56 -!- hiato_ has quit (Client Quit).
19:08:13 -!- hiato has quit (Ping timeout: 252 seconds).
19:08:29 -!- coppro has joined.
19:08:33 -!- hiato has joined.
19:09:45 <coppro> pikhq: can you do me a favor and translate http://mtg-jp.com/eventc/jpnats10/img/preview.jpg ?
19:10:00 <pikhq> coppro: I can try.
19:11:08 <coppro> oh, sorry for being rude, I should have said please :)
19:12:22 <pikhq> Awakened Thoughts 2U. Sorcery. Choose one instant or sorcery card from your graveyard, and put it into your hand.
19:12:26 <pikhq> There's the rules text.
19:12:37 <pikhq> I can't make out the flavortext.
19:17:26 <pikhq> ../../../gcc-4.5.0/libiberty/strsignal.c:554:1: error: conflicting types for ‘psignal’
19:32:43 * pikhq gets the *distinct* feeling that cross-compiling GCC is not a much-tested feature
19:33:30 <pikhq> Erm. Making a GCC cross-compiler
19:33:49 <pikhq> Deewiant: It's so incredibly brittle!
19:34:44 -!- ryan__ has joined.
19:37:08 <pikhq> /opt/crosscc/i386-pc-linux-uclibc/i386-pc-linux-uclibc/include/unistd.h:243:21: error: two or more data types in declaration specifiers
19:37:11 <pikhq> Okay, y'know what?
19:37:17 <AnMaster> alise, does plan9 support non-bitmap fonts?
19:37:19 <pikhq> GCC can go to hell.
19:37:32 <AnMaster> and what about any sort of antialiasing?
19:37:37 <coppro> what are you trying to create a cross-compiler to?
19:37:45 <pikhq> i386-pc-linux-uclibc
19:38:07 <pikhq> x86_64-pc-linux-gnu
19:38:20 <coppro> clang is definitely an option
19:38:41 <pikhq> Can it build uClibc and busybox?
19:38:59 <coppro> are they heavily laden with GNU extensions?
19:39:18 <coppro> if the answers are yes and no, then clang should be able to do it; if they're both yes, it's a definitive maybe
19:39:57 <pikhq> They're C and heavily laden with GNU extensions.
19:42:56 <alise> AnMaster: it can, yes
19:44:30 <alise> Helveticka Smallcapulated.
19:44:36 <alise> Gothic Helvetica XD
19:46:20 <alise> coppro: so, I'm working on amend -1
19:46:48 <coppro> Tell me about it when I return (it will be shortly)
19:46:55 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
19:49:06 <alise> pikhq: do you know of any auto-indentation libraries? :/
19:49:13 <alise> Like, ones that will tell you what string to enter on this indented newline
19:49:16 <alise> or how to indent this given line
19:49:31 -!- wareya has joined.
19:49:41 <Deewiant> That's a very language-dependent and tricky problem :-P
19:51:08 * pikhq does not see an easy way to tell clang the *libc* you want it to use
19:51:55 <alise> Deewiant: So is syntax highlighting.
19:52:31 <pikhq> I get the feeling I'm going to be the first person to try to build a clang *for* uclibc.
19:52:43 <Sgeo_> "What string to enter"?
19:52:47 <Deewiant> alise: Yes; and most editors have syntax highlighting but not clever indentation
19:52:48 <Sgeo_> As in, program for you?
19:53:22 * Sgeo_ watches alise bring in the singularity
19:53:36 <alise> Sgeo_: no, as in the string of indentation
19:53:39 <alise> Deewiant: gedit, kate, emacs, vim, notepad++, ...
19:53:42 <alise> Deewiant: every IDE, ever, ...
19:54:01 <alise> All even /tolerable/ editors do it.
19:54:05 <Deewiant> alise: Are we still talking about indenting with tabs and aligning with spaces?
19:54:12 <alise> Deewiant: No, not that particularly.
19:54:23 <alise> Just automatically inserting an indent on {, deducing indentation from context, etc.
19:54:25 <Deewiant> Okay; because I know of no editor that does that correctly
19:54:31 <alise> Deewiant: Emacs does with a very short elisp snippet.
19:54:36 <alise> It's nice. But that's just icing on the cake.
19:55:02 <alise> What GtkSourceView calls auto-indentation is actually just "repeat the last line's indentation", something I find utterly unusable in the face of actual automatic indentation.
19:55:12 <alise> I'm asking if there's a library to do proper automatic indentation. If not, I guess I'll write one.
19:55:48 <CakeProphet> I am now going to prepare to celebrate my country's independence
19:56:00 <alise> CakeProphet: entirely gentleman, unless you follow the coppro theory of total nickname-based gender reassignment.
19:56:14 <alise> then entirely gentleman.
19:56:29 <alise> hmm sex reassignment too, if he claims i have a vagina in the context of #esoteric
19:56:43 <CakeProphet> I don't think anyone has sex organs in the context of #esoteric
19:56:46 <alise> sukoshi -- who else used to come here and be female? I don't recall.
19:56:50 <Sgeo_> Wait, isn't Slereah female?
19:56:57 <oklopol> how do you know iamcal isn't female?
19:57:07 <Sgeo_> Or am I making an assumption based on the nick?
19:57:08 <alise> oklopol: because he's cal henderson, guy at flickr
19:57:14 <alise> Sgeo_: french gay guy
19:57:15 <zzo38> Your gender is generally irrelevant in context of #esoteric
19:57:26 <alise> http://www.iamcal.com/
19:57:41 <alise> i think he's one of only two people here with a wikipedia article
19:57:55 <CakeProphet> well. I disgressed, but now I must bid everyone good day. I must see how many different vodka concoctions I can invent in a night.
19:57:58 <alise> http://en.wikipedia.org/wiki/Cal_Henderson
19:57:59 <alise> http://en.wikipedia.org/wiki/Alex_Smith_%28The_Simplest_Universal_Computer_Proof_contest_winner%29
19:58:06 <alise> CakeProphet: enjoy destroying your liver and losing your higher cognitive function!
19:58:16 <zzo38> There! Now I wrote "Icochash".
19:58:21 <alise> iamcal: oklopol thinks you're female
19:59:34 <zzo38> Is "mnaly" a word?
19:59:40 <zzo38> Or do you mean "manly"?
19:59:45 <iamcal> http://www.flickr.com/photos/tags/iamcal
20:00:03 <alise> those could just be photographs of people who aren't you but share your name
20:00:09 <alise> or people pretending you're male to support your conspiracy
20:00:16 <alise> /or/, you could actually just be a really manly-looking female.
20:00:28 -!- coppro has joined.
20:00:36 <alise> it's totally ture, mr. mnaly
20:00:59 <Gregor> My sideburns are nearly connecting under my chin.
20:01:11 <Gregor> They're trying to make up for my otherwise complete lack of facial hair by making a pseudobeard.
20:01:16 * pikhq is *this* close to just murdering every person responsible for modern compilers
20:01:32 <alise> pikhq: Please do it. Not the pcc guys though.
20:01:35 <alise> pcc is nice. Use pcc.
20:01:38 <alise> Do nothing except use pcc.
20:01:50 <pikhq> alise: I am very, very heavily tempted to just use PCC and Newlib.
20:01:52 <alise> Have no compiler in your thoughts apart from pcc. Associate the concept of compiler directly with pcc, and cast away any other such associations.
20:02:04 <pikhq> (I'm presuming that Newlib is PCC-buildable)
20:04:08 <pikhq> They seem like the kind of guys who would care about being sane and reasonable C.
20:04:51 <Gregor> pikhq: What're you trying to do? :P
20:04:58 <alise> Gregor: Something awful.
20:05:50 <pikhq> Gregor: I JUST WANT A TOOLCHAIN TO BUILD SMALL BINARIES
20:09:38 <zzo38> Why do you want to murder everyone?
20:10:52 <zzo38> Because if you murder someone it is not reversible
20:11:01 <Sgeo_> I was about to make fun of people who rely too heavily on IDEs "I don't need to know how things get compiled and linked! The IDE takes care of everything" but then realized that that's the case with me and Visual Studio and C#
20:11:24 <alise> This is your brain ... this is your brain slowly decaying under the influence of C#.
20:11:32 <Sgeo_> Chatting in this channel is also irreversible
20:11:34 <alise> zzo38: Neither is computation, my good friend!
20:12:12 <zzo38> A lot of things are irreversible
20:12:14 <AnMaster> <alise> AnMaster: it can, yes <-- do you happen to remember how?
20:12:24 <alise> AnMaster: um do you have /n/sources?
20:12:38 <alise> or what was it, /n/contrib
20:13:04 <alise> AnMaster: run "9fs sources"
20:13:24 <AnMaster> <alise> Just automatically inserting an indent on {, deducing indentation from context, etc. <-- iirc kate does that for C pretty well
20:13:34 <AnMaster> as long as your source isn't too much a mess of macros
20:13:35 <alise> oh, it can do subpixel, cool
20:13:40 <alise> but different fonts, maybe they're just coloured bitmaps
20:13:44 <alise> AnMaster: anyway, run "9fs sources"
20:13:50 <alise> then in /n/sources/contrib there's like tons of fonts
20:13:53 <alise> grep /font/ http://www.plan9.bell-labs.com/wiki/plan9/Contrib_index/index.html
20:14:05 <AnMaster> alise, I was primarily thinking about plan9port, figured they would work the same when it came to that
20:14:22 <alise> AnMaster: ah, good question
20:14:25 <alise> i forget how to configure it
20:14:33 <alise> AnMaster: i suggest asking in #plan9. i'll even join to shut uriel up for you
20:14:48 <AnMaster> alise, nah. I'll just do some more digging
20:14:56 <alise> (I'll just mention how I really love using emacs to edit Linux/C++/GTK+ source that prints liberal propaganda.)
20:15:01 <alise> AnMaster: #plan9 is a nice channel apart from uriel.
20:15:07 <alise> just /ignore uriel and it's a perfectly civilised place
20:15:34 <Sgeo_> alise, if I had my way, it would have been Python
20:15:36 <alise> fine, continue wasting your time :P they're very helpful with plan9port questions in my experience
20:15:55 <AnMaster> alise, anyway kate can do that "insert tab on { or if or such" for C
20:15:56 <alise> AnMaster: but here's a hint
20:15:59 <alise> AnMaster: I think the font setting is in ~/lib
20:16:02 <alise> ~/lib/profile i think
20:16:03 <AnMaster> alise, my experience is that it does it very well
20:16:03 <zzo38> But some people still has other things to do, they can't do so what they want if. Would you like if someone killed you? If you commit suicide is same thiing. And in my opinion you also should not burn books. The biggest problem in the world is the people. But it doesn't mean we should just get rid of it like that.
20:16:18 <zzo38> But there is some TV show about serial killers that kill only other serial killers, if you have kill someone that is one way.
20:16:23 <AnMaster> alise, but I expect there are corner cases it messes up on
20:16:31 <zzo38> And there are other complications
20:16:44 <alise> AnMaster: i'll look for the font settings on plan 9 for you
20:16:52 <zzo38> But sometimes you have to take the path of the "lesser evil".
20:17:02 <AnMaster> alise, yeah it was plan9port I needed it for actually so..
20:17:10 <alise> AnMaster: Fun fact, plan9port is the same code.
20:17:20 <AnMaster> alise, yes though it uses the X backend instead
20:17:31 <AnMaster> which might mean this bit is different
20:17:41 <alise> It's the exact same graphics code, just connected to via X.
20:17:45 <alise> AnMaster: But it's /pixels/.
20:17:49 <alise> Drawterm is /pixels/.
20:18:12 <alise> font = /lib/font/bit/pelm/euro.9.font
20:18:55 <alise> AnMaster: so maybe look at $PLAN9/lib/profile
20:18:57 <alise> and $PLAN9/lib/font
20:31:12 -!- Oranjer has joined.
20:31:52 <alise> f = open(self.filename, 'rb+')
20:31:56 <alise> Why would someone do this?
20:33:35 <alise> Use r+ instead of just using w there.
20:34:29 <alise> You wouldn't need the truncate with w, either.
20:34:36 <alise> Deewiant: What if you already have self.filename open?
20:34:52 <alise> Well, you would need the truncate, for other programs writing at the same time, but...
20:34:59 <AnMaster> alise, truncating after write?
20:35:26 <Deewiant> I don't know the semantics of multiple programs doing stuff to a file at the same time
20:35:43 <AnMaster> Deewiant, "messy" as far as I remember
20:35:55 <alise> Yeah, well, this thing is going to write the file on every change. Fuck other programs :P
20:35:59 <AnMaster> at least if the file changes size
20:36:22 <AnMaster> I mean, if two processes mmap a file it is not really an issue
20:36:34 <alise> Ooh, I wonder if Python can mmap.
20:36:39 <AnMaster> bbl, moving laptop and moving it to ethernet
20:36:51 <alise> Indeed, but not as a string.
20:37:57 <alise> "Maps length bytes from the file specified by the file descriptor fileno, and returns a mmap object. If length is 0, the maximum length of the map will be the current size of the file when mmap is called."
20:38:00 <alise> FIVE BILLION BYTES
20:38:41 <pikhq> If you use mmap for the "file writing" semantics, than other files accessing it should work just fine.
20:39:08 <pikhq> As anything else opening a file will be using the same mmap'd buffer.
20:39:35 <alise> ValueError: mmap length is greater than file size
20:39:46 <pikhq> Of course, things going through stdio might see an inconsistent view of the file, because of stdio buffering.
20:40:08 <pikhq> But if someone is expecting that to work they should be shot anyways.
20:40:32 * alise looks for Python's "in the background, after N seconds, do this"
20:41:52 <alise> http://docs.python.org/library/sched.html yay
20:41:56 <alise> Deewiant: Oh. Which is better?
20:42:07 <Deewiant> http://docs.python.org/release/2.6.5/library/threading.html
20:45:18 <alise> Deewiant: Actually, it seems that just writing the file in full on every single change without a delay is fast enough.
20:45:28 <alise> Which is, you know, cool.
20:45:32 <Deewiant> That would depend on your machine and the file size :-P
20:45:47 <alise> What kind of text files do you edit?
20:46:11 <alise> How slow is your computer? :P
20:46:38 <Deewiant> My disk is slow enough that writing megabytes every time I type something will be noticeable
20:47:10 <alise> It's in the background.
20:48:44 <AnMaster> <pikhq> As anything else opening a file will be using the same mmap'd buffer. <--- what if one opens() and mmaps() but the other only opens() and then uses read()/write()?
20:48:47 -!- ryan__ has quit (Quit: leaving).
20:48:54 <AnMaster> and what if one truncates to less than the mmaped size
20:49:47 <alise> One of the mouse feet is off :(
20:51:07 <AnMaster> 12:45:18 <alise> Deewiant: Actually, it seems that just writing the file in full on every single change without a delay is fast enough. <-- do this on a SSD using a log based fs?
20:52:07 <AnMaster> alise, anyway try that on a large image in gimp. See why it isn't fun to do so
20:52:19 <alise> Quite honsetly, it works just fine :P
20:52:22 <AnMaster> alise, as in, 50 MP panorama or such
20:52:28 <alise> GIMP != text editor
20:52:47 <AnMaster> alise, for the special case of text editor I guess it works
20:55:24 <zzo38> http://sprunge.us/AiPR
20:55:35 <zzo38> I have written Icochash now, I tested it it works.
20:55:46 <alise> Wow, zzo38 is inventing word processors /and/ forms
20:55:59 <zzo38> But, there is not yet the program to print out the data or to render to HTML or whatever
20:56:50 <zzo38> The http://sprunge.us/AiPR is a very simple example.
20:57:23 <zzo38> But hopefully you can learn how it works a bit from this example?
20:57:26 <pikhq> Soon, zzo38 will have ZZOS.
20:57:37 <pikhq> And it shall be the most bizarre yet amazing thing ever.
20:57:53 <alise> zzo38: Please, please make a spreadsheet program.
20:58:00 <alise> It will be the world's only batch-mode spreadsheet program.
20:58:06 <zzo38> alise: One day I might make a spreadsheet program. But not right now
21:00:00 <zzo38> alise: I didn't invent a word processor?
21:01:00 <zzo38> Do you think the example code is understandable to you?
21:01:29 <alise> zzo38: Icoruma is basically a batch-mode word processor.
21:02:00 <zzo38> alise: OK. Yes it is like that, but Icoruma is like a markup language and programming stuff, and specifically meant for role playing games.
21:02:14 <zzo38> Icoruma is not meant for anything other than role playing games. Icochash is also meant for role playing games.
21:03:51 <alise> Something is very wrong with this... hmm.
21:03:59 <zzo38> They are not general purpose programs and therefore do not contain some of the features you might expect in a word processing program, such as selecting different fonts, setting margins, and so on.
21:05:19 <zzo38> alise: What is very wrong?
21:05:33 <alise> zzo38: Just my program, but I figured it out.
21:08:01 <alise> does anyone know of any algorithms that, when given text A, text B and (line,col) in text A, return the closest thing in text B?
21:08:02 <alise> for reloading files
21:09:09 <pikhq> alise: 06:48:41 <alise> Wow, someone actually bothered to clean up the video on the DVD release of The Next Generation and then encoded it all with x264 on super-high settings, yielding a 550 MiB-per-episode average.
21:09:15 <pikhq> alise: I am intrigued.
21:09:29 <alise> pikhq: By TNG, I mean /every single season/, incidentally.
21:09:56 <pikhq> I intend to have someone else download it for me. :)
21:10:04 * Sgeo_ would rather stream it
21:10:06 * alise finds you the torrentz.com versions, since they have a list of trackers (making downloads a lot faster).
21:10:37 <alise> pikhq: BTW, it's almost 100 GiB for the whole thing.
21:10:42 <alise> 80 GiB or something.
21:10:49 <pikhq> alise: Terabytes are cheap.
21:11:09 <alise> pikhq: Also, the seeders are a bit... preoccupied with other people, so it won't be fast.
21:11:13 <pikhq> Especially given that the guy I'm talking to has uncapped Internet and a 5TB RAID ATM.
21:11:46 -!- kar8nga has joined.
21:11:56 <pikhq> Sgeo_: $80 gets you an order of magnitude increase.
21:12:09 <Sgeo_> I think I just want a new computer
21:14:53 <zzo38> I have 200 GB hard drive. (It is the smallest one they sold) And only 5% of the capacity is used
21:15:03 <Sgeo_> http://static.pulse360.com/blob/7e/2f91ba2_ecruzSwipeBids.jpg that does not look like an iPad to me
21:15:11 <Sgeo_> I don't think iPads have menus like that
21:17:27 * Sgeo_ wants an Android tablet
21:18:18 * Gregor wants people to quit being so excited by tablets when the form factor sucks :P
21:18:40 <alise> Gregor: As opposed to wearable computing, which had a totally hip and usable form factor.
21:18:53 <Gregor> Nope, it's a silly, ridiculous joke.
21:19:02 <Gregor> And if Apple ever makes a wearable computer, I'll have no interest in it.
21:19:16 <Gregor> The form factor, that is.
21:20:24 <zzo38> I don't want any tablet, especially if it doesn't have a physical keyboard built in. Perhaps I would be more likely to buy it if it has Forth.
21:21:09 <zzo38> But even if it doesn't have Forth, it ought to be able that I can put C programs on it without any mess from Apple or whatever
21:24:09 <Sgeo_> You can write C stuff for Android.. kind of. You'd still need to write some Java, and you couldn't write it on the device itself
21:24:37 <Sgeo_> It should be simple enough to make a Forth interpreter, though, right?
21:24:42 <alise> Fuck this bullshit!
21:24:48 <Sgeo_> There are Python and Ruby and.. thingy interpreters
21:24:52 <alise> Gregor: You sure have changed your opinion :P
21:24:55 <zzo38> Writing Forth interpreter is simple
21:25:15 <zzo38> And what does it mean "write C stuf for Android.. kind of"?
21:25:45 <Gregor> alise: I don't think so, it was always silly, just good silly fun.
21:25:50 <Sgeo_> You can do logic and 3d stuff (I think) in C, but you still need to write some Java
21:25:57 <Sgeo_> Or other JVM language
21:26:04 <alise> Gregor: but you liked it :P
21:26:09 <zzo38> Why does it have to use JVM?
21:26:13 <Gregor> I also like esoteric programming languages.
21:26:16 <alise> Gregor: And you don't now
21:26:30 <Gregor> When did I say I don't like wearable computing?
21:26:34 <Gregor> I lurve wearable computing.
21:26:39 <Sgeo_> zzo38, because that's what Android does (although strictly, it turns JVM bytecode into Dalvik bytecode, I think)
21:27:00 <alise> Apple's wearable computer would just be a sleek, thin, ultralight aluminium tshirt and an eye implant.
21:27:04 <zzo38> Sgeo_: What is Dalvik bytecode?
21:27:13 <alise> The tshirt would also include integrated gloves.
21:27:14 -!- nooga has joined.
21:27:16 <AnMaster> <Sgeo_> You can write C stuff for Android.. kind of. You'd still need to write some Java, and you couldn't write it on the device itself <-- n900!
21:27:17 <cheater99> doing even the simplest thing in haskell is so fucking tiring
21:27:24 <alise> cheater99: that's because you suck
21:27:24 <nooga> http://vimeo.com/12674501 <- he's so awesome
21:27:32 <alise> nooga: he's a mormon!
21:27:35 <nooga> i love this keynote
21:28:19 <Sgeo_> I tried to do a simple thing in Haskell, ended up doing it in Python. Then again, I have far more Python experience than experience in any other language, so...
21:28:44 <zzo38> Does Android not support native code?
21:28:51 <alise> zzo38: yes, but not very well
21:28:59 <AnMaster> zzo38, it does, but rather limited what you can interface with it
21:29:14 <AnMaster> you have to do the GUI bits in java iirc
21:29:15 <fizzie> Wearable computing with eyetracking-based interfaces. The best thing since sliced bread.
21:29:49 <alise> I want an eyetracker to select lines in a file.
21:30:06 <Sgeo_> Is Java like the IO monad, and native code like pure code?
21:30:34 <zzo38> Sgeo_: What is that, is that Haskell?
21:30:36 <AnMaster> bad analogy for anything where C is involved
21:31:15 <fizzie> AnMaster: The current NDK has OpenGL ES support from native code, and also something called "libjnigraphics" which is supposed to be an efficient and comfortable way for pushing pixel buffers from native code to be displayed. But still, if you want actual platform-like GUI stuff, that needs to be done in Java.
21:32:12 <AnMaster> fizzie, and neither opengl nor "libjnigraphics" presumably includes input drivers for example?
21:32:46 <fizzie> Most likely you're going to do some JNI for input, but of course you can probably pretty easily just pass some events onwards to native code.
21:33:26 <AnMaster> fizzie, and I still can't get a shell, right?
21:34:03 <fizzie> I don't know how it goes with jailbreakery, but not on a stock phone, no.
21:36:26 <AnMaster> alise, with a full POSIX environment?
21:39:09 -!- poiuy_qwert has joined.
21:40:08 <zzo38> What it needs is a cellular phone model with physical keyboard and command-line-interface, no proprietary hardware/software, one color display inside and one small monochrome display on the outside, the GNU GPL v3, and that any AT command can be entered on the keyboard, and a built-in Forth interpreter, and no useless animations
21:40:38 <zzo38> And ability to provide a USB file system to a computer it is connected to.
21:41:20 <fizzie> Getting a completely non-proprietary GSM/3G radio stack going might not be completely trivial.
21:41:32 <AnMaster> zzo38, also clamshell phones suck
21:41:41 <AnMaster> they tend to break in the hinges in my experience
21:42:58 <zzo38> In my opinion it is important to be able to close, to stop accident push any buttons and also to save power by turning off the color display when it is not used.
21:43:27 <AnMaster> zzo38, that is why you have some sort of lock
21:43:52 <AnMaster> like on my phone, middle button below screen, followed by *
21:44:05 <zzo38> If it doesn't close then where is room for the keyboard?
21:44:24 <AnMaster> zzo38, keypad. Anyway n900 has a keyboard you can slide out
21:44:42 <fizzie> Slide-out seems to be more popular than fold-open nowadays.
21:44:54 <fizzie> I guess it's easier to do reliably, yes.
21:45:32 <zzo38> Of course they need touch screen as well (although multitouch is not needed), so that you can dial telephone numbers more easily, and then put the physical QWERTY keyboard for entering more complex stuff or if you do not want to get the display dirty with your fingerprints.
21:45:48 <AnMaster> fizzie, the drivers for the GSM/3G stack on your phone, are they binary blobs?
21:45:49 <zzo38> I think slide-out is patented?
21:46:19 <fizzie> All handset manufacturers at least seem to be doing it; patented or not.
21:46:36 <fizzie> It sounds too trivial to be patented to me, but, well... patents.
21:46:38 <AnMaster> fizzie, does the n900 come with a pen for the touch screen as well?
21:46:55 <AnMaster> fizzie, if so, is it storeable somewhere inside the phone?
21:47:23 <fizzie> AnMaster: There's uncomfortably many binary blobs in the N900, yes. It's still not as bad as it could be, though; lots of drivers have their sources visible too.
21:47:39 <AnMaster> fizzie, hm. So upgrading to the last kernel might be non-trivial?
21:47:42 <fizzie> AnMaster: And yes, there is a stylus, which is stored inside the phone.
21:48:26 <AnMaster> fizzie, aren't people reverse engineering the binary blobs?
21:48:49 <fizzie> There's probably more interesting things to hack for them to bother. People are such pragmatists.
21:51:05 <fizzie> It's currently based on 2.6.28, but there's probably a pile of patches on top of it. The kernel sources used are somewhat easily available, though, if you want to build a patched/reconfigured one.
21:51:11 <zzo38> In my idea, the touch-screen is only needed for more easily dialing telephone numbers (and also possibly for scrolling), but everything can be done without touch-screen as well. All commands are enterable by keyboard.
21:51:54 <AnMaster> fizzie, strange it hasn't upgraded to 2.6.30 or newer at least
21:52:20 <AnMaster> zzo38, touch screen could be needed there
21:52:22 <alise> AnMaster: the kernel is heavily hacked
21:53:24 <fizzie> The MeeGo 1.0 kernel is based on 2.6.33.3, and you can install that on the N900 if you want. (I doubt it works very well yet, though.)
21:53:39 <zzo38> AnMaster: You can program another program to use touch screen for other stuff (such as games if you write any), but all built-in functions are enterable by keyboard, including some games.
21:54:08 <fizzie> It's called "Day1 Developer Preview" for a reason.
21:54:11 <zzo38> Like, you opened and then to call a phone number, you can enter the AT commands on the keyboard, or you can touch the screen to display the keypad
21:54:42 <alise> coppro: i hate your police
21:54:46 <AnMaster> fizzie, what was the replacement for the n900 line? n9?
21:54:47 <zzo38> (There does not need to be any games built in, what I meant is that you can write games that use only the keyboard, such as Rogue)
21:54:55 <alise> well ok the police in another city in another province in your country :P
21:55:16 <alise> AnMaster: n900 is still latest in its line
21:55:22 <fizzie> AnMaster: There's just rumours (of N9) so far.
21:55:32 <AnMaster> fizzie, ah, not more than that. I see
21:55:34 <alise> * 03:15, 26 June 2010 Fastily (talk | contribs) deleted "Nokia N9" (Expired PROD, concern was: Unsourced, unreleased phone)
21:56:13 <fizzie> And N8 is an announced-but-I-think-not-yet-out Symbian^3 phone, which they've said will be the only Symbian^3 N-series device; rest will be MeeGo, and maybe Symbian^4 some day in the far future.
21:57:18 <alise> It drives programmers to suicide.
21:57:26 <fizzie> Yes. They're trying to unshittify it, but with not much luck so far.
21:57:43 <pikhq> Symbian is, indeed, very ſhitty.
21:57:48 <alise> "I will now unshittify this piece of shit!"
21:57:50 <AnMaster> how is it in power usage, compared to meego?
21:57:53 <alise> "We are left with ... nothing!"
21:57:58 <AnMaster> I heard maemo was a bit heavy on power
21:58:14 <alise> AnMaster: Better, I'd assume, lacking such heavy things as "a Linux kernel".
21:58:28 <Sgeo_> Isn't that that open thing?
21:58:42 <alise> Wow, Gregor should sue!
21:58:42 <fizzie> Sgeo_: It's the merging of Nokia's Maemo and Intel's... Moblin, was it?
21:59:02 * AnMaster waits for the first freebsd phone
21:59:08 <fizzie> N8 hardware is not too shabby, but nothing too excessive either; 640x360 AMOLED screen, 680 MHz CPU, 256M RAM and so on. It does have a 12-megapixel camera with a real Xenon flash, which I think is pretty rare for a phone.
21:59:33 <fizzie> "High-end" phones nowadays seem to be around 1 GHz clockspeeds and half a gig of RAM.
21:59:58 <fizzie> It's some ARM11 or another, maybe one of the OMAP platform chipsets.
22:00:12 <AnMaster> fizzie, so, how fast was n900?
22:00:55 <alise> Snapdragon is hawt.
22:01:08 <alise> The 1GHz ARM platform.
22:01:19 <alise> The Snapdragon application processor core, dubbed Scorpion, is Qualcomm's own design and is not based on any ARM core from ARM holdings. It has many features similar to those of the ARM Cortex-A8 core, but has much higher performance for multimedia-related SIMD operations.[1][2] All Snapdragon processors contain the circuitry to decode High-Definition (HD) video at 720p resolution.[3] The GPU is AMD Z430.
22:01:33 <fizzie> I think there's something else at that clockspeed nowadays too.
22:01:37 <alise> 1GHz ARM. On-chip 720p video decoding.
22:01:53 <alise> And remember that an N MHz ARM is better-performing than an N MHz old x86.
22:01:56 <alise> (Maybe not new x86s.)
22:02:17 <zzo38> Now, what we need, is Icochash templates for D&D 3.5e games. I can write some but I would like to do collaboration as well of these things
22:02:47 <alise> zzo38: You should rewrite your website/gopherhole in Icoruma. You could use that form package to do Chronojournal's forms.
22:02:54 <alise> This would be awesome and ridiculous.
22:03:23 <zzo38> alise: It would be completely ridiculous. Icoruma and Icochash is not meant for such things and it probably won't work such well like that.
22:03:31 <alise> fizzie: OMAP isn't 1GHz.
22:03:46 <zzo38> (I believe the common term is "gopherspace" not "gopherhole")
22:03:47 <alise> zzo38: Well, why not? Icoruma typesets documents pretty well, Icochash seems to just be a form generator.
22:03:53 <alise> I know, but gopherhole is a nicer term. :P
22:04:02 <alise> fizzie: Oh, wait: "# OMAP4440 - 1+ GHz dual-core ARM Cortex-A9 MPCore + PowerVR SGX 540 GPU + C64x+ DSP + ISP (Image Signal Processor)".
22:04:02 <zzo38> alise: OK then use that term if you want to
22:04:05 <alise> Recently announced, apparently.
22:04:14 <alise> http://upload.wikimedia.org/wikipedia/commons/b/b5/BeagleBoard_described.jpg 600MHz ARM -- laptop-like performance!
22:04:15 <cheater99> jeez, learning how to make a hash tree in haskell is difficult.
22:04:37 <cheater99> alise: do you know anything about dependent typing?
22:04:42 <alise> cheater99: quite a lot.
22:04:58 <alise> i dabble in type theory a lot.
22:05:40 <cheater99> so what can i use dependant typing for
22:05:50 <alise> Writing your PhD thesis.
22:06:07 <zzo38> alise: Yes Icoruma can typeset documents and stuff, but it doesn't support external hyperlinks and that kind of stuff.... Icoruma and Icochash are not meant for this stuff. There are good uses for Icoruma and Icochash but they are not meant for general-purpose things like this
22:06:35 <zzo38> Icoruma and Icochash are meant only for role playing games. While you can do a few other things with it, it isn't that good for those other kind of things that is other than role playing game.
22:06:39 <alise> cheater99: On a more serious note, http://strictlypositive.org/winging-jpgs/ provides some justification and real-world use-cases for IO handling. Really they have many, many applications, but the problem is that there are several issues right now and so at the present time they are research only.
22:07:07 <alise> cheater99: They would make languages like Haskell much more expressive in what they accept, and allow more program errors to be caught at runtime.
22:07:21 <alise> There's also the mathematical connections in that a dependent type checker is a proof checker, exploited to create constructivist proof systems such as Coq.
22:07:26 <AnMaster> alise, at runtime? what about compile time then?
22:07:31 <alise> AnMaster: Er, at compile time.
22:07:35 <cheater99> could different types of exceptions be one use case???\
22:07:45 <alise> cheater99: Um ... I'm not sure what you mean by that.
22:08:07 <alise> Who said this thing? :-)
22:09:11 <cheater99> so yeah, i'm looking at your link now
22:09:24 <alise> I presume that if you're agreeing with me that it makes no sense, then you're trying to figure out what some other person meant when they said dependent types would help with that.
22:09:24 <cheater99> do you think dependent typing can make it into haskell?
22:09:31 <alise> cheater99: No. Very unlikely.
22:09:40 <alise> It would be a massive language change, and also make redundant many common features.
22:09:57 <alise> Maybe one day we'll get "Haskell++", the official, dependently-typed successor to Haskell.
22:10:10 <alise> cheater99: Um ... I hung out in the wrong places too much (#haskell) and got sucked in to the whirlpool.
22:10:36 <alise> nooga: hey, that's my project!
22:10:52 <nooga> sure, i'm extremely curious
22:10:58 <alise> cheater99: btw don't worry if winging it stops making sense about half way through
22:11:01 <cheater99> alise: would adding dependant typing to haskell create backwards compatibility breakage?
22:11:08 <alise> cheater99: just hang on there and wait until he starts quoting hamlet
22:11:15 <alise> cheater99: not adding it, but there'd be a lot of redundant features then
22:11:20 <alise> and it would require major MAJOR restructuring of ghc
22:11:25 <alise> which is a HUGE HUGE HUGE, OLD OLD OLD codebase
22:11:33 <alise> AnMaster: because plan 11 is plan 9 turned up to 11
22:11:44 <AnMaster> alise, why not drop ghc and go with one of the other ones
22:11:57 <alise> AnMaster: (http://www.youtube.com/watch?v=EbVKWCpNFhY)
22:12:05 <AnMaster> alise, for $$$$$ I could make you one that goes to 12
22:13:12 <cheater99> maybe we can finally get a GOOD interpreter if people ditch ghc
22:14:58 <AnMaster> cheater99, good compiler would be even better?
22:15:31 <cheater99> wow now you're getting out of bounds
22:15:59 <alise> i just broke my kb
22:16:02 <alise> spilled coke on it
22:16:09 <alise> cheater99: ghc is one of the finest pieces of software engineering ever
22:16:11 <AnMaster> alise, isn't it coke resistant?
22:16:29 <cheater99> alise: the interpreter fucking sucks
22:16:36 <cheater99> alise: and i hadn't even used the compiler yet
22:16:52 <pikhq> cheater99: The compiler is stellar.
22:16:54 <alise> umm ghci is just ghc on a command line
22:16:57 <alise> it's all a compiler
22:17:26 <zzo38> Icochash is not really a form generator, it is a bit different. It is meant for things such as D&D character sheets. It can be used to template character sheets, check for changes, do calculations, provide presets for races/classes/spells/feats/skills, etc.
22:17:36 <alise> please just shut up
22:18:02 <pikhq> GHC is one of the best compilers for a language out there.
22:18:26 <zzo38> While it could be possible to print blank forms with Icochash, it would also be possible to print forms with everything already filled in
22:19:16 <cheater99> What do you call a pointless race that covers 2200 miles throughout France?
22:19:52 <nooga> capitulation race?
22:19:53 <AnMaster> I always found it funny that wesnoth has a "--disable-game" configure option
22:20:04 <alise> cheater99: attempting to get out of france?
22:20:17 <pikhq> AnMaster: Server, right?
22:20:22 <AnMaster> even though it is just --disable-client (for building just the server) it is stilly a funny name for it
22:20:31 <nooga> ...pick their noses and smoke cigarettes like they were gay
22:20:32 <AnMaster> pikhq, yes but --disable-client would have been more sensible
22:20:41 <alise> nooga: So, Plan 11.
22:20:41 <cheater99> alise: tell me how i can use it ctrl + leftarrow to skip words in ghci neow
22:20:55 <alise> cheater99: use a better ghc compile with editline
22:21:05 <alise> and make sure editline understands your terminal
22:21:10 <alise> nooga: Well, you were interested.
22:21:45 <alise> cheater99: then make sure it knows your terminal
22:21:47 <alise> nooga: so ask something :P
22:22:14 * alise tries to get used to the kb
22:22:18 <alise> cheater99: jesus christ
22:22:22 <alise> cheater99: you don't know shit about terminals
22:22:24 <nooga> alise: how is it going to be different from 9 ?
22:22:42 <cheater99> alise: just shouting at me won't make me feel better :((((((((((((((((((((((((((((((((
22:22:52 <AnMaster> * alise tries to get used to the kb <-- the coke you mean?
22:22:58 <alise> AnMaster: no, its replacement
22:23:06 <alise> i'm not using a kb with coke on its circuitry and keys
22:23:12 <fizzie> There's also Apple A4, which is a Cortex-A8-family ARM core at 1 GHz in the iPad, apparently possibly something lower in the iPhone 4.
22:23:14 <cheater99> alise got used to coke after her first week in the red light district
22:23:14 <alise> one, eww; two, *kaboom*
22:23:20 <alise> AnMaster: or just use this one.
22:23:41 <AnMaster> alise, also what did you learn from this?
22:23:48 <alise> AnMaster: don't spill glasses
22:24:17 <Sgeo_> ...--disable-game?
22:24:17 <AnMaster> alise, not either of: a) keyboards are shit b) keep coke further away from computer ?
22:24:18 <alise> cheater99: no, it's just sitting there
22:24:20 <cheater99> alise: you can make it work perfectly well with a wash.
22:24:30 <alise> AnMaster: it may have still worked, i just didn't want to find out.
22:24:43 <alise> AnMaster: and it's hard to keep my mouth away from my keyboard :P
22:24:52 <alise> Well, technically it was before it got in my mouth.
22:24:57 <AnMaster> alise, a wash. Try 90° with 500 RPM centrifuge
22:25:08 <alise> KLANG KLANG KLANG BASH WALLOP KABOOM
22:25:57 <alise> Kraftwerk reference :P
22:26:10 <AnMaster> alise, meh, you expected me to spot THAT?
22:26:16 <cheater99> i guess i should have said 'a rinse'
22:26:22 <alise> AnMaster: No, which is why I said it.
22:26:36 <alise> No, why I said the reference :P
22:26:49 -!- hiato has quit (Quit: /quit tiuq\).
22:26:56 <alise> leaden is a pretty cool name for an editor
22:27:01 * AnMaster refuses to hear the other version
22:27:55 <AnMaster> Jelly coke would be harder to spill I mean.
22:28:37 <AnMaster> can you patent that or do you need a way to actually produce jelly coke first?
22:28:38 <alise> How would you drink it?
22:29:39 <AnMaster> alise, as long as it contains the same amount of energy and tastes the same, who cares if you eat it with a spoon or drink it
22:30:37 <AnMaster> though if someone wants carbonated jelly that might present a challenge. But I never liked carbonated drinks. Uncarbonated coke (put some sugar in) is nice though
22:30:45 <zzo38> The pinball game I like best is this one: http://zzo38computer.cjb.net/img_12/jigglebox.png
22:30:58 * alise decides setting his broken editor to edit a test file, not the editor's code, is a good idea
22:31:16 <alise> AnMaster: Put some sugar in coke? It's already 99% sugar :P
22:31:24 <alise> I put honey in coke once, that was ... interesting ...
22:31:30 <AnMaster> alise, sure but you know about mentos?
22:31:41 <alise> Diet Coke + Mentos = YouTube video.
22:31:52 <AnMaster> alise, sugar has a similar, but somewhat less violent effect
22:32:07 <zzo38> I heard of someone that put Coke + Pepsi together, they thought it would explode but it didn't explode
22:32:18 <alise> It should explode from sheer cognitive dissonance.
22:32:21 <AnMaster> alise, it lets you get rid of the carbonation without causing youtube video
22:32:34 <alise> Anyway, Dr Pepper is clearly the best caramel-coloured drink.
22:32:41 <alise> It has a taste finer than any wine!
22:32:54 <AnMaster> I prefer water to tell the truth
22:32:56 <zzo38> Some people prefer wine
22:33:01 <alise> water isn't caramel-coloured
22:33:13 <AnMaster> alise, you could add some food colouring to water
22:33:38 <alise> I still maintain that alcoholic drinks don't taste nice at all; evidence: unpopularity of alcohol-free imitation drinks.
22:34:10 <alise> There are counterexamples, such as cider, which we can see tastes nice because non-alcoholic cider is very popular.
22:35:13 <nooga> the reason that alcohol-free counterparts are unpopular is because if ppl can drink alcoholic drinks, why would they spend their money on non alcoholic drinks
22:35:27 <alise> nooga: because the alcoholic one gets them drunk
22:35:36 <alise> seriously, people think alcoholic drinks taste nice because they get them drunk, and the brain creates the association
22:35:39 <AnMaster> nooga, why would anyone drink alcohol?
22:35:42 <alise> alcoholic drink <=> pleasure
22:36:05 <AnMaster> nooga, oh, because of the hangover?
22:36:15 <alise> tbh if you want to have an altered state of mind, cannabis would be preferable to alcohol
22:36:34 <nooga> there is a state than can be called pleasant, before the hangover
22:36:39 <AnMaster> alise, so would (pure) LSD I understand.
22:36:47 <AnMaster> less side effects on stuff like liver
22:36:57 <alise> AnMaster: Yes, but it's probably easier to code on weed than LSD.
22:37:07 <zzo38> People prefer different kind of these things
22:37:07 <alise> And that is, after all, the point!
22:37:20 <zzo38> One way if you want altered state of mind, is, simply, practise.
22:37:35 <alise> MEDITATION: It's, like, totally wack.
22:37:57 <alise> AnMaster: no, the ballmer peak produces perfectly working, but unreadable code
22:38:11 <AnMaster> alise, doesn't it produce windows ME iirc?
22:38:14 <alise> whatever the analogue is for weed, it produces utterly incomprehensible, yet stunningly beautiful, elegant code that does nothing useful whatsoever
22:38:17 <AnMaster> alise, hm coding on meditation, that might be a nice ide
22:38:35 <alise> I think that would be ... difficult.
22:38:48 <nooga> it's possible to write code when slightly drunk, but the best ideas come to you when you're *slightly* stoned
22:39:00 <AnMaster> alise, and what about LSD? It produces utterly incomprehensible demos that fits in 4 kB and raytraces in realtime?
22:39:38 <AnMaster> it would be awesome if it did!
22:39:50 <alise> how can you use a computer when everything is melting?
22:39:55 <alise> don't be ridiculous
22:40:02 <AnMaster> alise, perhaps not that much lsd?
22:40:09 <nooga> i'd say it extends you consciousness
22:40:23 <alise> nooga: I'd say it just alters your state of mind. :P
22:40:27 <nooga> in a way that's really hard to express in human language
22:40:43 <zzo38> I don't use LSD, never plan to use LSD, don't recomend to other people to use LSD, but I won't stop someone from doing so if they really want to
22:40:44 <alise> No, it's easy. The words are "being slightly stoned".
22:41:11 <nooga> no, no, it was only a single experiment
22:41:14 <alise> I use LSD, don't plan to use LSD, recommend to other people to use LSD, and would stop someone from doing so.
22:41:20 <nooga> i don;t buy this stuff
22:41:24 <AnMaster> I don't recommend it either. Just saying that from what I heard it has less side effects than alcohol
22:41:39 <nooga> that is probably true
22:41:46 <zzo38> Well, I don't drink alcoholic either
22:41:55 <zzo38> And I don't plan to drink alcoholic
22:42:09 <nooga> I SMOKE EVIL CIGARETTES
22:42:10 <alise> STUPID FUCKING GTKSOURCEVIEW
22:42:23 <AnMaster> alise, why on earth are you using that...
22:42:26 <nooga> and i'm radioactive
22:42:35 <alise> AnMaster: because i'm writing an editor
22:42:39 <zzo38> I don't smoke. But I wouldn't like if someone else smoke near me because the smoke affect everyone
22:42:48 <AnMaster> alise, and? why gtksourceview for that
22:43:00 <alise> AnMaster: because pygtk is really easy when it's not breaking for no apparent reason
22:43:04 <alise> and when it does that's gtk's fault :P
22:43:21 <nooga> i don't exhale the smoke in other ppl general direction
22:43:26 <AnMaster> alise, so you are like import randall suddenly? ;P
22:43:37 <alise> AnMaster: that doesn't even make any sense!
22:43:50 <AnMaster> nooga, and don't stand just outside doors smoking?
22:43:58 <zzo38> You shouldn't smoke when you are near other people that tell you to stop smoking. If you want to smoke anyways go elsewhere
22:44:12 <nooga> ofc, ppl would have to walk through the cloud
22:44:17 <zzo38> Or, better, don't smoke at all
22:44:20 <nooga> it's unpleasant even for smokers
22:44:21 <AnMaster> nooga, that is the worst bit I can tell you. I have asthma so smokers just outside the university entrance are a pita
22:45:10 <nooga> it's not like heroin
22:45:47 <AnMaster> have fun with your cancer later on
22:45:57 <alise> hmm can you vaporise tobacco like cannabis?
22:46:00 <alise> that would be ... strange
22:46:20 <nooga> no, there is something called e-cigarette
22:46:32 <zzo38> What is e-cigarette?
22:46:36 <alise> oh yeah that thing
22:46:41 <nooga> and it vaporizes some solution of nicotin and flavour oils
22:46:58 <nooga> and it's, most probably, harmless
22:47:29 <nooga> also the 'smoke' smells good and it's not irritating to the environment
22:47:55 <nooga> but i don't like it ;|
22:50:40 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
22:54:21 <alise> leaden can edit text reliably
22:54:42 <oklopol> cigarette smoke smells good
22:55:06 -!- zzo38 has quit (Remote host closed the connection).
22:55:30 -!- poiuy_qwert has joined.
22:55:35 <nooga> alise: what kind of editor are you writing?
22:55:48 <alise> nooga: a code editor, and something basically unlike anything else.
22:55:55 <alise> a more specific question may get a more specific answer :)
22:56:32 <nooga> for what language?
22:56:52 <alise> anything gtksourceview supports, but mainly the usual suspects: c, python, haskell
22:57:06 <alise> the syntax highlighting and basic editor controls are provided by gtksourceview; the rest is me.
22:57:17 <alise> (basic editing controls doesn't mean i won't add my own, ofc)
22:57:31 <alise> i'm going to have to code the indentation logic myself since gtksourceview can't do it
22:57:58 <alise> right now it opens, displays a hardcoded file, and automatically saves every single change to disk, and automatically reads any change made by another program
22:58:14 <alise> it has unlimited undo, scrolls, you can resize the window, it copies the last line's indent, and it highlights
22:58:30 <AnMaster> so if you undo, then do something new
22:58:37 <AnMaster> can you go back to the undone version
22:58:44 <alise> AnMaster: no; remember, vcs commits replace saves
22:58:54 <alise> so just pressing Ctrl+S can help your undo tree endeavours
22:58:55 <AnMaster> alise, tree undo is still very nice
22:58:58 <alise> with a sufficiently advanced VCS
22:59:05 <alise> AnMaster: well, i'll consider it, but i have undo done for me atm :)))
22:59:24 <alise> and if vcs commits are so easy i think they'll become instinctive enough that you don't need tree undo
22:59:36 <AnMaster> iirc both emacs and vim can have tree undo
22:59:41 * alise is editing leaden with itself, that's so daring
22:59:46 <AnMaster> oklopol, that sounds awesome yet impractical
22:59:47 <alise> AnMaster: with emacs it's an elisp extension though
22:59:58 <AnMaster> alise, probably. But then a lot of emacs is !
23:00:04 <alise> actually it's hideously irresponsible to edit this with the save-on-every-change feature when it doesn't also have the trivial-version-control feature
23:00:06 <oklopol> i'm not sure what it means
23:00:11 <alise> but it has unlimited undo (quite literally)
23:00:27 <AnMaster> alise, which VCS? I suggest darcs!
23:00:43 <alise> AnMaster: it'll probably support many (and decide which to use by seeing which has a directory nearby)
23:00:54 <alise> i use git right now, so that'll probably get in first
23:01:04 <AnMaster> alise, what will it do if it sees both .hg, .git, .bzr and .svn?
23:01:11 <alise> AnMaster: yell at you
23:01:21 <AnMaster> alise, nice. Will it use audio?
23:02:00 <alise> maybe it'll use a kernel exploit to take control of your whole system, replace the whole screen with an epileptic-flashing goatse, and blast white noise through your speakers while beeping your pc speaker if you have one
23:02:12 <alise> or, maybe it'll just say "You suck at version control; disabling auto-save mode."
23:03:12 <alise> AnMaster: i once added a repository's .git to the repository
23:03:32 <AnMaster> alise, him this doesn't ever become a stable loop
23:03:38 <AnMaster> I wonder if one could manufacture a stable loop
23:03:39 <alise> aw! my cursor synchronisation isn't working
23:03:43 <alise> i have this feature, you see
23:03:50 <alise> when someone else modifies the file from underneath you
23:03:56 <alise> it'll keep your cursor as close as possible to where it was
23:04:03 <alise> well, not textually, not that advanced
23:04:06 <alise> but same offset from start of file
23:04:07 <AnMaster> alise, could one manufacture a stable loop out of two VCS
23:04:09 <alise> so you should be in the same sort of vicinity
23:04:33 <alise> it's ... quite liberating to not have to press save
23:04:33 <AnMaster> alise, you couldn't do it by normal means, but if one allows some sort of compression like "same as that other file" then it should be possible
23:04:35 <alise> kinda weird, though
23:04:39 <alise> i keep trying to hit ctrl+s instinctively
23:05:01 <AnMaster> alise, now I feel an urge for a vcs quine!
23:05:25 <AnMaster> it contains a dir r, which contains a repo without a working tree
23:05:31 <alise> it's keeping the position, but scrolling up, bizarrely
23:05:43 <AnMaster> it would contain a directory r
23:05:46 <olsner> git repo where you can check out a git repo containing the first git repo? nice :)
23:06:10 <AnMaster> olsner, doesn't really matter which one. It is awesome with any
23:06:33 <AnMaster> obviously you can't have working trees all the way down
23:07:28 <alise> wish i could set line height
23:07:34 <alise> needs to be a bit bigger to be comfortable
23:08:14 <AnMaster> alise, are you using monospace?
23:08:21 <alise> hmm, the scrolled view is still resetting
23:08:33 <alise> that concession to the past, at least, is made :P
23:08:54 <AnMaster> alise, um, most source would be annoying to edit without monospace
23:08:59 <AnMaster> sure there is apple script but meh
23:09:09 <alise> Yeah, but it's not like I'm not already breaking 100 conventions here :P
23:09:22 <alise> with elastic tabstops you could easily use proportional
23:09:32 -!- tombom has quit (Quit: Leaving).
23:09:32 <alise> and smalltalk uses proportional :P
23:09:37 <AnMaster> alise, and no one else could easily edit the code
23:09:52 <alise> erm, they serialise to regular tabs afaik
23:10:17 <AnMaster> alise, also I doubt every smalltalk does that
23:10:24 <AnMaster> alise, isn't there one that uses files for the source
23:10:25 <alise> every smalltalk derived from the original
23:10:35 <alise> yeah, but gnu smalltalk is smalltalk-the-language, not smalltalk-the-smalltalk
23:10:51 <alise> code looks quite nice in Droid Serif 12...
23:10:53 <alise> you got me experimenting :P
23:11:08 <alise> don't talk small, talk big
23:11:24 <AnMaster> alise, there totally needs to be an esolang called bigtalk
23:12:05 <alise> paradigm: message-passing messages
23:12:07 <alise> the only things are messages
23:12:11 <alise> messages pass messages to other messages
23:12:37 <alise> god leaden is like the best text editor ever already
23:12:44 <alise> even though you have to edit the source code to open a different file
23:12:56 <alise> and it only supports python highlighting
23:13:00 <alise> and doesn't autoindent, and has no ui
23:13:14 <alise> self.scrolled_view.set_hadjustment(hadjustment)
23:13:14 <alise> self.scrolled_view.set_vadjustment(vadjustment)
23:13:16 <alise> why isn't this working...
23:13:20 <alise> AnMaster: no, and it never will :P
23:13:44 <AnMaster> alise, you know, I might actually make a fork just to do that if it gets anywhere
23:13:44 -!- kar8nga has quit (Remote host closed the connection).
23:14:07 <alise> no printf in python :P
23:14:21 <AnMaster> but printf debugging is a specific term
23:14:38 <AnMaster> which applies to languages where it is called something else
23:14:56 <AnMaster> alise, I would say printf debugging for erlang too. even though technically it would be erlang:display or io:format
23:15:29 <nooga> in this semester i was teaching C
23:15:51 <nooga> and what i noticed is that students don't get the idea of pointers and structures and stuff
23:16:26 <nooga> somehow they're weak at visualising this stuff
23:16:32 <alise> wtf, evrything points to it working
23:18:04 <olsner> you're not looking hard enough for errors, obviously
23:18:09 <nooga> and i thought it would be cool to write an interpreter of reasonable subset of C together with nice, small IDE that would visualize the execution process, evaluation of expressions and all this stuff
23:18:32 <alise> olsner: i've looked pretty damn hard
23:18:34 <alise> i think this is gtk being wonky
23:19:01 <nooga> it would highlight fragments of code in runtime and show objects in memory as boxes connected with pointers (arrows)
23:19:09 <alise> http://pastie.org/1030513.txt?key=60u3wyfrcl5be6yl2ie4g ;; it's in read_file; the two print statements show that the scrollbar is being restored correctly, yet it is still scrolled to the top of the window
23:19:11 <alise> this makes no sense
23:19:13 <nooga> and everything would be interactive and easy to use
23:19:21 <nooga> but i'm too lazy to wrote such thing
23:19:28 <alise> ah, wait, the editor thing does its own scrolling too
23:19:30 <alise> maybe that'll fuck it up
23:20:44 <alise> find me something easier for this
23:21:20 <nooga> AFAIR dealing with gtk in ruby wasn't pleasant :|
23:21:47 -!- SgeoN1 has joined.
23:22:14 -!- Sgeo_ has changed nick to Sgeo.
23:27:54 <alise> back in ~20-30mins
23:32:47 <AnMaster> <nooga> and what i noticed is that students don't get the idea of pointers and structures and stuff
23:32:48 <AnMaster> <nooga> somehow they're weak at visualising this stuff
23:33:12 <AnMaster> the C teacher I had spent a lot of time on it drawing on the whiteboard. I knew C since before of course
23:33:24 <AnMaster> so I thought it was maybe too much
23:33:38 <olsner> it's trivial if you just start with the actual low-level memory stuff rather than attempt to fluff it up with boxes and arrows
23:34:51 <AnMaster> olsner, you knew it was going to be boxes and arrows? rather than circles and arrows for example?
23:35:14 <olsner> always boxes, you need to put stuff in them later on
23:35:22 <olsner> you put stuff in boxes, not in circles
23:35:30 <AnMaster> olsner, but you put stuff in circles in state diagrams!
23:35:44 <olsner> no, those circles are merely labeled
23:42:14 <nooga> so it would provide 2 views
23:44:40 <AnMaster> nooga, what are you talking about?
23:47:02 <olsner> http://www.vgtv.no/?id=31144 :D
23:49:26 <AnMaster> olsner, I can't parse the Norwegian
23:49:41 <AnMaster> olsner, and why is there a huge black box there
23:49:50 <olsner> the black box is the video containing the funny
23:50:14 * AnMaster looks if he can extract the *.flv
23:51:16 <olsner> I think you're overdoing it
23:51:28 <AnMaster> olsner, they dropped flash for amd64 again
23:51:41 <AnMaster> olsner, there is absolutely nothing I can do
23:51:44 <olsner> your browser can't run 32-bit plugins on 64-bit?
23:52:03 <olsner> pretty sure I actually have 32-bit flash on my 64-bit system
23:52:04 <AnMaster> olsner, it can't run security risks either. It is too paranoid for that.
23:57:05 -!- nooga has quit (Read error: Connection reset by peer).
23:58:25 -!- nooga has joined.
23:58:30 <nooga> AnMaster: about my idea of visual debugger for dummies
23:59:22 -!- cheater99 has quit (Ping timeout: 260 seconds).