00:01:12 -!- sebbu2 has joined. 00:02:16 -!- sebbu2 has changed nick to sebbu[laptop]. 00:19:07 -!- cpressey has quit (Quit: SyntaxError: it would appear your syntax is in error). 00:19:46 alise, jsforth 00:19:58 * Sgeo prepares for alise to make some sort of statement expressing disapproval 00:21:33 http://rx-core.org/jsvm/ 00:21:41 http://www.forthfreak.net/jsforth.html 00:21:56 (http://wiki.forthfreak.net/index.cgi?jsforth) 00:22:02 close to the virtual metal? 00:22:06 http://solidcoding.blogspot.com/2008/12/wforth-javascript-forth-interpreter.html 00:22:13 'nuff said 00:22:45 I was expecting more of a "Don't use it" than a "It already exists" 00:23:02 *shrug* 00:23:06 nothing wrong with it, a bit useless though 00:23:19 It needs to be made to work with Chrome 00:23:50 * Sgeo is considering LSL-Forth 00:23:57 Which, apparently, already has been done 00:24:04 But I don't think it's been mass marketed 00:24:28 Which I wanted to do with a Scheme in LSL, and would want to do the same with a Forth 00:24:33 Scheme might be easier 00:24:34 Somehow, when talking about selling Second Life stuff you manage to sound as obnoxious as "social media gurus". 00:24:38 To get acceptance stuff 00:25:06 alise, I'm not a large clueless company 00:25:49 nor are "social media gurus"; they're just clueless 00:26:25 * Sgeo decides that wForth is worthless 00:26:44 It doesn't have SEE, it doesn't have c., 00:27:01 It has neither postpone nor [compile] 00:27:11 -!- GreaseMonkey has joined. 00:27:33 Doesn't have XTs 00:27:54 Doesn't have .s 00:28:13 I'm surprised it actually has : and ; 00:28:42 No S" 00:28:59 No ' nor ['] 00:29:13 Um... 00:29:14 WTF 00:29:16 No immediate 00:30:57 JSVM treats enter and space as the same thing, which I guess isn't necessarily bad 00:39:48 It's RetroForth. 00:39:51 It does that. 00:40:02 They just ported their VM to JS. 00:40:57 -!- Killerkid has quit (Ping timeout: 245 seconds). 00:48:14 -!- GreaseMonkey has quit (Remote host closed the connection). 00:51:29 * Sgeo wonders if LSL-Forth should use native LSL strings or in-memory stuff 00:53:52 -!- Killerkid has joined. 00:54:24 Sgeo: Mu; it should not exist. 00:55:16 It has as much right to exist as jsforth does 00:57:26 Yes, but jsforth isn't marketed as something you should actually use. 00:58:15 What's wrong with trying to get people to use a hypothetical LSL-Forth? 00:58:35 Although I guess an LSL-Scheme would be easier 00:58:43 More difficult to implement an LSL-Scheme though 01:05:24 * Sgeo wonders if it would be easier to implement Scheme in Forth than directly in LSL 01:10:43 Sgeo: : min 2dup < if drop ; then nip ; : max ... 01:10:54 Sgeo: What min would look like in colorForth (with translation of colours to symbols) 01:11:00 Figure out how it works! 01:11:13 (Assuming those words are defined in cF, I don't know) 01:11:27 * Sgeo doesn't remember nip 01:13:56 is nip == swap drop ? 01:22:14 oerjan: yeah 01:22:16 * Sgeo wtfs at that : before max 01:22:25 it's defining max 01:22:28 i was just showing how it ended 01:22:31 (however, it is relevant) 01:22:34 Sgeo: note the multiple ;s 01:22:39 the nip isn't the important thing 01:22:52 i can explain :P 01:22:54 Your min does not have a sensible stack effect 01:23:15 Although I guess I have no clue wtf that extra ; is for 01:23:26 * oerjan think he has guessed 01:23:42 it's related to how you said cf does proper TCO... 01:23:51 Sgeo: yes it does 01:24:01 i'll explain it, since nobody is cool enough to get it 01:24:03 apart from oerjan 01:24:07 so Sgeo isn't cool enough to get it 01:24:12 Sgeo: ; does /not/ terminate the definition 01:24:15 *thinks 01:24:17 ; merely compiles as a return 01:24:20 there is no "else" 01:24:21 so here we have 01:24:29 2dup > if drop ; then nip ; 01:24:30 so 01:24:32 if they're > 01:24:34 drop then return 01:24:37 otherwise, the return will be skipped 01:24:42 so we nip then return 01:24:46 so how do you terminate definitions? 01:24:47 simple 01:24:48 by starting another one 01:24:51 thus the : max 01:24:56 (or max-in-red in cF itself) 01:25:15 you can't deny that that's cool. 01:25:23 ...so how do you actually start interpreting again? 01:25:37 exit in normal Forths does the same thing, right? 01:25:43 Sgeo: i think so 01:25:46 oerjan: i'm not actually sure. 01:25:52 oerjan: probably there is some word for it 01:25:54 :P 01:26:11 but ~all of colorForth is blocks of word definitions, so 01:26:18 http://www.youtube.com/watch?v=MuOvqeABHvQ wtf 01:26:19 and ofc you never actually see : 01:26:19 it's just 01:26:23 [red NAME] [green WORDS] 01:26:24 [red NAME] [green WORDS] 01:26:24 etc 01:27:05 Sgeo: btw, you can "tail-recurse" in any forth 01:27:06 hm ; isn't yet another color? 01:27:08 just rdrop foo 01:27:12 oerjan: nope, it's a regular word 01:27:19 oerjan: it's not syntax highlighting, only actual semantic differences 01:27:26 what's rdrop? 01:27:31 drop from return stack 01:27:37 which is exactly what you think it is 01:27:46 huh hm 01:27:48 why doesn't it work 01:27:48 alise, the return stack is standardized? 01:27:57 Sgeo: Um ... it's a vital part of any Forth ... of course it is. 01:28:29 alise, but the things in it are guaranteed to have a specific meaning? Can't one Forth possibly use two cells for each thingy? 01:29:02 No. 01:29:16 Well, yes, of course it can; but a Forth can do anything it likes. 01:29:23 ANS Forth doesn't say it can, though, but that's not worth anything. 01:29:33 More to the point, the only thing that matters is that no Forth does that anyone knows of. 01:29:40 Because return stack manipulation is VERY common. 01:29:56 Now to figure out why rdrop doesn't wokr. 01:29:57 *work. 01:30:27 alise, return stack manipulation for the purposes of manipulating the return stack, or for trivial temporary storage? 01:30:57 The former. 01:31:06 Well, both. 01:31:40 : ok ." ok" ; ok 01:31:40 ok ok ok 01:34:18 nsfwish 01:34:59 Sgeo: what? 01:35:21 The video I pasted 01:36:39 You didn't. 01:37:22 I pasted a URL to a video 01:40:32 -!- augur has joined. 01:42:16 -!- Chat2705 has joined. 01:42:22 -!- Chat2705 has quit (Remote host closed the connection). 01:45:44 Sgeo: wrong 01:45:46 check the logs 01:48:12 Sgeo is technically correct 01:48:30 that's a bit long to wait before saying "nsfw.*", though 01:48:33 oh, i see 01:49:40 It's a bit long before that part played 01:49:43 Sgeo: you have never seen Rejected? 01:49:44 seriously? 01:49:54 alise, I have today 01:50:47 it is the firmament on which the internet is based 02:05:35 What's a typical way to do events in Forth? 02:05:46 somext someevent 02:05:47 ? 02:09:06 You... don't 02:09:09 : 2dup ( a b -- a b a b ) over over ; 02:09:44 I think 02:09:57 alise, hm? 02:10:05 generally 02:10:10 : 2dup dup dup ; 02:10:18 alise, uh... 02:10:19 : 2dup postpone dup postpone dup ; immediate 02:10:22 oh right 02:10:24 of course not 02:10:25 i was thinking 02:10:26 2xdup 02:10:28 not dup over two 02:10:39 : 2dup postpone over postpone over ; immediate 02:10:39 that is 02:10:47 Why postpone? 02:11:03 And why would 2dup be immediate? 02:11:28 I take it you're also thinking of over as immediate. Why? 02:11:35 All the immediateness is ... alarming 02:13:02 postpone 02:13:06 Sgeo: simple 02:13:10 because 2dup should compile to over over 02:13:16 rather than having to be called 02:13:17 since it's so simple 02:13:41 So basically inlining 02:13:46 yep. 02:15:01 WTF 02:15:01 Forth will not understand this. It will desperately look for the words 'this', 'will', etc. However the word '' will mark everything up to the end of the line as comment. So this will work: 02:15:01 : *. * . ; This will multiply and print two numbers 02:15:41 I assume there should be a \ , but I simply don't see it 02:16:42 bad escaping obviously 02:19:32 Remember that aw-create thing? 02:19:37 It should really use a value 02:24:28 alise, would attempting to popularize LSL-Scheme make more sense? 02:34:10 Both make 0 sense. 02:35:27 alise, LSL sucks 02:35:30 Horribly 02:39:13 lavishly sucking language 02:39:40 -!- comex has quit (Ping timeout: 276 seconds). 02:40:03 -!- comex has joined. 02:41:14 alise, "The ANS Forth standard does not express Moore's vision of Forth. Moore believes the ANS standard is far too large and complex, and he doesn't see much value in any standard since people should write their own Forth. It is fair to say that most of the Forth community disagrees." 02:42:03 Sgeo: It is fair to say that "most of the X community" is defined as the writer's opinions on X. 02:42:09 Weasel words; look them up. 02:45:04 Hmm, I should attempt to figure out the return stack 02:46:08 WHat's the point of ?dup? 02:46:17 It's effect on the stack is conditional 02:46:20 *Its 02:49:28 Who knows? 02:49:33 Stupidity. 02:50:25 * Sgeo wonders if it makes sense to 'boot into Open Firmware' 02:54:42 -!- cal153 has quit (Ping timeout: 245 seconds). 03:00:47 My locker number is 24 03:10:08 * Sgeo ponders ForthNomic 03:10:28 It's doable... but the result would necessarily be very much unforthlike 03:19:38 -!- cal153 has joined. 03:42:53 -!- Mathnerd314 has joined. 03:47:53 llaallaa 03:49:43 llama rama 03:53:31 rama llama :o 03:57:18 autopsy 03:57:40 -!- yorick has quit (Read error: Operation timed out). 03:58:37 auto-psy 04:00:01 -!- Gregor has joined. 04:07:00 -!- GreaseMonkey has joined. 04:07:30 psychic autos 04:14:41 -!- alise has quit (Quit: Leaving). 05:36:14 -!- oerjan has quit (Quit: leaving). 05:46:30 -!- zzo38 has joined. 05:46:52 Hello did those you, who you wanted to install MegaZeux, done it yet? 05:50:05 -!- Zuu has quit (Ping timeout: 276 seconds). 05:51:00 -!- cheater00 has joined. 05:54:11 -!- cheater99 has quit (Ping timeout: 240 seconds). 06:07:18 Well, just learned that I can't make an AW SDK wrapper for Gforth 06:07:38 Sgeo: O, you can't? 06:07:46 Or, actually, possibly I can, but I need to use undocumented stuff 06:07:52 zzo38, it needs callbacks 06:07:56 http://www.complang.tuwien.ac.at/forth/gforth/Docs-html/Callbacks.html#Callbacks 06:08:12 You could somehow implement callbacks in Gforth, somehow 06:08:38 Hmm, true, I guess, but I'd have no clue where to start 06:09:37 I'm still not sure when ?dup is useful 06:09:46 Unfortunately I don't know either, but I have some guesses 06:09:52 And I do know when ?DUP is useful. 06:10:05 It is sometimes useful in ?DUP IF or ?DUP WHILE constructions 06:10:53 To do callbacks, perhaps, push stuff in stack, store address in return stack, when it returns pop what is needed and then return to the other program. Maybe, that might work? I don't know. 06:12:50 : rdrop r> drop ; ( except no, this would probably not be what a potential user would want ) 06:14:04 -!- Zuu has joined. 06:14:04 -!- Zuu has quit (Changing host). 06:14:04 -!- Zuu has joined. 06:14:41 Oh dear god 06:14:49 That definitions of rdrop wouldn't work so well, if... 06:14:55 wow, the xkcd alt text today is geeky 06:14:58 I just had a thought involving a definition with 6 POSTPONE in the body 06:15:25 The definition you give might act like EXIT does.... 06:15:58 alise was doing something akin to inlinine 06:16:01 I think I'd use that 06:16:09 But then I might have a stack of postpones 06:16:29 Factored out with a definition that drops in multiple postpones... but the postpones need to be double 06:16:31 *doubled 06:16:32 If you want to inline the code, you use POSTPONE and IMMEDIATE 06:16:34 06:17:20 That pattern should be factored out into, say, a inline: 06:17:21 I move that we postpone this conversation indefinitely 06:17:26 Too tired and late to do it now 06:18:14 You might be able to make the definition clearer if you modify the parser to support backtick notation 06:18:25 backtick notation? 06:19:18 Backtick notation is something that some Forth systems support, I think the first one might have been HELFORTH, although I cannot find any information about it anymore. MegaZeux and TAVSYS also support backtick notation. 06:19:35 * Sgeo is more interested in what it does than what its history is 06:19:48 Backtick notation does this: 06:19:55 : IF` 0=GOTO` ORIG ; 06:20:01 : THEN` HERE SWAP ! ; 06:20:26 Where the word IF` is the word to compile IF and DUP` is the word to compile DUP and so on. 06:20:55 But didn't whatn you just put attempt to define IF` ? 06:21:24 Sgeo: Can you write that more clearly, please? 06:22:50 Is : IF` 0=GOTO` ORIG ; an example of using it, or an example of defining IF` ? 06:23:07 It is an example of defining IF` 06:23:17 And an example of using it. 06:23:18 Oh, as in the compilation semantics of IF? 06:23:23 Yes. 06:23:48 Some Forths use compile-only 06:23:56 Most use IMMEDIATE 06:24:04 Oh, wait 06:24:14 No, most would use immediate and be state-smart 06:24:22 Checking STATE 06:24:38 I remember reading that that's largely not a good thing to do 06:25:51 You are correct, that is not generally a good thing to do 06:26:44 : ELSE` GOTO` ORIG SWAP THEN` ; 06:29:50 If you want an event system, what would it normally look like from the high level? 06:29:56 somext someevent 06:29:57 ? 06:30:58 You can see how MegaZeux does it, which is one possible way 06:31:18 The addresses are stored in a event array 06:31:59 And the built-in word to create them is :EVENT ( event-number -- )(enter compile mode) 06:33:04 That makes a lot of sense 06:33:12 Um, built in? 06:33:24 As in, not written in MegaZeux Forth? 06:33:44 Actually, it is not primitive, it is built-in to the standard library. 06:33:51 Ok 06:33:51 So it is written in MegaZeux Forth. 06:33:58 (I just made a kind of small mistake) 06:34:32 I need to brush teeth and go sleep 06:34:52 Hmm, maybe I should avoid deliberately using bad grammar 06:35:53 It doesn't matter, as long as it can be possible to understand it 06:37:37 An example of an event code in MegaZeux Forth might look like: SimpleLock EV.ITEM + :EVENT DROP BOARD_COLOR + @ TAKEKEY ; 06:38:35 -!- aortizm has joined. 06:38:40 hi 06:38:44 Hi aortizm 06:39:02 zzo38, what happens if EV.ITEM happens to be too large to h.. oh, wait, n/m 06:39:04 I think 06:39:25 I guess when I saw the ., my mind went to OOP mode, and thought it was a variable (well, value) 06:39:37 Hi Sgeo, I'm seeking someone who knows about possetions 06:40:00 aortizm, sorry, this channel is not about the spiritual type of esoterica 06:40:07 ok 06:40:20 This is about esoteric programming languages... languages that are made not for practical use, but for other reasons 06:40:27 They do not seek to be mainstream languages 06:40:37 EV.ITEM is a constant representing the value you must add to the kind ID number, to make the event number. 06:40:50 Brain**** is an example of an esoteric programming language 06:40:52 well perhaps it could use some usefull info.. 06:40:54 One of the more famous ones 06:41:13 -!- aortizm has quit (Read error: Connection reset by peer). 06:41:15 INTERCAL 06:41:35 aortizm: But sometimes other things are discussed too. But not always. (There was topic message in here once about the spiritual type, but that is not the main purpose of this channel, so if you have on-topic stuff to discuss, it takes priority, generally) 06:41:49 zzo38, aortizm left 06:42:11 Sgeo: Yes I see that, I wonder if they know where is the logs, maybe they should look at esolang wiki, too, to see what it is 06:42:31 I honestly doubt that e's interested 06:42:45 Hopefully he doesn't attempt to exorcise anyone 06:42:52 You might be correct, surely 06:47:34 -!- wareya_ has joined. 06:48:33 Do you have kern information for MagicMedieval font and MPlantin font? I have found program to convert TTF font to METAFONT, but, it doesn't convert kern information or ligature information. Do you have kern and ligature information? 06:50:27 -!- GreaseMonkey has quit (Quit: New quit message. Entering 2006 in style.). 06:50:30 I would like to know so that I can write templates for TeXnicard 06:50:41 -!- wareya has quit (Ping timeout: 240 seconds). 06:51:17 I have found information about the .DVI and .*GF formats, so I can write a DVI driver, I already started it a bit 06:53:02 It creates text layers using the fonts and typeset text in the DVI file, and combines those pictures with external pictures when building a ImageMagick command-line that generates the card pictures. You can enter arbitrary ImageMagick operators using DVI specials. 07:00:45 What I need also is a special that converts units of measurement to pixels, so that these numbers are usable in ImageMagick regardless of what DPI resolution you are printing it at. 07:06:09 -!- jcp has quit (Quit: Later). 07:08:39 -!- jcp has joined. 07:10:00 -!- augur has quit (Quit: Leaving...). 07:10:18 -!- augur has joined. 07:15:27 -!- comex has quit (Ping timeout: 252 seconds). 07:18:44 -!- comex has joined. 07:23:01 -!- tombom has joined. 07:33:15 -!- relet has quit (Quit: Leaving.). 07:34:54 Can I get the mana symbols and tap symbols and those other things, also done in METAFONT? 07:38:40 * Sgeo ponders WAITUNTILEVENT 07:39:18 zzo38: no clue about kerning 07:39:47 zzo38: pixel size depends on DPI by definition 07:39:59 * Sgeo thinks it would probably be a good idea to make that a primitive 07:40:01 zzo38: and the symbols are images. No clue how you would get those into METAFONT 07:40:16 then again, I don't know all that much about METAFONT 07:41:51 coppro: Do you know who can help? Yes I know about pixel size and stuff like that, the output format is in 1 pixel for 1 dot, so if it is printed at 300 DPI it will be a 1 inch picture will be 300 pixels long. 07:42:38 And although I could use pictures for the mana symbols, I think I could get a much better quality if METAFONT is used instead, in addition, using METAFONT means TeX can typeset them the same way as ordinary text. 07:43:09 zzo38: in that case, you'd have to METAFONT-ize them yourself 07:47:02 I do know how I can write METAFONT macros for set symbols. The outline and fill of the set symbol can be separate text layers in dvinicard, and then some ImageMagick operators can be used to put fancy gradients and stuff like that. 07:47:42 -!- relet has joined. 07:49:38 How good is the quality of the mana symbols on cards generated by Magic Set Editor? I think using METAFONT can achieve much better quality. 07:54:03 zzo38: They are large images shrunken down 07:54:12 and most resolutions you'd use them at, you won't notice a loss in quality 07:55:08 165 x 178 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:09:29 -!- derdon has joined. 08:11:22 * Sgeo wonders if he should learn Factor 08:13:47 Sgeo: Learn it if you want to, but I don't really like it much, and I think you do not need to learn Factor 08:15:23 pikhq: I have lost whatever faith in your country I had left: http://chzoddlyspecific.files.wordpress.com/2010/06/4a65c96b-360e-4853-a7a2-abc782e9ca49.jpg 08:15:53 -!- derdon has quit (Ping timeout: 240 seconds). 08:15:58 How large is a Magic: the Gathering card (in inches)? I did not find a ruler 08:16:49 2.5 by 3.5 or thereabouts 08:18:12 "Each Magic card, approximately 63 x 88 mm in size (2 15⁄32 by 3 7⁄16 inches), --"; nowadays you can just ask such questions from Wikipedia. 08:18:43 15/32 and 7/16 are reasonably close to .5 though. 08:18:48 truth 08:18:54 The cards I have in my computer use a template 375 x 523 but that doesn't even make 300 DPI. And the cards must be printed at a higher resolution than that! 08:19:11 -!- Ilari has quit (Ping timeout: 260 seconds). 08:19:12 -!- Ilari_antrcomp has quit (Ping timeout: 260 seconds). 08:19:43 -!- Ilari has joined. 08:20:03 -!- Ilari_antrcomp has joined. 08:20:34 Eventually if I write this program emough, it might be able to produce better quality cards than official WotC cards even. And then you can sue them if they do not follow the GNU GPL license...... 08:21:07 375x523 and those physical dimensions sounds like an approximately 150 dpi thing. 08:21:19 fizzie: Yes, I have calculate it and it is approx 150 dpi 08:24:12 If my program becomes good enough to be much higher quality than even official cards, then WotC can use it, if they learn how........ 08:24:29 And if they don't use it, their competitors will use it....... 08:25:01 zzo38: they could just keep the modifications in-house 08:25:17 coppro: Yes, they can, but they would still have to learn 08:25:44 Hopefully the included documentation would be sufficient 08:26:25 WotC lawyers are not slackoffs 08:27:53 I know that 08:28:11 But the program itself is not a template. 08:28:43 The template(s) would be separate packages that are not part of the program. 08:29:12 Of course they can use the program and templates internally if they want to, even with private modifications 08:30:39 But their competitors will make their own private improvements and they will be better than the one WotC uses 08:31:12 (I don't know who their competitors are, but surely their competitors can make templates, too) 08:33:10 Does WotC even use TeX or METAFONT or ImageMagick at all? 08:33:33 I would be surprised (but delighted) if they did. 08:34:29 (My guess is horrible in-house tools built on top of some Windows graphical-design apps.) 08:34:54 You may need to go kidnap an employee to make sure. 08:36:16 I think you are probably correct, they probably use horrible in-house tools built on top of some Windows graphical-design apps. And they probably paid a lot of money for it! 08:42:34 Some people use Photoshop or GIMP, but I find ImageMagick is far superior. Some people use LaTeX, Microsoft Word, OpenOffice, etc, but I find Plain TeX is far superior. Some people use various other software for designing typefaces, but I find METAFONT is far superior. 08:44:43 -!- zzo38 has quit (Quit: zzo38). 08:44:43 imagemagick is not suitable for complex editing 09:12:08 -!- kuato has joined. 09:12:08 -!- kuato has quit (Excess Flood). 09:23:23 -!- iGO has joined. 09:24:33 -!- iGO has quit (Client Quit). 09:24:54 -!- iGO has joined. 09:42:55 -!- immibis has joined. 09:43:33 "99 bottles of beer on the wall. 99 bottles of beer. If one of the bottles should suddenly fall, there'd be undefined bottles of beer on the wall"... 09:44:11 -!- Wamanuz has quit (Ping timeout: 240 seconds). 09:46:34 -!- immibis has left (?). 09:50:59 -!- iGO has quit. 09:55:38 -!- iGO has joined. 10:20:32 -!- relet has quit (Read error: No route to host). 10:21:32 -!- relet has joined. 10:22:26 -!- GuestA05364 has joined. 10:22:41 -!- GuestA0586F has joined. 10:22:46 -!- GuestA05364 has quit (Client Quit). 10:22:51 -!- GuestA0586F has quit (Client Quit). 10:33:57 -!- iGO has quit. 11:24:41 -!- asiekierka has joined. 11:24:46 Hello 11:24:49 fizzie? 11:26:22 -!- choochter has joined. 11:27:06 fizzie i need you 11:32:17 -!- augur has quit (Remote host closed the connection). 11:58:44 Am at work, not very much here. 11:58:59 fizzie, can i send you a new style for fungot? 11:59:01 asiekierka: later incidents are chaotic. as i advanced, the light ahead seemed to grow in size and general outline. nor, said the dreams and the fancies they lost so many centuries ago, and no clear account of any kind, but my watch told me it was only the start. zeb here was callin' folks up an' everybody was a-listenin', an' i guess obed kind o' fnord an' i see every one was covered with pegs from which hung a set of pictures 11:59:08 23000-26000 comments from YouTube 11:59:21 Well, sure. How big is it? 11:59:30 1.8 megabytes 11:59:40 Oh, then I guess an email attachment is fine. 11:59:46 yeah, for now 11:59:51 i will do updates to it once in a while 12:33:32 -!- sftp has joined. 12:40:25 -!- rodgort has quit (Quit: Coyote finally caught me). 12:40:34 -!- rodgort has joined. 12:44:19 -!- Sgeo has quit (Ping timeout: 265 seconds). 13:11:55 -!- asiekierka has quit (Quit: Leaving). 13:36:26 -!- cheater00 has quit (Ping timeout: 272 seconds). 14:40:57 -!- alise has joined. 14:41:07 -!- FireFly has joined. 14:56:32 -!- Wamanuz has joined. 14:56:51 alise: This -- http://p.zem.fi/xcf -- made Xcolorforth compile, start, make a window, and not segfault on x86-64; unfortunately it still only produces a black window that needs to be kill -9'd away. The main point is sed -e 's/poll/cf_poll/g'; it renames the "poll" function in main.c; if you don't do that, SDL_Init (at least as non-root when it can't access the framebuffer device) will fail, presumably because SDL/Xlib/xcb/something expects "poll" to be the lib 14:56:51 c poll, not some other poll. 14:57:47 fizzie: I believe a completely 32-bit binary must be made, since colorForth is 32-bit afaik 14:57:56 This may be hard what with its memory antics, though 14:58:01 If you do it like that, it is a 32-bit binary, as far as I know. 14:58:07 Hmm. 14:58:19 fizzie: Try it as root? Yes, yes, suicide, I know. 14:58:26 But I forgot to use REISUB; you may not be so stupid. 14:58:43 I don't have root here, I'm at work. :p 14:58:50 -!- sftp has quit (Ping timeout: 255 seconds). 14:58:52 It only did things as root for me; then again, it was broken entirely. 14:58:56 fizzie: Aw. 14:59:48 Anyway, I attached a gdb to it and backtraced; there was a call stack 5 levels deep inside the function "xcf", which is where it copies color.com contents to; I don't think I'm interested enough in starting to go through the asm code to find out why it's not drawing anything. 14:59:53 -!- sftp has joined. 14:59:58 -!- relet has quit (Quit: Leaving.). 15:00:52 But, but XCOLORFORTH! 15:00:53 (5 levels in xcf, which had managed to then call the main.c function that makes SDL blit the framebuffer into the window, so I think it's likely it just wasn't drawing anything into it, for some reason or another.) 15:01:28 Maybe if I can stay awake at home. Still, it's not exactly "bare metal" when ran using the SDL wrapper, now. 15:01:47 Well, yes, but it /is/ bizarre enough to be amusing. 15:02:30 Maybe I should build a Windows binary, just for the discordance. 15:03:06 fizzie: There is a Windows colorForth already. 15:03:15 Oh. :/ Not then. 15:03:58 fizzie: I doubt you'd get any Linux-specific bits to work, anyway. 15:04:06 Assuming there /are/ some; I'm not exactly sure how modified color.s is. 15:04:12 If at all. 15:04:19 Well, it must be, since it's gas syntax. 15:05:51 The assembly bits don't seem to be doing very much Linux-specific things, though. The main.c wrapper passes on a pointer to the SDL surface pixel data, and two function pointers, one for refreshing the screen, and another for polling for keypresses. 15:06:07 Hmm. 15:09:34 -!- comex has quit (Ping timeout: 252 seconds). 15:12:03 -!- comex has joined. 15:16:06 -!- GuestA05364 has joined. 15:16:07 -!- iGO has joined. 15:16:26 -!- iGO has quit (Client Quit). 15:17:32 q 15:20:35 -!- relet has joined. 15:21:21 -!- sftp_ has joined. 15:21:33 -!- sftp has quit (Ping timeout: 272 seconds). 15:21:58 -!- Sgeo has joined. 15:22:46 * Sgeo wonders what alise thinks of factor 15:23:48 The language is very interesting. The infrastructure, libraries and tools they have built themselves are utterly astonishing, surpassing many commercial languages. The language itself I'm not sure about; it doesn't seem that natural to use to me, but maybe I just haven't adjusted. 15:24:18 Does it parse itself the way Forth does? 15:24:36 It has the facilities for such words, yes. 15:24:38 I remember once looking at Factor and almost immediately rejecting it for some reason 15:24:58 Everything's a bit more semantically-refined, which makes the reflective tools better, the code sometimes easier to understand. 15:25:15 Now that I kind of get Forth, I think I'd be more ok with Factor 15:25:47 I think it is definitely worth checking out. 15:25:54 The tools and libraries /are/ absolutely amazing. 15:26:25 Do you think it might supplant my current love for Smalltalk? 15:26:36 Also, AW bindings for Factor! 15:26:45 (Probably more reasonable than for Forth) 15:27:06 -!- Gregor has quit (Ping timeout: 272 seconds). 15:27:09 If I could obliterate every single bit comprising AW in this universe I would just to stop you trying to make bindings for it. 15:28:26 Is " a word or something in Factor? There's no space between it and the content of the string 15:28:31 It's.. weird 15:28:32 Maybe it's just some sort of a neurosis. You know, some people can't stand when a painting is hanging crooked, or need to alphabetize other people's books/records/whatever? Maybe some people just feel the need to write AW bindings for absolutely everything. 15:29:28 You know, AW bindings are a project that I want to do, and I should do some sort of project in each language I really want to understand... 15:30:03 Just stick to writing more and more Befunge interpreters, like us sane people do. 15:30:54 Sgeo: " is syntax; I think you can define your own syntax. 15:31:02 eww syntax 15:31:02 >.> 15:31:08 Sgeo: Definable syntax. 15:31:14 hmm 15:32:21 * alise downloads factor-linux-x86-64-2010-08-29-14-56.tar.gz 15:32:40 One of my patches almost sort-of made it into Factor! 15:32:46 Well 15:32:50 It made it in, just with a few changes 15:33:12 If you're on *nix, when you divide by zero you get a proper error message, not a vague "system error" type one. 15:33:15 As well as other such errors. 15:33:29 (Vague system error + meaningless number) 15:33:40 alise, when, exactly, did you start learning programming? 15:33:41 Because I wrote some errno -> error string code and replaced the error handler with that. 15:33:50 This was about a year ago. 15:34:18 Sgeo: It's hard to answer. Well, I fumbled with PHP at 8; fumbled is the right world, it was all cargo cult and misconceptions and no understanding. 15:34:20 I love Factor's unit test stuff, I think 15:34:21 -!- madbrain2 has joined. 15:34:43 By about 10 I was starting to have a better understanding of stuff; I still did PHP, but it was pretty well thought-out PHP. 15:35:03 -!- Gregor has joined. 15:35:04 (I picked up Javascript, SQL, etc. in the interim of all this.) 15:35:25 Age 11 I think I picked up Ruby and after a while this sort of banged into my head about how I need to organise code. This is 2007. 15:36:04 Then by 12 I somehow covered the basics of tons of stuff including Lisp etc; I think I first touched Haskell when I was 13. 15:36:13 Sgeo: And, uh, it's pretty much been gradual improvement since then. 15:36:16 What a boring history. 15:36:31 But yeah, it was more gradual than "I started learning programming when I was N." 15:36:52 (I mean, I was copying and modifying BASIC examples so they broke into -- I think a BBC Micro or something -- when I was really little.) 15:37:14 I might have done something like that if I wasn't under the constant impression that you need to pay money 15:37:27 Read about VB, Perl, and a bunch of other languages 15:37:45 Wrote some VB at summer camp, I think 15:37:49 Yes, well, proprietary software has made sure the programming child is more-or-less stillborn. 15:38:20 9th grade or so, started with Python, mostly because it was free (Didn't get started with Java, although I read about it first) 15:39:19 Hmm, when was I experimenting with Magsbot 15:39:27 That might be sooner than Python 15:39:53 Magsbot 2003 or so. 9th grade 2003 or so 15:40:11 WHen using Magsbot, I somehow guessed that it used "" to escape quotes 15:40:22 (Or maybe '', don't remember which is its string syntax) 15:42:20 What's 9th grade, age-wise? 15:42:33 Silly US system. 15:43:49 2003 - 1989 = 2004 - 1990 = 14 15:44:46 Oh, right, 2003. 15:45:30 Huh. I assume Factor's [ ] doesn't stay in the dictionary the way Forth's :noname ; does 15:45:37 Sgeo: Everyone else is at a ridiculous disadvantage to me, since I've had a computer since I was 3. So don't feel bad :-P 15:47:25 Sgeo: It's a proper closure. 15:47:32 (Forth's isn't, having not really a true concept of a closure.) 15:47:40 Sgeo: Try not to compare it too much to Forth. 15:47:43 It's concatenative more than stack-based. 15:47:44 Higher-level. 15:47:46 You know Joy? 15:47:48 Or Cat? 15:47:50 Nope 15:47:59 Never heard of those until I started reading about Forth 15:48:10 Sgeo: Joy is the "purest" concatenative language: like a stack calculus, 15:48:13 *calculus. 15:48:27 We say that everything is a function, and usually in a language if you have something like "x y", it means x(y) 15:48:27 How is Forth impure? >.> 15:48:36 We say instead that "x y" = y . x 15:48:40 function composition 15:48:49 And we say that the whole program is applied to an empty stack 15:49:02 dup is the function dup({x,...}) = {x,x,...} 15:49:08 drop({x,...}) = {...} 15:49:13 swap({x,y,...}) = {y,x,...} 15:49:15 etc. 15:49:25 But we also have [...], which pushes the list of words inside on to the stack. 15:49:33 I think I might like this more than Haskell 15:49:37 We have i, which takes a [...] off the top of the stack and puts all the words inside it after the i. 15:49:38 It seems easier 15:49:39 So 15:49:45 [a b c] i => a b c 15:49:54 Sgeo: So as you can see this is utterly pure and functional. 15:49:58 And not imperative. 15:50:05 Factor has more in common with it than it does Forth. 15:50:09 Well, probably not, but I'm thinking in stacky mode 15:50:11 So think functionally. 15:50:22 Think functionally. 15:50:26 But also stacky. 15:50:29 i.e., concatenatively. 15:51:45 -!- GuestA05364 has quit. 15:51:58 * Sgeo bibbles at checking stack effect 15:52:24 BRB. I may or may not remain connected 15:52:24 In a good or bad way? 15:52:38 In a, how does it work way 15:53:41 Simple. 15:53:47 Each word inside's stack effect is known. 15:53:50 Just cascade them. 15:54:06 Also, what the fuck is bibbling. I assume some Creatures thing. 15:56:24 alise, what happens with ifs? 15:56:50 Well, I guess they're checked, but how do you define your own thing that needs to work with stack checking? 15:56:51 Both branches have to have the same stack effect, I think. 15:56:59 Sgeo: It Just Works. 15:57:03 Don't worry about it. 15:57:19 It's not something you define. 15:57:27 (Nor a heuristic, for that matter.) 16:00:19 Sgeo: Basically, every word has to have a consistent stack effect. 16:00:28 What is if? 16:00:31 Syntax? 16:00:33 A word. 16:01:25 Sgeo: \ if see 16:01:37 Hmm, wait 16:01:38 no 16:01:40 I haven't downloaded Factor yet 16:01:41 Sgeo: \ if help 16:02:21 Lemme find the manual page for yu. 16:02:24 *you 16:02:55 Sgeo: http://docs.factorcode.org/content/word-if,kernel.html 16:03:06 Includes the definition. 16:03:14 (This can be conjured up with \ if help in the graphical listener.) 16:04:02 Sgeo: Basically, anything you write yourself will be composed of smaller primitives that already have a known stack effect, which Factor will check you adhere to. 16:04:12 So, any conditionals or whatever you write will already work with them. 16:04:24 No need to declare anything, since /every other word's stack effect is known/. 16:04:53 -!- cheater99 has joined. 16:05:06 Sgeo: The only word with an unknown stack effect is call: http://docs.factorcode.org/content/word-call,kernel.html. 16:05:08 And even then, 16:05:13 "Words which call an input parameter must be declared inline so that a caller which passes in a literal quotation can have a static stack effect." 16:05:28 -!- cpressey has joined. 16:05:33 There's call( stack -- effect ) 16:05:38 Which does what you think it does. 16:05:44 -!- derdon has joined. 16:05:47 (Requires a ( stack -- effect ) quotation on the top of the stack, and calls it.) 16:05:57 So call is generally not used; it's pretty evil. 16:06:10 -!- Wamanuz2 has joined. 16:06:15 (But used by functions to implement safe ones, such as if, so it's there.) 16:06:50 Sgeo: Oh yeah, and Factor compiles to very compact, efficient native code (no C compiler or whatever). 16:06:50 Hi alise 16:07:09 It's pretty competitive with SBCL, which is pretty much the gold standard for language implementation, bowing only to O'Caml and C. 16:07:12 cpressey: Hi. 16:07:28 Wait, if call can only be used with statically defined ... thingies, what's the point? 16:07:37 erm, [ ] thingies 16:07:58 Sgeo: for example, if. 16:08:15 The two quotations ("[ ] thingies") are always static. 16:08:19 But the boolean to branch on is not. 16:08:21 if is ? call 16:08:27 X Y true ? => X 16:08:31 X Y false ? => Y 16:08:38 So as you can see, "? call" is if. 16:08:56 Yet you can't pass a dynamically-generated quotation to if. Well, you can, but only if it's known at compile time. 16:09:01 -!- Wamanuz has quit (Ping timeout: 252 seconds). 16:09:13 (Composition, etc.) 16:09:20 Sgeo: What I'm saying is, don't worry about it. 16:09:21 It always works. 16:09:29 Not a heuristic or a hack. 16:09:37 Bubut... how can I store a quotation, then? 16:09:40 For later use? 16:09:41 ... 16:09:43 Of course you can 16:09:58 Okay, clearly you don't know Factor enough to understand half of the edge-cases I'm explaining. 16:10:03 Sgeo: Forget everything I said. 16:10:09 My new answer is: 16:10:34 Yes, it always works. No, it's not a heuristic. No, it's not hacky. It's like Haskell's type checking, only it never needs help from you. 16:10:50 She made her own slides 16:11:04 What? 16:11:14 The Perl professor 16:11:24 And she just emphasized that it's "Perl", not "PERL" 16:11:28 Learning Perl and Factor at the same time. Great idea... XD 16:11:45 I'm learning Factor for fun. I'm learning Perl because I have to at this school 16:12:13 Don't blame me when you write [ + ] $foo = ; 16:12:17 A school that makes you learn Perl. That's... very interesting. 16:12:30 cpressey: At least the prof seems sane enough to teach best practices. 16:12:37 Which make Perl into a good enough language. 16:13:29 alise: Yes, it just seems like such a... non-academic choice, somehow. Java, C++, Python would all beat it out in most heads that I've seen. 16:13:44 For different, maybe bad, reasons. 16:13:47 This is a non-academic course 16:13:49 >.> 16:13:51 Ah. 16:13:55 Well, still. 16:14:01 PHP is what you should be learning! 16:14:01 "Computer Programming and Information Systems" 16:14:07 And a non-academic university, from the sounds of it >____> 16:14:08 It's in the school of business 16:14:18 Isn't "unacademic" a word? 16:14:22 Whatever, of course it is. 16:14:24 Unacademic. 16:14:25 * cpressey shrugs 16:14:35 I love how vague ICT-style names get each passing year. 16:14:38 Information Systems! 16:14:42 Information Nodes! 16:14:45 Information... Technology! 16:14:52 Information ENTITIES! 16:14:54 ENTITY ENTITIES! 16:14:58 THINGS! 16:15:15 Sadly, Information Systems and Information Technology are pretty old and standard at this point. 16:15:30 And very, very sad concepts. 16:16:05 So what is this SBCL? I should know this 16:16:14 cpressey: Steel Bank Common Lisp. 16:16:20 Srsly? Heh. 16:16:23 CMUCL's developed descendant. 16:16:39 cpressey: Carnegie Mellon University Common Lisp. 16:16:43 Figure out the pun and get a cookie. 16:16:56 "Compiled Lisp" always makes me blink. 16:17:05 It's how Common Lisp is done. 16:17:14 (That is, figure out the pun in SBCL's name using CMUCL's.) 16:17:14 alise: OK, working on it. Still too early to take apart deep, profound puns, you know. 16:17:23 cpressey: I could just tell you. 16:17:28 :P 16:17:46 Or I could jkust read it inadvertently on the wp page, which I just did. Sorry. 16:17:49 Or that, yes. 16:18:48 cpressey: But yeah, O'Caml and SBCL are very near the top of the fastest functional languages. (Only beaten by weird things like ATS, probably.) 16:18:55 SBCL is competitive with gcc in many cases. 16:19:03 O'Caml regularly gets gcc performance on well-written code. 16:19:13 Factor is competitive with SBCL. So pretty fast, and all that. 16:19:31 alise: Interesting. My perception was that ghc was one of the top runners. That's like 8 years out of date, maybe. 16:19:54 Not gcc-level, obviously, and good for a lazy language, but still. 16:20:15 cpressey: ghc is quite a few places down. But it's good if you either write ridiculously strict, imperative code /or/ write code that makes its stream fusion and other advanced features happy. 16:20:40 Run-of-the-mill, not-cleverly-written (not just for performance, in general) Haskell code isn't very fast with GHC. (And it takes up terabytes of memory.) 16:21:01 Impressive for Haskell, though. :P 16:23:11 hash table == dictionary, right? 16:23:19 She asked if anyone worked with hash tables before.. 16:23:29 hash table implements dictionary 16:23:35 what cpressey said 16:23:39 only python calls them dictionaries :P 16:23:53 C# dictionaries are different? 16:23:55 dictionary == map 16:23:57 Oh, C#. 16:24:01 Who gives a fuck about C#. 16:24:21 I should start writing C# just to piss alise off. 16:24:26 cpressey: Pet peeve: "associative array". It might not be an array, moron! 16:24:39 You fail at generality, Wikipedia. 16:24:44 alise: Yeah, I never liked that term either. 16:32:22 Factor does have an FFI, right? 16:32:45 Sgeo: An excellent one. 16:32:56 Sgeo: The entire UI is written in OpenGL, in Factor. 16:33:08 With Cocoa, Win32 and X11 backends; again in Factor. 16:33:31 Indeed, it even comes with a full libc binding in the stdlib. 16:33:37 :( 16:33:45 Sgeo: you haven't seen the UI yet, have you? 16:33:52 alise, no 16:34:05 Factor is possibly the most well-documented and comprehensive community-developed language there is. 16:34:17 The documentation viewer is wonderful, the debugger is great, etc. 16:34:39 How about on-the-fly modification of code? 16:34:44 ... 16:34:49 You can click on a word in the listener (REPL) to look at its documentation, which is always useful. (It'll also tell you where a word is, if you use it and haven't imported the right module; it will import it for you if you want). 16:34:53 Sgeo: what do you mean? 16:34:57 like modifying the standard library> 16:35:01 *library? 16:35:02 alise, Smalltalk style, or Erlang style 16:35:02 cpressey: ? 16:35:10 Sgeo: Yep: \ sqrt edit 16:35:18 Opens in your defined editor (one of many). 16:35:29 The best one to use is Emacs with the comprehensive Factor mode whose name I forget. 16:35:34 It integrates tightly with the listener. 16:35:47 Ok, I'm cancelling the Smalltalk bindings project 16:35:55 ? 16:36:08 cpressey: Now Factor is his girlfriend. 16:36:25 Oh, FUEL is the name of the Emacs thing. 16:36:26 alise: Oh dear. Falcon will become very, very jealous. 16:36:38 cpressey: Nonono, Forth! Or was it Smalltalk? 16:36:57 I guess Smalltalk isn't the basis of a long-term relationship. LOLOLOLOL SEE WUT I DID THAR 16:37:58 * alise sets up FUEL 16:37:59 She had trouble figuring out why '\\n' and '\n' were giving her the same thing 16:38:23 She expected '\\n' to give her a newline 16:38:27 Oh. 16:38:31 Maybe she is retarded, then. 16:38:38 Sgeo: The prof? 16:38:42 cpressey, yes 16:39:39 -!- Wamanuz2 has quit (Read error: Operation timed out). 16:40:07 Sgeo: BTW, I do think you have to re-load a module before your saved changes take effect. 16:40:11 That's reasonable, though. 16:40:24 Can the project still be running while it's reloaded? 16:40:40 Uhhhh... not really. I assume by project you mean "some word". 16:41:25 * Sgeo facepalms at Perl 16:42:09 what/ 16:42:11 *what? 16:42:21 The whole automatic conversion of strings to numbers etc 16:47:32 [[The f parsing word adds the f object to the parse tree, and is also the class whose sole instance is the f object. The f object is the singleton false value, the only object that is not true. The f object is not equal to the f class word, which can be pushed on the stack using word wrapper syntax:]] 16:47:34 xD 16:48:44 Please tell me that `perl' is a REPL and that I just haven't figured out how to use it 16:49:57 Figurd it out 16:50:00 Not quite a REPL 16:50:04 But still easier to use 16:50:22 And she just said that she won't teach it to the students right now because she doesn't have anything prepared 16:52:05 Sgeo: I can't tell you that. 16:52:30 Sgeo: If you've figured it out, please let me know. 16:52:54 as far as I remember perl reading from standard in is simply perl reading from stdin. Though I may be wrong. 16:53:05 Oh, >.> 16:53:05 Sgeo: perl -de0 16:53:14 gets you the debugger 16:53:17 which is almost a REPL 16:53:25 usually it's easier to just write a script, though 16:53:27 Sgeo: there ARE perl repls 16:53:30 Just `perl' is also easy 16:53:37 Although perhaps annoying 16:53:37 Devel::REPL is the best 16:53:39 yeah cpan probably has a few REPLs 16:53:42 but to get that you need to figure out cpan 16:53:45 and cpan is LIQUID PAIN 16:53:51 cpanplus is better, so you'd want that 16:53:54 Nothing wrong with 16:53:55 perl 16:53:56 of course, you'd have to install cpanplus 16:53:59 #Some perl code 16:54:00 * cpressey never thought of using the debugger as a repl. 16:54:02 ^D 16:54:07 alise, depends on distro. Gentoo had a tool to generate ebuilds for cpan packages iirc 16:54:08 cpressey: ais523 told me that trick 16:54:11 which worked quite well 16:54:12 Vorpal: Windows. 16:54:15 I usually just use -e "print 56 * 71;" on the command line 16:54:16 alise, oops 16:54:23 alise, that will indeed be painful 17:01:15 -!- BeholdMyGlory has joined. 17:02:32 Well, in case anyone cares, I have essentially finished Eightebed. Might want to tweak the doc is all, then need to find a time to publish it. Also, I built qemu last night and ran BefOS under it. Also rebuilt BefOS from source (it has a recursive makefile, but in my defense, it (a) is broken and (b) includes the comment "This is so wrong." at the top.) 17:03:09 cpressey, eightebed? 17:04:08 cpressey, recursive as in calling itself by invoking make? 17:04:19 ... 17:04:27 Vorpal: you know what a fucking recursive makefile is. 17:04:46 alise, yes and that tends to be invoke make in a subdir by calling make in a rule 17:04:59 *clap* *clap* *clap* 17:05:00 alise, my question still stands 17:05:03 So you didn't need to ask anything, really. 17:05:26 alise, because recursive make in the other sense sounds quite fun 17:08:11 recursive make has some perfectly legal uses. For example /usr/src/Makefile on FreeBSD is recursive as far as I remember. Or are you suggesting a single makefile for kernel, libc, userspace programs and so on should feel free to implement that. Would likely be quite a pain 17:08:26 since you can rebuild only a subtree. That still has to work 17:09:00 include libc/Makefile 17:09:03 that was hard 17:09:08 Why would rebuilding a subtree not work with a monolithic Makefile? 17:09:26 I suppose Vorpal recursively calls the interpreter rather than using "require" statements, too. 17:09:27 cpressey, well, it could, would have to be run from the top dir though 17:09:34 make usr/bin/cat 17:09:36 No it wouldn't. 17:09:45 libc/Makefile could have all the stuff needed to build the libc. 17:09:50 The makefile in . would include it. 17:09:52 alise, yes in the sense that cd libc; make 17:09:57 Vorpal: nope 17:09:59 cd libc; make would work 17:10:00 would not easily work 17:10:01 but so would 17:10:04 make libc/... 17:10:05 alise, could be done 17:10:07 Vorpal: of course it would 17:10:12 you write the libc makefile in the libc directory 17:10:14 and include it one above 17:10:23 you have to handle some directory differences, but nothing unsolvable 17:10:24 I have made a makefile that calls itself, once, fwiw, but it was limited to one level of recursion that way. 17:10:25 alise, as far as I can tell that need some path mangling 17:10:37 makefiles can have a target to make themselves 17:10:45 when this happens, make automatically calls it again with the new makefile 17:10:52 (this is for managing dependencies automatically; I have used it) 17:10:54 you do 17:11:07 Makefile: $(SRCS) \ ... run makedep or gcc -Msomething or whatever ... 17:11:18 (and append to make.deps) 17:11:19 then underneath 17:11:21 include make.deps 17:11:32 and it'll always generate new dependencies and include the updated file if you change the sources 17:11:48 alise, yes but that is not the same as calling itself in the sense of: foo:\n\tmake bar 17:12:05 It's metanough for me. 17:12:12 -!- Gracenotes has joined. 17:12:17 alise, and a lot more boring 17:12:22 alise, about as boring as kexec ;P 17:13:10 I'd say a Makefile rule is a lot more interesting than ZOMG CALLING THE PROGRAM MAKE INSIDE A MAKEFILE. 17:14:13 "Evolving Intelligent Systems. Methodology and Applications"; as far as course names go, that's a bit on the pretentious side. (It's just about on-line learning in different machine-learning contexts.) 17:14:52 alise, depends on how you use it. I mean, C++ templates in general are not that interesting. But when used to do advanced compile time computation it is a bit more interesting, in an esoteric way 17:15:10 I'm quite sure you could use make calling itself for some interesting hacks 17:15:21 fizzie: Programming GOD. An introductory AI course. 17:15:57 alise: "To further confuse matters, Murray also has a tendency to rename his theory frequently; it’s variously referred to as the Concept-Fiber Theory of Mind, the Fiber-Concept Theory of Mind, the AI4U Theory of Mind, the Mentifex Theory of Mind, the Standard Model of the Mind, Project Mentifex, the First Detailed Theory of Mind, and the Grand Unified Theory of Mind." 17:16:23 (Grand Unified Theory of Mind, especially.) 17:16:46 is that the mentifex guy? 17:16:56 Yes, it's from the Mentifex FAQ. 17:17:02 I love Mentifex. 17:17:51 Bye 17:18:20 There was yet another comp.lang.forth (or Usenet in general) newcomer who was all "ooh, he's been working on this for twenty years all by himself; this is the sort of project that generates Real Science(tm), versus the corrupt capitalistic committee-driven universities, pshaw". 17:18:26 -!- Gracenotes has quit (Ping timeout: 264 seconds). 17:18:42 Forth does attract the crazies a bit. 17:20:26 alise: MindForth Programming Journal (MFPJ) 2010 August 25: http://p.zem.fi/mpfj-2010-aug-25 -- see, he's almost completely "solved AI". 17:20:58 anyone like .nsf? 17:21:13 That one was crossposted to comp.lang.forth,comp.ai.nat-lang,comp.robotics.misc,alt.consumers.free-stuff -- especially the last group seems to be incredibly relevant. 17:21:30 A GOD BES SPIRIT 17:21:36 madbrain2: what's .nsf again? 17:21:54 nes song 17:22:09 -!- Sgeo has quit (Ping timeout: 258 seconds). 17:22:38 the songs from famicompo 7 are out 17:25:43 alise: Hey, http://zem.fi/~fis/xcf.png -- I just copy-pasted those commands from that paste here at home, and that happened. 17:26:22 fizzie: Wait. 17:26:26 where's the dvorak keyboard? 17:26:27 Oh 17:26:29 There it is! 17:26:42 Too bad I can't use that thing at all. 17:26:58 fizzie: http://www.colorforth.com/keys.html 17:27:01 The keys there are the two halves 17:27:08 left alt switches keypads 17:27:11 "e " starts the editor 17:27:12 HAVE FUN 17:27:48 I've seen that, but it's still oh-so-confusing! I'm going to try having fun at some other time. 17:28:36 fizzie: You basically have to be Chuck Moore. 17:28:45 Reading the site and http://colorforthray.info/ may help. MAY. 17:28:48 I need to be registering for a WAVE UNIVERSITY account, anyway; they're going to put all the IT systems of the three separate universities into a blender, and then making us eat the sludge that comes out of it. 17:29:29 if you guys form some committee to create a modern university in mexico 17:29:31 you could call it 17:29:35 Mexican Wave University 17:29:44 like in cooperation with yours 17:30:36 Best wavelet ever: the Mexican hat wavelet. 17:32:21 fizzie: Ooh! Or if you get bought out by Google: 17:32:24 Google Wave University 17:40:42 -!- kar8nga has joined. 17:41:26 Yay, my new Wave account lets me download the ISO of COMSOL Multiphysics 4.0a. (It's some sort of finite-element solver/simulator we have a campus license for.) 17:44:38 colorForth: Gives Chuck Moore the programmer productivity of twenty Chuck Moores! 17:51:35 fizzie, so hm. This wave university thingy seems rather messy. 18:00:33 bbl kernel upgrade 18:04:39 -!- Vorpal has quit (Read error: Connection reset by peer). 18:04:42 -!- augur has joined. 18:06:49 -!- Vorpal has joined. 18:13:41 brb 18:14:05 -!- madbr2 has joined. 18:18:25 -!- madbrain2 has quit (Ping timeout: 265 seconds). 18:18:32 -!- Gracenotes has joined. 18:18:50 -!- madbrain2 has joined. 18:18:53 -!- madbr2 has quit (Ping timeout: 272 seconds). 18:24:58 So, yes, BefOS is rubbish. But it *was* pretty cool running it on actual bare metal (a disused 486 desktop back in the day) and having to wait for the actual, physical floppy to seek, when paging up and down. Putative todo list: Clean up the code base, Switch to unreal mode on boot, Allow editing memory pages, Implement an actual VM for it (likely something rather befungeoid, but not Befunge), Rebrand the thing because 18:25:29 cpressey, because what? 18:25:34 I think your line was cut short 18:25:44 ... Rebrand the thing because I don't like the name BefOS. 18:25:48 ah 18:25:57 yeah it was cut after "because" 18:26:14 cpressey, strange irc client that doesn't automatically split overly long lines 18:29:41 cpressey: does it actually have a UI? 18:30:33 alise, how do you define UI here? 18:30:40 brb 18:30:47 cpressey knows. 18:36:58 alise: Yes, it has a user interface. After a fashion. 18:38:10 * Vorpal considers a makefile based init script system 18:38:15 I was thinking "Rewrite UI in the befungeoid VM" as one of the todo items, but didn't write it, because I'm not sure. Rewriting some of the system in the interpreted language, yes. 18:38:47 I think that might actually work rather well 18:40:57 also need to document the key mappings, rather badly (I swear they used to be, I must have lost that page.) 18:41:40 cpressey, hm, how large is the funge space of this thing? 18:42:22 Vorpal: It's a set of 80x25 pages. Each of those is 2K. There are currently as many as will fit on a floppy. 18:43:10 cpressey, I think that with 64-bit mode you do some cleaver stuff with the virtual pages so you can have a flat funge-space, not with 64-bit cells of course. And then allocate pages as needed 18:43:18 you can't do fully 32 bit cells either 18:44:44 Yes, because long mode is SUPER FUN. 18:44:51 because 1) 48 bits actually usable with a hole in "the middle", and sign extending the addresses in the upper half 2) you need a few pages for interpreter code and meta data 18:45:03 * cpressey is completely lost 18:46:24 cpressey, what I'm suggesting that you with 16-bit cells could do something like BASE+y*SOMETHING+x and then use that address in your virtual address space as the funge space position 18:47:21 cpressey, you need BASE because you want a few pages somewhere to keep track of what physical memory is mapped where and also the interpreter code 18:47:30 Vorpal: The VM language is only going to superficially resemble Befunge, and even then, the Befunge it resembles is Befunge-93. 18:47:32 of course you could put that at the top 18:47:52 So - 16 bits is plenty to describe a position in an 80x25 page 18:47:54 cpressey, right, I was just discussing a rather hackish use of paging 18:48:04 cpressey, to abuse that to create a sparse array 18:48:20 sparse by page faulting if the page isn't used already 18:48:40 No page faults. Not protected mode. Of course, you're free to write your own OS. 18:48:46 you probably don't want BASE+y*SOMETHING+x, horrible for cache if traveling much in y 18:49:20 so maybe hilberts space filling curve, not sure how fast that is to compute 18:49:27 or interleaving x and y bits 18:49:45 cpressey, I KNOW! I was just discussing an interesting hack I thought of 18:49:59 cpressey, which would be possible only on OS level 18:50:26 cpressey, stop being so negative 18:51:06 Vorpal: Chill, dude. 18:51:17 cpressey, how many 80x25 pages btw? 18:51:41 Vorpal: It's a set of 80x25 pages. Each of those is 2K. There are currently as many as will fit on a floppy. 18:51:51 cpressey, and I don't know how many fits on a floppy 18:52:01 cpressey, because you didn't say which type of floppy 18:52:32 I know I have at least 3 types in this room. Only two of which I can read 18:52:49 ... 18:52:51 the one I can't read is a *floppy* floppy. 18:53:19 Vorpal: You're not funny, interesting or clever by peddling such needless pedantry at that in an attempt to keep the conversation going. 18:53:27 And since he said 486, you know perfectly well which kind he meant. 18:53:32 alise, there are several floppy variants that work in normal "PC" floppy drives 18:53:36 Vorpal: Um. Are you needing to know the exact number of pages the current version has available? 18:53:57 Because, see, I thought you would be satisfied with an impression, an order of magnitude, you know? 18:54:00 Vorpal: And you know damn well that if he meant anything other than 1.44 MB, he'd have said so, it being an ABNORMAL case. 18:54:00 cpressey, no, just roughly would be enough 18:54:12 Vorpal: Then: a floppy-full. 18:54:15 alise, I have more of those old single sided ones than I have 1.44 MB 18:54:26 alise, so no I didn't know that 18:54:39 Vorpal: Yes, you do, probably because your brain optimises for being as much of an edge-case as you can so you have something to talk about. 18:54:42 Nobody else does. 18:55:35 alise, personal insults. How fun 18:55:57 do you really want to take the discussion that low? 18:56:09 It was not a personal insult. Well, it was, but it was not ad hominem. 18:56:11 It was relevant. 18:56:46 alise, I wound say it was highly inaccurate though. Relevant... maybe to some degree. Could have been more irrelevant at least. 18:57:02 You people are seriously the worst getting-along people I know of; sometimes I like to consider the absurdity of a Vorpal-alise collaborative project, the existence of which would cause the world to collapse. 18:57:13 s/You people/You two/ 18:57:23 fizzie, hah 18:58:06 -!- Sgeo has joined. 18:58:10 fizzie: To be fair, he /is/ the stupidest person /I/ know of. (Now watch as he copies my sentence structure!) 18:58:17 I guess that's not particularly fair to stupid people. 18:58:23 ... 18:58:24 Who? 18:58:34 alise, that was ad hominem though 18:58:46 Vorpal: Incorrect again, my friend; *that* was not an argument. :) 18:59:14 alise, yes it was... 18:59:29 No, it wasn't; I merely said it, not submitted it as an argument for some debate. 18:59:46 fizzie, btw I have a new pano I took at university yesterday coming up in a bit. 19:00:19 alise, you mentioned that there was something you didn't like about Factor? 19:00:22 fizzie, mobile camera, but turned out rather well if you don't zoom in too much. Matches up well in all but one place 19:00:52 Sgeo: Uh, I just never got in to the language itself. Maybe I will now. 19:01:00 Slava Pestov is an awesome guy; #concatenative is a really nice channel. 19:01:09 (It's technically for non-Factor stuff too, but it's the Factor channel.) 19:01:26 It's a good project. 19:01:50 * Sgeo mutters something incomprehensible about every image based language thinking it owns .image 19:01:53 Vorpal: Speaking of photography, look what we found from the local IKEA; a TRÅDIG-model cat: http://zem.fi/~fis/ikea-cat.jpg 19:02:02 Sgeo: file extensions aren't owned, Windowser. 19:02:17 fizzie: :-D 19:03:34 It's been doing some interior design improvements to the box (read: eating it) after the picture was taken, though. 19:04:00 Did you buy it? 19:04:10 Woohoo! Factor perfectly integrated with Emacs. 19:04:59 * alise right-clicks Edit on a random word; the file opens in Emacs, scrolled to the definition 19:05:00 Mwahaha 19:05:03 I have infinite power 19:05:24 Vorpal: Speaking of photography, look what we found from the local IKEA; a TRÅDIG-model cat: http://zem.fi/~fis/ikea-cat.jpg <-- what a fitting name. Well "hårig" would have been even better 19:05:27 but close enough 19:05:59 fizzie, http://omploader.org/vNWVyMA 19:06:37 I think I've seen a similar-looking building before. 19:06:52 fizzie, yes but then it was like 2 meter of snow outside 19:06:59 fizzie, and the pano didn't match up well at all 19:07:37 fizzie, I tried a vertical pano 19:07:47 but that is near impossible without some mount 19:09:32 hm there are actually 2 seams 19:10:32 fizzie, btw we will be using RCX in a lab next week. 19:10:50 fizzie, communication protocol lab 19:11:00 so rather strange choice of unit for it 19:11:06 What sort of play-university is that place?-) 19:11:12 though I guess it is a nice and simple protocol to start with 19:11:33 fizzie, hey the RCX was developed at MIT so... 19:11:46 well, at MIT together with lego to be exact 19:12:25 The only "telecommunications" "labwork" (if you can call it that) I did just used a network of six virtual machines or so. But I guess this is a bit lower-level communications-protocol and less networking-infrastructure thing? 19:12:51 Sgeo: btw, the factor wiki and pastebin are coded in factor 19:12:51 fizzie, anyway the IR protocol is probably good for the first lab in the network and communication course. There were TCP/IP labs and so on later on 19:12:57 Sgeo: and included with the distribution 19:13:02 fizzie, there is more later on 19:13:07 * cpressey wonders whatever happened to Pliant 19:13:27 alise, including a non-static website with software seems nonsensical. I assume you mean a URL 19:13:29 fizzie, but I guess since it is a introductory course, they don't want to start off with a too complex protocol 19:13:35 Sgeo: The code ..................... 19:13:40 >_< 19:13:40 an* 19:13:42 -_- 19:13:43 etc 19:13:45 Oh! 19:14:17 Vorpal: We had a "Unix programming" special course; I found something like 16 more-or-less-serious (some *very* minor, admittedly) errors/unclarities in the course slides. 19:14:19 I should probably uninstall WIn32Forth at some point 19:14:28 Apparently Pliant is still around at http://www.pliantcode.com/ and http://fullpliant.org/doc/ 19:14:51 cpressey: what the heck is it? 19:14:54 that is 19:14:57 fizzie, oh yeah, this first lab will also serve as a way to learn *nix iirc. For those that don't know it 19:14:57 why should i care about it? 19:15:10 [[In computer software programming languages history, Pliant is the first attempt to connect C and LISP branches. 19:15:10 It was written by Hubert Tonneau, first published in 1999, and is released under GNU General Public License version 2.]] 19:15:11 ha 19:15:15 like nobody tried that before 1999 19:15:43 Oh, Wikipedia. Thy NPOV shines upon us! 19:15:50 cpressey: so what is it? 19:15:53 like, i know what it is 19:15:54 but context? 19:16:23 alise: I dunno, something you said about Factor reminded me of it 19:16:53 * Sgeo growls at there being no 3xx level chem courses 19:16:58 A language where you can change the syntax and build your own language! Whee! Yeah, never been done before. 19:17:03 fizzie, one issue seems to be they are using non-custom firmware on those. Rather annoying. The default lego firmware is horribly bad. And that is "so bad it is bad" bad. 19:17:04 Vorpal: Several were pretty clear errors, like claiming that to delete a file, you need write permission for the file itself. And that you need to have a "extern char **environ;" declaration before you can use getenv/putenv. 19:17:11 cpressey: Heh. 19:17:13 Pliant does that? 19:17:57 fizzie, was this someplace where you could correct whoever was teaching it? 19:18:14 alise: That's what I understood its schtick to be, yes. 19:18:17 * Sgeo is a major fan of correcting professors 19:18:19 "Pliant is a great language of choice for any of the following example applications: relational database engine, 3D game engine, GMail like web-app, peer-to-peer sharing network, kernel drivers, online web store." 19:18:22 Sgeo: Yes, I think my corrections were credited on the next lecture, even. 19:18:23 Although it's probably rather rude 19:18:25 Sgeo: They probably hate your guts. 19:18:27 fizzie, awesome 19:18:48 It's a great language of choice. 19:18:50 Well, if you correct purposeful simplifications for the purpose of teaching, that is. 19:19:01 cpressey: have you gazed upon the delight that is Plain English? 19:19:12 alise, um, I might have done that once or twice >.> 19:19:26 Sgeo: That's obnoxious. 19:19:27 that's the one with ~1000 words? 19:19:30 fizzie, hm to delete a file you need write permission to the containing directory. Hm can you delete a file you can write to but where you can't write to the containing directory? 19:19:38 madbrain2: nonono 19:19:41 madbrain2: it's a programming language 19:19:59 Vorpal: No. Well, unless you consider truncating it to zero bytes, which is sort-of "deleting" it. But not really. 19:20:00 written in the most warped form of english you can imagine, with a hilarious manual that calls Windows variously the kludge, the whore, etc. 19:20:00 No nested ifs iirc 19:20:07 fizzie, right 19:20:08 and the compiler is written in itself, which is beautifully horrific 19:20:14 and it's meant to cost like $100 19:20:20 but you could get it for free by looking at the js code 19:20:31 and it had cartoon "testimonials" from claude monet, bill gates, k&r, ... 19:20:59 alise: Holy wow. No, I had not. 19:21:12 cpressey: http://www.osmosian.com/ they removed their fun cartoon site and replaced it with this 19:21:17 download the sample application to look at the source 19:21:24 A cartoon testimonial for Monet. That's...oh damn. 19:21:30 s/for/from/ 19:21:33 cpressey: it was because of their sample application 19:21:39 which uses dots to reproduce google image search results 19:21:41 Slereah can hook you up with the actual compiler etc., which is pure fun to use 19:21:49 the editor will ONLY start full screen using an awful comic font 19:21:55 i actually started on a bf interpreter 19:21:57 but it was too difficult 19:22:03 to fight with the syntax 19:22:14 cpressey: Reading the compiler, though, wow. 19:22:17 I may arguably have done that "correct purposeful simplifications" thing back when I got into that argument about *all* floating-point formats being binary (while TI's calculator-floats are BCD); but they were so forcefully insisting on everything everywhere being implemented with base-two fractions and powers of two. 19:22:20 "What do I need to run it? Windows XP or Vista. Yuk." 19:22:22 cpressey: It has raw hex for all the compiled instructions. 19:22:29 cpressey: And the rest is written in that mechanical English style. 19:22:35 Parsing and all. 19:22:35 fizzie, wait a second. That isn't true in general 19:22:45 So really, I am very impressed that they could program something that big and ... well, actually-working in it. 19:22:49 fizzie, the sticky bit messes things up 19:22:53 Like LoseThos. 19:22:56 so you need to account for that possibility too 19:23:41 cpressey: http://www.osmosian.com/manifesto.pdf this thing has the font used in the editor 19:23:45 Vorpal: Yes, I did mention that in the correction. But even with the sticky bit set, the original claim -- write permissions on the file -- is still irrelevant. 19:24:03 * Sgeo wonders whether he should do the Your First Program tutorial despite having read it but not acted 19:24:06 Maybe to get a feel for it 19:24:07 fizzie, indeed 19:24:13 The 19:24:13 program runs on the Wintel Kluge, was written entirely in Plain English, and 19:24:13 re-compiles itself in less than three seconds. That's right. Three seconds. 19:24:15 Sgeo: factor's? 19:24:20 Sgeo: probably. 19:25:30 * Sgeo tries out the deploy tool 19:25:31 cpressey: Oh yeah, and the whole UI system is based on 1/ns of an inch -- I think n=16 19:26:28 fizzie, the result of sticky bit on files seems to vary a lot (not implemented is most common though) 19:26:36 http://en.wikipedia.org/wiki/Sticky_bit#Usage 19:26:58 alise: I. Am. Enthralled. 19:27:17 cpressey: You NEED to see the compiler. They call it "the noodle", IIRC. 19:27:24 Literally that filename. No extension, "the " and all. 19:27:45 alise, "they"? 19:27:55 alise, are there really multiple persons behind it? 19:28:02 How the heck should I know? 19:28:06 hm 19:28:07 They call themselves The Osmosian Order. 19:28:09 good point 19:28:10 It could be a single guy with a split personality thing. 19:28:12 Besides, singular they. 19:28:18 Perfectly valid. 19:28:29 alise, I prefer spivak but sure... 19:28:48 I'd like to believe that it's twenty or so absolutely crazy, unwashed, unshaven people living in one messy house. 19:29:00 "The Osmosian Order of Plain English Programmers is a group of like-minded developers and educators dedicated to the rescue of computer science from the pervasive fog of confusion engulfing it today." 19:29:06 Like the world's most crazy-programming-language-oriented group marriage. 19:29:15 The "group" word does sort of suggest >1, while not being absolutely confirmsome. 19:29:20 fizzie: Yes, well, he could be lying. 19:29:29 Or self-aggrandising. 19:29:42 (She, maybe?) 19:29:48 (Naw.) 19:30:21 Well, osmosian.com is registered by Dan Rzeppa, 610 Scholl Rd, Mansfield, Ohio 44907, United States. 19:31:02 "The setuid bit was invented by Dennis Ritchie. His employer, AT&T, applied for a patent in 1972; the patent was granted in 1979 as patent number US patent 4135240 "Protection of data file contents". The patent was later placed in the public domain." 19:31:14 how strange to think that setuid was patented... 19:32:47 osmosian? yeah that's a classic no? 19:33:46 alise: Uh... I went to a nearby place with Google streetview (Scholl Road itself hasn't been driven on), and got this: http://zem.fi/~fis/scholl.jpg -- I think I'm forced to conclude that The Osmosian Order is a group of extraterrestials. 19:34:03 fizzie: That makes sense. 19:34:23 fizzie: The van and its driver became a being of pure energy when it went any further. 19:34:35 So you can see, you can never reach Scholl Road in this reality. 19:34:38 alise: Uh... I went to a nearby place with Google streetview (Scholl Road itself hasn't been driven on), and got this: http://zem.fi/~fis/scholl.jpg -- I think I'm forced to conclude that The Osmosian Order is a group of extraterrestials. <-- what the fuck? 19:34:39 *So you see, 19:34:50 Osmosian - Alien Species Wiki - Aliens, UFOs, Space aliens 19:34:50 Osmosians are an aliens that look like humans, The name 'Osmosian' is a play on the word "osmosis", the name of the physical process by which a solvent, ... 19:34:51 -- Google 19:34:56 Well there you go then. 19:35:00 http://aliens.wikia.com/wiki/Osmosian 19:35:01 I... see. 19:35:01 It's settled. 19:35:53 Sgeo: use Emacs 19:35:57 FUEL is kickass 19:36:23 FUEL? 19:36:23 I only really like emacs when I'm on a terminal 19:36:30 Vorpal, Factor thingy for Emacs 19:36:52 Sgeo, run emacs -nw 19:36:52 then 19:37:06 o.O I gave up on the deploy Tetris thing 19:37:09 FUEL is the thing that turns Factor and Emacs into Smalltalk. 19:37:11 --no-window-system, -nw do not communicate with X, ignoring $DISPLAY 19:37:11 It just now attempted to finish 19:37:14 But I deleted stuff 19:37:14 Sgeo, ^ 19:37:18 Sgeo, thus, terminal 19:37:23 Vorpal: you are totally misunderstanding him 19:37:26 possibly purposefully. 19:37:34 * cpressey cannot see past the pervasive fog of confusion that engulfs him. 19:37:39 alise, hm? He seemed to ask for "not X mode" 19:37:43 at least to me 19:38:11 cpressey: Huh, Vorpal's message got marked as being sent by you. 19:38:16 * cpressey cannot see past the pervasive fog of confusion that engulfs him. 19:38:39 Vorpal: he means that when using a graphical environment rather than a command-based one, he does not enjoy using Emacs. 19:38:41 alise, i didn't say that.... 19:38:44 Sgeo: you like Smalltalk, yes? 19:38:44 alise, stop trolling 19:38:49 alise, yes... 19:38:58 Sgeo: Factor + Emacs/FUEL = Smalltalk. srsly 19:39:17 alise, right. So running it in a terminal inside a GUI environment is not enough? 19:39:58 Vorpal: please find the nearest dictionary and look up "context", "environment" 19:40:36 alise, he said none of those words 19:40:40 " I only really like emacs when I'm on a terminal" 19:40:58 alise: This compiler, where is it? 19:41:00 yes, unlike you i can read words and interpret them as their meanings, rather than relying on an ultra-literal legalistic view of the world 19:41:15 cpressey: you gotta pay for it. apparently if you email them they'll give it to you. try that. 19:41:21 Slereah has it 19:41:28 alise: Eww 19:41:41 alise, that statement is ambiguous the way "terminal" is commonly used these days. I do not assume that everyone uses "terminal emulator" when they mean that 19:41:43 cpressey: yeah, maybe just ask Slereah for it 19:41:45 since that is generally not true 19:41:53 Slereah Slereah Slereah 19:41:59 alise: Fine. 19:42:05 maybe he will appear 19:45:39 -!- ais523 has joined. 19:45:53 ais523: Hey, you're not Slereah! 19:46:01 no, I'm not 19:46:15 ais523: we summoned you inadvertently 19:46:16 alise: Crossed wire in the summoning subsystem, I guess. 19:46:17 shoo 19:46:23 ais523, hello 19:47:08 * alise edits the edit word, finds himself in a world populated by newspaper editors who can only say "edit" 19:47:14 hi 19:49:16 I'm still in love with the one line unit test stuff 19:53:53 alise: I love those hats of theirs. Well, visors really. They're cool. 19:55:38 -!- cheater99 has quit (Ping timeout: 272 seconds). 19:56:10 cpressey: wat 19:59:07 alise: I guess I'm thinking of the guys who run the printing presses. 19:59:57 Geez, here I thought this was iconic, but I can't find a single image on google of one of these dudes. 20:00:05 They wear suspenders, too, I swear! 20:08:08 -!- augur has quit (Ping timeout: 258 seconds). 20:15:52 -!- madbrain2 has quit (Ping timeout: 265 seconds). 20:18:06 cpressey, whaaat? 20:18:33 suspenders are rare nowdays though 20:19:00 saw some old guy at university passing by in a corridor today, had suspenders. Noticed it due to being so rare. 20:20:19 hm that is en_GB:braces it seems 20:20:22 -!- madbrain2 has joined. 20:20:34 -!- cheater99 has joined. 20:28:38 -!- Wamanuz has joined. 20:31:48 -!- Phantom_Hoover has joined. 20:32:33 choochter, new here? 20:34:12 -!- Sgeo has quit (Ping timeout: 258 seconds). 20:37:22 -!- augur has joined. 20:47:04 -!- Phantom_Hoover has quit (Quit: Leaving). 20:47:19 -!- Phantom_Hoover has joined. 20:52:03 Vorpal: both words work in British English 20:52:11 hmm, maybe not 20:52:16 -!- augur has quit (Ping timeout: 252 seconds). 20:52:16 "suspenders" means something else over here 20:54:48 ais523, what are you talking about? 20:55:07 what Vorpal was saying around 40 minutes ago 20:58:32 wow, why does git not have a command to reset a file in the working tree to match what it is at HEAD? 20:59:06 -!- augur has joined. 21:01:05 aha, "git checkout"; that was rather inconsistent with the rest of git... 21:01:40 ais523: What does "suspenders" bring to mind in UK English? 21:01:43 I'm curious. 21:02:08 "braces" would be things you wear on your teeth to straighten them in NA English... 21:02:29 cpressey: they're an item of clothing that prevents long socks falling down 21:02:39 The "git checkout" thing is mentioned everywhere, though. And I'm not sure how inconsistent it is; it checks out things from the repository into the working tree. 21:02:53 ais523: Ah yes. I've seen those, was not aware they had a name. 21:04:01 I guess the fact that it also does branch-switching is a bit overloady. 21:06:38 -!- Flonk has joined. 21:07:14 -!- Vorpal has quit (Read error: Operation timed out). 21:08:52 -!- oerjan has joined. 21:10:23 -!- Vorpal has joined. 21:24:41 -!- augur has quit (Ping timeout: 240 seconds). 21:29:02 -!- augur has joined. 21:38:05 hello 21:38:09 i have a question 21:38:17 why are php related irc channels so fucking useless 21:40:13 because php is so fucking easy to understand 21:48:06 -!- Flonk_ has joined. 21:49:17 * oerjan notes that people on the Infinite Featureless Plane of Death walk _fast_ 21:49:35 -!- sftp_ has quit (Remote host closed the connection). 21:50:52 -!- Flonk has quit (Ping timeout: 258 seconds). 21:50:53 -!- Flonk_ has changed nick to Flonk. 21:56:10 -!- falsealarm has joined. 21:56:27 hello 21:56:43 -!- falsealarm has left (?). 21:57:48 O_o 21:58:44 very self referential, should fit right in 22:01:19 Is it just me, or does Bochs suck now? 22:01:33 (Anticipating alise response: cpressey: Bochs has always sucked.) 22:01:55 cpressey: Well... it's always been glacially slow. 22:01:56 No, I mean, I can't even get it to boot from boot floppy images now. 22:02:13 Maybe you did something rong. 22:02:19 If you're not using the debugger just go QEMU. 22:02:48 time to make things wright, then 22:02:51 Oh, maybe. Bochs won't even start a display on my Ubuntu laptop; I'm using QEMU there. QEMU on Windows looks like hell, though. 22:04:08 -!- madbrain2 has quit (Ping timeout: 265 seconds). 22:08:59 augur augur augur 22:09:11 alise alise alise 22:13:22 The name of the BIOS ROM image file that QEMU loads is... hardcoded? Beh 22:13:38 Oh, no. You can give it a dir name it seems. 22:13:52 Yay! Worked! 22:16:06 -!- Quadrescence has quit (Ping timeout: 265 seconds). 22:18:14 cpressey cpressey cpressey 22:18:57 Phantom_Hoover Phantom_Hoover Phantom_Hoover 22:20:27 -!- augur has quit (Ping timeout: 265 seconds). 22:20:51 -!- madbrain2 has joined. 22:22:09 -!- augur has joined. 22:25:29 * Phantom_Hoover looks at the USSR's nuclear strategy against the UK 22:27:48 -!- Phantom_Hoover_ has joined. 22:27:50 Oh, Edinburgh was completely screwed. 22:30:37 -!- Phantom_Hoover has quit (Ping timeout: 276 seconds). 22:31:18 -!- Flonk_ has joined. 22:31:28 -!- Flonk has quit (Read error: Connection reset by peer). 22:31:46 -!- Flonk_ has changed nick to Flonk. 22:32:19 There are at least 16 assorted ground- and airbursts lined up for it, inexplicably. 22:32:55 For comparison, London only has about 2 more. 22:33:26 -!- augur has quit (Ping timeout: 264 seconds). 22:33:48 -!- Quadrescence has joined. 22:34:03 Despite having 10 times the population. 22:34:05 Phantom_Hoover_: I would conclude from that, that Edinburgh is where the UK keeps most of *its* nukes. 22:34:16 cpressey, *definitely* not. 22:34:34 Most of them would be in Rosyth and other military bases. 22:34:38 Phantom_Hoover_: I didn't say it was a conclusion that lined up with reality! 22:34:57 cpressey, it baffles me just as much. 22:35:21 I mean, if you wanted to decapitate Scotland, it might be helpful, but that's basically the only good reason. 22:35:57 It's not to kill civilians, since Edinburgh's population isn't even half a million. 22:38:09 Well, a friend of mine says that it's probably due to its terrain not being very conducive to killing people. 22:38:37 xD 22:39:17 Since Edinburgh has loads and loads of hills. 22:40:21 "Damn hills! Our infantry will never be able to get over them. Better nuke that area instead!" ? 22:42:19 No, that's the point. 22:42:40 Hills stop radiation and shockwaves, so it wouldn't be completely levelled. 22:45:47 -!- zzo38 has joined. 22:47:17 And ImageMagick certainly is suitable for complex editing, I have used ImageMagick for these things. 22:47:25 So they lined up lots and lots of nukes, to ensure that everyone would die. 22:47:59 While larger cities such as London are on pretty flat ground. 22:49:32 -!- Flonk has quit (Remote host closed the connection). 22:49:36 -!- Phantom_Hoover_ has quit (Remote host closed the connection). 22:50:07 -!- kar8nga has quit (Read error: Connection reset by peer). 22:50:50 If you need a graphical user interface, I have used Microsoft Paint and used the "clipboard:" command in ImageMagick to deal with this. This does not work in UNIX systems, though. So in UNIX systems, what I could do is invent variant programs "imx" (Image eXchange) (normal mode), "imxs" (scripting mode", and "imxg" (scripting mode with graphical user interface). 22:51:27 (The GUI can use a view area, script area, and with three mouse buttons and modifier keys, you can do a lot of these operations, the function keys F1 F2 F3 and so on can also be used to select different mouse modes) 22:51:37 -!- oerjan has quit (Quit: Later). 22:52:16 * zzo38 (~zzo38@h24-207-49-17.dlt.dccnet.com) has joined #esoteric 22:52:17 And ImageMagick certainly is suitable for complex editing, I have used ImageMagick for these things. 22:52:19 for what things, exactly? 22:52:22 you failed to specify 22:52:48 alise: Any complex things! 22:52:59 There are a lot of things you can do with it! 22:53:08 I have even used ImageMagick for audio manipulation! 22:55:00 dc has a stack for each register, sort of like the STASH and RETRIEVE commands in INTERCAL...... 23:00:47 OK, I have to know. How can ImageMagick be used to manipulate audio?? 23:01:03 -!- olsner has joined. 23:01:24 cpressey: Convert audio data to image data -> apply blur filter -> convert back 23:01:52 I, uh. 23:01:57 I suppose that would... manipulate it. 23:04:03 You tell 'im, zzo38! 23:06:28 alise: Yes you are right, that is one way. 23:06:49 But since ImageMagick does not support audio formats directly, you would need SoX or something else to convert the formats 23:07:05 SoX already has many effects, but not everything 23:08:03 If I ever write ImX (Image eXchange), then I will add in support for audio formats as well as the picture formats, and also add in "Block JPEG" format, which prevents decompressing/compressing the lossy part of a JPEG. 23:08:32 As well as add in some effects that are useful for audio. The DPI of the picture can be used as the sample rate for audio. 23:08:54 -!- derdon has quit (Read error: Operation timed out). 23:09:11 "The DPI of the picture can be used as the sample rate for audio." 23:09:11 x_x 23:09:16 nice 23:09:24 * alise laughs 23:09:32 one inch per second? 23:09:40 That's what she said. 23:10:27 olsner: I guess so, that can work. 23:11:00 * alise fixes a bug in Factor 23:11:02 :fuckyeah: 23:12:06 (It is a bug in the Brainfuck implementation.) 23:15:59 I have seen a 2600 FAQ that says that shell scripts with SUID can be security hole if you rename it (or make a link to it), called "-i". Can you fix this by changing the shebang like to "#!/bin/bash --" will it work? 23:17:17 probably 23:17:24 don't make suid shell scripts though 23:17:36 modern kernels don't accept suid scripts 23:17:41 only binaries 23:18:20 Will the SUID just have no effects for shell scripts? Or will it expect the file to be a binary if it has SUID, and say the file is an invalid executable file? 23:18:26 the frmer 23:18:28 *former 23:20:15 zzo38: no, that doesn't fix it 23:20:29 well, it fixes that bug, but not another security bug with suid shell scripts 23:21:05 which is that if you access the shellscript via a path where one of the directories in it is a symlink, then you can retarget that symlink between the check to see if the script is suid, and the shell actually reading the script 23:21:12 so you can get the shell to run some other script suid 23:24:31 ais523: O, that is another thing, I forgot 23:24:37 But now I know 23:25:09 doesn't the kernel just have to hold on to the realpath of the executable to avoid that hole? 23:25:42 AwesomePressions: S-Expression apart from (...) | Base-10 number n followed by n AwesomePressions, forming a list. 23:25:45 3 define 2 id x x 23:25:49 Also known as: AwfulPressions 23:26:00 Variant: AwesomeBinaryPressions 23:26:01 11 define 10 id x x 23:30:53 -!- madbrain2 has quit (Ping timeout: 276 seconds). 23:31:54 I have many ideas of things that can be added/changed in Linux, one idea is the /proc/$$/9p/ directory 23:32:51 Another idea is Simple Executable File Format 23:34:15 Another idea is, a way to tell it to run another program with overriding some or all system calls, and possibly some other features too 23:34:37 fizzie: What was the name of that amazing jump game me and oklopol got addicted to? 23:34:50 You had the level 100 code for it, I believe. 23:42:55 "level 100"? 23:43:47 I was confusing this with "100level" 23:44:15 no; it had 100 levels + some bonuses 23:44:27 Wondering if this was some new language for writing games. 23:44:29 Dot Action 2! That was it. 23:45:26 http://offgao.no-ip.org/game/dotact/ 23:45:26 http://offgao.no-ip.org/game/dotact2/ 23:45:33 http://offgao.no-ip.org/game/dotact2_c/ ;; create your own levels! 23:45:37 I think. 23:45:55 errrm 23:45:58 The goal is to get all the dots, cpressey. 23:46:03 You don't need to know Japanese. 23:46:07 Arrow keys move. Space jumps. 23:46:09 It's still loading the /emulator/? 23:46:10 Have fun. 23:46:13 cpressey: It's not an emulator. 23:46:16 It's just fake emulator-text. 23:46:20 It's loading all the levels. 23:46:22 Oh kay 23:46:36 Dot Action 2 is the best 23:46:38 Well, this will take some time 23:46:40 so I'd load that if I were you 23:46:45 Am. 23:47:00 It is really slow from that site 23:47:10 cpressey: http://dotaction.fizzlebot.com/ 23:47:12 Way, way quicker. 23:47:20 Indeeeeed 23:47:21 SPACE operates the menus. 23:47:37 1st menu item ok? 23:47:49 Yes. 23:47:57 Don't be fooled by the simplistic starting levels. It becomes pure gaming itself soon enough! 23:48:24 This is genuinely amazing. 23:48:44 XD 23:48:46 It becomes... shall we say, almost impossible near the end. 23:49:41 cpressey: Stage 5 is the first "haha wow" one. 23:50:17 k. Made it to stage 2. Will continue later, I'm releasing Eightebed right now. 23:50:30 * pikhq has navigates bureaucracy succesfully 23:50:31 Or rather, past stage 2. 23:50:33 VICTOLY 23:53:05 -!- BeholdMyGlory has quit (Remote host closed the connection). 23:54:25 Oh yeah, and Enter pauses so you can quit. 23:54:37 -!- FireFly has quit (Quit: swatted to death). 23:58:55 I want to do mana symbols like this: \def\R{\redmanalayer\rlap\manasymcircle\manasymred\textlayer} 23:59:57 (Where \redmanalayer and \textlayer are specials)