00:00:26 aliseiphone: Er, it's a continuous-integration build I'm working on, actually. 00:00:41 Quite racy! 00:01:15 Ah. 00:01:41 cpressey: Where did you get the idea that I'm a character in a manga, exactly? :P 00:02:47 pikhq: Leaden! You should ask me about leaden. That would be great. 00:03:10 aliseiphone: That's a good question. ... But not as good as questions about Leaden! 00:03:28 aliseiphone: DO TELL ME 00:03:35 cpressey: IT WILL BUG ME ALL NIGHT IF YOU DO NOT ANSWER 00:03:48 pikhq: NOT A QUESTION SORRY YOU LOSE 00:04:28 aliseiphone: "Where" is not the question. I have no idea where any of them come from. I think the more relevant would be "why did I not dismiss the idea immediately." The answer: because it entertained me. 00:04:47 I think it had something to do with choosing to go by the name "alise". 00:04:55 Desu. Am I doing it right? 00:05:13 ... 00:05:25 No. 00:05:26 Yes. Yes, I think that will do nicely. 00:05:28 pikhq: What, exactly, do you want me to tell you about leaden for the purpose of me then shutting up? 00:06:13 aliseiphone: What, exactly, makes this awesome. Your ideas tend to have awesome properties, and I want to know what those awesome properties are for leaden. 00:06:33 I want to know why it's called "leaden", for one. 00:06:38 Damn, still not a question. 00:06:46 pikhq: There is no "save" feature! 00:06:58 (Under normal operating conditions!) 00:08:10 cpressey: ed[itor] -> lead (l-ed) -> lead seems incomplete -> leaden 00:08:30 Yokay. 00:08:47 pikhq: WILL YOU INQUIRE AS TO WHY OR FOREVER WALLOW IN A POOL OF DESPERATE IGNORANCE? 00:08:57 aliseiphone: KIAL 00:09:07 THESE ARE THE TWO OPTIONS 00:09:13 pikhq: WHAT 00:09:30 "KIAL" be ESPERANTO for WHY 00:09:42 Kill, Intimately, Attractive Lemurs 00:09:52 (where ESPERANTO is an all-caps variant of Esperanto. :P) 00:10:25 pikhq: To cure VERSION CONTROL APATHY: wherein I never actually bother to use it. 00:10:33 Solution? 00:10:42 Every single change is saved auto 00:10:55 matically, 00:11:06 and Ctrl+S does a /commit/. 00:11:13 Cool. 00:11:21 VoilĂ , suddenly using a VCS is natural and easy. 00:11:24 On pikhq-coreutils, I've finally ceased with the version control apathy. 00:11:45 Because I realised that I've got DVCS stuff installed. 00:11:58 ... Making setting up a repo trivial. 00:12:14 pikhq: Another feature: Barely any features! 00:12:37 Woots. 00:12:50 I barely use any fancy-shmancy stuff! So I'm just cutting it out with a chainsaw, for my mind is small and easily confused. 00:13:28 ok 00:13:32 union-find gives you O(4) 00:13:36 did you know that, alise??????????? 00:13:43 It will have very few ui elements, correspondingly few keyboard shortcuts and nothing else. 00:13:49 Oh, for... 00:14:00 cheater99: that's O(1), dipshit 00:14:34 the wikipedia article says O(n) for n proven to be =<4 for most practical cases. 00:14:37 moving on 00:14:44 cheater99: haha 00:14:49 You fail at big O 00:14:51 Hard 00:15:39 If that's the algo I think it is, it's O(inverseAckermann(n,n)) 00:15:45 you do not understand the fact that O(4) still takes 4 times as much time as O(1). 00:15:53 Where inverseAckermann(n,n) is under 4 for just about any number you care about in practice 00:15:57 :P 00:16:07 Because Ackermann grows, like, quickly, eh? 00:16:23 pikhq: Anyway. Leaden will highlight syntax, automatically indent, open multiple files, open files near other files, find strings in files, and tell you the current line number. 00:16:32 And... very little else. 00:16:47 But /really well/. 00:17:13 Good night, all. 00:17:18 cheater99: I assume (hope) you're joking. 00:17:22 -!- cpressey has changed nick to cpressey_awaaaay. 00:17:24 cpressey: Night. 00:17:50 Even I know that O(4) = O(1) 00:18:05 aliseiphone: i'm just teasin' you 00:18:18 Or.. is equivalent in some other way 00:18:20 * Sgeo confuses 00:18:25 pikhq: And I think it'll be... well, better than Emacs. At least for me. 00:18:29 Sgeo: = 00:18:36 aliseiphone: you're cute when you get all angsty like that 00:18:51 sgeo: just look here http://1.1.1.5/bmi/upload.wikimedia.org/math/2/4/0/240db6e2d532529d06b69bec85274b95.png 00:18:55 er 00:19:00 http://upload.wikimedia.org/math/2/4/0/240db6e2d532529d06b69bec85274b95.png 00:19:09 and multiply or divide M by 4. 00:19:10 the problem is that big-O is an overloaded notation 00:19:25 x_0? 00:19:38 Sgeo: Hes trolling you. 00:19:39 the equality in big-O actually is an \in sign. 00:19:44 aliseiphone: no. 00:19:55 aliseiphone: i only mess with *your* mind 00:19:58 Ah, wait, no. 00:20:11 big-O represents asymptotic behavior 00:20:29 I must remember to make cheater99 go away sometime. 00:20:43 coppro: No, it represents a 00:20:49 mount of shock 00:20:49 aliseiphone: well, if you weren't hatin', we could live together peacefully 00:20:51 .. there's too little context for that link to make sense. 00:21:02 Sgeo: http://en.wikipedia.org/wiki/Big_O_notation#Formal_definition 00:21:04 O(0.1) = :o 00:21:15 O(100) = :O 00:21:34 i can make my lookup O(0.0001) 00:21:48 yay! 00:22:30 I'm going to go back to SGA now 00:22:44 i'm gonna try and go to sleep 00:22:46 cya later guys 00:22:52 enjoy your week aliseiphone 00:23:01 cheater99: exactly 00:23:05 O(1) is equivalent to O(4) 00:23:11 coppro: yes. 00:23:49 so why were you arguing that they are different? 00:23:56 i was just messing with alise 00:23:59 oh 00:24:01 ok 00:24:03 good plan 00:24:04 since she gets into silly arguments 00:24:24 * pikhq is now impressed with the Surf web browser 00:24:29 url? 00:24:39 http://surf.suckless.org/ 00:24:43 Is mentally facepalming really "being messed with". 00:24:50 Or, if you want to read it: http://hg.suckless.org/surf/file/dbb565b8d61c/surf.c 00:24:55 -!- nooga has quit (Ping timeout: 240 seconds). 00:28:38 pikhq: Clearly I must write a BETTER one! 00:28:49 A 00:28:55 *no A 00:29:01 Well, night. 00:29:12 *goodnight 00:29:14 Bye. 00:29:17 -!- aliseiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info). 00:32:56 she's so confused 00:39:24 sleep 00:39:24 bye 00:41:46 -!- BeholdMyGlory has quit (Remote host closed the connection). 00:51:21 -!- Mathnerd314 has quit (Ping timeout: 240 seconds). 00:53:39 -!- cheater99 has quit (Quit: Leaving). 00:54:50 -!- Mathnerd314 has joined. 01:20:21 pikhq, ugh no tabs 01:20:28 I used tabless browsers before... horribkle 01:20:31 horrible* 01:26:06 AnMaster: It's designed to be embedded inside of a program implementing tabs, such as tabbed. 01:26:53 or any tabbing WM 01:26:59 speaking of which, what tabbing WMs are there? 01:31:23 pikhq, wouldn't it waste a lot of memory based on not sharing state? 01:31:33 pikhq, I have some 80 tabs 01:31:45 80 firefox instances would be horrible 01:31:49 sure webkit is better but 01:31:50 still 01:32:40 AnMaster: You realise that everything that *can* be shared is shared between processes just as well as between different portions of the same process, right? 01:33:27 pikhq, yes but there will be some mutable state that is no longer shared 01:33:33 pikhq, such as loaded bookmarks 01:33:40 unless it mmaps bookmarks 01:33:44 That mutable state is *not sharable anyways*. 01:33:57 pikhq, like bookmarks? sharable between tabs 01:34:06 but not easily between processes without a lot of work 01:34:08 Using multiple processes instead of a single one isn't going to help that. 01:34:15 Also: who said anything about bookmarks? 01:34:19 pikhq, ... the reverse 01:34:21 Surf doesn't have them. 01:34:25 heh 01:34:34 AnMaster: Erm, right. 01:34:40 pikhq, I think I prefer a slightly more bloated browser 01:34:56 AnMaster: I'm using Conkeror (XUL based) myself... 01:35:08 I've just got to admit: surf is a nice piece of work. 01:35:13 pikhq, not vonkeror? 01:35:14 :P 01:35:22 No. Not Vonkeror. 01:35:28 you should totally switch to it :D 01:36:00 pikhq, likre really 01:36:15 Bah. 02:01:38 -!- GreaseMonkey has joined. 02:14:43 -!- Phantom_Hoover has joined. 02:17:30 -!- Azkalar has joined. 02:18:06 -!- Phantom_Hoover has quit (Quit: Page closed). 03:21:44 -!- cheater99 has joined. 03:33:11 -!- SevenInchBread has joined. 03:35:45 -!- CakeProphet has quit (Ping timeout: 260 seconds). 03:39:29 -!- oerjan has quit (Quit: Good night). 03:47:22 -!- Oranjer has left (?). 03:52:03 * Sgeo may very well build a decimal-based computer 03:57:18 -!- SevenInchBread has changed nick to CakeProphet. 04:11:56 you would end up with strange operators 04:12:03 you wouldn't have and and or 04:12:10 because those are binary 04:12:15 you would have some weird ones 04:12:17 Sgeo, ^ 04:12:28 ty 04:12:36 hbm 04:12:39 *hm 04:12:40 Sgeo, ty? 04:12:45 For pinging me 04:12:47 I was iaw 04:12:47 ah 04:12:50 iaw? 04:12:57 In another window 04:13:00 ah 04:13:23 Sgeo, anyway even for ternary you have some weird operators 04:13:27 I don't remember which ones 04:13:35 you would have even stranger ones for decimal 04:13:59 I could do binary for some things, decimal for others, I think 04:14:03 Maybe decimal memory 04:14:13 meh, how boring :P 04:14:26 Sgeo, NBCD? 04:14:34 if yes BOOORING 04:14:51 you need 10 logic levels 04:15:09 otherwise it is just boring 04:15:22 NBCD? 04:15:45 N Binary Coded Decimal? 04:15:48 forgot what N stands for 04:16:03 Nono 04:16:15 Just thinking it's as easy to store a digit as a bit 04:16:17 In AW 04:16:18 I think 04:16:22 I may be mistaken 04:16:26 Sgeo, um in AW 04:16:28 how boring 04:16:33 I thought you were using real hardware 04:16:37 do do a decimal computer 04:16:41 that would have been interesting 04:16:49 AnMaster: Everything Sgeo does is in AW 04:16:52 with AW, boooooring 04:16:54 even the LambdaMoo work 04:17:03 coppro, what is lambdamoo? 04:17:14 another dead game that Sgeo works on 04:17:18 ah 04:17:37 my thoughts on Sgeo: 04:17:42 `quote disturbing 04:17:44 AW is just completely and utterly boring 04:17:55 `echo foo 04:17:58 No output. 04:18:08 ...? 04:18:09 oh right, HackEgo is broken 04:18:11 No output. 04:18:15 `run echo foo 04:18:15 AnMaster: weren't you rendering skyroads? 04:18:23 cheater99, not me. Ilari 04:18:27 Gregor: HackEgo is broken :( 04:18:27 oh ok 04:18:28 please try to use your memory 04:18:31 No output. 04:18:40 Ilari: check out Tasty Static, it's cool 04:18:49 AnMaster: i can't, memory is the new hard disk! 04:18:55 *rimshot* 04:19:01 cheater99: Nah. 04:19:03 cheater99, ...? 04:19:19 coppro, so what was the quote? 04:19:22 Ilari: just 'nah'? 04:19:37 you hadn't even looked at it. that's fairly disappointing. 04:20:10 AnMaster: something along the lines of "Sgeo, while I'm supportive of your interest in games, the necrophilia is disturbing" 04:20:19 coppro, wut 04:20:24 oh wait 04:20:26 I get it now 04:20:29 05:20 04:20:33 haven't slept in 18 hours 04:20:55 sorry, make that 19 04:21:11 wait 21 even 04:21:14 yeah I need sleep 04:26:53 * Sgeo ponders the implications of making all the opcodes in an 8-bit system be prime numbers 04:27:11 a lot of invalid opcodes 04:27:43 very few valid opcodes 04:28:57 How many valid opcodes? About 50? 04:29:51 54 04:30:03 (typed in "prime numbers less than 256" in Alpha 04:31:49 hah 04:32:09 coppro, alpha does some nice translating to mathematica syntax 04:36:42 Yay, 98 and 99 are coprime! 04:43:35 * Sgeo starts muttering 0 1, 0 1 2 under his breaht 04:43:37 *breath 05:02:08 -!- Mathnerd314 has quit (Ping timeout: 252 seconds). 05:24:33 -!- Azkalar has quit (Quit: Leaving). 06:08:51 -!- pikhq has quit (Read error: Connection reset by peer). 06:10:00 -!- coppro has quit (Read error: Connection reset by peer). 06:10:05 -!- Halph has joined. 06:10:16 -!- Halph has changed nick to coppro. 06:10:28 I do not look "weird". Pshaw. 06:13:34 -!- pikhq has joined. 06:31:46 -!- Warrigal has quit (Ping timeout: 276 seconds). 06:32:59 -!- Warrigal has joined. 06:57:13 -!- choochter has quit (Quit: lang may yer lum reek..). 07:08:25 -!- Gregor-P has joined. 07:08:38 Apparently I have a Zune. 07:08:39 lawl 07:16:52 Don't worry, I have an N-Gage. (Though not actively in use nowadays.) 07:17:21 (I assume this was some sort of "most ridiculous gadgets" thing?) 07:27:41 Almost 13 hours and currently at frame 18 834 of 48 015... 07:27:55 -!- rodgort` has joined. 07:27:56 -!- rodgort has quit (Read error: Connection reset by peer). 07:30:41 Hmm... I need to design pipeline for esolang. Preferably one that's fairly long and can have important stuff occur in different places depending on the exact instruction... :-> 07:57:10 -!- HackEgo has quit (Remote host closed the connection). 07:57:11 -!- EgoBot has quit (Remote host closed the connection). 07:57:14 -!- EgoBot has joined. 07:57:14 -!- HackEgo has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:12:33 -!- Gregor has quit (Remote host closed the connection). 08:13:30 -!- Gregor has joined. 08:27:46 I'm a chemical reaction in your brain. 09:04:57 -!- augur has joined. 09:24:06 -!- augur has quit (Remote host closed the connection). 09:24:13 -!- augur has joined. 09:29:45 -!- nooga has joined. 09:35:13 -!- coppro has quit (Ping timeout: 264 seconds). 09:39:24 -!- tombom has joined. 09:39:25 -!- tombom has quit (Changing host). 09:39:25 -!- tombom has joined. 09:42:07 kxokxo 09:50:40 hmmm 09:50:49 so, I think natural languages have primitive words 09:51:09 -!- MigoMipo has joined. 09:51:23 and then words that can be defined by direct substition into a sentence with the meaning unchanged. 10:03:38 -!- CakeProphet has quit (Disconnected by services). 10:03:55 -!- CakeProphet has joined. 10:29:30 -!- Slereah has quit (Ping timeout: 240 seconds). 10:33:52 -!- Slereah has joined. 10:40:20 What do I get if I just make AND, OR, and XOR? 10:41:57 you get....... 10:42:02 AND, OR, and XOR....? 10:42:13 (I'm probably missing some context.) 10:43:05 Are there logical gates I can't construct? 10:43:15 From AND, OR, and XOR? 10:43:24 Well, I mean, um 10:43:25 XOR gives you NOT. 10:43:37 Hence you have NAND and NOR. 10:43:51 all you need is NAND 10:44:11 GreaseMonkey, but if I represent a 1 as a pulse and a 0 as no pulse, how would I do NOT or NAND? 10:44:29 x XOR 1 = NOT x 10:44:37 x NAND x 10:45:17 Deewiant, yes. With a 1 being given by.. some other circuit, or something 10:45:23 When it wants to do a NOT 10:45:29 No need for a separate "do it" signal 10:45:33 XOR is: c = a NAND b; output = (a NAND c) NAND (b NAND c) 10:45:43 and i'm going to bed. gnight 10:46:07 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null). 10:46:31 But.. NAND needs to make 1s out of nothing, iiuc 10:46:55 If you don't have constants, you can't make NOT with just AND/OR/XOR. 10:47:47 Can I make a computer without constants? 10:48:41 How do real-world computers do .. oh wait, 1 is a continuous flow 10:48:41 If you have NOT and XOR, you can do x XOR x = 0 and NOT (x XOR x) = 1 and you have constants. 10:48:49 Real-world computers have constants, yes. :-P 10:50:32 I can _do_ constants, but .. I don't see an easy way to do them without either having redundant logic in each logic gate, or using NOT for the simplest gates [and NOT consumes time and may not be reliable due to lag] 10:50:59 Redundant logic? 10:53:05 To build an AND gate, I'd AND the 1 part of the inputs for the result's 1, and OR the 0 part of the inputs for the result's 0 11:01:02 Here's the deal: I can send pulses 11:01:15 I can also send.. a thing that makes an awsistor store a 1 or 0 11:01:39 If it stores a 1 and I send a pulse though, a signal happens, as defined by the awsistor, but if it stores a 0... nothing happens 11:01:51 So, how do I represent a bit in such an environment? 11:01:59 a pulse for 1 and a different pulse for 0? 11:02:24 Set one awsistor to 1 and a different one to 0 for 1, and visa versa for 0, and send a pulse when something changes? 11:02:32 a pulse for 1, no pulse for 0? 11:03:28 Hm, maybe a mixed environment 11:04:11 For instance, if I have a circuit doing a lot of ANDs and ORs, pulse for 1 no pulse for 0 11:31:06 Sgeo: im not much of a fan of pulses. i prefer drupes. 11:36:40 According to Wiki, drupe is a fruit 11:36:43 Pulse is not a fruit 11:38:35 -!- pikhq has quit (Read error: Connection reset by peer). 11:46:15 so? 11:46:18 i still prefer drupes! 11:48:34 Err... drupe is type of a fruit? 11:50:03 peaches etc 11:50:17 no sorry 11:50:18 plums 11:50:26 oh no peaches too 11:50:27 awesome 11:50:45 coffee is a drupe :D 11:50:56 a drupe is basically one of those fruits with a pit 11:52:15 Those have mechanical protection of seed itself. So its less likely they have nasty chemical tricks. :-) 11:58:28 As the seed itself is always protected. It may be mechanical (hard shell, digestion-resistant casing) or chemical defenses (toxins and antinutrients) or combination of those. :-) 12:06:23 -!- pikhq has joined. 12:31:07 -!- augur has quit (Remote host closed the connection). 12:31:16 -!- augur has joined. 12:31:17 -!- augur has quit (Remote host closed the connection). 12:31:22 -!- augur has joined. 12:39:47 * Sgeo is stupidly awake right now 12:49:38 * ski nods tiredly 12:52:09 -!- cpressey_awaaaay has quit (Ping timeout: 240 seconds). 13:12:39 -!- ais523 has joined. 13:16:57 -!- Gracenotes has quit (Ping timeout: 260 seconds). 13:31:50 -!- Gracenotes has joined. 13:54:12 -!- oerjan has joined. 14:01:42 ais523, combine feather an a nomic 14:03:00 and* 14:03:39 anyone here, is this idea plausible or completely insane: when writing a VCS, have a standardised PHP script that's accessible over the Web so you can check in changes over http/https as well as pulling them from there 14:03:47 it would have to be in PHP to work on cheap webhosts 14:04:04 ais523, it could be static html 14:04:14 ais523, bzr can pull from a static web server 14:04:14 AnMaster: how do you commit to static HTML? 14:04:25 yes, most VCSes can /pull/ from a static web server 14:04:25 ais523, commit you can't do that way 14:04:27 I'm talking about /pushing/ 14:04:30 ah 14:04:34 which would require server-side scripting 14:04:44 ideally, with the same URL as the pull 14:04:47 ais523, you *said* pulling though 14:05:03 AnMaster: "as well as pulling" 14:05:09 the "check in" was the push 14:05:18 ah 14:05:20 right 14:05:22 "I want to do A as well as B" "but you can do B anyway!" 14:05:30 read that as "check for" 14:06:01 ais523, bzr can push over ssh (without bzr on the other end even), and iirc also over ftp 14:07:00 ais523, anyway, nice idea 14:07:28 ais523, anyway what do you like my idea of feathernomic 14:08:10 -!- Gracenotes has quit (Ping timeout: 240 seconds). 14:08:30 what do you think of* 14:09:18 I've had vague ideas myself 14:09:21 but it would be too confusing to play 14:09:49 AnMaster: darcs can push over ssh too, although I think it needs darcs on the other end in order to speed up the process 14:10:22 would still be an awesome game 14:10:43 ais523, bzr can optionally use bzr at the other end for speeding up 14:12:47 ais523: Well, for Git you could have the PHP script understand the RPC protocol and do the repository manipulation itself. :-) 14:12:57 Ilari: genius 14:13:09 I'm vaguely thinking about writing my own VCS, I have plans for it already 14:13:25 because modern VCSes still don't do everything I think a VCS should do 14:13:30 ais523: RPC protocol is the only smart transport protocol that doesn't belong to same family as git:// 14:13:32 ais523, such as? 14:13:59 merging changes into blocks which have changed indentation 14:14:07 e.g. someone puts if(x) { ... } around a block 14:14:13 and someone else edits the inside of the block itself 14:14:18 I don't see why that should cause a conflict 14:14:26 -!- FireFly has joined. 14:14:36 ais523, it needs to know the language 14:14:38 also, you should be able to cherrypick anything without problems; darcs is good at that, most common VCSes are rather bad 14:14:42 AnMaster: no, it doesn't 14:15:04 ais523, in erlang it would be quite different for the last line, since the last line in the block will lose the ending , 14:15:15 if the entire context of a diff has changed whitespace consistently, in every language I know, except Whitespace, it would be safe to edit like that 14:15:30 in Erlang, the test won't work and you'd have to merge manually, but it wouldn't mess up 14:15:36 true 14:16:16 ais523, how do you plan to support Whitespace? 14:16:27 option to turn that check offf 14:16:28 *off 14:16:31 right 14:16:43 ais523, needed for binary files anyway 14:16:54 ais523: Only that currently one needs protocol that supports 'connect' operation to do remote snapshot (git://, ssh://, file://, any remote helper that has 'connect' capability). RPC doesn't support that. :-/ 14:16:57 chance of it mattering for a binary file is incredibly low 14:17:05 but I get your point 14:24:30 you should also be able to do the equivalent of "git rebase" arbitrarily without screwing up anyone else's repo when they try to pull from you 14:28:29 ais523, I think rebasing is modifying the immutable history 14:28:45 once commited it shouldn't be possible to change 14:28:57 well, the solution IMO is to have two layers 14:29:02 actual history, and user-readable history 14:29:15 the second would be modifiable to make it more readable (which is the reason people rebase), the first wouldn't 14:29:22 or use merge 14:31:23 -!- agox has joined. 14:31:44 meanwhile, SCO have appealed again 14:31:51 ais523, hahaha 14:31:52 it'll be hilarious to see which arguments they use this time 14:32:08 bbl food 14:52:16 bubbly food 14:52:52 oerjan, XD 14:53:53 -!- augur has quit (Remote host closed the connection). 14:53:59 -!- augur has joined. 14:59:59 -!- cheater99 has quit (Quit: Leaving). 15:14:29 -!- oerjan has quit (Quit: leaving). 16:13:36 -!- relet has joined. 16:18:51 -!- cpressey has joined. 16:20:07 -!- cheater99 has joined. 16:25:08 -!- agox has quit (Quit: Leaving). 16:28:08 Heh... Although total lunar eclipses seem much more common than total solar eclipses, in reality there's about 10 total solar eclipses for 11 total lunar eclipses. :-) 16:31:33 On average, there's one total solar eclipse in apprroximately 1.58 years. For total lunar eclipse the same time is approximately 1.44 years. 16:33:31 There's one TSE soon: http://eclipse.gsfc.nasa.gov/OH/OH2010.html#SE2010Jul11T 16:39:09 -!- augur has quit (Remote host closed the connection). 16:39:16 -!- augur has joined. 16:40:39 -!- Mathnerd314 has joined. 16:43:23 -!- cpressey has set topic: Exciting new features!!! OK not really | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 16:45:26 Ilari: The one that's soon isn't very watching-friendly; "makes no landfall except for Mangaia (Cook Islands), Easter Island (Isla de Pascua) and several isolated atolls". 16:47:27 hah 16:55:04 There was one visible nicely from Finland back in 1990; there's not going to be another any time soon, I think. 16:57:28 fizzie, I have never seen a total one 16:57:31 well 16:57:36 outside tv and youtube 16:58:31 I have NEVER SEEN THE WORLD outside TV and YouTube 17:02:56 -!- MizardX has quit (Ping timeout: 248 seconds). 17:09:48 -!- augur has quit (Remote host closed the connection). 17:09:54 -!- augur has joined. 17:21:24 Next cycle total solar eclipses: 2010-07-11, 2012-11-13, 2015-03-20, 2016-03-09, 2017-08-21, 2019-07-02, 2020-12-14, 2021-12-04, 2024-04-08, 2026-08-12 and 2027-08-02. 17:22:15 Consuming each character of the program source triggers an event. An event changes the state of the consumer and can optionally add a continuation (of a sort) to a collection of continuations to be enacted at some later point. The continuations can be set up to save (and re-enter when activated) previous states, so you can build context-free (at least) consumers. 17:23:00 (Trying to unify scanning, parsing, immediate, and deferred execution.) 17:26:07 Those are from Saros 146, 133, 120, 130, 145, 127, 142, 152, 139, 126 and 136 (in order). 17:30:08 -!- iamcal has quit (Ping timeout: 248 seconds). 17:32:36 -!- oklopol has joined. 17:32:58 where's oerjan 17:33:22 i need to talk to him about metatopology 17:34:49 urgently! 17:34:59 It's a metatopological emergency! 17:35:17 :) 17:35:20 hi oklopol. 17:35:33 -!- MigoMipo has quit (Read error: Connection reset by peer). 17:36:28 -!- MigoMipo has joined. 17:37:42 This century also has total eclipses from Saros 129, 149, 148 and 155. 17:41:13 -!- Mathnerd314 has quit (Ping timeout: 264 seconds). 17:41:27 -!- cheater99 has quit (Quit: Leaving). 17:52:20 -!- kar8nga has joined. 17:56:08 -!- cheater99 has joined. 17:59:34 Next Saros cycle to start is 156 with PSE in 2011. That cycle never produces TSE, but produces TLEs (2565-3034). It ends in 3503 with PLE. 18:03:34 -!- cal153 has joined. 18:03:39 -!- Mathnerd314 has joined. 18:11:43 'Course, there has to be some kind of self-modifying aspect to the consumer, so that you can define new identifiers -- basically, you alter the events that are triggered when the characters in that identifier is consumed. Hmm... 18:16:19 cpressey, hm? the context being? 18:16:36 as in, which language or such 18:17:04 (11:22:35 AM) (Trying to unify scanning, parsing, immediate, and deferred execution.) 18:17:05 Ilari, when is the next one for south-central Sweden? 18:17:15 cpressey, ah, not for a specific language then? 18:17:34 Well, it could be a specific language, eventually 18:17:59 Consuming each character of the program source triggers an event. <-- like befunge you mean? 18:18:01 Something like Mascarpone meets beta-Juliet meets... oh, who knows. 18:18:14 * AnMaster checks for Mascarpone on the esowiki 18:18:22 AnMaster: Except Befunge doesn't really have a grammar. No multi-character identifiers 18:18:26 There is no page titled "Mascarpone". You can create this page. 18:18:27 ? 18:18:43 It's one of mine 18:18:46 cpressey, does brainfuck have a grammar? There are no multi-char identifiers either 18:18:50 I haven't made an esowiki page for it yet I guess 18:18:52 but [ and ] has to be matched 18:19:18 AnMaster: That's much closer to a grammar than Befunge has, imo. 18:19:34 Befunge has essentially no syntax 18:19:54 hm. 18:20:09 AnMaster: That site doesn't allow to search by location. 18:20:15 I hope fizzie starts working on jitfunge again btw 18:20:24 * AnMaster forgot if cpressey heard about jitfunge before 18:20:35 Ilari, ah 18:20:47 I remember jitfunge from back when it was Betty :) 18:20:57 cpressey, betty? doesn't sound familiar at all 18:21:01 That was a Befunge-93 jit compiler 18:21:09 cpressey, jitfunge is fizzie'z project for a befunge-98 JIT compiling befunge 18:21:10 Probably lost to history 18:21:17 I don't think it is based on this betty at all 18:21:24 No, I'm sure it's now 18:21:26 *not 18:21:42 cpressey, iirc fizzie is using LLVM for it now, was doing his own x86 machine code at first but later switched to llvm 18:22:00 llvm is good for that 18:22:44 How's jitfunge going, anyways? 18:22:51 cpressey, fun thing about jitfunge is that mycology is somewhat useless on it. Since it interprets and remembers first time it encounters a path in the code, then next time it ends up running that same path it JITs it. So things that work once might not work twice. Which mycology kind of assumes. 18:23:33 AnMaster: That makes it sound like jitfunge is incorrect 18:23:47 cpressey, it makes it sound like it is pre 0.0.0.1 18:23:47 rather 18:24:26 iirc it ends a path when there are several directions to travel. Or maybe it didn't (I seem to remember it optimised the >:#,_ idiom (and variants for other directions), or maybe it was just a discussion about optimising it... not sure) 18:24:56 33 902 frames of 48 015 done in 23:50... 18:24:56 AnMaster: It ends a path at branches, yes. 18:25:23 The key is that when you execute p and similar, you have to invalidate any compiled code that might have been changed by it. 18:25:31 pikhq, hm, I guess it didn't turn >:#,_ into "output string" then 18:25:33 Yeah. 18:26:41 cpressey, for p it had some sort of list for cells with traces using them in some way 18:26:45 so it could invalidate 18:28:38 * ais523 submits another level for Enigma 18:37:13 cpressey: There's also the fact that I "optimize" fixed-coordinate 'p' to a single memory store, but then I have to keep track of all target cells of such writes, in case someone later goes and executes code there, because the simple write wouldn't of course invalidate the trace. 18:38:12 (And I have to invalidate also traces that have ;-jumped over some space iff the write adds/removes a ; on the route; and potentially worry about all wrapping traces if the code bounding-box changes. 18:39:34 The Mycology problem indeed is that it does its tests only once, so it won't (easily) find bugs in the created JIT code, because those parts are only executed once, and traced while interpreting them; they'd be compiled+executed only when encountered a second time. 18:43:20 -!- kar8nga has quit (Read error: Connection reset by peer). 18:45:05 fizzie: Surely that could be addressed by including a top-level loop in Mycology which makes it run its tests n times? (Although I admit that there are probably logistical problems with modifying Mycology in this way...) 18:45:33 You'd have to undo all self-modification and reset any other state. 18:45:51 Deewiant would probably know how feasible something like that is. 18:46:00 Somewhat, but not very. :-) 18:47:23 But it shouldn't be too hard to just reload the file and go again (in the interpreter, if you don't want to write it in Befunge) 18:47:53 Well, doing it in Befunge is doable pretty much only if you can get to the q at the end 18:48:37 But anyway, that's not as trivial as using 'i' since that doesn't overwrite things with spaces 18:48:56 it self-modifies heavily iirc, which means a lot of the jited code would still be ran as if first time 18:49:02 in case you reset the file I mean 18:49:32 Some parts, yes, but most test code shouldn't change 18:49:48 fizzie, for testing I guess you could always trace and jit, then execute? Just make it not actually touch funge space on any p or such while tracing 18:53:17 Sounds also somewhat feasible, but not completely trivial. 18:53:58 I suggest doing that, since it can be useful for general (non-Mycology) testing 18:55:30 of course you need to try it the other way too, in case the tracer variant is buggy 18:57:25 fizzie, hm if you had a trace like >'6 2 2 p and then some other code changed that 6 into a 9 or such, couldn't you in theory avoid rejitting that and just modify the value in the jitted machine code? 18:59:20 Yes. I sort-of "handle" that by marking (one-shot and normal) string-mode-traced cells with a different "type" value, and a pointer to the corresponding intermediate-form opcode. 18:59:44 nice 18:59:50 why "handle"? 19:00:03 why the quotes around it I mean 19:00:07 So I can (I'm not sure if I currently do) just alter the intermediate opcode and run LLVM's codegen, without having to throw out the whole trace. 19:00:33 The quotes where there because even better would be to patch the generated machine code directly, to avoid also the codegen step. 19:00:55 That'd run into problems with constant-folding though, I assume. 19:09:33 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.6/20100625231939]). 19:21:54 -!- BeholdMyGlory has joined. 19:28:09 -!- cheater99 has quit (Ping timeout: 240 seconds). 19:28:34 -!- cheater99 has joined. 20:00:56 -!- CakeProphet has quit (Quit: leaving). 20:01:52 -!- coppro has joined. 20:06:34 -!- pikhq has quit (Read error: Connection reset by peer). 20:16:43 -!- pikhq has joined. 20:40:17 -!- cheater99 has quit (Ping timeout: 260 seconds). 20:51:48 -!- CakeProphet has joined. 21:16:13 -!- Warrigal has quit (Ping timeout: 276 seconds). 21:21:17 * pikhq loves how "" is a perfectly complete & valid Makefile 21:38:06 Geh, decoding a Descent 1 demo was a horrible mess. They use a variable-length "object" data structure, and the length depends on things like how many submodels a particular model has, so you have to decode all the polygon model data to know how many bytes to skip even if you're not interested in the event in question. (The demo files are a stream of events telling what to render on-screen.) 21:43:19 -!- pikhq has quit (Read error: Connection reset by peer). 21:46:51 -!- Gracenotes has joined. 21:52:40 -!- pikhq has joined. 22:00:05 -!- pikhq has quit (Read error: Connection reset by peer). 22:01:35 -!- Oranjer has joined. 22:06:37 -!- mtve has quit (Ping timeout: 260 seconds). 22:17:29 -!- MizardX has joined. 22:18:39 -!- pikhq has joined. 22:27:39 -!- Oranjer has left (?). 22:46:54 -!- ais523 has quit (Remote host closed the connection). 22:48:50 -!- aliseiphone has joined. 22:49:05 I'm interested in ducks and the exciting properties of ducks. 22:49:21 Yep, it's 4:48PM (CST) again. 22:49:33 Give or take a few minutes. 22:52:23 aliseiphone: I'm trying to unify scanning, parsing, and immediate and deferred execution into a single, coherent, ugly framework. 22:52:36 But right now I need to cancel an appt. bbiab 22:52:39 -!- coppro has quit (Ping timeout: 240 seconds). 22:56:47 -!- oerjan has joined. 22:57:12 Hi oerjan. 22:57:16 fizzie: ping 22:58:06 yo 23:01:57 aliseiphone: I'm trying to unify scanning, parsing, and immediate and deferred execution into a single, coherent, ugly framework. 23:02:16 * oerjan whispers madly about oleg's iteratees and enumerators 23:03:49 I suspect my crap looks quite different 23:04:22 quite probably. i just suspect oleg's framework supports all the things you mentioned. 23:05:31 oerjan: fetch fizzie please 23:05:35 a scanner is an enumerator, a parser is an iteratee. and by embedding it into a monad you can get immediate execution if you want. 23:05:53 deferred execution being the default in haskell, naturally 23:06:09 OK, now I feel like just giving up on that, then. 23:06:12 I need to describe just how strange he looks 23:06:52 cpressey: well that's the little i think i understand of it, anyway. 23:07:11 mainly just from browsing the package documentation 23:07:35 cpressey: Design a language that is TC and /only/ executable with infinite storage (say, filled with every natural) 23:07:44 not sure this is possible 23:08:20 cpressey: You ever read Oleg's site? Great way to be humbled. 23:08:33 aliseiphone: wouldn't it by necessity take infinite time to check that you actually have infinite storage 23:08:43 http://okmij.org/ftp/. Go on, pick a link 23:08:46 aliseiphone: not sure it makes sense. No difference between infinite storage filled with every natural, and unbounded storage lazily poulated with successive naturals. 23:08:48 *link. 23:08:59 aliseiphone: Yes, I've read through it, mostly the scheme stuff. 23:09:03 Mm. That's the issue. 23:09:52 Unless you define your operations to work on infinite amounts of storage at a time. 23:09:59 if it can actually be implemented to be practical, then the infinite parts can be faked. well that's almost a tautology. 23:12:18 aliseiphone: I'm pretty sure that there is no such thing. 23:12:54 A Turing machine that will halt does not ever access infinite storage. 23:13:23 Because by merit of halting, it must have executed a finite number of steps, and hence accessed a finite amount of storage. 23:13:36 oerjan: Practicality unneccessary. 23:13:58 But you are all correct. 23:14:03 well then, it'll probably have to be superturing. 23:14:56 OK then, a language where every operation takes an infinite list of values and transforms them into another infinite list 23:15:32 perhaps, although you need the operation to be complicated enough to defy laziness at least... 23:15:57 Make it somehow not be lazy and you're good. 23:16:11 e.g. V := MAP(x in V) (SUM(x in V) x)/(SUM(x in V) [x>0]) 23:16:39 a mean of sorts. Sets all values to 0 if there are an infinite number of nonzeroes though. 23:16:45 So kinda pointless. 23:16:52 * cpressey tries desperately to think up a pun on "quantum computing" 23:17:12 and if you're really strict about this, you'd have to make it be impossible to compress the list contents to finite size using any kind of math :D 23:17:24 *computable math 23:17:38 -!- tombom has quit (Quit: Leaving). 23:18:23 V := concat MAP(x in V) 23:18:28 cpressey: the problem is that once you've observed the pun, it's not quantum anymore 23:18:31 Is an obvious one. 23:19:48 V := FOLD(x in V; y=<>) y ++ 23:20:06 oerjan: Just requires that the list be uncomputable. 23:20:07 :D 23:23:13 THAT WOULD WORK 23:23:41 Hmm. Make it a list of noncomputable rationals. 23:24:00 (and now you have two problems) 23:24:19 "noncomputable rationals", eh? 23:24:26 Erm. 23:24:28 Reals. 23:24:29 I think we might in fact have three problems. 23:24:30 REALS 23:24:46 -!- relet has quit (Quit: Leaving.). 23:25:40 -!- MigoMipo has quit (Read error: Connection reset by peer). 23:32:03 pikhq: Just use a real-computer :P 23:32:24 aliseiphone: XD 23:32:29 I want to write an automatic proof system. 23:32:42 So do I, but 23:32:45 nqthm did it, Oleg did it... 23:32:54 not automatic 23:32:56 *Boyers-Moore did it, 23:33:08 cpressey: Well, automatic is the whole fun. 23:33:16 All you need is resolution 23:33:40 and a lot of resolve 23:34:20 cpressey: Especially from a type theory perspective: you're writing a program that takes a specification of some types, and for some subset tells you whether one is inhabited or not. 23:34:43 (And if so, spits out a term of that type.) 23:34:58 aliseiphone: Another thing I have discovered: most APIs suck. 23:35:05 pikhq: Duh. 23:35:22 * cpressey cares not for type systems 23:35:24 pikhq: Especially BSD sockets and stdio. 23:35:36 Those are the two worst parts of the C library. 23:35:43 cpressey: Dude, Curry-Howard. 23:36:10 cpressey: Do you care about propositions and proofs? 23:36:18 Then you care about type systems. 23:36:22 Why the heck can't you create a FILE*? 23:36:34 aliseiphone: Fine, whatever. 23:36:43 pikhq: I suggest we write unstdio. 23:36:52 aliseiphone: Gets very tempting. 23:37:09 pikhq: It will be based on abstract streams and therefore support string streams to boot. 23:37:11 Would probably want a better string.h attached as well. 23:37:19 C strings are a bit annoying. 23:37:25 And it'll have a sane printfalike. 23:37:30 pikhq: Yeah. 23:37:40 Well, they make certain things very easy and certain things almost certainly done wrong. 23:37:43 unstring and unstdio. 23:37:57 -!- coppro has joined. 23:38:00 Prefix can be "u" or "un". :P 23:38:52 And there's no, no, *no* reason why you shouldn't be able to, say, wrap zlib around a FILE* and magically have compressed IO. 23:39:26 f = zlibify(f); // BAM! File compression! 23:39:32 pikhq: Of course. Define a zlib stream type, write a constrictor. 23:39:40 *constructor. 23:39:41 (or something) 23:39:49 Dammit, C needs interfaces. Badly. 23:40:05 And namespaces. 23:40:22 Let's create UnC while we're at it. 23:41:23 Nook, Kindle, what are the other options? 23:41:37 * Sgeo got to play with a Nook a little today 23:41:42 Sgeo: Buy a Sony reader or an IREX. 23:41:49 No other options. 23:42:08 Why is Nook bad? I mean, besides not so pleasant UI-ness? 23:42:21 Sgeo: many reasons 23:44:04 pikhq: interf stream { struct S; void blah(S *); } impl stream { typedef struct zlibstream S; blah = zlibblah; } 23:44:20 But seriously, unstdio is a good idea. 23:44:32 djb wrote it long ago :P 23:44:53 If you build an unstdio I can use, I'll use it. 23:44:58 I can't use djb's. 23:45:01 Obviously. 23:45:07 License? 23:45:15 There's libowfat... :P 23:45:23 That's GPL though iirc. 23:45:30 Isn't that just a clone, too? 23:45:37 Yes. And? 23:45:42 It's the interface that's broken, isn't it? 23:45:51 aliseiphone, such as? 23:45:54 libowfat is djb clone 23:46:02 Oh -- my mistake. 23:46:13 Thought it was a C library clone. 23:46:17 Er, stdio. 23:46:29 Sgeo: Sorry but I have limited time; I believe I said reasons in past logs? 23:46:34 :/ 23:46:36 Well I'm three for three today, maybe I should just vamoose. 23:46:55 I'm not likely to share books with anyone, it is capable of reading PDF, and as for slowness.. um 23:47:00 C's standard library should just die. 23:47:06 I noticed, but don't have a basis for comparision yet 23:47:15 pikhq: Would we need to support encodings? 23:47:16 I don't remember what else you said 23:47:31 Unicode is so complex it needs its own lib. 23:47:32 aliseiphone: If done properly? 23:47:42 At minimum all the UTFs and UCSs. 23:47:47 Sgeo: Also, no ADVANTAGES over Sony. 23:47:49 aliseiphone: clearly you should only support uncodings 23:47:54 pikhq: But why? 23:48:05 aliseiphone: Non-Unicode should die in a fire. 23:48:09 If there's an ununicode (heh) 23:48:10 That's why. 23:48:22 pikhq: Yeah, zlib outputs Unicode 23:48:23 Unless someone makes something better... 23:48:25 Of course 23:48:33 aliseiphone: Non-Unicode *text* encoding. 23:48:36 If I buy a Sony eReader, would I be able to buy from the B&N ebookstore or whatever? 23:48:51 pikhq: Why does that concern stdio? 23:48:56 Oh wait, it has its own store? 23:49:03 Sgeo: Dunno. Yes. 23:49:20 aliseiphone: Do you want to be able to ask for X characters? 23:49:26 If so, you need Unicode handling. 23:49:26 I think the touch is a gimmick, YMMV 23:49:42 Granted, this could be done on *top* of a sane byte-based IO library, but still. 23:49:45 pikhq: Yes, but is that codepoints? Graphemes? 23:50:01 Should the result be normalised? Which form? 23:50:20 * Sgeo wonders if there's a way to try it hands on 23:50:34 Sgeo: Go to a shop. 23:50:52 * Sgeo also wants to try Kindle hands-on 23:51:01 You don't. 23:51:08 No kindle. Bad kitty. 23:51:11 aliseiphone: A character is a single codepoint plus zero or more codepoints representing combining characters. 23:51:20 Ha ha ha. 23:51:22 Kitty shall not poop on that area of morality. 23:51:46 pikhq: So, a grapheme? 23:51:52 Combining characters should die. 23:51:58 "BORROW FROM YOUR LIBRARY" 23:51:59 What about languages like Arabic, eh? 23:52:00 cpressey: No. 23:52:03 aliseiphone: Yes. 23:52:12 cpressey: No, COMBINED characters should die. 23:52:22 Arabic has very, very well-defined notions of characters. 23:52:24 yeah 23:52:29 I agree with aliseiphone 23:52:46 umlaut + u, not umlaut-u 23:52:50 aliseiphone: And yet, combining characters continue to live? Bizarreness. 23:52:55 They just get calligraphically combined when *rendered*. 23:53:02 cpressey: What? 23:53:06 Logic. 23:53:22 cpressey: Unless you want to end all languages with diacritics, yes. 23:53:32 (hint: that's almost all of them) 23:53:54 English is weird 23:53:55 Well, thank you all for making strlen basically unimplementable. 23:54:05 pikhq: coppro: Futhermore, let's undo Han unification. 23:54:10 cpressey: lol. 23:54:13 (and admittedly we do have diacritics too) 23:54:13 aliseiphone: YES. 23:54:18 aliseiphone: no comment 23:54:27 check category is combining, if so carry 23:54:31 otherwise ++ 23:54:38 that was HARD. 23:54:41 aliseiphone: Heck, encode all the Chinese characters using their components. 23:55:21 Thereby allowing us to encode several billion characters using a few hundred codepoints. 23:55:40 that sounds attractive 23:55:44 I'll be in the shower 23:55:53 coppro: ... 23:56:01 coppro: Bad combination of lines. 23:56:08 Bad bad bad 23:56:18 Yet appropriate somehow. 23:56:42 aliseiphone: You see, almost all of the Chinese characters are composed of other components. Making them much simpler than most people think. 23:56:48 pikhq: We need to figure out the One True Way of C error handling. 23:57:03 "ZOMG OVER NINE THOUSAND!", they think. 23:57:25 When there's only a small handful of things you need to learn to draw, and the rest is basically just spelling. 23:57:29 aliseiphone: setjmp obviously 23:57:36 coppro: no. 23:57:46 Non local control flow is bad. 23:58:08 You did say "True Way", not "Good Way". 23:58:16 setjmp is True C. 23:58:25 aliseiphone: Definitely not errno. 23:58:40 errno = awful 23:59:03 aliseiphone: Perhaps error handling via callbacks? 23:59:24 Hrm. There's room for obnoxious complexity in there though. 23:59:25 that sounds like functional code 23:59:41 pikhq: { char c; while(ugetb(ustdin, &c)) uputb(ustdout, c); } 23:59:56 coppro: Yeah, uh. Semi-functional C is the easiest way to make it readable. 23:59:58 Hmm, that doesn't handle errors.