00:00:02 Sgeo__: because you can't send arbitrary ICMP messages without root privs 00:00:11 or you could really snarfle up a network 00:00:41 !sh telnet 00:00:42 /tmp/input.16734: line 1: telnet: command not found 00:02:14 !sh uname -a 00:02:14 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 ais523: I wonder how Plan 9 does ping? 00:05:12 It has no setuid. 00:07:13 QEMU GUIs: any recommendations? 00:09:20 ais523: what's the thing to add a user to a group? addgroup? 00:10:56 Eh, I'll just edit /etc/passwd. 00:11:21 alise: I think you're missing an OS somewhere 00:11:40 calamari: ? 00:11:43 oh you meant frontends.. never mind :) 00:17:21 night 00:18:35 The `ls command is broke O NO 00:18:37 `ls 00:18:52 O NO 00:18:53 No output. 00:19:06 -!- Sgeo has joined. 00:19:58 Does it break all the time like that? 00:20:31 Yeah. 00:20:33 Gregor! 00:20:40 -!- Sgeo__ has quit (Ping timeout: 265 seconds). 00:23:16 http://sprunge.us/gGec 00:25:39 alise: adduser user group, IIRC 00:25:59 heh i was trying to do kvm not kqemu >_< 00:26:47 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 Sgeo: No, don't support the Kindle. 00:27:39 Sgeo: Why? 00:27:51 alise, any other suggestions? 00:28:12 I just buy proper books, with paper 00:28:18 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 zzo38: You can't carry a hundred books around with you -- especially textbooks. 00:28:33 But indeed, I do enjoy paper. 00:28:43 I'd like to see any ebook reader match the typography achieved by well-set books. 00:29:09 I do carry around a lot of books when necessary 00:29:29 There's no Kindle edition of Dirk Gently's Holistic Detective Agency 00:30:16 Sgeo: Buy the dead tree version. Adams typeset it himself, on a Macintosh Plus II (IIRC)! 00:30:25 I know he typeset it himself with MacAuthor, that's in the introduction. 00:31:04 It has one or two blatant spelling errors though. 00:31:09 ("tjat" for "that", for instance.) 00:31:35 Hmm, MacAuthor was MacWriter's codename. But it was 1987, so it would be MacWriter. Curious. 00:31:42 If I didn't pirate it, who would I be supporting? 00:32:10 00:32:14 -!- zzo38 has quit (Quit: zzo38). 00:32:19 Sgeo: evil corporations. 00:32:28 Sgeo: publishers. 00:32:39 Sgeo: Perhaps half a penny to his widow. 00:33:43 Wait, hm. 00:33:46 Dunno if he was actually married. 00:34:03 Yes, they did. 00:36:10 I think I prefer reading on my N1 to physical books 00:36:22 -!- alise_ has joined. 00:37:15 What happened to my internet? Huh. 00:38:35 -!- calamari has quit (Quit: Leaving). 00:39:43 Ah 00:39:48 It's nice to read HHGG again 00:39:56 Although this is only the sample 00:40:00 -!- alise has quit (Ping timeout: 265 seconds). 00:40:14 Sgeo: I have a long-term-ish plan to produce a wonderful, (La)TeX-set H2G2. 00:40:30 Spurred on by Quadrescence's homemade printing press. 00:40:43 typesetting 00:40:45 my head 00:41:01 Sgeo: tl;dr it'll look really pretty and you'll feel happy as you read it. 00:41:37 Unfortunately, I have been unable to obtain a good text source. 00:41:47 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 I'm half tempted to pirate 00:42:58 Especially because there's some thorough source for Aldiko 00:43:16 The thing is, the pirated stuff seems to be crappily done 00:43:27 Tried a Pratchett book, didn't see any footnotes 00:43:56 -!- FireFly has quit (Quit: swatted to death). 00:44:09 Mm; we really need better contraband books. 00:44:18 Nicely-set LaTeX. :P 00:44:50 I can't wait until .so is available. 00:44:52 I can't remember who invented Lisp 00:44:52 libc6.so 00:44:54 what is his name. 00:44:56 CakeProphet: McCarthy. 00:44:58 ah right 00:45:03 have you see his Elephant language? 00:45:06 John McCarthy. 00:45:10 CakeProphet: I have read little bits about it. 00:45:16 it's not very well documented as it's probably just a concept at this point 00:45:32 His mind is still sharp, it seems. 00:45:39 yes 00:45:46 I'm not sure I fully understand Elephant though 00:46:47 "End of this sample Kindle book" 00:46:48 Bleh 00:47:16 -!- coppro has joined. 00:47:34 alise_: I like the idea of being able to refer to the past as a means of memory. 00:47:43 just unsure of the implementation. 00:48:57 Dirk Gently's Holistic Detective Agency is here 00:49:10 * Sgeo guilties 00:50:02 alise_, indiscriminatelyfrom? 00:50:11 Is that from the original, or a typo in this verison? 00:50:18 Sgeo: Typo, I am pretty sure. 00:50:23 :( 00:50:28 Sgeo: Fuck it, want me to mail you my paperback? 00:50:50 I could probably buy it, but I end up losing paperbacks eventually 00:50:53 so, if I can fetch arbitrary URLs to egobot 00:51:06 there's nothing really stopping me from compiling programming language interpreters/compilers onto it, correct? 00:51:18 CakeProphet: indeed. it's easier just to send a revision to Gregor, though 00:51:21 also, HackEgo is more suited to that 00:51:31 EgoBot doesn't really keep state afaik 00:51:31 ah, perhaps 00:51:39 er 00:51:39 Now that I have Internet access whereever I go, I'm more willing to go to the bookstore 00:51:42 I meant HackEgo actually 00:51:53 the one that has a sandbox 00:52:59 I wonder if you could combine functional programming with temporal logic as in Elephant 00:53:46 Why does The Last Hero have to be one of very few Pratchett books not on Kindle? 00:53:52 It's one of very few I haven't read 00:53:52 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 Next we may consider the time of a certain event, say the time when a person was born. 00:53:58 Erm, Discworld, not Pratchett in general 00:54:00 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 More generally, we may consider the unique time or the first or last time a certain proposition was true. 00:55:36 the if-where concept would come in handy for that. if where 00:56:38 rather than breaking it up into two statements. 00:57:42 Sgeo: Because it's 20 centimeters on a side, in larger print, and very illustrated 00:59:55 CakeProphet: egobot has a sandbox 00:59:58 just not persistance afaik 01:00:04 *persistence 01:00:05 Hm, guess I have to buy a print version 01:00:17 I wanted all my books from now on to be eBooks :/ 01:00:18 Sgeo: Stop buying Kindle books. 01:00:31 I haven't bought any yet 01:00:47 Well, don't. 01:01:05 Why not? 01:01:36 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 Ergo, don't support Amazon's Kindle endeavours. 01:01:51 Hm 01:01:54 Alternatives? 01:03:02 Well, that's the issue, isn't it. 01:03:21 Wonder what Sony readers recommend. 01:03:36 http://ebookstore.sony.com/ Hmm. 01:04:02 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 The Kindle doesn't support ebook files, afaik. 01:04:18 Hmm, what about the Nook? What system does that use? B&N's, presumably. 01:04:22 I'm using a Nexus One 01:04:57 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 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:17 *Nexus One 01:05:19 And you won't enjoy it. 01:06:31 I'm finding it comfortable so far 01:06:34 Sgeo: when/if I complete an Android game app 01:06:35 In my limited experience 01:06:37 you should playtest it. :) 01:06:43 Sgeo: Well, you're wrong. 01:06:44 CakeProphet, will do :D 01:07:03 Sgeo: it'll be sort of Metroid-inspired 01:07:18 with 360 degree aiming... if it turns out we can actually animate that. 01:07:19 I've heard Aquaria was.. Metroidy in some way? 01:07:34 hmmm, dunno. I've never heard of it. 01:07:47 like, I'm really not sure I have the programming experience to pull off my ideas 01:07:52 or the game design experience 01:07:55 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 but if I can... I think it will sell very well. 01:08:21 TIMESTRETCH. PROJECTILE. PUZZLES. 01:08:58 (The physical page-flippin keys -- officially volume control, or zoom in browser -- are a nice addition, though.) 01:09:14 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 ...don't even ask me if I can program that. But I've found a sweet open source 2d engine for Android 01:10:39 that will make things easier. 01:12:49 CakeProphet: that's a great idea. make it free :| 01:13:27 well 01:13:29 see 01:13:32 I need money. :P 01:13:39 Ads! 01:13:46 so what I plan on doing is releasing the code open source but copyrighting the artwork. 01:14:00 meh. dunno. perhaps ads would be worthwhile as I would get more total downloads 01:14:13 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 If not, that would be fairly.. sad 01:14:57 CakeProphet: I suggest offering support for profit. ...Wait. 01:15:09 I just have my general objection to copyright, really. :P 01:15:47 alise_: me too, but unfortunately I see the practical benefits. Especially being unemployed. 01:15:48 Unenforcable != should be legal 01:16:08 ^^trap I've fallen into way too much 01:16:12 Sgeo: Nice of you to be so presumptious of your reasons. 01:16:17 I have far deeper arguments about copyright. 01:16:24 *of my reasons 01:17:56 I really don't have very solid reasons for supporting no-copyright, but I can defend against the typical reasons 01:18:06 it's counter-intuitive to capitalism. 01:18:53 ah, but I lack the time to open this can of worms 01:18:56 I have places to go. 01:19:17 talk to you guys later. 01:20:15 bye CakeProphet :) 01:29:57 Sgeo: Why should there be unenforcable laws? 01:30:13 All they do is bloat the legal system, after all. 01:31:16 They encourage more lawful people to follow them 01:31:33 There are people who care about following the rules 01:31:56 and they get run over by the people who don't 01:31:56 Although, in my case, I have a tendency to care about that, while philisophically disagreeing with such a mentality :/ 01:32:13 coppro: not always 01:32:25 being seen to break the law, even an unenforceable one, sometimes has other drawbacks 01:32:30 like people trusting you less from then on 01:32:34 ais523: ssh, I'm playing devil's advocate here! 01:32:46 I don't think many people have a strong will to follow unenforcable laws that they do not think are right. 01:32:56 And they will still do what they think is right in the absence of unenforcable laws. 01:33:13 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 ais523: Only when the law in question is commonly seen as a reasonable moral code. 01:33:27 pikhq: yes 01:33:33 in which case, is a law necessary? 01:33:33 or if you're in a rather unusual community for some reason 01:33:35 And the thing is, laws *do not exist to dictate morality*... 01:33:46 laws exist to codify it 01:34:05 They exist to keep society running. 01:34:09 "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 Don't give a flying fuck about morality. 01:34:35 arguably, laws are useful if only as a prediction of how the police and courts will behave 01:34:36 Of course, back then there were a lot fewer book-keeping laws and it was mostly legislation of morality. 01:34:39 pikhq: Soo... how about them laws against gay marriage? 01:35:04 coppro: Those cause issues in the functioning of society, by causing unequal treatment of members of it. 01:35:06 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 it's just a definition 01:35:26 ais523: Yeah, but it exists as a reflection of morals 01:35:33 yep, OK 01:35:37 law is effect here, rather than cause 01:35:42 right 01:35:45 Marriage is between a man and many women, like it always used to be! 01:35:53 Yup, acting in opposition to the purpose of a legal system. 01:35:58 Sorry, *many girls 01:36:23 If laws existed to enforce morality, then surely, surely they'd legislate against more immoral behaviors. 01:37:13 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 alise_: Is it really a "slippery slope" argument if people are actually advocating it? 01:38:23 Well, indeed. 01:38:27 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 s/political/political power/ 01:38:46 I note that economic immorality goes unpunished. 01:39:07 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 As well as ecological immorality (BP got a slap on the wrist). 01:39:19 -!- SgeoN1 has joined. 01:39:26 alise_: their stock price plummeted miles, which is more than just a slap on the wrist 01:39:31 alise_: It does not go entirely unpunished 01:39:35 Going to go eat now. 01:39:36 the markets managed to punish them pretty effectively, even if the government didn't 01:39:41 it certainly doesn't get punished appropriately 01:39:43 ais523: yeah, but they sell fucking /oil/, they'll be back up soon 01:40:09 pikhq: Could you please remove the curry powder from my body? 01:40:11 the US is going to be on BP's ass for a lot of money for a long time 01:40:44 corruption is a real problem in basically every government in the world 01:40:45 alise_: Sure. 01:41:05 pikhq: O-kay, this is way too ambiguous. 01:41:11 in the US, it's big enough that it's actually noticeable, which is worrying 01:41:22 normally they hide it better in first-world countries 01:41:27 ais523: on a scale of 1 to 10, how much does anarchism scare you? 01:41:32 coppro: Yes, but they sell *oil*. 01:41:34 alise_: pretty highly 01:41:37 maybe around 8 or 9 01:41:44 ais523: under what definition of anarchism? Somalia? 01:41:55 I'm talking about, e.g. anarcho-syndicalism. 01:42:03 alise_: a generic one where there's no authority of any kind 01:42:09 it would lead to large levels of vigilantism, at least 01:42:12 Anything that doesn't have a peaceful plan of transition scares me 01:42:14 If BP really wanted to, they could *stop selling oil in the US*. 01:42:19 and vigilantes tend to be rather indiscriminate 01:42:26 Thereby causing immediate collapse of giant chunks of infrastructure. 01:42:27 ais523: That's a statement that I believe to be unjustified; people have a tendency of vastly oversimplifying anarchism. 01:42:43 You can't just say "generic anarchism", the different strains differ *very* much. 01:42:50 pikhq: and that would be how the US would get back at BP? 01:42:54 Granted, the supply would eventually be met by other suppliers, but damn would it hurt. 01:42:55 alise_: agreed; I was trying to interpret your question 01:42:55 oh, I see what you mean 01:42:58 yes, 01:43:05 there is a third option, though 01:43:08 did you hear about the BNP setting up its own private police force in an attempt, they claimed, to reduce crime? 01:43:25 it actually made things worse because the real police had to follow them around to stop them doing anything illegal 01:43:25 ais523: Yes. 01:43:26 the US can expropriate 01:44:10 I'm a bit of an anarcho-syndicalist, which is somewhat of a strange position for a strong cynic. 01:44:47 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 Ah, I do love xkill; the indiscriminate chainsaw of the Linux world. 01:45:46 ideally, I think you want the impression of strong authority 01:45:58 ais523: Ew, no thanks. 01:46:03 I don't want to be living in a dictatorship, even a mock one. 01:46:13 alise_: I mean, a benevolent one 01:46:21 benevolent dictatorships are unlikely to exist 01:46:33 The issue being that there is no suitable benevolent dictator. 01:46:34 "They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety." 01:46:39 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 "Suitable" includes "immortal". 01:46:58 that would seem to be optimal, but unfortunately impossible 01:47:12 ais523: what about an insane sociopath who just wants to kill people and cares not of the consequences? 01:47:25 so he's killed, so what? at least he killed someone first 01:47:29 you'd need an actual police force 01:47:35 "when there is in fact no government" 01:47:41 yep 01:48:00 they'd have to be too terrified of the nonexistent government to become corrupt 01:48:14 nonsense; sociopaths have no sense of morals, they simply don't care 01:48:30 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 anyone know how to use kqemu? 01:48:48 alise_: I mean, you have people who actually stop them, even the citizens at large 01:48:57 ais523: why? the police force will do it. 01:49:01 and you install kqemu, then run qemu with sudo 01:49:08 alise_: hmm 01:49:27 you tend to get a lot of local crime-suppression even in, say, the UK 01:49:42 well, in the UK we're all nosy, paranoid fuckers. 01:49:58 especially in places which have good reason to fear a crime, like banks and jewelery stores 01:50:21 "don returned to Case Institute for his Senior Year. At the graduation ceremonies, they 01:50:21 were handing out the diplomas in alphabetical order. But they passed over don when they 01:50:22 got to the k’s. (Maybe lowercase k comes after Z). After all of the diplomas were handed 01:50:22 out, they asked don to step up on the platform. They said for the first time in the history of 01:50:22 Case Institute, they were conferring a Masters Degree on a student that had been pursuing a 01:50:22 Bachelors Degree." 01:50:49 So, is KVM the new KQEMU? 01:51:07 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:20 Eh. 01:51:39 KQEMU is an accelerator module 01:51:51 coppro: no, it's deprecated. 01:51:54 Regular QEMU will be fine. 01:51:57 Just slow. 01:52:00 It takes some code and executes it directly 01:52:06 it will work on any processor 01:52:08 err 01:52:09 any x86 01:52:39 KVM, on the other hand, requires a processor capable of doing virtualization directly 01:53:05 is KVM a bitch to get working? 01:53:15 dunno 01:53:32 I haven't tried it on a machine capable 01:54:13 I guess QEMU will be fast enough for Plan 9. 01:54:13 Alise, when will you read Fine Structure? 01:54:23 Sgeo: *alise; and when I'm out of the unit and in another country. 01:55:46 Wow, the Plan 9 mouse is slow. 01:58:11 ais523: wow, recursive descent was preceeded with the ridiculous "recursive ascent": 01:58:12 Ned Irons preceded our invention with a Recursive Ascent technique that starts off by 01:58:12 calling the primary routine, which makes the assumption that it should call the expression 01:58:12 routine, which makes the assumption that it must be in an assignment statement and calls 01:58:12 that routine. Obviously, expressions appear in places other than assignment statements. So 01:58:12 his technique makes mistakes. It recovers from the mistakes by leaving tracks that allow it 01:58:13 to find its was back to where the erroneous assumption was made. It then makes another 01:58:15 guess and starts working its way up the syntax chart again. Ned’s technique is obviously 01:58:17 slower, does not exercise as tight control, and gives pretty poor error messages. He imple- 01:58:19 mented his parser on a CDC 1604 at he University Of Princeton in 1960. He was working 01:58:21 with a group from the University Of Pennsylvania. 01:58:45 alise_: that's pretty much just backtracking, isn't it? 01:58:51 wait, no 01:58:52 ais523: but crazy 01:58:54 that really is insane 01:59:10 how does ANYONE think of that before recursive descent? 01:59:14 although, I suppose it could have helped to inspire the brilliantly crazy LR(1) 01:59:23 which vaguely resembles that, except actually works 01:59:36 LR(0)! fuck yeah! 01:59:47 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 INTERCAL is LR(infinity), btw 02:00:06 which one is the most complex of those? 02:00:10 LALR is the most complex right? 02:00:16 LALR's a special case of LR 02:00:24 hmm 02:00:26 is LL more general than LR? 02:00:28 which isn't quite as good, but uses a fraction of the memory 02:00:29 or vice-versa? 02:00:35 and LR's more general than LL 02:00:35 -!- poiuy_qwert has joined. 02:00:39 anything more general than LR? 02:00:46 I mention LALR(1) because that's what yacc does 02:00:53 and yes, bison supports GLR(1) 02:01:18 which is a sort of nondeterministic LR(1) 02:01:25 I mean, more nondeterministic than LR(1) normally is 02:01:29 GLR(infinity) 02:01:33 and thus is capable of handling /any/ lang 02:01:46 oh, so GLR(infinity) isn't more powerful 02:01:46 aww 02:01:49 ais523: err, no 02:01:57 although, GLR(2) would be a lot more efficient than GLR(1) at a lang that was actually LR(2) 02:01:59 ais523: it can't handle, say, ZFC, can it? 02:02:07 alise_: err, any TC-parseable lang 02:02:07 after all, that's a language, technically 02:02:32 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 `quote in most channels, I wouldn't even need to add the qualifier that the language has to be theoretically possible to parse... 02:03:02 coppro: addquote 02:03:11 `addquote in most channels, I wouldn't even need to add the qualifier that the language has to be theoretically possible to parse... 02:03:14 No output. 02:03:20 Oh. HackEgo's broken. Sorry. 02:03:20 `quote theoretically 02:03:27 No output. 02:03:31 ugh, how did it break? 02:03:36 No output. 02:03:49 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 alise_: I wouldn't be surprised 02:04:18 well, it depends on what you're trying to do 02:04:30 thanks, eBay: 31 items found 02:04:35 there's a kind of problem which is simultaneously theoretical computer science, and engineering 02:04:42 and it's that sort of problem that #esotericers are good at 02:04:43 and that's your problem :P 02:04:50 it comes up surprisingly often, but people don't recognise it 02:05:20 ais523: outside of academia, otoh, our solutions to those problems are ... well ... not accepted :P 02:05:30 alise_: you don't consider me fluff? yay! 02:05:35 :P 02:05:42 coppro: indeed not! although i don't know if you do any actual cs 02:05:47 alise_: nah, my solutions at least often are accepted 02:05:54 alise_: A lot of computer science talent, but we seem to *all* suffer from project ADD. 02:05:57 certainly if anyone wants a /programmer/ they'll find an excellent one here 02:05:58 alise_: Not as of yet 02:06:03 although I normally need a complete rewrite to get them in anything close to language that other people understand 02:06:17 I'm starting my CS degree next year 02:06:25 * SgeoN1 wonders what he's considered 02:06:26 coppro: congratulations; you'll then know nothing about CS 02:06:35 coppro: good thing you're in Canada rather than the UK; otherwise I might end up teaching you 02:06:38 unless the CS curriculum has improved significantly since the last time I looked. 02:06:39 and that would be really embarassing, probably 02:06:42 ais523: good thing? bad thing! 02:06:52 alise_: Not really. 02:06:54 alise_: It's at UW, which is known for teaching actual CS 02:07:01 ais523: what uni do i need to go to to get taught by you, birmingham? 02:07:05 yes 02:07:07 coppro: Even *MIT* have ruined their CS curriculum. 02:07:09 In general, a CS degree is a degree in being able to program. 02:07:11 M I fucking T! 02:07:14 ais523: i'm there 02:07:19 but I'm not actually all that good at teaching 02:07:26 pikhq: except you can't handle fizzbuzz or linked lists 02:07:35 nearly all the students hate me, except for contradictory reasons 02:07:46 ais523: i don't really care, it'd be cool to meet you :P 02:07:57 and you could just give me A++++++++++ on everything since clearly i am awesome 02:08:04 This scenario is realistic. 02:08:04 Hmm. I was considering going to Stony Brook postgraduate so I could get an actual CS degree and education. 02:08:05 nah, that would be bias 02:08:09 and besides, marks are percentages 02:08:14 Sgeo: augur went to stony brook at some point 02:08:19 ais523: 111%, then! 02:08:21 it's bad enough when you're trying to anonymously mark someone whose ID number you have memorised 02:08:23 I did one better than 110%. 02:08:38 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 alise_: Uh... That's like first or second semester... 02:09:04 i did indeed! 02:09:09 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 Currently the major I'm in is .. a bit less than pure programming, I'd say 02:09:23 alise_: Somehow, yes. 02:09:31 Because (a) people are stupid and (b) a lot of universities suck. 02:09:39 So, yeah, a CS degree counts for nothing these days. 02:09:39 The CS programs I've seen at least teach *programming* well. 02:09:39 the quality of some of the students worries me, although most of them are very good 02:09:47 also, I'm pretty certain that Java does not make a good first language 02:09:54 although, it's the one I have to teach anyway 02:09:58 Well, except for that really retarded one that considered C a very hard, optional thing. 02:10:06 On the plus side, I'm at the top of every computer class... which says more about the other students, really 02:10:22 Rather than, y'know, essential to *practical* programming these days, regardless of whether or not you use it. 02:10:45 SgeoN1: Stop being so self-deprecating, already 02:11:02 coppro: Sgeo is simultaneously too self-deprecating and too naive. 02:11:07 A difficult combination to achieve. 02:11:11 I liked my (electronic engineering) degree; the first languages they taught us were C and asm, simultaneously 02:11:19 I suppose electronic engineers rarely work with anything higher-level 02:11:21 pikhq: I don't think CS courses should concentrate on practical programming at all. 02:11:26 pikhq: Programming, yes; practical, no. 02:11:26 SgeoN1: whats your interest in stony brook? 02:11:36 IIRC the current program at UW is Scheme then into Python or C (student's choice) 02:11:40 pikhq: C is probably worth teaching because if you can't understand pointers you lose. 02:11:53 coppro: which will you choose, do you think? 02:12:13 I'd choose C; with Python there'll be an awful lot of Python-related cruft and rubbish class-ery. 02:12:19 It's hard to bullshit C, especially if you start with Scheme. 02:12:20 Augur, a decent CS curriculum, rather than "Computer Programming/Information Systems" 02:12:21 alise_: "Practical" in the sense of "if you do any nontrivial programming at all, you will need to understand C." 02:12:25 definitely choose C 02:12:33 Python will be easier to pick up later, among other things 02:12:37 I know both languages 02:12:39 Python is a language to get shit done in, not a language to understand things in. 02:12:48 Among the reasons are the fact that Guido doesn't know shit himself :P 02:12:51 and learning C helps get rid of a whole bunch of awful misconceptions about how computers work 02:12:59 coppro already knows both 02:13:02 I don't have very many of those either 02:13:02 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 but I think he should pick C, personally 02:13:17 theres a CS department, ofcourse, but i dont know if theres anything theoretical being done 02:13:20 I'll probably pick C 02:13:25 This channel humbles me. 02:13:27 VICTORY HAHAHA 02:13:34 SgeoN1: why?? 02:13:39 SgeoN1: humbled me once too, just find a niche 02:13:42 i haven't, mind you 02:13:44 and yes, the whole situation with Python and tail-call optimisation is a really depressing one 02:13:54 yes, yes it is 02:14:02 there are other depressing things about Python, but that's the biggest one 02:14:07 my life goal is basically to be a dilettante with some specialist subjects on the side. 02:14:16 (meanwhile, Perl has a special operator for TCO, and just for fun, calls it "goto") 02:14:38 (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 Python's easier, but I will probably learn more in C 02:14:45 What niche would I have, besides virtual world stuff? 02:14:49 ais523: three of them? 02:14:51 which are they? 02:15:04 Which isn't a particularly relevant niche? 02:15:20 ais523: you know VPRI? 02:15:23 that was at ais523 02:15:26 coppro: label: goto label; my $labelname="label"; goto $labelname; sub tco_infinite_loop { goto &tco_infinite_loop; } 02:15:27 goto, goto &, and goto (with a labeled loop), IIRC. 02:15:28 SgeoN1: who knows. play with everything, find something you like 02:15:40 Ah, right, that was it. 02:15:44 SgeoN1: stop being so damn nostalgic; stop caring so much about recognition... and do interesting stuff instead. 02:15:45 the second form makes the heads of good-practices people explode 02:15:49 but doesn't really have any other purpose 02:15:50 no kidding 02:15:52 I think the self depreciation is partially because Alise got to me. And dang it, I need to fix that cap 02:16:03 *alise 02:16:10 Like I said. 02:16:26 :P 02:16:31 I never meant to make you hate yourself >_< 02:16:35 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 ais523: goto & is analogous to using jmp to a function in assembly, I'm pretty sure. 02:17:01 SgeoN1: If you were an idiot we would have ignored you long ago. 02:17:02 coppro, 15 02:17:06 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 pikhq: yes, although not implemented the same way 02:17:18 ...and replying to that with "15" just proves coppro's point. 02:17:23 ais523: Yes. 02:17:35 it basically jumps out of one function and into another without any of the typical prologue/epilogue 02:18:12 which is what TCO /is/, if you think about it 02:18:36 I've never thought about it any other way 02:18:51 SgeoN1: whats your particular interest in CS? 02:19:29 Partially knowing how things work, partially keeping up with this channel 02:19:30 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 which is actually how it's implemented in INTERCAL 02:20:05 hmm, I was in a car with my supervisor for several hours 02:20:09 "A type-safe embedding of x86-64 assembly into Haskell" 02:20:10 /orgasm 02:20:20 and we were discussing language features 02:20:38 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:39 ais523: True. 02:20:43 it /is/ a very neat command 02:20:51 which is NEXT FROM again? 02:21:12 I haven't intercaled in a while 02:21:35 it causes the target line to do a function call to the current line, when it's encountered 02:23:27 Wow, Plan 9 is installing slowly. 02:23:42 ais523: explicit entry points :) 02:23:50 -!- SevenInchBread has joined. 02:23:58 ais523: okay, this is a sign that I need to read the spec again 02:25:01 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 so it's not in the older manual 02:25:20 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 we jump to this label to return 02:25:34 it's like generalised come from / goto with structure of a sort 02:25:42 oh, it's just COME FROM that saves the address 02:25:53 boring; that makes it too easy 02:25:58 coppro: no, it's NEXT FROM that saves the address, COME FROM doesn't 02:25:59 lectures are the proper way to go 02:26:02 also, NEXT saves the address 02:26:07 GO TO wouldn't, but doesn't exist in INTERCAL 02:26:13 eax? 02:26:20 ais523: yes, that's what I mean; NEXT FROM is COME FROM except that it does save the address 02:26:29 yes 02:26:56 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 SgeoN1: what about it? 02:27:04 -!- CakeProphet has quit (Ping timeout: 276 seconds). 02:27:07 if you haven't seen continuation.i, try reading it sometime 02:27:51 As far as I know, it's a register, but context implies that there's something special about it. 02:28:20 SgeoN1: it's a register that's commonly used to pass arguments in 32-bit x86 ABIs, IIRC 02:28:31 and to pass results 02:30:18 -!- BeholdMyGlory has quit (Remote host closed the connection). 02:33:45 ais523: any thoughts about my [<], [>] idea? it's not that interesting I guess 02:33:48 but it does sort of unify stuff 02:34:05 [<] and [>] can be read as [any], i.e. "we have a language construct that specifies the label to be used here" 02:34:08 alise_: it's sort-of how I think about INTERCAL 02:34:35 so that e.g. "foo(?foo_result); [foo_result] result = @" works 02:34:43 because the [>] gets reinterpreted as [foo_result], i.e. jump to foo_result 02:34:49 but then we can't call functions 02:34:52 only enter 02:34:58 via a goto thing 02:35:00 but that's dynamic 02:35:01 so we have 02:35:39 @ = 42; foo : foo_entry : foo_result; [foo_entry] [foo_result] result = @; 02:36:00 where f:a:b means "set up f's [<] points to be [] points to be [>b]" 02:36:06 maybe foo < foo_entry > foo_result is a nicer syntax 02:36:24 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 ais523: hmm, I can't see plan 9 ping doing anything special 02:44:13 but then the default user has a lot of privileges 02:46:57 Why the hell isn't there a type-safe database. 02:48:10 alise_: many SQL databases are vaguely type-safe 02:48:17 and could probably be made more so without major issues 02:48:18 Yeah, but not in the good kind of way. 02:48:25 * alise_ writes a DB monad 02:57:32 ais523: what power does recursive descent have? i forget 02:57:36 it doesn't really have lookahead 02:57:38 without, say, ungetc 02:57:43 then it's... R(1), if that even makes sense? 02:58:06 which method is recursive descent, again? 02:58:16 one element in the syntax tree becomes a procedure 02:58:20 x := 'a' y 'b' becomes 02:58:27 x() { char('a'); y(); char('b') } 02:58:38 it's going to be something(0) in that case 02:58:43 possibly LL(0) 02:58:52 but I can't remember exactly how the naming scheme works 02:58:55 wrong 02:58:56 http://en.wikipedia.org/wiki/Recursive_descent_parser 02:58:57 LL(k) 02:59:09 i mean, ofc, i elided the accept stuff 03:00:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 03:02:12 i quite like recursive descent 03:02:23 -!- poiuy_qwert has joined. 03:02:30 hmm... i think you can make an LL(infinity) recursive descent 03:02:40 if input is an array, just have accepting(symbol, n) 03:02:44 where n = 0 produces current symbol 03:04:13 -!- coppro has quit (Read error: Connection reset by peer). 03:06:45 hmm, an a^nb^nc^n parser in C is oddly ugly 03:09:01 -!- coppro has joined. 03:10:30 int anbncn(char *s) 03:10:30 { 03:10:30 #define Ntimes(c) while (*s++ == c) i++; if (i != n) return 0; i = 0 03:10:30 int i = 0, n = 1; 03:10:30 if (*s++ != 'a') return 0; 03:10:30 while (*s++ == 'a') n++; 03:10:32 Ntimes('b'); 03:10:34 Ntimes('c'); 03:10:36 return 1; 03:10:38 } 03:10:40 best i have so far 03:10:42 kinda ugly really 03:13:02 ais523: ok, insane idea: post-emptive multitasking 03:13:17 it runs the two programs, *then* decides the best times to switch 03:13:24 Waitwhat? 03:13:43 alise_: brilliant 03:14:11 presumably, this would somehow take place retroactively 03:14:49 Clearly, a use for TARDIS in Befunge. 03:14:55 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:00 pikhq: *TRDS 03:15:10 Ah, yes. 03:15:29 Time and Relative Dimension in Space, not Time And Relative Dimension In Space. 03:15:32 :P 03:23:41 * Sgeo is getting a C# book for free soonish 03:24:58 All I have to do is tutor someone and make more money 03:25:28 that doesn't count as free 03:27:59 One, you can't tutor someone -- nothing personal, it's just that very few people can teach effectively. 03:28:04 Two, why the fuck do you want such a book? 03:28:07 Three, yeah, that's not free. 03:29:24 No money is leaving my hands 03:30:03 you have a stupid definition of free, then 03:30:15 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 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 your time is only worth $10/h if you're retarded 03:33:32 :/ 03:33:44 Does being clueless with money count as "retarded"? 03:33:47 =P 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 Is it safe to dd into a filter and then into dd for the same file? 03:41:39 Too hot in here... 03:41:45 coppro: I don't think so. 03:41:55 The last dd process will start immediately and open the file in write mode, erasing it. 03:42:11 does this apply to a device? 03:43:01 -!- poiuy_qwert has joined. 03:44:15 coppro: probably not 03:44:19 coppro: well 03:44:23 coppro: streaming device or block device? 03:44:26 dunno the correct terms 03:44:27 uh 03:44:35 block 03:44:43 (the other one is character btw) 03:44:51 coppro: i... wouldn't risk it, tbh. 03:44:57 try it with a floppy device or something :P 03:45:27 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:46:49 Idiot support agents? 03:47:16 well, guys fixing my computer 03:50:47 why do you have such guys? 03:51:33 warranty 03:52:02 (the "oops I hit my computer will you fix it pls" kind) 03:52:06 +with a hammer 03:53:44 coppro: well ... don't hit it 03:59:01 hmm, I have to hit this computer occasionally to stop it overheating 03:59:12 it took a while to figure out where to hit it to stop the fan getting stuck 03:59:51 yawn.... 4am 03:59:55 ais523: when did you wake up? 04:07:46 -!- Oranjer has joined. 04:09:14 ais523: omfg, esolang mailing list activity 04:09:55 I forgot that existed 04:09:58 (and am not subscribed) 04:11:01 Caller: comex 04:11:01 Judge: Wooble 04:11:03 this can only go well 04:11:24 -!- SevenInchBread has quit (Ping timeout: 265 seconds). 04:11:40 alise_: heh 04:11:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 04:12:02 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 I wonder if people will appeal? 04:13:20 -!- poiuy_qwert has joined. 04:14:06 how would $you write an a^nb^nc^n parser in C? 04:14:26 does it have to shortcircuit? 04:14:28 i.e. f(s) iff s = "a"^n "b"^n "c"^n [anything] 04:14:35 ais523: no, just that specification above 04:14:37 the only concern is elegance 04:14:39 and simplicity 04:14:40 the simplest way would probably be to count as, count bs, count cs, compare 04:14:48 indeed 04:14:57 and simplest way to count a particular letter is just to read until you get a different letter, then ungetc it 04:15:01 ungetc was invented for that purpose 04:15:32 int anbncn(char *s) { 04:15:32 int i,j,k; 04:15:32 for(i=0; *s++ == 'a'; i++); 04:15:32 for(j=0; *s++ == 'b'; j++); 04:15:32 for(k=0; *s++ == 'c'; k++); 04:15:32 return i==j && j==k; 04:15:34 } 04:15:36 It's on a string. 04:15:45 this accepts the empty string though with junk after it 04:15:47 which isn't really kosher 04:15:50 so let's say it has to check end of string 04:16:02 just check for \0 after the comparison 04:16:11 int anbncn(char *s) { 04:16:11 int i,j,k; 04:16:11 for(i=0; *s++ == 'a'; i++); 04:16:11 for(j=0; *s++ == 'b'; j++); 04:16:11 for(k=0; *s++ == 'c'; k++); 04:16:12 return !*s && i==j && j==k; 04:16:14 } 04:16:15 as in, return i==j && j==k && !*s 04:16:20 yeah 04:17:49 More "abstract" version: 04:17:50 int anbncn(char *s) { 04:17:50 int n[3], i; 04:17:50 for(i=0; i<3; i++) 04:17:50 while(*s++ == "abc"[i]) n[i]++; 04:17:50 return !*s && n[0]==n[1] && n[1]==n[2]; 04:17:52 } 04:17:54 Less clear, though. 04:20:15 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 int decralph(char *s, char *a, int sz) { 04:21:44 int n[sz], i; 04:21:44 for(i=0; i while(*s++ == a[i]) n[i]++; 04:21:44 for(i=0; i if(n[i+1] != n[i]+1) return 0; 04:21:46 return !*s; 04:21:48 } 04:21:50 I think. 04:21:52 Well, you can't actually do int n[sz]. 04:22:02 int decralph(char *s, char *a, int sz) { 04:22:03 alise_: VLA? 04:22:03 int *n = malloc(sizeof(int)*sz), i; 04:22:03 for(i=0; i while(*s++ == a[i]) n[i]++; 04:22:03 for(i=0; i if(n[i+1] != n[i]+1) return 0; 04:22:06 return !*s; 04:22:08 } 04:22:08 perfectly legal in C99 04:22:13 ais523: Well, sure, but :P 04:22:18 and you forgot to free n 04:22:18 Anyway, I /think/ that code is correct. 04:22:22 True enough. 04:22:32 if you want to keep it short, you could use alloca, but that's nonstandard 04:22:40 despite normally existing in practice 04:23:31 dammit, C needs 'finally' :P 04:24:32 int decralph(char *s, char *a, int sz) { 04:24:32 int *n = malloc(sizeof(int)*sz), i, ret=1; 04:24:32 for(i=0; i while(*s++ == a[i]) n[i]++; 04:24:32 for(i=0; i if(n[i+1] != n[i]+1) ret=0; goto end; 04:24:35 end: free(n); return ret && !*s; 04:24:37 } 04:24:39 There. Ugly, sure, but what the hell. 04:24:44 Hmm, you could do this in one pass. 04:25:38 int decralph(char *s, char *a, int sz) { 04:25:39 int *n = malloc(sizeof(int)*sz), i; 04:25:39 for(i=0; i while(*s++ == a[i]) n[i]++; 04:25:39 if(i>0 && n[i]!=n[i-1]+1) { free(n); return 0; } 04:25:39 } 04:25:41 free(n); 04:25:43 return !*s; 04:25:45 } 04:26:17 -!- SgeoN1 has quit (Quit: Bye). 04:26:55 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 as long as they have a recognisable start 04:27:14 (i.e., you never get aabc being valid but different from aabbcc) 04:29:05 Gotta love recursive decent. 04:29:12 Erm. Descent. 04:30:20 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 pikhq: no! Recursive ASCENT! 04:34:09 It is the most hideously stupid parser ever-- and therefore, our favourite! 04:34:10 alise_: o.O 04:34:21 pikhq: Actually invented BEFORE descent. 04:34:35 surely bogoparse is the most hideously stupid parser ever? 04:34:37 Not under that name, of course. 04:34:38 Ned Irons preceded our invention with a Recursive Ascent technique that starts off by 04:34:38 calling the primary routine, which makes the assumption that it should call the expression 04:34:39 routine, which makes the assumption that it must be in an assignment statement and calls 04:34:39 that routine. Obviously, expressions appear in places other than assignment statements. So 04:34:39 his technique makes mistakes. It recovers from the mistakes by leaving tracks that allow it 04:34:40 to find its was back to where the erroneous assumption was made. It then makes another 04:34:41 generate random parse-trees, see if they're correct 04:34:42 guess and starts working its way up the syntax chart again. Ned’s technique is obviously 04:34:44 slower, does not exercise as tight control, and gives pretty poor error messages. He imple- 04:34:46 mented his parser on a CDC 1604 at he University Of Princeton in 1960. He was working 04:34:48 with a group from the University Of Pennsylvania. 04:34:53 actually, that's not so different from recursive ascent 04:34:55 But... And... That... And? 04:35:22 That sounds freaking awful. 04:35:34 "An expression? I hear those appear in assignments! Let's go with that." 04:35:58 I cannot fathom accidentally reinventing one of those. 04:36:12 I have written parsers and realised after the fact that they were recursive descent. 04:36:33 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 or even if it's consistent 04:36:38 Because they just seem freaking natural for anything that's got clean BNF. 04:37:18 ais523: once, the CLC parser proved a false statement 04:37:23 but nobody noticed, as it seemed like normal output 04:37:40 alise_: its output is ICBM bytecode 04:37:55 oh, I see, you were making a joke on "consistent" 04:38:00 and I did an AnMaster and missed it 04:38:32 it would be cool if it actually outputted a proof that the given text must parse to a certain parse tree :) 04:38:34 What does the CLC in CLC-INTERCAL mean? 04:38:43 pikhq: it's the initials of the primary author 04:38:47 Ah. 04:39:12 Why can't a predictive recursive descent parser parse an ambiguous grammar? 04:39:16 Clever "Lemniscate" Caviar 04:39:24 coppro: if it guesses wrong, it doesn't know what to do next 04:39:31 coppro: Why can't your MOTHER parse an ambiguous grammer?? 04:39:53 oh, duh 04:39:59 nm, being an idiot today 04:40:23 -!- CakeProphet has joined. 04:40:53 pikhq: So, typesettery. I was considering having the 'final stage' before actually putting pixels to paper be, basically, nested lists containing sets. 04:40:54 To explain: 04:41:03 Actually, no nested lists. 04:41:06 Just sets at certain points. 04:41:13 oh no, this isn't yet another total preorder is it/ 04:41:18 So, we say that at point (3,4) -- for some abstract coordinate system -- 04:41:28 those things have come up twice in a month at work, despite being generally unused 04:41:35 we have the foop (a (12 pt) bold) 04:41:38 which is the same as 04:41:43 ((pt 12) a bold) 04:41:46 etc 04:41:52 so we have nested sets here 04:42:04 now, when this is actually rendered, we ask the character set for a character matching these attributes 04:42:16 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 and that's the pixels returned 04:42:28 now, these coordinates can overlap, because of kerning etc. 04:42:32 but this is okay, because of transparent backgrounds 04:42:57 btw <3 Parsec 04:42:58 things like borders would be big box characters around the stuff, i think 04:43:08 and images would be e.g. (image 234988eu98234-uniqueid) 04:43:15 coppro: (thumbs up) 04:45:30 coppro: It is awesomeness. 04:48:09 it is basically the way parsing was meant to be done 04:48:22 or IS it... dun dun DUNNNN 04:48:55 PEGs huh, i hear pegs are good, pirates have pegs fuckshitting pegs pirates yeaaah it's almost 5am. 04:48:59 FUCKING PIRATESHITTING PEGS! 04:49:01 anyway, moving on 04:49:06 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 Any parsing expression grammar can be converted directly into a recursive descent parser[citation needed]. 04:49:12 so they're like quite as awesome 04:49:13 twice 04:49:19 twice is basically the same word as quite ithink 04:49:24 there's a t there, thjat should be a c 04:49:27 but u is basically w 04:49:34 and nobody gievs a fuck about q, so we can just replace that with t 04:49:37 so we get quite = twice 04:50:39 ais523: So, um... when did you last sleep? I set my sleep clock on other people's. 04:50:52 alise_: woke up at about 5pm yesterday 04:51:00 my sleep clock is not a good one to set to, though 04:51:04 I last went to sleep 18 hours ago 04:51:06 fuck, i woke up at 10am this morning :) 04:51:14 my sleep is not a good one to set to if you're in the UK 04:51:18 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 shut up i'm too tired to think so fuck that shit 04:51:41 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 U S A , land of the mild 04:52:27 alise_: Try 11PM. 04:52:31 But yeah. 04:52:52 Also, mild country? 04:52:55 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 mascot thourselfs towaqrds my untodistablishabilityies 04:53:34 Uh. It's 7 in Hawaii-Aleutian time? 04:53:35 * Sgeo arbitrarily decides that alise_ is mild 04:53:41 pikhq: FUCKING HAWAII 04:53:45 ... just 04:53:47 FUCKING HAWAII 04:56:25 TAIWAN WOW 05:00:22 man this is painful 05:01:08 台湾? 05:01:37 * pikhq loves polyglot sentences 05:01:50 pikhq: polyglot between which langs? 05:02:17 ais523: Japanese, all Sinitic languages, (atypically-written) Korean, (atypically-written) Vietnamese. 05:02:32 Yeah, that's right. An entire language branch. 05:02:33 :P 05:02:33 is it particularly meaningful in all of them? 05:02:39 Same meaning. 05:02:44 "Taiwan?" 05:02:51 ``TAIWAN``'' 05:03:08 No output. 05:03:16 that's a sort of pointless polyglot, then 05:03:22 sort-of like the null quine 05:03:27 It's easiest with proper nouns, yes. 05:03:44 NULL NOUNS 05:03:52 hmm, I wonder if there are any spoken Mandarin/Cantonese polyglots 05:04:08 Yes. 05:04:17 Not many, mind. 05:04:21 preferably, meaning a different thing in each lang 05:04:33 Oh, different meanings in each? Trivial. 05:04:49 They're both syllable/tonal structured, and there's overlapping syllables and tones. 05:04:53 SP[Æ]KING THE Shíshì shīshì Shī Shì, shì shī, shì shí shí shī. 05:04:54 I suppose so 05:05:08 perhaps you could make it a question in one lang, and its answer in another 05:05:09 WOULD BE THE SPOKING OF THE WORDS ENVISIONED -- INSIDE THIS -- pikhq -- THOU HA'STEST A LINGUISTIC SYSTEM 05:05:12 FOR THE TRANSCRIBING OF KANJI 05:05:21 APPLY IT TO THIS POE~TRY, LION - EATING POET IN STONE DEN, THE 05:05:28 《施氏食獅史》 05:05:28 石室詩士施氏,嗜獅,誓食十獅。 05:05:28 氏時時適市視獅。 05:05:28 十時,適十獅適市。 05:05:28 是時,適施氏適市。 05:05:29 氏視是十獅,恃矢勢,使是十獅逝世。 05:05:31 氏拾是十獅屍,適石室。 05:05:33 石室濕,氏使侍拭石室。 05:05:35 石室拭,氏始試食是十獅。 05:05:37 食時,始識是十獅,實十石獅屍。 05:05:39 試釋是事。 05:06:00 I can kinda-sorta understand that. 05:06:02 IT IS NOT REALLY KANJI BEING CHINESE I GUESS BUT WHO CARES 05:06:17 Really freaking weird-looking, mind, but. 05:06:42 IT IS ROMANISED IN "SHI"S 05:06:44 NOW ROMANISE IT 05:06:45 alise_: "Kanji" is more literally translated as "Chinese characters". Or even more literally translated as "Han dynasty characters". 05:06:58 Not all of those characters have Japanese readings. 05:07:08 I'll try though. 05:07:49 Oh, wait. The few that don't have reading indicators. I can cheat! 05:09:18 Ishishittsujishishishi, shishi, shishokujyuushi. Shijijitekishikanshi. Shiji, tekijyuushitekishi. Saiji, tekishishitekishi. Shikansaijyuushi, jishitsudou, bensaijyuushishise. Shikaisaijyuushishin, tekiishishitsu. 05:09:25 ... That's about where I'm going to give up. 05:09:37 pikhq: Excuse me? That is not entirely "shi". 05:09:42 Also, that is not in your romanisation scheme. 05:09:47 Yours had xs in, or something. 05:09:52 Oh, right. 05:12:34 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 After that is where I stop being able to give or reasonably guess at readings. 05:14:37 321654165456465465 need to sleep 05:19:58 How do I tell if I've been a victim of C# poisoning? 05:20:32 you like c# 05:20:46 It is a nice language.. 05:20:57 alise_: C# is a massive improvement over all the other standard Windows application development languages 05:21:00 which is why people like it 05:21:22 Sgeo: poisoned 05:21:30 ais523: it's also shit 05:22:05 C++ is worse, Python is not statically typed, Java is worse 05:22:05 alise_: I don't know it well enough to know what bad points it has 05:22:23 what's so bad about it? I'm curious, and would like ammo to use against C#-loving types 05:22:48 C is not really application-level, especially for security-requiring stuff. Too easy to write unsafe code. 05:23:50 I think the thing I dislike most about C# is it reminds me a bit of MAGENTA 05:24:07 so many different ways to do things, that please different subsets of programmers, not for any particularly good reason 05:24:26 night 05:24:30 Night alise_ 05:31:07 night 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:42 Sgeo: a C# is fine too. 05:47:53 I rather like. It's basically what Java should be. 05:47:53 -!- poiuy_qwert has joined. 05:48:35 like... it always pissed me off that methods weren't first-class in Java 05:49:08 but in C# there's multicast delegates. It already saves you a shit ton of work when doing something event-driven. 05:49:44 CakeProphet: are in Java 1.7 05:49:49 all of it's bad points are essentially the same as Java 05:49:50 first-class methods, that is 05:50:04 ais523: oh really? Hmmm, okay. I assume it works differently from delegates based on your wording. 05:50:22 CakeProphet: you use # rather than . when referencing a method 05:50:29 and you get what's basically a function pointer 05:50:34 oh... eh. 05:50:39 is it typesafe? 05:50:43 ofc you could do it anyway making an anon class, and people did all the time, but that's stupidly wordy 05:50:55 and I'd guess it's typesafe at compile time but not run time, the way type erasure normally works 05:51:01 ais523: very stpidly. It's cumkbersome when it should be easy. 05:51:13 *stupidly 05:51:33 Suddenly getting first-class methods won't help when most Java APIs expect classes.. 05:51:40 yeah. 05:52:17 delegates are probably my favorite thing about C#. It's the thing that makes it stand out when compared to Java. 05:52:58 It's possible to go overboard, though 05:53:08 ah, well yes. 05:53:09 I recently wrote a function with 3 nested anonymous delegates. 05:53:19 fortunately every language design isn't Guido 05:53:31 or we'd be trying to prevent everything that allows mistake. 05:53:36 and failing miserably. 05:53:46 er *language designer 05:53:52 I need to pay more attention to what I type. :P 05:55:03 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 Crazy and conflicting, like ABCDEF? 05:55:34 * Sgeo sins by abbreviating it 05:55:47 right now I'm considering how one would merge concepts from Elephant with functional and OO paradigms. 05:55:52 Sgeo: no clue what that is... 05:56:07 but mostly functional. I'd pick functional over OO I think. 05:56:38 so essentially logic programming mixed with functional 05:57:02 where you have an implicit history (possibly via monad?) that can be referred to and manipulated via temporal logic. 05:57:25 http://esoteric.voxelperfect.net/wiki/Adjudicated_Blind_Collaborative_Design_Esolang_Factory 05:57:31 ooooh 05:57:50 Sgeo: no not quite. 05:58:02 let's see... 05:58:37 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 I sort of envison it like defining a custom parser in Parsec, that interprets the language for the syntax element in question. 06:05:51 ...though, I don't know 06:05:53 that might be too much. 06:06:16 maybe it's just easier to have macro operators. Combinations of operators. 06:08:22 Sgeo: someone should actually run a ABCDEF 06:08:35 CakeProphet, it was, once 06:08:43 We just never wrote a spec for the resulting language 06:08:47 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 I cannot wait for tomorrow night (technically today's night, since it's past midnight now) 06:35:37 You know the kid I was talking about as being a co-worker? 06:35:43 Of sorts? 06:35:46 American Independence Day celebration... with terrible cheap vodka and pot brownies 06:35:51 Sgeo_: ...no 06:40:19 I am wondering what I should mix this vodka with though. It's /bad/... it cannot be drank neat. 06:40:42 Perhaps http://en.wikipedia.org/wiki/Sex_on_the_beach_(cocktail) 06:40:57 * Sgeo_ would rather have real sex 06:41:23 Sgeo_: ha. well of course. 06:41:37 but we are cheap bastards 06:41:39 so anything we make 06:41:43 will not be those ingredients exactly. 06:41:53 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:20 Sgeo_: okay... so 06:50:41 I've got $6 US and a $12 handle of vodka. What mixers should I purchase? 06:51:07 His computer was taken away, apparently because his parents thought that they needed it more than he does 06:51:18 oh damn. 06:51:26 this was for the virtual world thing right? 06:51:37 Yes 06:51:56 Seriously, taking a computer away from a kid programmer has got to be the most obnoxious.. 06:52:24 yes. 06:52:42 -!- oerjan has quit (Quit: leaving). 06:52:44 Sgeo_: how old are you? 06:52:57 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 06:53:13 * CakeProphet is 18. 19 in a few weeks. 07:02:14 hmmmm salty dog / greyhound = vodka + grapefruit juice 07:02:15 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 07:02:16 this is convenient 07:02:27 as I already have some grapefruit juice. 07:03:25 -!- poiuy_qwert has joined. 07:06:20 Yorsh (Russian: ёрш) is a Russian drink consisting simply of beer thoroughly mixed with an ample quantity of vodka. 07:06:26 .....why would you ever do that. 07:06:54 Preparation: mix thoroughly and drink quickly! 07:06:57 I bet. 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:51:47 argh, annoying 07:52:29 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 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 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 Similar effect to what? 08:26:21 ais523: er... lots of syntax errors? 08:26:24 :D 08:26:32 Sgeo_: Lotus Notes 08:26:35 CakeProphet: I have no idea 08:26:43 but it must be bad if someone even /suggested/ that analogy 08:27:12 ah 08:27:31 but you can just enable -CompileFirefoxSource extension in GHC 08:27:36 it's pretty much standard Haskell at this point 08:28:02 haha 08:28:26 closely related is EnableSkynet 08:28:35 though it's fairly undocumented. 08:30:38 "Copyright 200X ACM X-XXXXX-XX-X/XX/XX ...$10.00." 08:30:51 strangest copyright notice I've ever seen, although admittedly it was on a draft paper 08:35:10 ha 08:35:24 Copyright 2XXX 08:35:32 by _______ ________ 08:35:58 ais523: do you know anything about mixed drinks by chance? 08:36:19 no; I don't drink alcohol 08:36:39 ah. well nevermind. :D 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:01:44 anyone here? 09:04:42 yes 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 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 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 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 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 no you can always sense it 12:33:57 well, all languages i've seen so far are pretty obvious 12:34:06 what have you seen 12:34:19 . 12:34:26 i don't know . 12:34:36 all the brainf*ck languages and stuff 12:34:41 "ACTA has now been declared a trade agreement thereby bypassing the congress." 12:34:41 simply weird syntax for assembly 12:34:48 tulcod: we have far more shit 12:34:54 underload 12:34:58 unlambda 12:35:00 toi 12:35:05 oklopol's langs 12:35:05 check toi first 12:35:10 :-) 12:35:17 intercal with extensions 12:35:34 BCT 12:35:40 http://esolangs.org/wiki/ 12:36:07 all of those except toi are pretty obvious tho, so maybe you should check out toi?!? 12:36:24 oh umm bct 12:36:28 so humble 12:36:34 i know 12:36:40 oklopol: point is they're more interesting than bf 12:37:11 oh for tcness 12:37:17 well yes but compared to toi... yeah i'll shut up 12:37:24 yeah tcness 12:37:27 tulcod: yes, you can easily make a language tc iff goldbach conjecture 12:37:28 alise: hm, just looking at underload, that's far better than whitespace and all that wikipedian crap :) 12:37:29 forget how 12:37:32 so i was at least partially being useful 12:37:44 whitespace is a syntax language, yes 12:37:48 quite 12:37:48 tulcod: we're the snob part of the esolang guys :P 12:38:13 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 all 102% of languages 12:38:43 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 how did i get this humble i wonder 12:39:23 tulcod: some of the absolute best languages come from cpressey. classics like befunge but also very abstract, unknown-tc langs 12:39:30 i did like graphica's syntax, but admittedly toi has the worst syntax ever 12:39:42 tulcod: http://esoteric.voxelperfect.net/wiki/Chris_Pressey; 12:39:44 i don't know much about cpressey's work outside bf 12:39:47 and: 12:39:57 oklopol: cpressey didn't do bf he did befunge :P 12:40:01 yeah yeah i know 12:40:07 (.b) 12:40:12 (but sry) 12:40:20 tulcod: http://catseye.tc/cpressey/lingography.html his languages 12:40:29 hm nice 12:40:35 tulcod: further you go down, much more interesting and CSy they get 12:40:41 hehe 12:40:48 e.g. burro where the set of burro programs is a group 12:40:59 oh smetana was his 12:41:19 " 12:41:19 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 great anniversary present or best anniversary present? 12:41:49 alise: sounds great :D 12:42:22 RUBE is a classic by him 12:42:34 i'm just wondering what the message of making an error-based language is 12:43:09 SMITH (2000) 12:43:09 A self-modifying assembly-like language which completely lacks any kind of jump instructions whatsoever. 12:43:16 Noit o' mnain worb (2000) 12:43:16 A neat little toy automaton that uses pressure between randomly moving particles to approximate the behaviour of circuits. 12:43:24 worb is his too?!? 12:43:29 oh shit 12:43:34 cpressey: ur cool 12:43:44 hehe 12:43:45 you're my new idol, oerjan is out 12:43:58 Emmental (2007) 12:43:58 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:01 i could go on 12:44:07 but i won't :P 12:44:14 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 tulcod: well there are applications in CS 12:44:38 i'm aiming for a career in research in computability 12:44:44 our ais523 won the wolfram prize by inventing what is basically a deliberately sub-TC esolang tag system 12:44:47 iirc 12:45:14 and i wouldn't say many of us are all that dedicated :-P 12:45:17 tulcod: and his day job requires a lot of esolangy stuff 12:45:29 most of us just do this for fun and interestingness, though 12:45:34 more esolangy than fortran and basic? 12:45:46 more esolangy than haskell 12:45:49 hehe 12:45:57 "idealised concurrent algol", mathematical model 12:46:00 so what kinda work would that be? :) 12:46:08 i dunno exactly, ask him :P 12:46:16 cpressey: you on? 12:46:40 cpressey: yes could you tell us where you get your ideas 12:46:56 why does everything i say look sarcastic 12:47:04 maybe i'm TOO sincere 12:47:55 tulcod: wouter has cool stuff if you can handle his gigantic language list: http://strlen.com/proglang/index.html 12:48:07 highlight: http://strlen.com/aardappel/index.html 12:48:30 he also did false but that's basically brainfuck on a stack 12:48:48 !help languages 12:48:48 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 lazy k is pretty cool 12:49:14 tulcod: malbolge too 12:49:23 took a computer search to find the first hello world 12:49:26 and was /cryptanalysed/ 12:49:39 hehe 12:49:47 sub-tc but only for memory limitations 12:49:48 false is brainfuck on a stack? i'm not sure i agree 100%, but maybe i remember it wrong... 12:49:52 well 12:50:01 oklopol: http://esolangs.org/wiki/FALSE close enough 12:50:04 okay i guess if you interpret it freely enough 12:50:15 just more capable 12:50:20 with arithmetic and shit 12:50:24 so it's less esoteric :P 12:50:45 tulcod: btw brainfuck's goal was tiny compiler, not extreme abstract interest 12:51:01 well alright 12:51:08 i'm not saying the guys who designed it are stupid 12:51:13 but it's not extremely interesting 12:51:59 finally, if you ever want to see what over-engineering is, compare: 12:52:02 befunge-93 http://catseye.tc/projects/befunge93/doc/website_befunge93.html 12:52:08 funge-98 http://quadium.net/funge/spec98.html 12:52:11 brainfuck is based on a computational model called P'' whose point was to prove you can be tc without loops 12:52:22 well 12:52:32 oklopol: no without goto 12:52:32 i don't actually know for a fact it is based on this, but it's the same thing 12:52:37 err yes 12:52:41 "typo" 12:52:56 (was gonna write with loops, but it's the omission that's important so well yeah asd) 12:53:43 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:41:52 rayikromtmrokt 13:42:25 -!- poiuy_qwert has joined. 13:47:22 http://www.youtube.com/watch?v=NH0aEp1oDOI New version of Photoshop CS5 includes hyper-intelligent gnomes that can do anything. 13:48:46 that + http://vimeo.com/6496886 = gnome child labour 13:51:16 -!- nooga has quit (Read error: Connection reset by peer). 13:51:24 http://img.skitch.com/20091005-q5jx8gdg2j11ubrhap4fpfe8mp.jpg 13:51:30 Raptor, raptor, raptor, screaming man, endless void of space. 13:52:36 also seam carving 13:52:37 that's gnomes too 13:53:45 i think they're taking the term "magic wand" a bit too literally 14:00:27 [CSI] 14:00:31 http://i.imgur.com/ZN3b9.jpg "Oh no, the image is cropped!" 14:00:34 "It's okay! Just press undo! 14:00:35 " 14:00:39 [Synthesising...] 14:00:40 http://i.imgur.com/AqTcE.jpg 14:00:44 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 14:00:50 s/\n"/"/ 14:01:30 -!- Slereah has joined. 14:01:55 -!- poiuy_qwert has joined. 14:09:47 http://www.youtube.com/watch?v=NH0aEp1oDOI <<< looks like someone finally made a program that isn't completely retarded 14:10:48 would be interesting to know how special-cased that is for real-life objects 14:11:03 (or the samples :-)) 14:12:30 apparently there's a quite old plugin for gimp that does the same thing quite well 14:12:38 i imagine it'd have an easier time with abstract shit 14:12:40 less crap to copy 14:12:47 the basic technique appears to be "given a texture, make more of that texture" 14:12:53 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 presumably with some tweaks to mirror e.g. the balance of elements in the texture 14:13:06 oklopol: oh god you're right 14:13:10 shit, looking at the bottom is so disturbing 14:13:16 it's like... fractal and... evil 14:13:20 yes :D 14:13:22 awesome 14:13:32 shit, i'm pretty sure there's plant / zoomed out grass hybrids in there 14:13:38 that's just sick 14:13:41 * alise shivers 14:13:48 oklopol: though, admit you need to know it's computerized to see it 14:13:58 it is very convincing otherwise 14:14:06 to me it looks like there's some sort of portal to another forest 14:14:18 tulcod: you need to look at the bottom to see it, yes 14:14:30 as i said, it looks very natural if it's in the corner of the eye 14:14:55 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 plants are not furry like that 14:15:02 uuurgh 14:15:08 please obliterate this feature 14:15:10 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 oklopol: hey you're right, that dark spot looks like the trees in another forest 14:15:35 i still think that's incredible 14:15:36 the plants around it get spatially distorted due to, you know, portal physics 14:15:42 oklopol: if you went through the portal you'd be huge 14:15:43 :) 14:15:45 look how tiny the tree is 14:15:49 awesome 14:16:17 portal physics is the very scientific principle whereby portals do crazy shit 14:16:19 -!- hiato has joined. 14:17:06 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 http://www.logarithmic.net/pfh/resynthesizer 14:17:24 gimp plugin 14:17:25 -!- nooga has joined. 14:17:28 phd thesis detailing the algorithm 14:17:28 enjoy 14:17:33 (that creepy forest was done with resynthesiser) 14:17:42 (I have a hunch photoshop would produce something slightly less creepy) 14:17:42 oh that was not photoshop 14:17:48 yeah but 14:17:50 same algo basically 14:17:50 well judging by the youtube vid 14:17:57 gives almost identical results for most of the pics 14:18:00 how do you know it's the same algo 14:18:00 i guess forests are just pathological :P 14:18:08 oklopol: cuz the results are almost identical basically 14:18:12 also the internet says it's the same 14:18:19 and it has like the same tools 14:18:39 anyway just read the thesis, that's the creepy forest algo, the important portal one 14:18:44 results are almost identical, what are you basing this on? 14:18:54 looking at those examples, or more 14:18:57 people who did the panorama and desert thing, want me to find links? 14:19:33 well no need i guess 14:19:54 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 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 how about synthesising a picture, removing some trees, then seam carving it 14:20:39 thought-out photography is so last century 14:20:53 "I'll bet it can uncrop a stock chart and predict the markets!" 14:21:16 someone linked to http://graphics.cs.cmu.edu/people/efros/research/NPS/efros-iccv99.pdf 14:21:20 "This is completely real. In fact, the technology has been in development since 1999. (pdf warning)" 14:21:38 oklopol: using an obviously lower-quality screenshot of the panorama from the video: 14:21:42 http://i.imgur.com/0yKBG.jpg 14:21:42 http://i.imgur.com/e25kG.jpg 14:21:49 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:56 removing objects: 14:21:59 http://i.imgur.com/4A4ral.jpg 14:21:59 http://i.imgur.com/fEbazl.jpg 14:22:03 admittedly that example isn't so hard 14:22:10 and the grass is a bit dodgy around the removed area 14:22:35 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 that's how my brain responds to the visual information 14:22:47 "oh GOD fuzz apocalypse imminent" 14:22:52 ah i see 14:23:06 used to wonder what would happen if reality's texture system broke and i got mapped on to a couch 14:23:08 seriously 14:23:11 i was like 7 14:23:24 got pretty scared about it 14:25:30 give me an even number between 50 and 100 that doesn't repeat a digit 14:26:54 oklopol: not falling for that 14:26:55 holy fuck at the sketch thing 14:26:59 falling for it? 14:26:59 78 14:27:03 i saw it in the logs :p 14:27:06 what? 14:27:09 you did 14:27:12 when? 14:27:12 apparently everyone picks 68 14:27:16 uh a few days ago 14:27:27 someone linked to a shitty mind control blog mentioning it, after it worked on... maybe you 14:27:33 i'll try and find 14:27:41 -!- poiuy_qwert has joined. 14:27:45 oh hmm, maybe i got the link from here then, i thought i was googling for something else 14:27:52 and no i doubt i would've chosen 68 14:27:53 11:58:16 quick i need a someone to pick a *even* number between 50 and 100 that has two different digits! 14:27:53 12:00:04 68 14:27:53 12:00:29 interesting 14:27:53 12:00:35 thank you 14:27:53 12:00:40 hm? 14:27:54 12:00:41 --- part: ghostwriter42 left #esoteric 14:27:56 12:00:47 --- join: ghostwriter42 (~ghostwrit@unaffiliated/ghostwriter42) joined #esoteric 14:27:58 12:00:59 Is 68 a common response or something? 14:28:00 12:01:29 http://mindcontrol101.blogspot.com/ read the paragraph that says "pick a number" 14:28:02 12:02:17 ... 14:28:03 but 1/2 of my test subjects have said 68 14:28:04 12:02:27 i guess you win 14:28:06 http://tunes.org/~nef/logs/esoteric/10.07.01 14:28:08 oklopol: yeah i guess you wouldn't, but you aren't human 14:28:19 wonder why 68 14:28:46 we have one constraint on the pair that's completely symmetric in some sense, and a constraint on the latter digit 14:28:51 so obviously i would choose the latter one first 14:29:02 i might take an easy one like 2 14:29:08 then i could choose any number for the first one 14:29:27 68 is the first possible choice ofc, realizing that i don't think it's all that interesting 14:30:22 " wonder why 68" <<< ^ 14:30:37 okay pick a card please 14:31:05 3 of ... jacks 14:31:09 wait, that isn't a suit is it 14:31:09 :D 14:31:13 3 of spades 14:31:16 well not completely 14:31:21 xD 14:31:27 doesn't work when your target knows what you're doing 14:31:45 i'm doing a very partial disproof of these things working. 14:31:58 wtf, that thesis is 60 megabytes 14:32:01 HELLO I'M GOING TO TRY TO TRICK YOU INTO SAYING WHAT PEOPLE USUALLY SAY 14:32:05 was wondering why net was so slow 14:32:10 NOW PICK A CARD 14:32:15 I REFUSE 14:33:02 04:07:19 heh, just saw a bogus proof on Slashdot that the last digit of pi was 5 14:33:03 show? 14:35:01 tried to search for more of these because i'd like to try one on myself 14:35:11 and the link for http://www.indianchild.com/number_trick.htm gives the answer away on google 14:35:13 :D 14:35:23 -!- nooga has quit (Ping timeout: 265 seconds). 14:35:36 you can't hypnotise yourself dude 14:35:38 duhh :P 14:35:43 sure you can 14:36:01 "While not absolutely everybody picks "3", most people do." <-- oh i thought it meant pick an /arbitrary/ number, i picked 72 14:36:04 oklopol: i was joking. 14:36:11 interesting fact, these tricks aren't hypnosis 14:36:11 i know 14:36:21 i guess i should have picked a real 14:36:21 -!- tulcod has quit (Quit: Leaving). 14:36:27 did you pick 3? 14:36:28 but i think they probably meant natural even if they meant arbitrary 14:36:32 no picked 72 14:36:35 *no i 14:36:38 oh lol :D 14:37:01 you thought 1 2 3 4 was like a countdown to seeing how controllable you are 14:37:12 yeah 14:37:16 i thought it was gonna be like 14:37:18 "did you pick FIVE???" 14:37:43 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:05 :D 14:38:48 WELL ACTUALLY I HERD THERES A POLYNOMIAL THAT IS THE SEQUENCE 1 2 3 4 3 14:39:04 that's asstonishing 14:39:11 lol ass-tonishing 14:39:17 i'm just tonishing my ass 14:39:22 you just lagrance it up you'd understand if you knew maths 14:39:37 but i guess you don't.................. 14:39:39 fragrance it up 14:40:03 hey did you read about my fart language btw 14:40:07 did you think it was awesome 14:40:10 no, is it farty? 14:40:22 well it's a bf derivative but even funnier 14:40:30 *it's like bf but 14:40:36 ooh is it wav files 14:40:38 and basically 14:40:41 it detects fart noises 14:40:47 and uses the duration and pitch to pick a command? 14:40:55 if so congratulations you are a genius 14:40:56 well i thought of that but fizzie refused to do the sound stuff for me :( 14:41:09 he's a fascist 14:41:12 but input is still in farts 14:41:12 kill him 14:41:17 and output too 14:41:39 i removed nestor loops because they are too complecited for me... 14:41:44 * alise farts 14:41:45 lol 14:41:51 oklopol: i don't think you need loops if you just have if 14:41:58 i mean you can just repaet the code multiple times instead of looping 14:42:01 so really you just need if 14:42:03 that should be tc 14:42:10 or 2d movement, that is also tc 14:42:18 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 but really tc is irrelevant since we only have finite memory in the universe 14:42:36 so don't listen to the zealots who say "ohh you need tc" 14:42:43 its just a purist masturbating thing 14:42:50 i don't really understand tc 14:43:03 i don't i think it doesn't really mean much in the real world 14:43:06 if it like when you can use printers and usb drives and so on 14:43:09 *is 14:43:18 does your language run or replace windows ?? 14:43:20 and cd disquettes 14:43:23 i know windows is a language you can type things like "dir" into it 14:43:33 and "format c:" which formats your files to look better 14:43:37 that's what i heard on the internet 14:43:57 i think you should make a 3.75d version of your language 14:44:00 isometric 3d 14:44:03 like my favourite game 14:44:18 i dunno what isometric means 14:44:21 i think it means illegal 14:44:30 WHAT IS "IT" 14:44:32 the the the the the the of the 14:44:33 . 14:44:34 14:44:39 well an isometry is a distance-preserving bijection between two metric spaces 14:44:49 okay 14:44:53 so what is a language? 14:45:05 i dunnolol 14:45:58 i wish i was like this all the time, but made really awesome languages 14:46:12 heh 14:46:14 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 "what's that? my language is a turing-complete field? what's that" 14:46:31 but the ideas behind them would be awesome 14:46:40 :-) 14:46:41 "i just made a bf derivative..." 14:46:50 :----) 14:47:42 why does my computer suck so much this user interface was designed by a moron or something 14:47:44 like all user interfaces 14:48:04 -!- poiuy_qwert has joined. 14:48:22 "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 the typos would be essential 14:48:53 and everything he'd say would be totally retarded 14:49:24 so basically asiekierka with a genius mathematician in his subconscious 14:49:52 I figured out how all those "fill in data that isn't there for pictures" stuff in shows works! 14:50:05 no you didn't 14:50:11 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 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 i heard something about some psychology people saying people do diff calc when they catch balls 14:50:54 Sgeo_: 'most' 14:50:59 and i thought damn they're retarded 14:51:03 oklopol: also douglas adams, therefore it is true 14:51:05 well 14:51:07 Sgeo_: okay, then maybe 14:51:08 a character in a douglas adams novel 14:51:14 admittedly they can be pretty stupid 14:51:48 who's dirk gently? 14:52:05 * Sgeo_ ignores the succeeding conversation to best avoid spoilers 14:52:51 oklopol: Svald Cjelli a.k.a. Dirk Gently, of Dirk Gently's Holistic Detective Agency 14:52:54 usually if i hear a spoiler, i completely forget about it once i start reading/watching said object 14:53:05 okay 14:53:14 a bloody good book 14:53:19 also it references prolog which is pretty neat i guess 14:53:36 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 oklopol: tl;dr dirk gently scams old people with missing cats using bullshit quantum physics 14:53:51 the psychology dep seems really retarded btw 14:54:13 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 Sgeo_: do NOT unrot13 that 14:54:19 huge spoiler 14:54:22 So... tempting 14:54:26 But I won't. 14:59:51 oklopol: anyway it's a good book, even more nerdyish plotpoints than h2g2 and a fun plot 15:00:30 Doesn't have: 15:00:31 * Save. Every edit is saved immediately. Changes to the file by other programs are loaded automatically. 15:00:34 well that's an interesting feature :P 15:00:36 ctrl-a delete 15:00:37 oops! 15:00:44 i guess if you use version control religiously 15:00:53 would be cool if every change was saved and ctrl+s just did a vcs commit 15:01:58 " * A jump-to-line dialog box. 15:01:58 * A find dialog box. 15:01:58 * In fact, does not have any dialog boxes." 15:02:29 -!- kar8nga has joined. 15:06:29 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 so, ridiculous idea 15:31:13 audio compression using lagrange interpolation! 15:31:28 we cut out every N samples, and use lagrange interolation to fix it 15:31:30 plus stuff 15:42:58 dammit, now i have an urge to write an editor 15:43:42 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:13 *she 16:01:19 this is confusing :D 16:05:45 you're my new idol, oerjan is out <-- WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH 16:07:28 -!- alise has quit (Remote host closed the connection). 16:07:36 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:07:53 bah, too lazy 16:09:22 -!- poiuy_qwert has joined. 16:13:16 -!- alise has joined. 16:13:32 no hinting is weird 16:15:18 well your loss! 16:16:38 A well-hinted Japanese font is an awesome thing. 16:17:02 Bah. I spit at hinting. Why don't we have 300 ppi screens? 16:17:16 Then we wouldn't /need/ hinting. 16:17:21 600 ppi? Then we wouldn't need /antialiasing/. 16:17:44 The iPhone 4 is 326 ppi, so, you know, just make that bigger. 16:18:55 error: failed retrieving file 'ffmpeg-23792-1-x86_64.pkg.tar.xz' from www.mirrorservice.org : Not Found 16:18:56 ... 16:19:03 * alise syncs package dbs 16:19:20 pikhq: So, I am writing an editor! Call me crazy. Please. 16:20:28 You're fucking nuts. 16:20:55 pikhq: why :( 16:23:54 ff there are sequels to A Glorious Dawn 16:24:04 my day has been made 16:26:09 ** Message: pygobject_register_sinkfunc is deprecated (GtkWindow) 16:26:09 ** Message: pygobject_register_sinkfunc is deprecated (GtkInvisible) 16:26:09 ** Message: pygobject_register_sinkfunc is deprecated (GtkObject) 16:26:10 Shut up. 16:27:59 pikhq: I just want to make something I can use instead of Emacs until I reinvent everything :P 16:28:16 I use maybe 5% of Emacs' editing features so I wade through a lot of boilerplate in using it. 16:28:33 Plus I've now become enamoured with the idea that all changes are saved immediately, and Ctrl-S does a *VCS commit*. 16:31:10 vim for the vim 16:31:24 no need to make another editor 16:31:33 olsner: My editing style is nothing like vi's. 16:31:44 There /are/ differences between people's editing styles. 16:31:57 Some people are emacsers, some people are viers, some people are acmers, some people are samers, some people are geditors. 16:32:01 I'm an alise-editorer. 16:32:13 using vi kind of requires that you forget everything you think you know about editing and relearn the vi way 16:32:27 yes, and that way really doesn't sit well with the way i /think/ about code 16:32:59 maybe, or perhaps you just don't think like that because you're not using an editor like that 16:33:18 I used vim for a while. Went through vimtutor and all, sawed off my cursor keys (not really). 16:33:31 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 of course there is, not using vim for starters 16:34:05 i am no longer listening to you :-) 16:34:11 :) 16:34:36 -!- KingOfKarlsruhe has joined. 16:35:03 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 well you _could_ accelerate all key repeats... 16:35:53 perhaps, i don't repeat many keys often though 16:35:54 other than cursors 16:36:09 and it would exasperate the problem of accidental repeats 16:36:24 oerjan: i mean far more extreme accel though 16:36:34 nah, just accelerate backspace too >:D 16:36:35 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 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 oh, also backspace, yeah 16:37:11 but with characters 16:37:31 olsner: I have tried a great, great many editors. 16:37:32 i think your fibonacci is missing a term 16:37:39 olsner: I jived more with acme than I did with vim. 16:37:48 oerjan: wasn't going for fibonacci, but cooool :D 16:38:01 fibonacci as natural acceleration 16:38:38 * alise tries to remember what (Delta fib(n)) simplifies to 16:38:55 phi? 16:38:59 fib(n-2) 16:39:20 no, Delta fib(n) = fib(n+1) - fib(n) 16:39:34 fib(n-1) then 16:40:14 well it's (fib(n) + fib(n-1)) + (fib(n-1) + fib(n-2)) 16:40:33 wolfram alpha says it's fib(n) - fib(n-2), but that's obvious 16:40:46 O_o what 16:40:52 err, or is it 16:40:53 no it's not 16:40:55 i'm so confused 16:40:59 lemme take this step by step 16:41:00 fib(n+1) - fib(n) = fib(n-1) 16:41:04 reduces to 16:41:05 fib(n) + 2fib(n-1) + fib(n-2) 16:41:09 reduces to 16:41:36 fib(n-1) + fib(n-2) + 2(fib(n-2) + fib(n-3)) + fib(n-3) + fib(n-4) 16:41:41 oerjan: yeah but wolfram alpha isn't correlating that 16:41:44 so i'm really confused 16:42:00 fib(n-1) + 3fib(n-2) + 3fib(n-3) + fib(n-4) 16:42:14 you substitute _just_ the fib(n+1) into the recursion. sheesh. 16:42:20 oerjan: err right 16:42:46 fib(n+1) - fib(n) = fib(n) + fib(n-1) - fib(n-1) - fib(n-2) 16:42:50 = fib(n) - fib(n-2) 16:43:00 fib(n) = fib(n+1) + fib(n-2) 16:43:06 ergo fib(n) - fib(n-2) = fib(n+1) which is obvious but 16:43:08 why didn't W|A get that? 16:44:17 oerjan: ok so we have that fibonacci grows according to fibonacci 16:44:25 which would seem to give a nice acceleration ... property 16:44:46 so wait, the finite integral of fib(n) is fib(n+1), that's cool. 16:46:35 0/1 1/16 1/8 1/4 1/2 1/1 2/1 4/1 8/1 16:46:35 1 1 2 3 5 8 13 21 34 16:46:39 that's actually an awesome acceleration pattern 16:47:51 assuming that we start with 1, ofc 16:47:55 0 lines per interval would be useless 16:48:49 alise: fib(n) = fib(n+1) + fib(n-2) surely you want n-1 not n+1 16:49:10 oops 16:49:11 yeah 16:49:16 so we have 16:49:38 Delta^n fib(m) = fib(m-n) 16:49:44 ...undelta^n fib(m) = fib(m+n) 16:49:49 *Undelta 16:50:12 dunno about you but that seems like a pretty cool acceleratory property to me 16:52:24 oerjan: has anyone used fibonacci as a nice acceleration sequence in this way before, do you know? 16:52:44 no idea 16:53:34 i just sucked an icecube and it popped 16:53:39 weirdest thing. 16:53:44 -!- kar8nga has quit (Remote host closed the connection). 16:58:44 oh, awesome, yaedit has a prefix option 17:02:39 Doesn't have: - An option to set the bloody tab size and screw up your indenting. Tabs are 8 spaces, get over it. 17:02:42 o_O 17:05:09 Deewiant: yeah it's a silly opinion but even ais523 holds it religiously 17:05:25 (that 1 tab = indent until mod 8 = 0, or in today's world, indent 8 spaces) 17:05:31 I'm also slightly amused by "- Menus or ugly icons that take up precious screen real-estate." 17:05:37 When coupled with the screenshot 17:05:45 he has, like, the tiniest screen 17:05:53 otoh i have tried it out and with a more reasonable screen size it's alright 17:05:53 Sure 17:05:57 since the left hand side is... the only UI :P 17:06:09 of course it still /sucks/ incorrigibly, why do you think i'm writing an editor? 17:06:25 max undo levels? why do I want max undo levels? is your computer going to run out of memory or something? 17:06:31 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 I ... don't think he has a 454x360 screen. 17:06:55 but yeah 17:07:05 Whatever, you know what I meant 17:07:33 * alise does pygtk babysteps 17:07:36 this is easy actually! 17:08:05 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 if anyone's wondering the best code window size at whatever 10pt at 85ppi is, is 640x432 17:14:58 (just the code, nothing else) 17:15:37 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 wow, gtksourceview themes suck. 17:25:44 -!- 77CAAV6KB has joined. 17:26:33 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 "The operations between the begin_user_action() and end_user_action() methods can then be grouped when creating an undo stack." 17:31:28 sweet 17:34:33 -!- MizardX has joined. 17:34:33 anyone have gtk experience? 17:35:30 Don't do it man! 17:35:32 Don't do it! 17:36:05 pikhq: don't do what 17:36:10 don't make the most AWESOME editor ever? 17:36:29 alise: Don't do GTK. 17:36:38 It's an abomination. 17:36:41 pikhq: why not, it's so eaaaaaaaaaaaasy to use in python 17:37:19 pikhq: i'm using it tastefully 17:38:05 pikhq: :( 17:38:08 pikhq: suggest something better 17:39:38 Wxwidgets? FLTK? A hole in the head? 17:40:33 Qt? 17:40:40 pikhq: Ever tried to use wxWidgets? Ever looked at a wxWidgets interface? 17:40:44 I have. 17:41:00 FLTK? Well, sure, point me to the ready-made source widget :-) 17:41:14 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:16 Qt? 17:41:17 http://pyfltk.sourceforge.net/ 17:41:22 pikhq: Really, what's wrong with GTK if it's used simply? 17:41:29 Deewiant: Is that a ready-made source widget? 17:41:35 Maybe 17:41:36 Also, I forgot to mention that FLTK is ugly as hell. 17:41:39 alise: Look at Gobjects. Deeply. 17:41:44 pikhq: Yes. Yes I have. 17:41:51 pikhq: You are already running a GTK program right now. 17:41:55 You already have GObjects on your system. 17:42:00 And it won't even be interfaced into an actual object system. 17:42:07 -!- oerjan has quit (Quit: Bye). 17:42:10 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:42:51 hi zzo38 17:43:04 alise: Yes, I use Conkeror. 17:43:14 This is the *only program* I have with GObjects. 17:43:45 -!- poiuy_qwert has quit (Ping timeout: 240 seconds). 17:43:57 pikhq: And do GObjects personally affect you while using it? 17:44:06 ... Oh wait. Mlterm. Darnit. 17:44:09 Probably not. And they won't personally affect me while writing it, as I'll see them all as Python objects. 17:44:10 alise: Not at all. 17:44:17 In conclusion, the only thing GObjects damage is our sanity when we look at them, which we're not doing. 17:44:25 Therefore, I will continue to use GTK as it's the easiest thing for this :P 17:44:32 However, the source code is enough to make me want to murder RMS. 17:45:41 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 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:48:25 Magic. 17:48:47 Clearly. 17:52:01 okay so what ui element should i add first ... hmm 17:52:27 oh, i should make it indent properly first 17:52:51 gtksourceview takes view a bit literally it seems, and doesn't do intelligent autoindentation 17:53:17 Also, why oh why is it using xgcc for a *cross compiler*? 17:55:04 Apparently "make all-gcc" is how you tell it to just make the compiler. XD 17:57:18 Make every GCC, EVER. 17:57:24 All versions, all platforms, all settings. 17:57:43 Themselves compiled with every GCC, EVER. 17:58:28 Ugh no. 17:58:44 pikhq: Why isn't there a library that just works out autoindentation? 18:02:47 pikhq: Furthermore, should I write one? 18:03:30 -!- FireFly has quit (Quit: swatted to death). 18:07:17 -!- FireFly has joined. 18:10:07 *ugh* 18:10:38 pikhq: Ugh? 18:10:57 WHY IS NEWLIB FAILING SO HARD AT CROSS COMPILATION 18:11:15 a 18:11:50 It is, no joke, trying to build x86_64 assembly for an i386 libc. 18:12:05 pikhq: i suggest you write an indentation library 18:13:05 * pikhq tries with linux32 18:16:03 pikhq: MWAHAHAHA MY EDITOR WILL BE SO AWESOME THAT YOU WILL USE IT AND SUFFER 18:16:18 Argh. Yeah: newlib is "smart". 18:16:37 It's convinced that because you're going linux->linux, it can special case a bunch of stuff. 18:16:56 And so it does stupid stuff. 18:17:11 writing an autoindenter is hard :( 18:17:18 with tabs for indent spaces for align 18:17:31 Fucksit. 18:17:42 I can probably get a uclibc system working now. 18:17:47 pikhq: or CAN you 18:18:20 Yes. 18:18:52 Suggest a feature for my editor so I can tell you why I'm not going to add it! 18:19:01 Multi-file support 18:19:14 GI 18:19:17 Deewiant: Well, it will have that. 18:19:19 GUI, I mean. 18:19:31 alise: You didn't deliver :-/ 18:19:34 pikhq: Well... it'll have widgets ... but very few of them, and you'll rarely click them. :P 18:19:39 Okay, suggest something /slightly/ less fundamental. 18:19:47 Syntax highlighting 18:19:55 alise: Scripting support. 18:20:35 pikhq: Define scripting. 18:20:48 Deewiant: ... be a /little/ bit outlandish, please? :D 18:20:54 Y'know Elisp? 18:21:03 -!- hiato has quit (Ping timeout: 245 seconds). 18:21:04 Yes, I do know elisp. 18:21:14 That 18:21:36 alise: Can't think of much else to be honest 18:21:45 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 Deewiant: How about "a save file command"? :P 18:22:21 scripting is overrated 18:22:46 alise: Alright, that 18:22:57 -!- hiato has joined. 18:24:02 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 able in a few keypresses. 18:24:31 IOW you will have that, just not by default 18:24:34 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 Deewiant: Well, yes. But that's just for editing /etc files. :P 18:24:48 And it won't be in version 0.01. 18:25:37 Deewiant: Or I could be a nazi, and tell you to version /etc and ~/.*. 18:25:42 And not have any save command at all. 18:25:47 But I don't do that, so I won't. :P 18:26:11 So the intended purpose of the editor is /etc, ~/.*, and source code? :-P 18:26:32 Name another purpose? Writing textual works is also included, but you should be versioning them anyway. 18:27:55 Modifying autogenerated files 18:28:12 Well, generally you shouldn't do that. Example of when you would? 18:28:38 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 Or I do know why, but that's much easier than changing the generators 18:29:39 Okay, then press whatever keys disable the magic. :P 18:30:18 Ctrl+. A or something (A for Autosave). 18:30:30 Then Ctrl+S would be save, and Ctrl+S on an already-saved file would be VCS commit. 18:30:31 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 Well, I /am/ writing this just for me. :P 18:31:17 alise: Context-sensitive tab completion 18:31:25 You mean smart autoindentation? 18:31:51 Yeah, I'll have that. It's minimalist in fluff, not in text editing features. :P 18:32:01 I'm pretty sure it won't have macros. 18:32:47 No; completion, not indentation 18:32:52 Ah, completion. 18:32:58 Naw, none of that... unless I change my mind. 18:33:08 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 Same reason I won't have snippet-macros. 18:33:44 brb 18:44:59 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:45:26 yeargh 18:48:25 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 That would make CWEB useful, in my opinion. 18:53:01 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 pikhq: can you do me a favor and translate http://mtg-jp.com/eventc/jpnats10/img/preview.jpg ? 19:10:00 coppro: I can try. 19:10:22 thanks 19:11:08 oh, sorry for being rude, I should have said please :) 19:12:22 Awakened Thoughts 2U. Sorcery. Choose one instant or sorcery card from your graveyard, and put it into your hand. 19:12:26 There's the rules text. 19:12:37 I can't make out the flavortext. 19:16:01 ok, thanks 19:17:26 ../../../gcc-4.5.0/libiberty/strsignal.c:554:1: error: conflicting types for ‘psignal’ 19:17:30 * pikhq twitches 19:32:43 * pikhq gets the *distinct* feeling that cross-compiling GCC is not a much-tested feature 19:33:23 Why's that 19:33:30 Erm. Making a GCC cross-compiler 19:33:49 Deewiant: It's so incredibly brittle! 19:33:58 Isn't GCC mostly thus? :-P 19:34:44 -!- ryan__ has joined. 19:37:08 /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 Okay, y'know what? 19:37:17 alise, does plan9 support non-bitmap fonts? 19:37:19 GCC can go to hell. 19:37:29 yes 19:37:32 and what about any sort of antialiasing? 19:37:37 what are you trying to create a cross-compiler to? 19:37:45 i386-pc-linux-uclibc 19:38:00 what are you on? 19:38:07 x86_64-pc-linux-gnu 19:38:20 clang is definitely an option 19:38:41 Can it build uClibc and busybox? 19:38:46 Don't know 19:38:51 are they C? 19:38:59 are they heavily laden with GNU extensions? 19:39:18 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 They're C and heavily laden with GNU extensions. 19:42:53 back 19:42:56 AnMaster: it can, yes 19:42:58 and antialiasing 19:43:00 no subpixel afaik 19:44:30 Helveticka Smallcapulated. 19:44:36 Gothic Helvetica XD 19:46:20 coppro: so, I'm working on amend -1 19:46:48 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:48:18 Longly. 19:49:06 pikhq: do you know of any auto-indentation libraries? :/ 19:49:13 Like, ones that will tell you what string to enter on this indented newline 19:49:16 or how to indent this given line 19:49:18 given its context 19:49:31 -!- wareya has joined. 19:49:41 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 Deewiant: So is syntax highlighting. 19:52:31 I get the feeling I'm going to be the first person to try to build a clang *for* uclibc. 19:52:43 "What string to enter"? 19:52:47 alise: Yes; and most editors have syntax highlighting but not clever indentation 19:52:48 As in, program for you? 19:53:22 * Sgeo_ watches alise bring in the singularity 19:53:36 Sgeo_: no, as in the string of indentation 19:53:39 Deewiant: gedit, kate, emacs, vim, notepad++, ... 19:53:42 Deewiant: every IDE, ever, ... 19:54:01 All even /tolerable/ editors do it. 19:54:05 alise: Are we still talking about indenting with tabs and aligning with spaces? 19:54:12 Deewiant: No, not that particularly. 19:54:23 Just automatically inserting an indent on {, deducing indentation from context, etc. 19:54:25 Okay; because I know of no editor that does that correctly 19:54:31 Deewiant: Emacs does with a very short elisp snippet. 19:54:36 It's nice. But that's just icing on the cake. 19:55:02 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 I'm asking if there's a library to do proper automatic indentation. If not, I guess I'll write one. 19:55:32 well ladies and gentleman 19:55:38 (mostly gentleman) 19:55:48 I am now going to prepare to celebrate my country's independence 19:55:54 by getting very very drunk. 19:56:00 CakeProphet: entirely gentleman, unless you follow the coppro theory of total nickname-based gender reassignment. 19:56:08 alise: I do not. 19:56:14 then entirely gentleman. 19:56:15 *gentlemen 19:56:29 hmm sex reassignment too, if he claims i have a vagina in the context of #esoteric 19:56:30 ah. we are a gentleman's club then. 19:56:43 I don't think anyone has sex organs in the context of #esoteric 19:56:46 sukoshi -- who else used to come here and be female? I don't recall. 19:56:47 it's not really part of the protocol. 19:56:50 Wait, isn't Slereah female? 19:56:57 how do you know iamcal isn't female? 19:57:03 whoops 19:57:06 How do you know your mom isn't female 19:57:07 Or am I making an assumption based on the nick? 19:57:08 oklopol: because he's cal henderson, guy at flickr 19:57:14 Sgeo_: french gay guy 19:57:15 Your gender is generally irrelevant in context of #esoteric 19:57:17 yes i forgot whois exist 19:57:18 s 19:57:26 http://www.iamcal.com/ 19:57:41 i think he's one of only two people here with a wikipedia article 19:57:43 oh hai 19:57:52 Sgeo_: not female no 19:57:55 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 http://en.wikipedia.org/wiki/Cal_Henderson 19:57:59 http://en.wikipedia.org/wiki/Alex_Smith_%28The_Simplest_Universal_Computer_Proof_contest_winner%29 19:58:00 *digressed 19:58:06 CakeProphet: enjoy destroying your liver and losing your higher cognitive function! 19:58:14 iamcal: hi. 19:58:16 There! Now I wrote "Icochash". 19:58:21 alise: I will. immensely.. 19:58:21 iamcal: oklopol thinks you're female 19:58:36 yes 19:58:54 i'm mnaly 19:59:34 Is "mnaly" a word? 19:59:40 Or do you mean "manly"? 19:59:44 a badly spelt one 19:59:45 http://www.flickr.com/photos/tags/iamcal 20:00:03 those could just be photographs of people who aren't you but share your name 20:00:09 or people pretending you're male to support your conspiracy 20:00:16 /or/, you could actually just be a really manly-looking female. 20:00:27 damn, it's ture 20:00:28 -!- coppro has joined. 20:00:36 it's totally ture, mr. mnaly 20:00:59 My sideburns are nearly connecting under my chin. 20:01:11 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 pikhq: Please do it. Not the pcc guys though. 20:01:35 pcc is nice. Use pcc. 20:01:38 Do nothing except use pcc. 20:01:50 alise: I am very, very heavily tempted to just use PCC and Newlib. 20:01:52 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 (I'm presuming that Newlib is PCC-buildable) 20:03:28 prolly 20:04:08 They seem like the kind of guys who would care about being sane and reasonable C. 20:04:51 pikhq: What're you trying to do? :P 20:04:58 Gregor: Something awful. 20:05:50 Gregor: I JUST WANT A TOOLCHAIN TO BUILD SMALL BINARIES 20:05:52 :( 20:06:09 Or DO you? 20:09:38 Why do you want to murder everyone? 20:10:36 Whyever not? 20:10:52 Because if you murder someone it is not reversible 20:11:01 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 This is your brain ... this is your brain slowly decaying under the influence of C#. 20:11:32 Chatting in this channel is also irreversible 20:11:34 zzo38: Neither is computation, my good friend! 20:12:12 A lot of things are irreversible 20:12:14 AnMaster: it can, yes <-- do you happen to remember how? 20:12:24 AnMaster: um do you have /n/sources? 20:12:38 or what was it, /n/contrib 20:12:49 no, /n/sources 20:13:04 AnMaster: run "9fs sources" 20:13:24 Just automatically inserting an indent on {, deducing indentation from context, etc. <-- iirc kate does that for C pretty well 20:13:34 as long as your source isn't too much a mess of macros 20:13:35 oh, it can do subpixel, cool 20:13:40 but different fonts, maybe they're just coloured bitmaps 20:13:44 AnMaster: anyway, run "9fs sources" 20:13:44 non-function like ones 20:13:50 then in /n/sources/contrib there's like tons of fonts 20:13:53 grep /font/ http://www.plan9.bell-labs.com/wiki/plan9/Contrib_index/index.html 20:14:05 alise, I was primarily thinking about plan9port, figured they would work the same when it came to that 20:14:22 AnMaster: ah, good question 20:14:25 i forget how to configure it 20:14:33 AnMaster: i suggest asking in #plan9. i'll even join to shut uriel up for you 20:14:48 alise, nah. I'll just do some more digging 20:14:55 rather than that 20:14:56 (I'll just mention how I really love using emacs to edit Linux/C++/GTK+ source that prints liberal propaganda.) 20:15:01 AnMaster: #plan9 is a nice channel apart from uriel. 20:15:07 just /ignore uriel and it's a perfectly civilised place 20:15:15 alise, does he have op? 20:15:18 no 20:15:21 hm 20:15:24 alise, meh 20:15:34 alise, if I had my way, it would have been Python 20:15:36 fine, continue wasting your time :P they're very helpful with plan9port questions in my experience 20:15:55 alise, anyway kate can do that "insert tab on { or if or such" for C 20:15:56 AnMaster: but here's a hint 20:15:59 AnMaster: I think the font setting is in ~/lib 20:16:02 ~/lib/profile i think 20:16:03 alise, my experience is that it does it very well 20:16:03 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 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 alise, but I expect there are corner cases it messes up on 20:16:31 And there are other complications 20:16:38 * alise boots hda 20:16:44 AnMaster: i'll look for the font settings on plan 9 for you 20:16:46 *boots qemu 20:16:52 But sometimes you have to take the path of the "lesser evil". 20:17:02 alise, yeah it was plan9port I needed it for actually so.. 20:17:10 AnMaster: Fun fact, plan9port is the same code. 20:17:20 alise, yes though it uses the X backend instead 20:17:27 And? 20:17:29 It doesn't. 20:17:31 which might mean this bit is different 20:17:34 It uses drawterm. 20:17:38 alise, which uses X 20:17:41 It's the exact same graphics code, just connected to via X. 20:17:45 AnMaster: But it's /pixels/. 20:17:48 alise, aha 20:17:49 Drawterm is /pixels/. 20:17:51 on that level 20:17:51 right 20:18:08 in ~/lib/profile: 20:18:12 font = /lib/font/bit/pelm/euro.9.font 20:18:18 hm 20:18:55 AnMaster: so maybe look at $PLAN9/lib/profile 20:18:57 and $PLAN9/lib/font 20:19:01 hm 20:31:12 -!- Oranjer has joined. 20:31:52 f = open(self.filename, 'rb+') 20:31:52 f.write(text) 20:31:52 f.truncate() 20:31:52 f.close() 20:31:56 Why would someone do this? 20:33:27 "this" being what exactly? 20:33:35 Use r+ instead of just using w there. 20:33:53 No good reason 20:34:24 How odd. 20:34:29 You wouldn't need the truncate with w, either. 20:34:36 Deewiant: What if you already have self.filename open? 20:34:50 I don't know 20:34:52 Well, you would need the truncate, for other programs writing at the same time, but... 20:34:59 alise, truncating after write? 20:35:04 which language is this 20:35:06 AnMaster: python 20:35:08 hm 20:35:26 I don't know the semantics of multiple programs doing stuff to a file at the same time 20:35:43 Deewiant, "messy" as far as I remember 20:35:55 Yeah, well, this thing is going to write the file on every change. Fuck other programs :P 20:35:56 Presumably 20:35:59 at least if the file changes size 20:36:22 I mean, if two processes mmap a file it is not really an issue 20:36:34 Ooh, I wonder if Python can mmap. 20:36:39 bbl, moving laptop and moving it to ethernet 20:36:48 Of course it can 20:36:51 Indeed, but not as a string. 20:37:57 "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 FIVE BILLION BYTES 20:38:41 If you use mmap for the "file writing" semantics, than other files accessing it should work just fine. 20:39:08 As anything else opening a file will be using the same mmap'd buffer. 20:39:35 ValueError: mmap length is greater than file size 20:39:41 That ... shut up. 20:39:46 Of course, things going through stdio might see an inconsistent view of the file, because of stdio buffering. 20:40:08 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:40 Timer(N, do_this).start() 20:41:52 http://docs.python.org/library/sched.html yay 20:41:56 Deewiant: Oh. Which is better? 20:42:07 http://docs.python.org/release/2.6.5/library/threading.html 20:42:10 Dunno 20:42:24 Timer looks simpler 20:45:18 Deewiant: Actually, it seems that just writing the file in full on every single change without a delay is fast enough. 20:45:28 Which is, you know, cool. 20:45:32 That would depend on your machine and the file size :-P 20:45:47 What kind of text files do you edit? 20:45:58 Ginormous ones? 20:46:02 Occasionally 20:46:11 How slow is your computer? :P 20:46:38 My disk is slow enough that writing megabytes every time I type something will be noticeable 20:47:10 It's in the background. 20:47:50 No matter 20:48:44 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 and what if one truncates to less than the mmaped size 20:49:47 One of the mouse feet is off :( 20:51:07 12:45:18 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 alise, anyway try that on a large image in gimp. See why it isn't fun to do so 20:52:19 Quite honsetly, it works just fine :P 20:52:21 *honestly 20:52:22 alise, as in, 50 MP panorama or such 20:52:28 GIMP != text editor 20:52:32 alise, well yes 20:52:47 alise, for the special case of text editor I guess it works 20:55:24 http://sprunge.us/AiPR 20:55:35 I have written Icochash now, I tested it it works. 20:55:46 Wow, zzo38 is inventing word processors /and/ forms 20:55:59 But, there is not yet the program to print out the data or to render to HTML or whatever 20:56:50 The http://sprunge.us/AiPR is a very simple example. 20:57:23 But hopefully you can learn how it works a bit from this example? 20:57:26 Soon, zzo38 will have ZZOS. 20:57:37 And it shall be the most bizarre yet amazing thing ever. 20:57:53 zzo38: Please, please make a spreadsheet program. 20:58:00 It will be the world's only batch-mode spreadsheet program. 20:58:06 alise: One day I might make a spreadsheet program. But not right now 20:58:15 alise: :D 21:00:00 alise: I didn't invent a word processor? 21:01:00 Do you think the example code is understandable to you? 21:01:29 zzo38: Icoruma is basically a batch-mode word processor. 21:02:00 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 Icoruma is not meant for anything other than role playing games. Icochash is also meant for role playing games. 21:03:51 Something is very wrong with this... hmm. 21:03:59 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 alise: What is very wrong? 21:05:33 zzo38: Just my program, but I figured it out. 21:06:03 OK 21:08:01 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 for reloading files 21:09:09 alise: 06:48:41 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 alise: I am intrigued. 21:09:29 pikhq: By TNG, I mean /every single season/, incidentally. 21:09:35 Want links? 21:09:44 Yes. 21:09:56 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 pikhq: BTW, it's almost 100 GiB for the whole thing. 21:10:42 80 GiB or something. 21:10:49 alise: Terabytes are cheap. 21:11:09 pikhq: Also, the seeders are a bit... preoccupied with other people, so it won't be fast. 21:11:13 Especially given that the guy I'm talking to has uncapped Internet and a 5TB RAID ATM. 21:11:36 * Sgeo_ 's HD is 100GiB 21:11:46 -!- kar8nga has joined. 21:11:56 Sgeo_: $80 gets you an order of magnitude increase. 21:12:09 I think I just want a new computer 21:14:53 I have 200 GB hard drive. (It is the smallest one they sold) And only 5% of the capacity is used 21:15:03 http://static.pulse360.com/blob/7e/2f91ba2_ecruzSwipeBids.jpg that does not look like an iPad to me 21:15:11 I don't think iPads have menus like that 21:15:14 I may be mistaken 21:15:46 I don't need iPad 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 Gregor: As opposed to wearable computing, which had a totally hip and usable form factor. 21:18:53 Nope, it's a silly, ridiculous joke. 21:19:02 And if Apple ever makes a wearable computer, I'll have no interest in it. 21:19:16 The form factor, that is. 21:20:24 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 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 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 It should be simple enough to make a Forth interpreter, though, right? 21:24:42 Fuck this bullshit! 21:24:47 Sgeo_: Yes 21:24:48 There are Python and Ruby and.. thingy interpreters 21:24:52 Gregor: You sure have changed your opinion :P 21:24:55 Writing Forth interpreter is simple 21:25:15 And what does it mean "write C stuf for Android.. kind of"? 21:25:45 alise: I don't think so, it was always silly, just good silly fun. 21:25:50 You can do logic and 3d stuff (I think) in C, but you still need to write some Java 21:25:57 Or other JVM language 21:26:04 Gregor: but you liked it :P 21:26:08 Yes, and? 21:26:09 Why does it have to use JVM? 21:26:13 I also like esoteric programming languages. 21:26:16 Gregor: And you don't now 21:26:30 When did I say I don't like wearable computing? 21:26:34 I lurve wearable computing. 21:26:39 zzo38, because that's what Android does (although strictly, it turns JVM bytecode into Dalvik bytecode, I think) 21:26:43 Okay. 21:27:00 Apple's wearable computer would just be a sleek, thin, ultralight aluminium tshirt and an eye implant. 21:27:04 Sgeo_: What is Dalvik bytecode? 21:27:13 The tshirt would also include integrated gloves. 21:27:14 -!- nooga has joined. 21:27:16 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 doing even the simplest thing in haskell is so fucking tiring 21:27:20 way better :P 21:27:24 cheater99: that's because you suck 21:27:24 http://vimeo.com/12674501 <- he's so awesome 21:27:32 nooga: he's a mormon! 21:27:35 i love this keynote 21:27:35 alise: no, it's because you suck 21:27:40 and i'm distracted. 21:27:48 luby on lails 21:28:19 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 Does Android not support native code? 21:28:51 zzo38: yes, but not very well 21:28:59 zzo38, it does, but rather limited what you can interface with it 21:29:14 you have to do the GUI bits in java iirc 21:29:15 Wearable computing with eyetracking-based interfaces. The best thing since sliced bread. 21:29:36 fizzie, like HMDs? 21:29:49 I want an eyetracker to select lines in a file. 21:29:54 brb 21:30:00 HMDs are cool 21:30:06 Is Java like the IO monad, and native code like pure code? 21:30:34 Sgeo_: What is that, is that Haskell? 21:30:36 bad analogy for anything where C is involved 21:30:58 lol 21:31:15 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 fizzie, and neither opengl nor "libjnigraphics" presumably includes input drivers for example? 21:32:22 well, driver is wrong word 21:32:23 but meh 21:32:46 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:01 right 21:33:26 fizzie, and I still can't get a shell, right? 21:33:29 unlike on n900 21:34:03 I don't know how it goes with jailbreakery, but not on a stock phone, no. 21:34:14 wrong 21:36:26 alise, with a full POSIX environment? 21:39:09 -!- poiuy_qwert has joined. 21:40:08 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 And ability to provide a USB file system to a computer it is connected to. 21:40:59 zzo38, go design that one 21:41:20 Getting a completely non-proprietary GSM/3G radio stack going might not be completely trivial. 21:41:32 zzo38, also clamshell phones suck 21:41:41 they tend to break in the hinges in my experience 21:42:58 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 zzo38, that is why you have some sort of lock 21:43:30 .. 21:43:52 like on my phone, middle button below screen, followed by * 21:43:55 locks/unlocks 21:44:04 that's a non-smartphone 21:44:05 If it doesn't close then where is room for the keyboard? 21:44:24 zzo38, keypad. Anyway n900 has a keyboard you can slide out 21:44:42 Slide-out seems to be more popular than fold-open nowadays. 21:44:51 fizzie, probably breaks less 21:44:54 I guess it's easier to do reliably, yes. 21:45:32 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 fizzie, the drivers for the GSM/3G stack on your phone, are they binary blobs? 21:45:49 I think slide-out is patented? 21:46:19 All handset manufacturers at least seem to be doing it; patented or not. 21:46:36 It sounds too trivial to be patented to me, but, well... patents. 21:46:38 fizzie, does the n900 come with a pen for the touch screen as well? 21:46:55 fizzie, if so, is it storeable somewhere inside the phone? 21:47:23 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 fizzie, hm. So upgrading to the last kernel might be non-trivial? 21:47:42 AnMaster: And yes, there is a stylus, which is stored inside the phone. 21:48:26 fizzie, aren't people reverse engineering the binary blobs? 21:48:36 s/ / / 21:48:49 There's probably more interesting things to hack for them to bother. People are such pragmatists. 21:48:57 hah 21:51:05 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 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:34 fizzie, hm 21:51:54 fizzie, strange it hasn't upgraded to 2.6.30 or newer at least 21:52:10 zzo38, what about games? 21:52:20 zzo38, touch screen could be needed there 21:52:22 AnMaster: the kernel is heavily hacked 21:53:24 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 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 It's called "Day1 Developer Preview" for a reason. 21:54:11 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:22 fizzie, hm 21:54:42 coppro: i hate your police 21:54:46 fizzie, what was the replacement for the n900 line? n9? 21:54:47 (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:50 or whatever 21:54:55 well ok the police in another city in another province in your country :P 21:55:16 AnMaster: n900 is still latest in its line 21:55:22 AnMaster: There's just rumours (of N9) so far. 21:55:32 fizzie, ah, not more than that. I see 21:55:34 * 03:15, 26 June 2010 Fastily (talk | contribs) deleted "Nokia N9" ‎ (Expired PROD, concern was: Unsourced, unreleased phone) 21:56:13 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:03 hm 21:57:10 isn't symbian very shitty? 21:57:13 Yes. 21:57:18 It drives programmers to suicide. 21:57:26 Yes. They're trying to unshittify it, but with not much luck so far. 21:57:43 Symbian is, indeed, very ſhitty. 21:57:48 "I will now unshittify this piece of shit!" 21:57:50 how is it in power usage, compared to meego? 21:57:53 "We are left with ... nothing!" 21:57:58 I heard maemo was a bit heavy on power 21:58:14 AnMaster: Better, I'd assume, lacking such heavy things as "a Linux kernel". 21:58:24 MeeGo? 21:58:28 Isn't that that open thing? 21:58:31 alise, hah 21:58:36 MeEgo 21:58:42 Wow, Gregor should sue! 21:58:42 Sgeo_: It's the merging of Nokia's Maemo and Intel's... Moblin, was it? 21:58:46 Moblin, yes. 21:58:50 Mob Linux. 21:59:02 * AnMaster waits for the first freebsd phone 21:59:08 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:29 fizzie, what CPU? 21:59:33 "High-end" phones nowadays seem to be around 1 GHz clockspeeds and half a gig of RAM. 21:59:34 ARM? 21:59:43 They're always ARM. 21:59:49 right 21:59:58 It's some ARM11 or another, maybe one of the OMAP platform chipsets. 22:00:12 fizzie, so, how fast was n900? 22:00:39 600 MHz ARM. 22:00:55 Snapdragon is hawt. 22:00:55 hm 22:01:02 alise, what is that? 22:01:08 The 1GHz ARM platform. 22:01:19 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 I think there's something else at that clockspeed nowadays too. 22:01:37 1GHz ARM. On-chip 720p video decoding. 22:01:53 And remember that an N MHz ARM is better-performing than an N MHz old x86. 22:01:56 (Maybe not new x86s.) 22:02:17 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 zzo38: You should rewrite your website/gopherhole in Icoruma. You could use that form package to do Chronojournal's forms. 22:02:54 This would be awesome and ridiculous. 22:03:23 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 fizzie: OMAP isn't 1GHz. 22:03:46 (I believe the common term is "gopherspace" not "gopherhole") 22:03:47 zzo38: Well, why not? Icoruma typesets documents pretty well, Icochash seems to just be a form generator. 22:03:53 I know, but gopherhole is a nicer term. :P 22:04:02 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 alise: OK then use that term if you want to 22:04:05 Recently announced, apparently. 22:04:14 http://upload.wikimedia.org/wikipedia/commons/b/b5/BeagleBoard_described.jpg 600MHz ARM -- laptop-like performance! 22:04:15 jeez, learning how to make a hash tree in haskell is difficult. 22:04:37 alise: do you know anything about dependent typing? 22:04:42 cheater99: quite a lot. 22:04:58 i dabble in type theory a lot. 22:05:40 so what can i use dependant typing for 22:05:50 Writing your PhD thesis. 22:06:03 what is a real-world use case 22:06:07 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:09 alise, only 128 MB? 22:06:35 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 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 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:18 so like 22:07:21 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 alise, at runtime? what about compile time then? 22:07:31 AnMaster: Er, at compile time. 22:07:32 Sorry. 22:07:35 ah right 22:07:35 could different types of exceptions be one use case???\ 22:07:36 carry on 22:07:45 cheater99: Um ... I'm not sure what you mean by that. 22:07:56 i don't either 22:07:58 i'm glad we agree then 22:08:07 Who said this thing? :-) 22:08:58 what do you mean???? 22:09:11 so yeah, i'm looking at your link now 22:09:14 anyways 22:09:24 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 do you think dependent typing can make it into haskell? 22:09:31 cheater99: No. Very unlikely. 22:09:40 voices in my head said 22:09:40 It would be a massive language change, and also make redundant many common features. 22:09:44 'shh... ask alise about that' 22:09:54 how do you know about them? 22:09:57 Maybe one day we'll get "Haskell++", the official, dependently-typed successor to Haskell. 22:10:10 cheater99: Um ... I hung out in the wrong places too much (#haskell) and got sucked in to the whirlpool. 22:10:30 Plan11 :D 22:10:36 nooga: hey, that's my project! 22:10:52 sure, i'm extremely curious 22:10:58 cheater99: btw don't worry if winging it stops making sense about half way through 22:10:59 alise, why not plan10? 22:11:01 alise: would adding dependant typing to haskell create backwards compatibility breakage? 22:11:08 cheater99: just hang on there and wait until he starts quoting hamlet 22:11:15 cheater99: not adding it, but there'd be a lot of redundant features then 22:11:20 and it would require major MAJOR restructuring of ghc 22:11:25 which is a HUGE HUGE HUGE, OLD OLD OLD codebase 22:11:33 AnMaster: because plan 11 is plan 9 turned up to 11 22:11:44 alise, why not drop ghc and go with one of the other ones 22:11:53 alise, augh! 22:11:57 AnMaster: (http://www.youtube.com/watch?v=EbVKWCpNFhY) 22:12:05 alise, for $$$$$ I could make you one that goes to 12 22:12:46 alise: such as what? 22:12:59 alise: fuck ghc, it's not haskell 22:13:12 maybe we can finally get a GOOD interpreter if people ditch ghc 22:14:58 cheater99, good compiler would be even better? 22:15:31 wow now you're getting out of bounds 22:15:52 cheater99, ? 22:15:59 i just broke my kb 22:16:02 spilled coke on it 22:16:06 Seems to work 22:16:09 cheater99: ghc is one of the finest pieces of software engineering ever 22:16:10 did you spill your seed on it 22:16:10 oh 22:16:11 alise, isn't it coke resistant? 22:16:14 ok coke 22:16:29 alise: the interpreter fucking sucks 22:16:36 alise: and i hadn't even used the compiler yet 22:16:52 cheater99: The compiler is stellar. 22:16:54 umm ghci is just ghc on a command line 22:16:57 it's all a compiler 22:17:01 or is it 22:17:08 anyways 22:17:10 ghci fucking sucks 22:17:16 it doesn't even use readline 22:17:19 so wtf? 22:17:26 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:27 ... 22:17:29 you're retarded 22:17:31 it uses editline 22:17:36 please just shut up 22:18:02 ??????? 22:18:02 GHC is one of the best compilers for a language out there. 22:18:26 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:18:37 what a impudence 22:19:11 hey alise 22:19:16 What do you call a pointless race that covers 2200 miles throughout France? 22:19:52 capitulation race? 22:19:52 tour de australia 22:19:53 I always found it funny that wesnoth has a "--disable-game" configure option 22:19:58 no 22:20:04 cheater99: attempting to get out of france? 22:20:07 no 22:20:09 what 22:20:11 The French. 22:20:16 lololol! 22:20:17 AnMaster: Server, right? 22:20:22 even though it is just --disable-client (for building just the server) it is stilly a funny name for it 22:20:25 cheater99: :D 22:20:31 ...pick their noses and smoke cigarettes like they were gay 22:20:32 pikhq, yes but --disable-client would have been more sensible 22:20:40 True. 22:20:41 nooga: So, Plan 11. 22:20:41 alise: tell me how i can use it ctrl + leftarrow to skip words in ghci neow 22:20:55 cheater99: use a better ghc compile with editline 22:21:04 alise: ....? :D 22:21:05 and make sure editline understands your terminal 22:21:10 nooga: Well, you were interested. 22:21:13 i am 22:21:14 my ghci is from ubuntu 22:21:19 there can be no better ghci 22:21:38 :\ 22:21:45 cheater99: then make sure it knows your terminal 22:21:47 nooga: so ask something :P 22:22:08 alise: it works in vim 22:22:14 * alise tries to get used to the kb 22:22:18 cheater99: jesus christ 22:22:22 cheater99: you don't know shit about terminals 22:22:24 alise: how is it going to be different from 9 ? 22:22:30 alise: well tell me how to do it 22:22:42 alise: just shouting at me won't make me feel better :(((((((((((((((((((((((((((((((( 22:22:44 cheater99: JFGI 22:22:52 * alise tries to get used to the kb <-- the coke you mean? 22:22:52 NOOOOOOOOoooooooooooooooo 22:22:58 AnMaster: no, its replacement 22:23:06 i'm not using a kb with coke on its circuitry and keys 22:23:08 alise, it died from coke!? 22:23:12 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 alise got used to coke after her first week in the red light district 22:23:14 one, eww; two, *kaboom* 22:23:16 alise, clean it out 22:23:20 AnMaster: or just use this one. 22:23:24 alise, hm 22:23:41 alise, also what did you learn from this? 22:23:41 his* 22:23:48 AnMaster: don't spill glasses 22:24:10 alise: so did you wash it 22:24:17 ...--disable-game? 22:24:17 alise, not either of: a) keyboards are shit b) keep coke further away from computer ? 22:24:18 cheater99: no, it's just sitting there 22:24:20 or both 22:24:20 alise: you can make it work perfectly well with a wash. 22:24:30 AnMaster: it may have still worked, i just didn't want to find out. 22:24:32 i'm lazy. 22:24:43 AnMaster: and it's hard to keep my mouth away from my keyboard :P 22:24:52 Well, technically it was before it got in my mouth. 22:24:57 alise, a wash. Try 90° with 500 RPM centrifuge 22:24:58 ;) 22:25:08 KLANG KLANG KLANG BASH WALLOP KABOOM 22:25:12 indeed! 22:25:34 Kling-Klang. 22:25:35 erm 22:25:44 alise, Kling-Klong 22:25:47 Kling-Klang. 22:25:47 hmm 22:25:48 Klingon? 22:25:57 Kraftwerk reference :P 22:25:57 Clogg 22:26:10 alise, meh, you expected me to spot THAT? 22:26:16 i guess i should have said 'a rinse' 22:26:22 AnMaster: No, which is why I said it. 22:26:28 ah thanks I guess 22:26:36 No, why I said the reference :P 22:26:45 yes indeed 22:26:49 -!- hiato has quit (Quit: /quit tiuq\). 22:26:52 that it was a reference 22:26:56 leaden is a pretty cool name for an editor 22:27:01 * AnMaster refuses to hear the other version 22:27:08 AnMaster: ?? 22:27:24 alise, jelly. 22:27:55 Jelly coke would be harder to spill I mean. 22:27:58 that is the solution 22:28:26 Jelly coke. 22:28:27 Right. 22:28:34 One question. 22:28:37 can you patent that or do you need a way to actually produce jelly coke first? 22:28:38 How would you drink it? 22:28:39 THE 11 22:29:00 alise, with a spoon 22:29:03 obviously 22:29:39 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 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 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:11 alise: Yes 22:31:16 AnMaster: Put some sugar in coke? It's already 99% sugar :P 22:31:24 I put honey in coke once, that was ... interesting ... 22:31:30 alise, sure but you know about mentos? 22:31:33 or whatever that is called 22:31:37 Yeah. 22:31:41 Diet Coke + Mentos = YouTube video. 22:31:52 alise, sugar has a similar, but somewhat less violent effect 22:32:07 I heard of someone that put Coke + Pepsi together, they thought it would explode but it didn't explode 22:32:18 It should explode from sheer cognitive dissonance. 22:32:21 alise, it lets you get rid of the carbonation without causing youtube video 22:32:34 Anyway, Dr Pepper is clearly the best caramel-coloured drink. 22:32:41 It has a taste finer than any wine! 22:32:48 uh 22:32:54 I prefer water to tell the truth 22:32:55 hm 22:32:56 Some people prefer wine 22:33:01 water isn't caramel-coloured 22:33:02 :P 22:33:02 I prefer water 22:33:13 alise, you could add some food colouring to water 22:33:16 and get it that way 22:33:38 I still maintain that alcoholic drinks don't taste nice at all; evidence: unpopularity of alcohol-free imitation drinks. 22:34:10 There are counterexamples, such as cider, which we can see tastes nice because non-alcoholic cider is very popular. 22:34:21 ;| 22:35:13 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:18 alise, indeed 22:35:27 nooga: because the alcoholic one gets them drunk 22:35:36 correct 22:35:36 seriously, people think alcoholic drinks taste nice because they get them drunk, and the brain creates the association 22:35:39 nooga, why would anyone drink alcohol? 22:35:42 alcoholic drink <=> pleasure 22:35:48 to get drunk ofc 22:36:05 nooga, oh, because of the hangover? 22:36:15 tbh if you want to have an altered state of mind, cannabis would be preferable to alcohol 22:36:34 there is a state than can be called pleasant, before the hangover 22:36:39 alise, so would (pure) LSD I understand. 22:36:47 less side effects on stuff like liver 22:36:53 lsd is awesome 22:36:57 AnMaster: Yes, but it's probably easier to code on weed than LSD. 22:37:02 alise, haha :P 22:37:07 People prefer different kind of these things 22:37:07 And that is, after all, the point! 22:37:20 One way if you want altered state of mind, is, simply, practise. 22:37:35 MEDITATION: It's, like, totally wack. 22:37:35 alise, what, the Balmer peak? 22:37:39 alise, is that the point? 22:37:57 AnMaster: no, the ballmer peak produces perfectly working, but unreadable code 22:38:09 i checked 22:38:11 alise, doesn't it produce windows ME iirc? 22:38:14 whatever the analogue is for weed, it produces utterly incomprehensible, yet stunningly beautiful, elegant code that does nothing useful whatsoever 22:38:17 alise, hm coding on meditation, that might be a nice ide 22:38:19 idea* 22:38:35 I think that would be ... difficult. 22:38:48 it's possible to write code when slightly drunk, but the best ideas come to you when you're *slightly* stoned 22:39:00 alise, and what about LSD? It produces utterly incomprehensible demos that fits in 4 kB and raytraces in realtime? 22:39:08 it does not 22:39:33 hm 22:39:38 it would be awesome if it did! 22:39:50 how can you use a computer when everything is melting? 22:39:55 don't be ridiculous 22:40:02 alise, perhaps not that much lsd? 22:40:09 i'd say it extends you consciousness 22:40:17 * AnMaster never tried it 22:40:23 nooga: I'd say it just alters your state of mind. :P 22:40:27 in a way that's really hard to express in human language 22:40:43 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 No, it's easy. The words are "being slightly stoned". 22:40:59 :> 22:41:11 no, no, it was only a single experiment 22:41:14 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 i don;t buy this stuff 22:41:24 I don't recommend it either. Just saying that from what I heard it has less side effects than alcohol 22:41:39 that is probably true 22:41:46 Well, I don't drink alcoholic either 22:41:55 And I don't plan to drink alcoholic 22:42:09 I SMOKE EVIL CIGARETTES 22:42:10 STUPID FUCKING GTKSOURCEVIEW 22:42:23 alise, why on earth are you using that... 22:42:26 and i'm radioactive 22:42:35 AnMaster: because i'm writing an editor 22:42:39 I don't smoke. But I wouldn't like if someone else smoke near me because the smoke affect everyone 22:42:48 alise, and? why gtksourceview for that 22:42:49 okay 22:43:00 AnMaster: because pygtk is really easy when it's not breaking for no apparent reason 22:43:04 and when it does that's gtk's fault :P 22:43:05 alise, hah 22:43:21 i don't exhale the smoke in other ppl general direction 22:43:25 i find it mean 22:43:26 alise, so you are like import randall suddenly? ;P 22:43:37 AnMaster: that doesn't even make any sense! 22:43:50 nooga, and don't stand just outside doors smoking? 22:43:58 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 ofc, ppl would have to walk through the cloud 22:44:17 Or, better, don't smoke at all 22:44:20 it's unpleasant even for smokers 22:44:21 nooga, that is the worst bit I can tell you. I have asthma so smokers just outside the university entrance are a pita 22:44:40 ;| 22:44:51 yeah, better stop smoking 22:44:57 can be hard I'm told 22:45:10 it's not like heroin 22:45:14 but hell 22:45:47 have fun with your cancer later on 22:45:57 hmm can you vaporise tobacco like cannabis? 22:45:58 well :D 22:46:00 that would be ... strange 22:46:08 and unpleasant 22:46:20 no, there is something called e-cigarette 22:46:32 What is e-cigarette? 22:46:36 oh yeah that thing 22:46:41 and it vaporizes some solution of nicotin and flavour oils 22:46:58 and it's, most probably, harmless 22:47:29 also the 'smoke' smells good and it's not irritating to the environment 22:47:55 but i don't like it ;| 22:50:40 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 22:54:18 woot! 22:54:21 leaden can edit text reliably 22:54:42 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 alise: what kind of editor are you writing? 22:55:48 nooga: a code editor, and something basically unlike anything else. 22:55:55 a more specific question may get a more specific answer :) 22:56:32 for what language? 22:56:52 anything gtksourceview supports, but mainly the usual suspects: c, python, haskell 22:57:06 the syntax highlighting and basic editor controls are provided by gtksourceview; the rest is me. 22:57:17 (basic editing controls doesn't mean i won't add my own, ofc) 22:57:31 i'm going to have to code the indentation logic myself since gtksourceview can't do it 22:57:58 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 it has unlimited undo, scrolls, you can resize the window, it copies the last line's indent, and it highlights 22:58:21 that's it so far 22:58:22 alise, does it have undo tree 22:58:30 so if you undo, then do something new 22:58:37 can you go back to the undone version 22:58:44 AnMaster: no; remember, vcs commits replace saves 22:58:54 so just pressing Ctrl+S can help your undo tree endeavours 22:58:55 alise, tree undo is still very nice 22:58:58 with a sufficiently advanced VCS 22:59:05 AnMaster: well, i'll consider it, but i have undo done for me atm :))) 22:59:24 and if vcs commits are so easy i think they'll become instinctive enough that you don't need tree undo 22:59:32 general undo graph 22:59:36 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 oklopol, that sounds awesome yet impractical 22:59:47 AnMaster: with emacs it's an elisp extension though 22:59:58 alise, probably. But then a lot of emacs is ! 23:00:04 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 i'm not sure what it means 23:00:11 but it has unlimited undo (quite literally) 23:00:13 so eh, who cares 23:00:27 alise, which VCS? I suggest darcs! 23:00:43 AnMaster: it'll probably support many (and decide which to use by seeing which has a directory nearby) 23:00:49 hm 23:00:54 i use git right now, so that'll probably get in first 23:01:04 alise, what will it do if it sees both .hg, .git, .bzr and .svn? 23:01:06 err 23:01:09 s/both/all of/ 23:01:11 AnMaster: yell at you 23:01:21 alise, nice. Will it use audio? 23:01:25 hm 23:01:28 * AnMaster tests something 23:02:00 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:02 arvid@tux ~/test $ hg init . 23:02:02 arvid@tux ~/test $ bzr init . 23:02:04 hg add . 23:02:06 bzr add . 23:02:07 :D 23:02:12 or, maybe it'll just say "You suck at version control; disabling auto-save mode." 23:02:47 adding .hg/store/data/.bzr 23:02:48 wow 23:03:12 AnMaster: i once added a repository's .git to the repository 23:03:14 was ... confusing 23:03:20 alise, heh 23:03:32 alise, him this doesn't ever become a stable loop 23:03:38 I wonder if one could manufacture a stable loop 23:03:39 aw! my cursor synchronisation isn't working 23:03:43 i have this feature, you see 23:03:49 alise, ^ 23:03:50 when someone else modifies the file from underneath you 23:03:56 it'll keep your cursor as close as possible to where it was 23:04:03 well, not textually, not that advanced 23:04:06 but same offset from start of file 23:04:07 alise, could one manufacture a stable loop out of two VCS 23:04:09 so you should be in the same sort of vicinity 23:04:11 AnMaster: no :P 23:04:33 it's ... quite liberating to not have to press save 23:04:33 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 kinda weird, though 23:04:36 to manually do it 23:04:39 i keep trying to hit ctrl+s instinctively 23:05:01 alise, now I feel an urge for a vcs quine! 23:05:04 like the zip one 23:05:07 but with vcs 23:05:08 somehow 23:05:10 like 23:05:25 it contains a dir r, which contains a repo without a working tree 23:05:25 oh, i see 23:05:29 when you get a working tree 23:05:31 it's keeping the position, but scrolling up, bizarrely 23:05:43 it would contain a directory r 23:05:45 and so on 23:05:46 git repo where you can check out a git repo containing the first git repo? nice :) 23:05:55 olsner, git or some other one 23:06:10 olsner, doesn't really matter which one. It is awesome with any 23:06:15 yeah 23:06:33 obviously you can't have working trees all the way down 23:07:28 wish i could set line height 23:07:34 needs to be a bit bigger to be comfortable 23:08:14 alise, are you using monospace? 23:08:21 hmm, the scrolled view is still resetting 23:08:22 how queer 23:08:25 AnMaster: yes 23:08:33 that concession to the past, at least, is made :P 23:08:54 alise, um, most source would be annoying to edit without monospace 23:08:59 sure there is apple script but meh 23:09:04 that doesn't really count 23:09:07 it is so weird anyway 23:09:09 Yeah, but it's not like I'm not already breaking 100 conventions here :P 23:09:22 with elastic tabstops you could easily use proportional 23:09:32 -!- tombom has quit (Quit: Leaving). 23:09:32 and smalltalk uses proportional :P 23:09:37 alise, and no one else could easily edit the code 23:09:52 erm, they serialise to regular tabs afaik 23:09:56 ah okay 23:10:02 guess it works then 23:10:17 alise, also I doubt every smalltalk does that 23:10:24 alise, isn't there one that uses files for the source 23:10:25 and such 23:10:25 every smalltalk derived from the original 23:10:35 yeah, but gnu smalltalk is smalltalk-the-language, not smalltalk-the-smalltalk 23:10:40 true 23:10:51 code looks quite nice in Droid Serif 12... 23:10:53 you got me experimenting :P 23:10:59 alise, talk? 23:11:02 alise, argh 23:11:06 forget I said anything 23:11:08 don't talk small, talk big 23:11:24 alise, there totally needs to be an esolang called bigtalk 23:11:39 bigchat 23:12:05 paradigm: message-passing messages 23:12:07 the only things are messages 23:12:11 messages pass messages to other messages 23:12:37 god leaden is like the best text editor ever already 23:12:44 even though you have to edit the source code to open a different file 23:12:56 hm 23:12:56 and it only supports python highlighting 23:13:00 and doesn't autoindent, and has no ui 23:13:14 self.scrolled_view.set_hadjustment(hadjustment) 23:13:14 self.scrolled_view.set_vadjustment(vadjustment) 23:13:16 alise, does it do IRC? 23:13:16 why isn't this working... 23:13:20 AnMaster: no, and it never will :P 23:13:26 alise, printf() debug those 23:13:44 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:13:46 *might* 23:13:58 just to annoy you 23:14:07 no printf in python :P 23:14:15 alise, well print then 23:14:21 but printf debugging is a specific term 23:14:28 yes :P 23:14:38 which applies to languages where it is called something else 23:14:56 alise, I would say printf debugging for erlang too. even though technically it would be erlang:display or io:format 23:15:29 in this semester i was teaching C 23:15:41 bbl 23:15:51 and what i noticed is that students don't get the idea of pointers and structures and stuff 23:16:26 somehow they're weak at visualising this stuff 23:16:32 wtf, evrything points to it working 23:16:39 *everything 23:18:04 you're not looking hard enough for errors, obviously 23:18:09 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 olsner: i've looked pretty damn hard 23:18:34 i think this is gtk being wonky 23:19:01 it would highlight fragments of code in runtime and show objects in memory as boxes connected with pointers (arrows) 23:19:09 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 this makes no sense 23:19:13 and everything would be interactive and easy to use 23:19:21 but i'm too lazy to wrote such thing 23:19:24 write* 23:19:28 ah, wait, the editor thing does its own scrolling too 23:19:30 maybe that'll fuck it up 23:19:50 oh no 23:19:56 nazi python 23:20:44 find me something easier for this 23:21:20 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 back in ~20-30mins 23:32:47 and what i noticed is that students don't get the idea of pointers and structures and stuff 23:32:48 somehow they're weak at visualising this stuff 23:32:49 possibly 23:33:12 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 so I thought it was maybe too much 23:33:26 I don't know 23:33:38 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 olsner, you knew it was going to be boxes and arrows? rather than circles and arrows for example? 23:35:14 always boxes, you need to put stuff in them later on 23:35:22 you put stuff in boxes, not in circles 23:35:30 olsner, but you put stuff in circles in state diagrams! 23:35:44 no, those circles are merely labeled 23:35:49 hm good point 23:42:14 so it would provide 2 views 23:42:23 for comparison 23:44:09 nooga, ? 23:44:40 nooga, what are you talking about? 23:47:02 http://www.vgtv.no/?id=31144 :D 23:49:26 olsner, I can't parse the Norwegian 23:49:35 what is "vannkrig" 23:49:39 vattenkrig 23:49:41 olsner, and why is there a huge black box there 23:49:50 the black box is the video containing the funny 23:49:55 olsner, flash? 23:50:00 probably 23:50:14 * AnMaster looks if he can extract the *.flv 23:51:16 I think you're overdoing it 23:51:28 olsner, they dropped flash for amd64 again 23:51:30 so *shrug* 23:51:41 olsner, there is absolutely nothing I can do 23:51:44 your browser can't run 32-bit plugins on 64-bit? 23:52:03 pretty sure I actually have 32-bit flash on my 64-bit system 23:52:04 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 AnMaster: about my idea of visual debugger for dummies 23:59:22 -!- cheater99 has quit (Ping timeout: 260 seconds). 23:59:51 nooga, ?? 23:59:59 nooga, what idea is this?