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 <Sgeo> alise, jsforth
00:19:58 * Sgeo prepares for alise to make some sort of statement expressing disapproval
00:21:33 <alise> http://rx-core.org/jsvm/
00:21:41 <alise> http://www.forthfreak.net/jsforth.html
00:21:56 <alise> (http://wiki.forthfreak.net/index.cgi?jsforth)
00:22:02 <oerjan> close to the virtual metal?
00:22:06 <alise> http://solidcoding.blogspot.com/2008/12/wforth-javascript-forth-interpreter.html
00:22:45 <Sgeo> I was expecting more of a "Don't use it" than a "It already exists"
00:23:06 <alise> nothing wrong with it, a bit useless though
00:23:19 <Sgeo> It needs to be made to work with Chrome
00:23:50 * Sgeo is considering LSL-Forth
00:23:57 <Sgeo> Which, apparently, already has been done
00:24:04 <Sgeo> But I don't think it's been mass marketed
00:24:28 <Sgeo> Which I wanted to do with a Scheme in LSL, and would want to do the same with a Forth
00:24:33 <Sgeo> Scheme might be easier
00:24:34 <alise> Somehow, when talking about selling Second Life stuff you manage to sound as obnoxious as "social media gurus".
00:24:38 <Sgeo> To get acceptance stuff
00:25:06 <Sgeo> alise, I'm not a large clueless company
00:25:49 <alise> nor are "social media gurus"; they're just clueless
00:26:25 * Sgeo decides that wForth is worthless
00:26:44 <Sgeo> It doesn't have SEE, it doesn't have c.,
00:27:01 <Sgeo> It has neither postpone nor [compile]
00:27:11 -!- GreaseMonkey has joined.
00:27:33 <Sgeo> Doesn't have XTs
00:27:54 <Sgeo> Doesn't have .s
00:28:13 <Sgeo> I'm surprised it actually has : and ;
00:30:57 <Sgeo> JSVM treats enter and space as the same thing, which I guess isn't necessarily bad
00:40:02 <alise> 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 <alise> Sgeo: Mu; it should not exist.
00:55:16 <Sgeo> It has as much right to exist as jsforth does
00:57:26 <alise> Yes, but jsforth isn't marketed as something you should actually use.
00:58:15 <Sgeo> What's wrong with trying to get people to use a hypothetical LSL-Forth?
00:58:35 <Sgeo> Although I guess an LSL-Scheme would be easier
00:58:43 <Sgeo> 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 <alise> Sgeo: : min 2dup < if drop ; then nip ; : max ...
01:10:54 <alise> Sgeo: What min would look like in colorForth (with translation of colours to symbols)
01:11:00 <alise> Figure out how it works!
01:11:13 <alise> (Assuming those words are defined in cF, I don't know)
01:11:27 * Sgeo doesn't remember nip
01:22:16 * Sgeo wtfs at that : before max
01:22:28 <alise> i was just showing how it ended
01:22:31 <alise> (however, it is relevant)
01:22:34 <alise> Sgeo: note the multiple ;s
01:22:39 <alise> the nip isn't the important thing
01:22:54 <Sgeo> Your min does not have a sensible stack effect
01:23:15 <Sgeo> Although I guess I have no clue wtf that extra ; is for
01:23:42 <oerjan> it's related to how you said cf does proper TCO...
01:24:01 <alise> i'll explain it, since nobody is cool enough to get it
01:24:07 <alise> so Sgeo isn't cool enough to get it
01:24:12 <alise> Sgeo: ; does /not/ terminate the definition
01:24:17 <alise> ; merely compiles as a return
01:24:20 <alise> there is no "else"
01:24:29 <alise> 2dup > if drop ; then nip ;
01:24:37 <alise> otherwise, the return will be skipped
01:24:42 <alise> so we nip then return
01:24:46 <alise> so how do you terminate definitions?
01:24:48 <alise> by starting another one
01:24:56 <alise> (or max-in-red in cF itself)
01:25:15 <alise> you can't deny that that's cool.
01:25:23 <oerjan> ...so how do you actually start interpreting again?
01:25:37 <Sgeo> exit in normal Forths does the same thing, right?
01:25:46 <alise> oerjan: i'm not actually sure.
01:25:52 <alise> oerjan: probably there is some word for it
01:26:11 <alise> but ~all of colorForth is blocks of word definitions, so
01:26:18 <Sgeo> http://www.youtube.com/watch?v=MuOvqeABHvQ wtf
01:26:19 <alise> and ofc you never actually see :
01:26:23 <alise> [red NAME] [green WORDS]
01:26:24 <alise> [red NAME] [green WORDS]
01:27:05 <alise> Sgeo: btw, you can "tail-recurse" in any forth
01:27:06 <oerjan> hm ; isn't yet another color?
01:27:12 <alise> oerjan: nope, it's a regular word
01:27:19 <alise> oerjan: it's not syntax highlighting, only actual semantic differences
01:27:31 <alise> drop from return stack
01:27:37 <alise> which is exactly what you think it is
01:27:48 <alise> why doesn't it work
01:27:48 <Sgeo> alise, the return stack is standardized?
01:27:57 <alise> Sgeo: Um ... it's a vital part of any Forth ... of course it is.
01:28:29 <Sgeo> 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:16 <alise> Well, yes, of course it can; but a Forth can do anything it likes.
01:29:23 <alise> ANS Forth doesn't say it can, though, but that's not worth anything.
01:29:33 <alise> More to the point, the only thing that matters is that no Forth does that anyone knows of.
01:29:40 <alise> Because return stack manipulation is VERY common.
01:29:56 <alise> Now to figure out why rdrop doesn't wokr.
01:30:27 <Sgeo> alise, return stack manipulation for the purposes of manipulating the return stack, or for trivial temporary storage?
01:35:21 <Sgeo> The video I pasted
01:37:22 <Sgeo> 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:48:12 <oerjan> Sgeo is technically correct
01:48:30 <oerjan> that's a bit long to wait before saying "nsfw.*", though
01:49:40 <Sgeo> It's a bit long before that part played
01:49:43 <alise> Sgeo: you have never seen Rejected?
01:49:54 <Sgeo> alise, I have today
01:50:47 <alise> it is the firmament on which the internet is based
02:05:35 <Sgeo> What's a typical way to do events in Forth?
02:05:46 <Sgeo> somext someevent
02:09:09 <Sgeo> : 2dup ( a b -- a b a b ) over over ;
02:10:19 <alise> : 2dup postpone dup postpone dup ; immediate
02:10:39 <alise> : 2dup postpone over postpone over ; immediate
02:11:03 <Sgeo> And why would 2dup be immediate?
02:11:28 <Sgeo> I take it you're also thinking of over as immediate. Why?
02:11:35 <Sgeo> All the immediateness is ... alarming
02:13:10 <alise> because 2dup should compile to over over
02:13:16 <alise> rather than having to be called
02:13:17 <alise> since it's so simple
02:13:41 <Sgeo> So basically inlining
02:15:01 <Sgeo> 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 <Sgeo> : *. * . ; This will multiply and print two numbers
02:15:41 <Sgeo> I assume there should be a \ , but I simply don't see it
02:16:42 <alise> bad escaping obviously
02:19:32 <Sgeo> Remember that aw-create thing?
02:19:37 <Sgeo> It should really use a value
02:24:28 <Sgeo> alise, would attempting to popularize LSL-Scheme make more sense?
02:34:10 <alise> Both make 0 sense.
02:35:27 <Sgeo> alise, LSL sucks
02:39:13 <oerjan> lavishly sucking language
02:39:40 -!- comex has quit (Ping timeout: 276 seconds).
02:40:03 -!- comex has joined.
02:41:14 <Sgeo> 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 <alise> Sgeo: It is fair to say that "most of the X community" is defined as the writer's opinions on X.
02:42:09 <alise> Weasel words; look them up.
02:45:04 <Sgeo> Hmm, I should attempt to figure out the return stack
02:46:08 <Sgeo> WHat's the point of ?dup?
02:46:17 <Sgeo> It's effect on the stack is conditional
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 <Sgeo> My locker number is 24
03:10:08 * Sgeo ponders ForthNomic
03:10:28 <Sgeo> 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:57:40 -!- yorick has quit (Read error: Operation timed out).
04:00:01 -!- Gregor has joined.
04:07:00 -!- GreaseMonkey has joined.
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 <zzo38> 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 <Sgeo> Well, just learned that I can't make an AW SDK wrapper for Gforth
06:07:38 <zzo38> Sgeo: O, you can't?
06:07:46 <Sgeo> Or, actually, possibly I can, but I need to use undocumented stuff
06:07:52 <Sgeo> zzo38, it needs callbacks
06:07:56 <Sgeo> http://www.complang.tuwien.ac.at/forth/gforth/Docs-html/Callbacks.html#Callbacks
06:08:12 <zzo38> You could somehow implement callbacks in Gforth, somehow
06:08:38 <Sgeo> Hmm, true, I guess, but I'd have no clue where to start
06:09:37 <Sgeo> I'm still not sure when ?dup is useful
06:09:46 <zzo38> Unfortunately I don't know either, but I have some guesses
06:09:52 <zzo38> And I do know when ?DUP is useful.
06:10:05 <zzo38> It is sometimes useful in ?DUP IF or ?DUP WHILE constructions
06:10:53 <zzo38> 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 <Sgeo> : 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:49 <zzo38> That definitions of rdrop wouldn't work so well, if...
06:14:55 <coppro> wow, the xkcd alt text today is geeky
06:14:58 <Sgeo> I just had a thought involving a definition with 6 POSTPONE in the body
06:15:25 <zzo38> The definition you give might act like EXIT does....
06:15:58 <Sgeo> alise was doing something akin to inlinine
06:16:01 <Sgeo> I think I'd use that
06:16:09 <Sgeo> But then I might have a stack of postpones
06:16:29 <Sgeo> Factored out with a definition that drops in multiple postpones... but the postpones need to be double
06:16:32 <zzo38> If you want to inline the code, you use POSTPONE and IMMEDIATE
06:17:20 <Sgeo> That pattern should be factored out into, say, a inline:
06:17:21 <coppro> I move that we postpone this conversation indefinitely
06:17:26 <Sgeo> Too tired and late to do it now
06:18:14 <zzo38> You might be able to make the definition clearer if you modify the parser to support backtick notation
06:18:25 <Sgeo> backtick notation?
06:19:18 <zzo38> 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 <zzo38> Backtick notation does this:
06:19:55 <zzo38> : IF` 0=GOTO` ORIG ;
06:20:01 <zzo38> : THEN` HERE SWAP ! ;
06:20:26 <zzo38> Where the word IF` is the word to compile IF and DUP` is the word to compile DUP and so on.
06:20:55 <Sgeo> But didn't whatn you just put attempt to define IF` ?
06:21:24 <zzo38> Sgeo: Can you write that more clearly, please?
06:22:50 <Sgeo> Is : IF` 0=GOTO` ORIG ; an example of using it, or an example of defining IF` ?
06:23:07 <zzo38> It is an example of defining IF`
06:23:17 <zzo38> And an example of using it.
06:23:18 <Sgeo> Oh, as in the compilation semantics of IF?
06:23:48 <Sgeo> Some Forths use compile-only
06:23:56 <Sgeo> Most use IMMEDIATE
06:24:14 <Sgeo> No, most would use immediate and be state-smart
06:24:22 <Sgeo> Checking STATE
06:24:38 <Sgeo> I remember reading that that's largely not a good thing to do
06:25:51 <zzo38> You are correct, that is not generally a good thing to do
06:26:44 <zzo38> : ELSE` GOTO` ORIG SWAP THEN` ;
06:29:50 <Sgeo> If you want an event system, what would it normally look like from the high level?
06:29:56 <Sgeo> somext someevent
06:30:58 <zzo38> You can see how MegaZeux does it, which is one possible way
06:31:18 <zzo38> The addresses are stored in a event array
06:31:59 <zzo38> And the built-in word to create them is :EVENT ( event-number -- )(enter compile mode)
06:33:04 <Sgeo> That makes a lot of sense
06:33:24 <Sgeo> As in, not written in MegaZeux Forth?
06:33:44 <zzo38> Actually, it is not primitive, it is built-in to the standard library.
06:33:51 <zzo38> So it is written in MegaZeux Forth.
06:33:58 <zzo38> (I just made a kind of small mistake)
06:34:32 <Sgeo> I need to brush teeth and go sleep
06:34:52 <Sgeo> Hmm, maybe I should avoid deliberately using bad grammar
06:35:53 <zzo38> It doesn't matter, as long as it can be possible to understand it
06:37:37 <zzo38> 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:39:02 <Sgeo> zzo38, what happens if EV.ITEM happens to be too large to h.. oh, wait, n/m
06:39:25 <Sgeo> I guess when I saw the ., my mind went to OOP mode, and thought it was a variable (well, value)
06:39:37 <aortizm> Hi Sgeo, I'm seeking someone who knows about possetions
06:40:00 <Sgeo> aortizm, sorry, this channel is not about the spiritual type of esoterica
06:40:20 <Sgeo> This is about esoteric programming languages... languages that are made not for practical use, but for other reasons
06:40:27 <Sgeo> They do not seek to be mainstream languages
06:40:37 <zzo38> EV.ITEM is a constant representing the value you must add to the kind ID number, to make the event number.
06:40:50 <Sgeo> Brain**** is an example of an esoteric programming language
06:40:52 <aortizm> well perhaps it could use some usefull info..
06:40:54 <Sgeo> One of the more famous ones
06:41:13 -!- aortizm has quit (Read error: Connection reset by peer).
06:41:35 <zzo38> 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 <Sgeo> zzo38, aortizm left
06:42:11 <zzo38> 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 <Sgeo> I honestly doubt that e's interested
06:42:45 <Sgeo> Hopefully he doesn't attempt to exorcise anyone
06:42:52 <zzo38> You might be correct, surely
06:47:34 -!- wareya_ has joined.
06:48:33 <zzo38> 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 <zzo38> 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 <zzo38> 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 <zzo38> 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 <zzo38> 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 <zzo38> 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 <coppro> zzo38: no clue about kerning
07:39:47 <coppro> 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 <coppro> zzo38: and the symbols are images. No clue how you would get those into METAFONT
07:40:16 <coppro> then again, I don't know all that much about METAFONT
07:41:51 <zzo38> 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 <zzo38> 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 <coppro> zzo38: in that case, you'd have to METAFONT-ize them yourself
07:47:02 <zzo38> 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 <zzo38> 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 <coppro> zzo38: They are large images shrunken down
07:54:12 <coppro> and most resolutions you'd use them at, you won't notice a loss in quality
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 <zzo38> 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 <coppro> 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 <zzo38> How large is a Magic: the Gathering card (in inches)? I did not find a ruler
08:16:49 <coppro> 2.5 by 3.5 or thereabouts
08:18:12 <fizzie> "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 <fizzie> 15/32 and 7/16 are reasonably close to .5 though.
08:18:54 <zzo38> 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 <zzo38> 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 <fizzie> 375x523 and those physical dimensions sounds like an approximately 150 dpi thing.
08:21:19 <zzo38> fizzie: Yes, I have calculate it and it is approx 150 dpi
08:24:12 <zzo38> 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 <zzo38> And if they don't use it, their competitors will use it.......
08:25:01 <coppro> zzo38: they could just keep the modifications in-house
08:25:17 <zzo38> coppro: Yes, they can, but they would still have to learn
08:25:44 <zzo38> Hopefully the included documentation would be sufficient
08:26:25 <coppro> WotC lawyers are not slackoffs
08:28:11 <zzo38> But the program itself is not a template.
08:28:43 <zzo38> The template(s) would be separate packages that are not part of the program.
08:29:12 <zzo38> Of course they can use the program and templates internally if they want to, even with private modifications
08:30:39 <zzo38> But their competitors will make their own private improvements and they will be better than the one WotC uses
08:31:12 <zzo38> (I don't know who their competitors are, but surely their competitors can make templates, too)
08:33:10 <zzo38> Does WotC even use TeX or METAFONT or ImageMagick at all?
08:33:33 <fizzie> I would be surprised (but delighted) if they did.
08:34:29 <fizzie> (My guess is horrible in-house tools built on top of some Windows graphical-design apps.)
08:34:54 <fizzie> You may need to go kidnap an employee to make sure.
08:36:16 <zzo38> 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 <zzo38> 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 <coppro> 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 <immibis> "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:26:22 -!- choochter has joined.
11:32:17 -!- augur has quit (Remote host closed the connection).
11:58:44 <fizzie> Am at work, not very much here.
11:58:59 <asiekierka> fizzie, can i send you a new style for fungot?
11:59:01 <fungot> 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:21 <fizzie> Well, sure. How big is it?
11:59:40 <fizzie> Oh, then I guess an email attachment is fine.
11:59:51 <asiekierka> 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 <fizzie> 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 <fizzie> c poll, not some other poll.
14:57:47 <alise> fizzie: I believe a completely 32-bit binary must be made, since colorForth is 32-bit afaik
14:57:56 <alise> This may be hard what with its memory antics, though
14:58:01 <fizzie> If you do it like that, it is a 32-bit binary, as far as I know.
14:58:19 <alise> fizzie: Try it as root? Yes, yes, suicide, I know.
14:58:26 <alise> But I forgot to use REISUB; you may not be so stupid.
14:58:43 <fizzie> I don't have root here, I'm at work. :p
14:58:50 -!- sftp has quit (Ping timeout: 255 seconds).
14:58:52 <alise> It only did things as root for me; then again, it was broken entirely.
14:59:48 <fizzie> 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 <alise> But, but XCOLORFORTH!
15:00:53 <fizzie> (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 <fizzie> 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 <alise> Well, yes, but it /is/ bizarre enough to be amusing.
15:02:30 <fizzie> Maybe I should build a Windows binary, just for the discordance.
15:03:06 <alise> fizzie: There is a Windows colorForth already.
15:03:58 <alise> fizzie: I doubt you'd get any Linux-specific bits to work, anyway.
15:04:06 <alise> Assuming there /are/ some; I'm not exactly sure how modified color.s is.
15:04:19 <alise> Well, it must be, since it's gas syntax.
15:05:51 <fizzie> 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: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: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 <alise> 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 <Sgeo> Does it parse itself the way Forth does?
15:24:36 <alise> It has the facilities for such words, yes.
15:24:38 <Sgeo> I remember once looking at Factor and almost immediately rejecting it for some reason
15:24:58 <alise> Everything's a bit more semantically-refined, which makes the reflective tools better, the code sometimes easier to understand.
15:25:15 <Sgeo> Now that I kind of get Forth, I think I'd be more ok with Factor
15:25:47 <alise> I think it is definitely worth checking out.
15:25:54 <alise> The tools and libraries /are/ absolutely amazing.
15:26:25 <Sgeo> Do you think it might supplant my current love for Smalltalk?
15:26:36 <Sgeo> Also, AW bindings for Factor!
15:26:45 <Sgeo> (Probably more reasonable than for Forth)
15:27:06 -!- Gregor has quit (Ping timeout: 272 seconds).
15:27:09 <alise> 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 <Sgeo> Is " a word or something in Factor? There's no space between it and the content of the string
15:28:32 <fizzie> 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 <Sgeo> 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 <fizzie> Just stick to writing more and more Befunge interpreters, like us sane people do.
15:30:54 <alise> Sgeo: " is syntax; I think you can define your own syntax.
15:31:08 <alise> Sgeo: Definable syntax.
15:32:21 * alise downloads factor-linux-x86-64-2010-08-29-14-56.tar.gz
15:32:40 <alise> One of my patches almost sort-of made it into Factor!
15:32:50 <alise> It made it in, just with a few changes
15:33:12 <alise> 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 <alise> As well as other such errors.
15:33:29 <alise> (Vague system error + meaningless number)
15:33:40 <Sgeo> alise, when, exactly, did you start learning programming?
15:33:41 <alise> Because I wrote some errno -> error string code and replaced the error handler with that.
15:33:50 <alise> This was about a year ago.
15:34:18 <alise> 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 <Sgeo> I love Factor's unit test stuff, I think
15:34:21 -!- madbrain2 has joined.
15:34:43 <alise> 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 <alise> (I picked up Javascript, SQL, etc. in the interim of all this.)
15:35:25 <alise> 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 <alise> 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 <alise> Sgeo: And, uh, it's pretty much been gradual improvement since then.
15:36:16 <alise> What a boring history.
15:36:31 <alise> But yeah, it was more gradual than "I started learning programming when I was N."
15:36:52 <alise> (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 <Sgeo> I might have done something like that if I wasn't under the constant impression that you need to pay money
15:37:27 <Sgeo> Read about VB, Perl, and a bunch of other languages
15:37:45 <Sgeo> Wrote some VB at summer camp, I think
15:37:49 <alise> Yes, well, proprietary software has made sure the programming child is more-or-less stillborn.
15:38:20 <Sgeo> 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 <Sgeo> Hmm, when was I experimenting with Magsbot
15:39:27 <Sgeo> That might be sooner than Python
15:39:53 <Sgeo> Magsbot 2003 or so. 9th grade 2003 or so
15:40:11 <Sgeo> WHen using Magsbot, I somehow guessed that it used "" to escape quotes
15:40:22 <Sgeo> (Or maybe '', don't remember which is its string syntax)
15:42:20 <alise> What's 9th grade, age-wise?
15:43:49 <Sgeo> 2003 - 1989 = 2004 - 1990 = 14
15:45:30 <Sgeo> Huh. I assume Factor's [ ] doesn't stay in the dictionary the way Forth's :noname ; does
15:45:37 <alise> 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 <alise> Sgeo: It's a proper closure.
15:47:32 <alise> (Forth's isn't, having not really a true concept of a closure.)
15:47:40 <alise> Sgeo: Try not to compare it too much to Forth.
15:47:43 <alise> It's concatenative more than stack-based.
15:47:59 <Sgeo> Never heard of those until I started reading about Forth
15:48:10 <alise> Sgeo: Joy is the "purest" concatenative language: like a stack calculus,
15:48:27 <alise> 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 <Sgeo> How is Forth impure? >.>
15:48:36 <alise> We say instead that "x y" = y . x
15:48:40 <alise> function composition
15:48:49 <alise> And we say that the whole program is applied to an empty stack
15:49:02 <alise> dup is the function dup({x,...}) = {x,x,...}
15:49:08 <alise> drop({x,...}) = {...}
15:49:13 <alise> swap({x,y,...}) = {y,x,...}
15:49:25 <alise> But we also have [...], which pushes the list of words inside on to the stack.
15:49:33 <Sgeo> I think I might like this more than Haskell
15:49:37 <alise> 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 <Sgeo> It seems easier
15:49:45 <alise> [a b c] i => a b c
15:49:54 <alise> Sgeo: So as you can see this is utterly pure and functional.
15:49:58 <alise> And not imperative.
15:50:05 <alise> Factor has more in common with it than it does Forth.
15:50:09 <Sgeo> Well, probably not, but I'm thinking in stacky mode
15:50:11 <alise> So think functionally.
15:50:22 <alise> Think functionally.
15:50:29 <alise> i.e., concatenatively.
15:51:45 -!- GuestA05364 has quit.
15:51:58 * Sgeo bibbles at checking stack effect
15:52:24 <Sgeo> BRB. I may or may not remain connected
15:52:24 <alise> In a good or bad way?
15:52:38 <Sgeo> In a, how does it work way
15:53:47 <alise> Each word inside's stack effect is known.
15:53:50 <alise> Just cascade them.
15:54:06 <alise> Also, what the fuck is bibbling. I assume some Creatures thing.
15:56:24 <Sgeo> alise, what happens with ifs?
15:56:50 <Sgeo> Well, I guess they're checked, but how do you define your own thing that needs to work with stack checking?
15:56:51 <alise> Both branches have to have the same stack effect, I think.
15:56:59 <alise> Sgeo: It Just Works.
15:57:03 <alise> Don't worry about it.
15:57:19 <alise> It's not something you define.
15:57:27 <alise> (Nor a heuristic, for that matter.)
16:00:19 <alise> Sgeo: Basically, every word has to have a consistent stack effect.
16:01:40 <Sgeo> I haven't downloaded Factor yet
16:02:21 <alise> Lemme find the manual page for yu.
16:02:55 <alise> Sgeo: http://docs.factorcode.org/content/word-if,kernel.html
16:03:06 <alise> Includes the definition.
16:03:14 <alise> (This can be conjured up with \ if help in the graphical listener.)
16:04:02 <alise> 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 <alise> So, any conditionals or whatever you write will already work with them.
16:04:24 <alise> No need to declare anything, since /every other word's stack effect is known/.
16:04:53 -!- cheater99 has joined.
16:05:06 <alise> Sgeo: The only word with an unknown stack effect is call: http://docs.factorcode.org/content/word-call,kernel.html.
16:05:13 <alise> "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 <alise> There's call( stack -- effect )
16:05:38 <alise> Which does what you think it does.
16:05:44 -!- derdon has joined.
16:05:47 <alise> (Requires a ( stack -- effect ) quotation on the top of the stack, and calls it.)
16:05:57 <alise> So call is generally not used; it's pretty evil.
16:06:10 -!- Wamanuz2 has joined.
16:06:15 <alise> (But used by functions to implement safe ones, such as if, so it's there.)
16:06:50 <alise> Sgeo: Oh yeah, and Factor compiles to very compact, efficient native code (no C compiler or whatever).
16:07:09 <alise> 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:28 <Sgeo> Wait, if call can only be used with statically defined ... thingies, what's the point?
16:07:37 <Sgeo> erm, [ ] thingies
16:07:58 <alise> Sgeo: for example, if.
16:08:15 <alise> The two quotations ("[ ] thingies") are always static.
16:08:19 <alise> But the boolean to branch on is not.
16:08:38 <alise> So as you can see, "? call" is if.
16:08:56 <alise> 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 <alise> (Composition, etc.)
16:09:20 <alise> Sgeo: What I'm saying is, don't worry about it.
16:09:29 <alise> Not a heuristic or a hack.
16:09:37 <Sgeo> Bubut... how can I store a quotation, then?
16:09:40 <Sgeo> For later use?
16:09:58 <alise> Okay, clearly you don't know Factor enough to understand half of the edge-cases I'm explaining.
16:10:03 <alise> Sgeo: Forget everything I said.
16:10:34 <alise> 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 <Sgeo> She made her own slides
16:11:14 <Sgeo> The Perl professor
16:11:24 <Sgeo> And she just emphasized that it's "Perl", not "PERL"
16:11:28 <alise> Learning Perl and Factor at the same time. Great idea... XD
16:11:45 <Sgeo> I'm learning Factor for fun. I'm learning Perl because I have to at this school
16:12:13 <alise> Don't blame me when you write [ + ] $foo = ;
16:12:17 <cpressey> A school that makes you learn Perl. That's... very interesting.
16:12:30 <alise> cpressey: At least the prof seems sane enough to teach best practices.
16:12:37 <alise> Which make Perl into a good enough language.
16:13:29 <cpressey> 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 <cpressey> For different, maybe bad, reasons.
16:13:47 <Sgeo> This is a non-academic course
16:14:01 <cpressey> PHP is what you should be learning!
16:14:01 <Sgeo> "Computer Programming and Information Systems"
16:14:07 <alise> And a non-academic university, from the sounds of it >____>
16:14:08 <Sgeo> It's in the school of business
16:14:18 <alise> Isn't "unacademic" a word?
16:14:22 <alise> Whatever, of course it is.
16:14:35 <alise> I love how vague ICT-style names get each passing year.
16:14:38 <alise> Information Systems!
16:14:42 <alise> Information Nodes!
16:14:45 <alise> Information... Technology!
16:14:52 <alise> Information ENTITIES!
16:15:15 <cpressey> Sadly, Information Systems and Information Technology are pretty old and standard at this point.
16:16:05 <cpressey> So what is this SBCL? I should know this
16:16:14 <alise> cpressey: Steel Bank Common Lisp.
16:16:23 <alise> CMUCL's developed descendant.
16:16:39 <alise> cpressey: Carnegie Mellon University Common Lisp.
16:16:43 <alise> Figure out the pun and get a cookie.
16:16:56 <cpressey> "Compiled Lisp" always makes me blink.
16:17:05 <alise> It's how Common Lisp is done.
16:17:14 <alise> (That is, figure out the pun in SBCL's name using CMUCL's.)
16:17:14 <cpressey> alise: OK, working on it. Still too early to take apart deep, profound puns, you know.
16:17:23 <alise> cpressey: I could just tell you.
16:17:46 <cpressey> Or I could jkust read it inadvertently on the wp page, which I just did. Sorry.
16:18:48 <alise> 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 <alise> SBCL is competitive with gcc in many cases.
16:19:03 <alise> O'Caml regularly gets gcc performance on well-written code.
16:19:13 <alise> Factor is competitive with SBCL. So pretty fast, and all that.
16:19:31 <cpressey> 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 <cpressey> Not gcc-level, obviously, and good for a lazy language, but still.
16:20:15 <alise> 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 <alise> 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 <alise> Impressive for Haskell, though. :P
16:23:11 <Sgeo> hash table == dictionary, right?
16:23:19 <Sgeo> She asked if anyone worked with hash tables before..
16:23:29 <cpressey> hash table implements dictionary
16:23:35 <alise> what cpressey said
16:23:39 <alise> only python calls them dictionaries :P
16:23:53 <Sgeo> C# dictionaries are different?
16:24:01 <alise> Who gives a fuck about C#.
16:24:21 <cpressey> I should start writing C# just to piss alise off.
16:24:26 <alise> cpressey: Pet peeve: "associative array". It might not be an array, moron!
16:24:39 <alise> You fail at generality, Wikipedia.
16:24:44 <cpressey> alise: Yeah, I never liked that term either.
16:32:22 <Sgeo> Factor does have an FFI, right?
16:32:45 <alise> Sgeo: An excellent one.
16:32:56 <alise> Sgeo: The entire UI is written in OpenGL, in Factor.
16:33:08 <alise> With Cocoa, Win32 and X11 backends; again in Factor.
16:33:31 <alise> Indeed, it even comes with a full libc binding in the stdlib.
16:33:45 <alise> Sgeo: you haven't seen the UI yet, have you?
16:34:05 <alise> Factor is possibly the most well-documented and comprehensive community-developed language there is.
16:34:17 <alise> The documentation viewer is wonderful, the debugger is great, etc.
16:34:39 <Sgeo> How about on-the-fly modification of code?
16:34:49 <alise> 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 <alise> Sgeo: what do you mean?
16:34:57 <alise> like modifying the standard library>
16:35:02 <Sgeo> alise, Smalltalk style, or Erlang style
16:35:10 <alise> Sgeo: Yep: \ sqrt edit
16:35:18 <alise> Opens in your defined editor (one of many).
16:35:29 <alise> The best one to use is Emacs with the comprehensive Factor mode whose name I forget.
16:35:34 <alise> It integrates tightly with the listener.
16:35:47 <Sgeo> Ok, I'm cancelling the Smalltalk bindings project
16:36:08 <alise> cpressey: Now Factor is his girlfriend.
16:36:25 <alise> Oh, FUEL is the name of the Emacs thing.
16:36:26 <cpressey> alise: Oh dear. Falcon will become very, very jealous.
16:36:38 <alise> cpressey: Nonono, Forth! Or was it Smalltalk?
16:36:57 <alise> I guess Smalltalk isn't the basis of a long-term relationship. LOLOLOLOL SEE WUT I DID THAR
16:37:59 <Sgeo> She had trouble figuring out why '\\n' and '\n' were giving her the same thing
16:38:23 <Sgeo> She expected '\\n' to give her a newline
16:38:31 <alise> Maybe she is retarded, then.
16:39:39 -!- Wamanuz2 has quit (Read error: Operation timed out).
16:40:07 <alise> Sgeo: BTW, I do think you have to re-load a module before your saved changes take effect.
16:40:11 <alise> That's reasonable, though.
16:40:24 <Sgeo> Can the project still be running while it's reloaded?
16:40:40 <alise> Uhhhh... not really. I assume by project you mean "some word".
16:41:25 * Sgeo facepalms at Perl
16:42:21 <Sgeo> The whole automatic conversion of strings to numbers etc
16:47:32 <alise> [[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:48:44 <Sgeo> Please tell me that `perl' is a REPL and that I just haven't figured out how to use it
16:50:00 <Sgeo> Not quite a REPL
16:50:04 <Sgeo> But still easier to use
16:50:22 <Sgeo> And she just said that she won't teach it to the students right now because she doesn't have anything prepared
16:52:30 <cpressey> Sgeo: If you've figured it out, please let me know.
16:52:54 <Vorpal> as far as I remember perl reading from standard in is simply perl reading from stdin. Though I may be wrong.
16:53:14 <alise> gets you the debugger
16:53:17 <alise> which is almost a REPL
16:53:25 <alise> usually it's easier to just write a script, though
16:53:27 <alise> Sgeo: there ARE perl repls
16:53:30 <Sgeo> Just `perl' is also easy
16:53:37 <Sgeo> Although perhaps annoying
16:53:37 <alise> Devel::REPL is the best
16:53:39 <Vorpal> yeah cpan probably has a few REPLs
16:53:42 <alise> but to get that you need to figure out cpan
16:53:45 <alise> and cpan is LIQUID PAIN
16:53:51 <alise> cpanplus is better, so you'd want that
16:53:54 <Sgeo> Nothing wrong with
16:53:56 <alise> of course, you'd have to install cpanplus
16:53:59 <Sgeo> #Some perl code
16:54:00 * cpressey never thought of using the debugger as a repl.
16:54:07 <Vorpal> alise, depends on distro. Gentoo had a tool to generate ebuilds for cpan packages iirc
16:54:08 <alise> cpressey: ais523 told me that trick
16:54:11 <Vorpal> which worked quite well
16:54:15 <cpressey> I usually just use -e "print 56 * 71;" on the command line
16:54:23 <Vorpal> alise, that will indeed be painful
17:01:15 -!- BeholdMyGlory has joined.
17:02:32 <cpressey> 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:04:08 <Vorpal> cpressey, recursive as in calling itself by invoking make?
17:04:27 <alise> Vorpal: you know what a fucking recursive makefile is.
17:04:46 <Vorpal> alise, yes and that tends to be invoke make in a subdir by calling make in a rule
17:04:59 <alise> *clap* *clap* *clap*
17:05:00 <Vorpal> alise, my question still stands
17:05:03 <alise> So you didn't need to ask anything, really.
17:05:26 <Vorpal> alise, because recursive make in the other sense sounds quite fun
17:08:11 <Vorpal> 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 <Vorpal> since you can rebuild only a subtree. That still has to work
17:09:00 <alise> include libc/Makefile
17:09:08 <cpressey> Why would rebuilding a subtree not work with a monolithic Makefile?
17:09:26 <alise> I suppose Vorpal recursively calls the interpreter rather than using "require" statements, too.
17:09:27 <Vorpal> cpressey, well, it could, would have to be run from the top dir though
17:09:45 <alise> libc/Makefile could have all the stuff needed to build the libc.
17:09:50 <alise> The makefile in . would include it.
17:09:52 <Vorpal> alise, yes in the sense that cd libc; make
17:09:59 <alise> cd libc; make would work
17:10:07 <alise> Vorpal: of course it would
17:10:12 <alise> you write the libc makefile in the libc directory
17:10:14 <alise> and include it one above
17:10:23 <alise> you have to handle some directory differences, but nothing unsolvable
17:10:24 <cpressey> I have made a makefile that calls itself, once, fwiw, but it was limited to one level of recursion that way.
17:10:25 <Vorpal> alise, as far as I can tell that need some path mangling
17:10:37 <alise> makefiles can have a target to make themselves
17:10:45 <alise> when this happens, make automatically calls it again with the new makefile
17:10:52 <alise> (this is for managing dependencies automatically; I have used it)
17:11:07 <alise> Makefile: $(SRCS) \ ... run makedep or gcc -Msomething or whatever ...
17:11:18 <alise> (and append to make.deps)
17:11:32 <alise> and it'll always generate new dependencies and include the updated file if you change the sources
17:11:48 <Vorpal> alise, yes but that is not the same as calling itself in the sense of: foo:\n\tmake bar
17:12:05 <alise> It's metanough for me.
17:12:12 -!- Gracenotes has joined.
17:12:17 <Vorpal> alise, and a lot more boring
17:12:22 <Vorpal> alise, about as boring as kexec ;P
17:13:10 <alise> I'd say a Makefile rule is a lot more interesting than ZOMG CALLING THE PROGRAM MAKE INSIDE A MAKEFILE.
17:14:13 <fizzie> "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 <Vorpal> 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 <Vorpal> I'm quite sure you could use make calling itself for some interesting hacks
17:15:21 <alise> fizzie: Programming GOD. An introductory AI course.
17:15:57 <fizzie> 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 <fizzie> (Grand Unified Theory of Mind, especially.)
17:16:46 <alise> is that the mentifex guy?
17:16:56 <fizzie> Yes, it's from the Mentifex FAQ.
17:18:20 <fizzie> 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 <alise> Forth does attract the crazies a bit.
17:20:26 <fizzie> alise: MindForth Programming Journal (MFPJ) 2010 August 25: http://p.zem.fi/mpfj-2010-aug-25 -- see, he's almost completely "solved AI".
17:21:13 <fizzie> 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:36 <alise> madbrain2: what's .nsf again?
17:22:09 -!- Sgeo has quit (Ping timeout: 258 seconds).
17:22:38 <madbrain2> the songs from famicompo 7 are out
17:25:43 <fizzie> 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:26 <alise> where's the dvorak keyboard?
17:26:42 <fizzie> Too bad I can't use that thing at all.
17:26:58 <alise> fizzie: http://www.colorforth.com/keys.html
17:27:01 <alise> The keys there are the two halves
17:27:08 <alise> left alt switches keypads
17:27:11 <alise> "e " starts the editor
17:27:48 <fizzie> 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 <alise> fizzie: You basically have to be Chuck Moore.
17:28:45 <alise> Reading the site and http://colorforthray.info/ may help. MAY.
17:28:48 <fizzie> 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 <alise> if you guys form some committee to create a modern university in mexico
17:29:35 <alise> Mexican Wave University
17:29:44 <alise> like in cooperation with yours
17:30:36 <fizzie> Best wavelet ever: the Mexican hat wavelet.
17:32:21 <alise> fizzie: Ooh! Or if you get bought out by Google:
17:32:24 <alise> Google Wave University
17:40:42 -!- kar8nga has joined.
17:41:26 <fizzie> 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 <cpressey> colorForth: Gives Chuck Moore the programmer productivity of twenty Chuck Moores!
17:51:35 <Vorpal> fizzie, so hm. This wave university thingy seems rather messy.
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: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 <cpressey> 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 <Vorpal> cpressey, because what?
18:25:34 <Vorpal> I think your line was cut short
18:25:44 <cpressey> ... Rebrand the thing because I don't like the name BefOS.
18:25:57 <Vorpal> yeah it was cut after "because"
18:26:14 <Vorpal> cpressey, strange irc client that doesn't automatically split overly long lines
18:29:41 <alise> cpressey: does it actually have a UI?
18:30:33 <Vorpal> alise, how do you define UI here?
18:36:58 <cpressey> alise: Yes, it has a user interface. After a fashion.
18:38:10 * Vorpal considers a makefile based init script system
18:38:15 <cpressey> 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 <Vorpal> I think that might actually work rather well
18:40:57 <cpressey> also need to document the key mappings, rather badly (I swear they used to be, I must have lost that page.)
18:41:40 <Vorpal> cpressey, hm, how large is the funge space of this thing?
18:42:22 <cpressey> 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 <Vorpal> 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 <Vorpal> you can't do fully 32 bit cells either
18:44:44 <alise> Yes, because long mode is SUPER FUN.
18:44:51 <Vorpal> 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:46:24 <Vorpal> 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 <Vorpal> 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 <cpressey> Vorpal: The VM language is only going to superficially resemble Befunge, and even then, the Befunge it resembles is Befunge-93.
18:47:32 <Vorpal> of course you could put that at the top
18:47:52 <cpressey> So - 16 bits is plenty to describe a position in an 80x25 page
18:47:54 <Vorpal> cpressey, right, I was just discussing a rather hackish use of paging
18:48:04 <Vorpal> cpressey, to abuse that to create a sparse array
18:48:20 <Vorpal> sparse by page faulting if the page isn't used already
18:48:40 <cpressey> No page faults. Not protected mode. Of course, you're free to write your own OS.
18:48:46 <Vorpal> you probably don't want BASE+y*SOMETHING+x, horrible for cache if traveling much in y
18:49:20 <Vorpal> so maybe hilberts space filling curve, not sure how fast that is to compute
18:49:27 <Vorpal> or interleaving x and y bits
18:49:45 <Vorpal> cpressey, I KNOW! I was just discussing an interesting hack I thought of
18:49:59 <Vorpal> cpressey, which would be possible only on OS level
18:50:26 <Vorpal> cpressey, stop being so negative
18:51:06 <alise> Vorpal: Chill, dude.
18:51:17 <Vorpal> cpressey, how many 80x25 pages btw?
18:51:41 <cpressey> <cpressey> 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 <Vorpal> cpressey, and I don't know how many fits on a floppy
18:52:01 <Vorpal> cpressey, because you didn't say which type of floppy
18:52:32 <Vorpal> I know I have at least 3 types in this room. Only two of which I can read
18:52:51 <Vorpal> the one I can't read is a *floppy* floppy.
18:53:19 <alise> 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 <alise> And since he said 486, you know perfectly well which kind he meant.
18:53:32 <Vorpal> alise, there are several floppy variants that work in normal "PC" floppy drives
18:53:36 <cpressey> Vorpal: Um. Are you needing to know the exact number of pages the current version has available?
18:53:57 <cpressey> Because, see, I thought you would be satisfied with an impression, an order of magnitude, you know?
18:54:00 <alise> 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 <Vorpal> cpressey, no, just roughly would be enough
18:54:15 <Vorpal> alise, I have more of those old single sided ones than I have 1.44 MB
18:54:26 <Vorpal> alise, so no I didn't know that
18:54:39 <alise> 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:55:35 <Vorpal> alise, personal insults. How fun
18:55:57 <Vorpal> do you really want to take the discussion that low?
18:56:09 <alise> It was not a personal insult. Well, it was, but it was not ad hominem.
18:56:46 <Vorpal> alise, I wound say it was highly inaccurate though. Relevant... maybe to some degree. Could have been more irrelevant at least.
18:57:02 <fizzie> 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:58:06 -!- Sgeo has joined.
18:58:10 <alise> fizzie: To be fair, he /is/ the stupidest person /I/ know of. (Now watch as he copies my sentence structure!)
18:58:17 <alise> I guess that's not particularly fair to stupid people.
18:58:34 <Vorpal> alise, that was ad hominem though
18:58:46 <alise> Vorpal: Incorrect again, my friend; *that* was not an argument. :)
18:59:29 <alise> No, it wasn't; I merely said it, not submitted it as an argument for some debate.
18:59:46 <Vorpal> fizzie, btw I have a new pano I took at university yesterday coming up in a bit.
19:00:19 <Sgeo> alise, you mentioned that there was something you didn't like about Factor?
19:00:22 <Vorpal> 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 <alise> Sgeo: Uh, I just never got in to the language itself. Maybe I will now.
19:01:00 <alise> Slava Pestov is an awesome guy; #concatenative is a really nice channel.
19:01:09 <alise> (It's technically for non-Factor stuff too, but it's the Factor channel.)
19:01:26 <alise> It's a good project.
19:01:50 * Sgeo mutters something incomprehensible about every image based language thinking it owns .image
19:01:53 <fizzie> 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 <alise> Sgeo: file extensions aren't owned, Windowser.
19:03:34 <fizzie> It's been doing some interior design improvements to the box (read: eating it) after the picture was taken, though.
19:04:10 <alise> 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:03 <alise> I have infinite power
19:05:24 <Vorpal> <fizzie> 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:59 <Vorpal> fizzie, http://omploader.org/vNWVyMA
19:06:37 <fizzie> I think I've seen a similar-looking building before.
19:06:52 <Vorpal> fizzie, yes but then it was like 2 meter of snow outside
19:06:59 <Vorpal> fizzie, and the pano didn't match up well at all
19:07:37 <Vorpal> fizzie, I tried a vertical pano
19:07:47 <Vorpal> but that is near impossible without some mount
19:09:32 <Vorpal> hm there are actually 2 seams
19:10:32 <Vorpal> fizzie, btw we will be using RCX in a lab next week.
19:10:50 <Vorpal> fizzie, communication protocol lab
19:11:00 <Vorpal> so rather strange choice of unit for it
19:11:06 <fizzie> What sort of play-university is that place?-)
19:11:12 <Vorpal> though I guess it is a nice and simple protocol to start with
19:11:33 <Vorpal> fizzie, hey the RCX was developed at MIT so...
19:11:46 <Vorpal> well, at MIT together with lego to be exact
19:12:25 <fizzie> 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 <alise> Sgeo: btw, the factor wiki and pastebin are coded in factor
19:12:51 <Vorpal> 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 <alise> Sgeo: and included with the distribution
19:13:02 <Vorpal> fizzie, there is more later on
19:13:07 * cpressey wonders whatever happened to Pliant
19:13:27 <Sgeo> alise, including a non-static website with software seems nonsensical. I assume you mean a URL
19:13:29 <Vorpal> 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 <alise> Sgeo: The code .....................
19:14:17 <fizzie> 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 <Sgeo> I should probably uninstall WIn32Forth at some point
19:14:28 <cpressey> Apparently Pliant is still around at http://www.pliantcode.com/ and http://fullpliant.org/doc/
19:14:51 <alise> cpressey: what the heck is it?
19:14:57 <Vorpal> 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 <alise> why should i care about it?
19:15:10 <alise> [[In computer software programming languages history, Pliant is the first attempt to connect C and LISP branches.
19:15:10 <alise> It was written by Hubert Tonneau, first published in 1999, and is released under GNU General Public License version 2.]]
19:15:15 <alise> like nobody tried that before 1999
19:15:43 <cpressey> Oh, Wikipedia. Thy NPOV shines upon us!
19:15:50 <alise> cpressey: so what is it?
19:15:53 <alise> like, i know what it is
19:16:23 <cpressey> 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 <cpressey> A language where you can change the syntax and build your own language! Whee! Yeah, never been done before.
19:17:03 <Vorpal> 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 <fizzie> 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:57 <Sgeo> fizzie, was this someplace where you could correct whoever was teaching it?
19:18:14 <cpressey> 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 <cpressey> "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 <fizzie> Sgeo: Yes, I think my corrections were credited on the next lecture, even.
19:18:23 <Sgeo> Although it's probably rather rude
19:18:25 <alise> Sgeo: They probably hate your guts.
19:18:27 <Sgeo> fizzie, awesome
19:18:48 <cpressey> It's a great language of choice.
19:18:50 <alise> Well, if you correct purposeful simplifications for the purpose of teaching, that is.
19:19:01 <alise> cpressey: have you gazed upon the delight that is Plain English?
19:19:12 <Sgeo> alise, um, I might have done that once or twice >.>
19:19:26 <alise> Sgeo: That's obnoxious.
19:19:30 <Vorpal> 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:41 <alise> madbrain2: it's a programming language
19:19:59 <fizzie> Vorpal: No. Well, unless you consider truncating it to zero bytes, which is sort-of "deleting" it. But not really.
19:20:00 <alise> 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 <Sgeo> No nested ifs iirc
19:20:08 <alise> and the compiler is written in itself, which is beautifully horrific
19:20:14 <alise> and it's meant to cost like $100
19:20:20 <alise> but you could get it for free by looking at the js code
19:20:31 <alise> and it had cartoon "testimonials" from claude monet, bill gates, k&r, ...
19:20:59 <cpressey> alise: Holy wow. No, I had not.
19:21:12 <alise> cpressey: http://www.osmosian.com/ they removed their fun cartoon site and replaced it with this
19:21:17 <alise> download the sample application to look at the source
19:21:24 <cpressey> A cartoon testimonial for Monet. That's...oh damn.
19:21:33 <alise> cpressey: it was because of their sample application
19:21:39 <alise> which uses dots to reproduce google image search results
19:21:41 <alise> Slereah can hook you up with the actual compiler etc., which is pure fun to use
19:21:49 <alise> the editor will ONLY start full screen using an awful comic font
19:21:55 <alise> i actually started on a bf interpreter
19:21:57 <alise> but it was too difficult
19:22:03 <alise> to fight with the syntax
19:22:14 <alise> cpressey: Reading the compiler, though, wow.
19:22:17 <fizzie> 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 <cpressey> "What do I need to run it? Windows XP or Vista. Yuk."
19:22:22 <alise> cpressey: It has raw hex for all the compiled instructions.
19:22:29 <alise> cpressey: And the rest is written in that mechanical English style.
19:22:35 <Vorpal> fizzie, wait a second. That isn't true in general
19:22:45 <alise> So really, I am very impressed that they could program something that big and ... well, actually-working in it.
19:22:49 <Vorpal> fizzie, the sticky bit messes things up
19:22:56 <Vorpal> so you need to account for that possibility too
19:23:41 <alise> cpressey: http://www.osmosian.com/manifesto.pdf this thing has the font used in the editor
19:23:45 <fizzie> 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 <Sgeo> Maybe to get a feel for it
19:24:13 <alise> program runs on the Wintel Kluge, was written entirely in Plain English, and
19:24:13 <alise> re-compiles itself in less than three seconds. That's right. Three seconds.
19:25:30 * Sgeo tries out the deploy tool
19:25:31 <alise> cpressey: Oh yeah, and the whole UI system is based on 1/ns of an inch -- I think n=16
19:26:28 <Vorpal> fizzie, the result of sticky bit on files seems to vary a lot (not implemented is most common though)
19:26:36 <Vorpal> http://en.wikipedia.org/wiki/Sticky_bit#Usage
19:27:17 <alise> cpressey: You NEED to see the compiler. They call it "the noodle", IIRC.
19:27:24 <alise> Literally that filename. No extension, "the " and all.
19:27:55 <Vorpal> alise, are there really multiple persons behind it?
19:28:02 <alise> How the heck should I know?
19:28:07 <alise> They call themselves The Osmosian Order.
19:28:10 <fizzie> It could be a single guy with a split personality thing.
19:28:12 <alise> Besides, singular they.
19:28:29 <Vorpal> alise, I prefer spivak but sure...
19:28:48 <alise> I'd like to believe that it's twenty or so absolutely crazy, unwashed, unshaven people living in one messy house.
19:29:00 <fizzie> "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 <alise> Like the world's most crazy-programming-language-oriented group marriage.
19:29:15 <fizzie> The "group" word does sort of suggest >1, while not being absolutely confirmsome.
19:29:20 <alise> fizzie: Yes, well, he could be lying.
19:29:29 <alise> Or self-aggrandising.
19:30:21 <fizzie> Well, osmosian.com is registered by Dan Rzeppa, 610 Scholl Rd, Mansfield, Ohio 44907, United States.
19:31:02 <Vorpal> "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 <Vorpal> how strange to think that setuid was patented...
19:32:47 <madbrain2> osmosian? yeah that's a classic no?
19:33:46 <fizzie> 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 <alise> fizzie: That makes sense.
19:34:23 <alise> fizzie: The van and its driver became a being of pure energy when it went any further.
19:34:35 <alise> So you can see, you can never reach Scholl Road in this reality.
19:34:38 <Vorpal> <fizzie> 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:50 <alise> Osmosian - Alien Species Wiki - Aliens, UFOs, Space aliens
19:34:50 <alise> 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:56 <alise> Well there you go then.
19:35:00 <alise> http://aliens.wikia.com/wiki/Osmosian
19:36:23 <Sgeo> I only really like emacs when I'm on a terminal
19:36:30 <Sgeo> Vorpal, Factor thingy for Emacs
19:37:06 <Sgeo> o.O I gave up on the deploy Tetris thing
19:37:09 <alise> FUEL is the thing that turns Factor and Emacs into Smalltalk.
19:37:11 <Vorpal> --no-window-system, -nw do not communicate with X, ignoring $DISPLAY
19:37:11 <Sgeo> It just now attempted to finish
19:37:14 <Sgeo> But I deleted stuff
19:37:23 <alise> Vorpal: you are totally misunderstanding him
19:37:26 <alise> possibly purposefully.
19:37:34 * cpressey cannot see past the pervasive fog of confusion that engulfs him.
19:37:39 <Vorpal> alise, hm? He seemed to ask for "not X mode"
19:38:11 <alise> cpressey: Huh, Vorpal's message got marked as being sent by you.
19:38:16 <alise> * cpressey cannot see past the pervasive fog of confusion that engulfs him.
19:38:39 <alise> Vorpal: he means that when using a graphical environment rather than a command-based one, he does not enjoy using Emacs.
19:38:41 <Vorpal> alise, i didn't say that....
19:38:44 <alise> Sgeo: you like Smalltalk, yes?
19:38:58 <alise> Sgeo: Factor + Emacs/FUEL = Smalltalk. srsly
19:39:17 <Vorpal> alise, right. So running it in a terminal inside a GUI environment is not enough?
19:39:58 <alise> Vorpal: please find the nearest dictionary and look up "context", "environment"
19:40:36 <Vorpal> alise, he said none of those words
19:40:40 <Vorpal> "<Sgeo> I only really like emacs when I'm on a terminal"
19:40:58 <cpressey> alise: This compiler, where is it?
19:41:00 <alise> 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 <alise> cpressey: you gotta pay for it. apparently if you email them they'll give it to you. try that.
19:41:41 <Vorpal> 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 <alise> cpressey: yeah, maybe just ask Slereah for it
19:41:45 <Vorpal> since that is generally not true
19:41:53 <alise> Slereah Slereah Slereah
19:42:05 <alise> maybe he will appear
19:45:39 -!- ais523 has joined.
19:45:53 <cpressey> ais523: Hey, you're not Slereah!
19:46:15 <alise> ais523: we summoned you inadvertently
19:46:16 <cpressey> alise: Crossed wire in the summoning subsystem, I guess.
19:47:08 * alise edits the edit word, finds himself in a world populated by newspaper editors who can only say "edit"
19:49:16 <Sgeo> I'm still in love with the one line unit test stuff
19:53:53 <cpressey> alise: I love those hats of theirs. Well, visors really. They're cool.
19:55:38 -!- cheater99 has quit (Ping timeout: 272 seconds).
19:59:07 <cpressey> alise: I guess I'm thinking of the guys who run the printing presses.
19:59:57 <cpressey> 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 <cpressey> 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:33 <Vorpal> suspenders are rare nowdays though
20:19:00 <Vorpal> saw some old guy at university passing by in a corridor today, had suspenders. Noticed it due to being so rare.
20:20:19 <Vorpal> 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: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 <ais523> Vorpal: both words work in British English
20:52:16 -!- augur has quit (Ping timeout: 252 seconds).
20:52:16 <ais523> "suspenders" means something else over here
20:55:07 <ais523> what Vorpal was saying around 40 minutes ago
20:58:32 <ais523> 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 <ais523> aha, "git checkout"; that was rather inconsistent with the rest of git...
21:01:40 <cpressey> ais523: What does "suspenders" bring to mind in UK English?
21:02:08 <cpressey> "braces" would be things you wear on your teeth to straighten them in NA English...
21:02:29 <ais523> cpressey: they're an item of clothing that prevents long socks falling down
21:02:39 <fizzie> 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 <cpressey> ais523: Ah yes. I've seen those, was not aware they had a name.
21:04:01 <fizzie> 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:17 <cheater99> why are php related irc channels so fucking useless
21:40:13 <Mathnerd314> 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:43 -!- falsealarm has left (?).
21:58:44 <oerjan> very self referential, should fit right in
22:01:19 <cpressey> Is it just me, or does Bochs suck now?
22:01:33 <cpressey> (Anticipating alise response: cpressey: Bochs has always sucked.)
22:01:55 <alise> cpressey: Well... it's always been glacially slow.
22:01:56 <cpressey> No, I mean, I can't even get it to boot from boot floppy images now.
22:02:13 <alise> Maybe you did something rong.
22:02:19 <alise> If you're not using the debugger just go QEMU.
22:02:48 <oerjan> time to make things wright, then
22:02:51 <cpressey> 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:13:22 <cpressey> The name of the BIOS ROM image file that QEMU loads is... hardcoded? Beh
22:13:38 <cpressey> Oh, no. You can give it a dir name it seems.
22:16:06 -!- Quadrescence has quit (Ping timeout: 265 seconds).
22:18:57 <cpressey> 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:27:48 -!- Phantom_Hoover_ has joined.
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 <Phantom_Hoover_> There are at least 16 assorted ground- and airbursts lined up for it, inexplicably.
22:33:26 -!- augur has quit (Ping timeout: 264 seconds).
22:33:48 -!- Quadrescence has joined.
22:34:05 <cpressey> Phantom_Hoover_: I would conclude from that, that Edinburgh is where the UK keeps most of *its* nukes.
22:34:38 <cpressey> Phantom_Hoover_: I didn't say it was a conclusion that lined up with reality!
22:35:21 <Phantom_Hoover_> I mean, if you wanted to decapitate Scotland, it might be helpful, but that's basically the only good reason.
22:35:57 <Phantom_Hoover_> It's not to kill civilians, since Edinburgh's population isn't even half a million.
22:38:09 <Phantom_Hoover_> Well, a friend of mine says that it's probably due to its terrain not being very conducive to killing people.
22:40:21 <cpressey> "Damn hills! Our infantry will never be able to get over them. Better nuke that area instead!" ?
22:42:40 <Phantom_Hoover_> Hills stop radiation and shockwaves, so it wouldn't be completely levelled.
22:45:47 -!- zzo38 has joined.
22:47:17 <zzo38> And ImageMagick certainly is suitable for complex editing, I have used ImageMagick for these things.
22:47:25 <Phantom_Hoover_> So they lined up lots and lots of nukes, to ensure that everyone would die.
22:47:59 <Phantom_Hoover_> 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 <zzo38> 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 <zzo38> (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 <alise> * zzo38 (~zzo38@h24-207-49-17.dlt.dccnet.com) has joined #esoteric
22:52:17 <alise> <zzo38> And ImageMagick certainly is suitable for complex editing, I have used ImageMagick for these things.
22:52:19 <alise> for what things, exactly?
22:52:22 <alise> you failed to specify
22:52:48 <zzo38> alise: Any complex things!
22:52:59 <zzo38> There are a lot of things you can do with it!
22:53:08 <zzo38> I have even used ImageMagick for audio manipulation!
22:55:00 <zzo38> dc has a stack for each register, sort of like the STASH and RETRIEVE commands in INTERCAL......
23:00:47 <cpressey> OK, I have to know. How can ImageMagick be used to manipulate audio??
23:01:03 -!- olsner has joined.
23:01:24 <alise> cpressey: Convert audio data to image data -> apply blur filter -> convert back
23:01:57 <cpressey> I suppose that would... manipulate it.
23:04:03 <alise> You tell 'im, zzo38!
23:06:28 <zzo38> alise: Yes you are right, that is one way.
23:06:49 <zzo38> But since ImageMagick does not support audio formats directly, you would need SoX or something else to convert the formats
23:07:05 <zzo38> SoX already has many effects, but not everything
23:08:03 <zzo38> 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 <zzo38> 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 <alise> "The DPI of the picture can be used as the sample rate for audio."
23:09:40 <alise> That's what she said.
23:10:27 <zzo38> olsner: I guess so, that can work.
23:11:00 * alise fixes a bug in Factor
23:12:06 <alise> (It is a bug in the Brainfuck implementation.)
23:15:59 <zzo38> 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:24 <alise> don't make suid shell scripts though
23:17:36 <coppro> modern kernels don't accept suid scripts
23:18:20 <zzo38> 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:20:15 <ais523> zzo38: no, that doesn't fix it
23:20:29 <ais523> well, it fixes that bug, but not another security bug with suid shell scripts
23:21:05 <ais523> 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 <ais523> so you can get the shell to run some other script suid
23:24:31 <zzo38> ais523: O, that is another thing, I forgot
23:25:09 <coppro> doesn't the kernel just have to hold on to the realpath of the executable to avoid that hole?
23:25:42 <alise> AwesomePressions: S-Expression apart from (...) | Base-10 number n followed by n AwesomePressions, forming a list.
23:25:49 <alise> Also known as: AwfulPressions
23:26:00 <alise> Variant: AwesomeBinaryPressions
23:26:01 <alise> 11 define 10 id x x
23:30:53 -!- madbrain2 has quit (Ping timeout: 276 seconds).
23:31:54 <zzo38> I have many ideas of things that can be added/changed in Linux, one idea is the /proc/$$/9p/ directory
23:32:51 <zzo38> Another idea is Simple Executable File Format
23:34:15 <zzo38> 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 <alise> fizzie: What was the name of that amazing jump game me and oklopol got addicted to?
23:34:50 <alise> You had the level 100 code for it, I believe.
23:43:47 <cpressey> I was confusing this with "100level"
23:44:15 <alise> no; it had 100 levels + some bonuses
23:44:27 <cpressey> Wondering if this was some new language for writing games.
23:44:29 <alise> Dot Action 2! That was it.
23:45:26 <alise> http://offgao.no-ip.org/game/dotact/
23:45:26 <alise> http://offgao.no-ip.org/game/dotact2/
23:45:33 <alise> http://offgao.no-ip.org/game/dotact2_c/ ;; create your own levels!
23:45:58 <alise> The goal is to get all the dots, cpressey.
23:46:03 <alise> You don't need to know Japanese.
23:46:07 <alise> Arrow keys move. Space jumps.
23:46:09 <cpressey> It's still loading the /emulator/?
23:46:13 <alise> cpressey: It's not an emulator.
23:46:16 <alise> It's just fake emulator-text.
23:46:20 <alise> It's loading all the levels.
23:46:36 <alise> Dot Action 2 is the best
23:46:38 <cpressey> Well, this will take some time
23:46:40 <alise> so I'd load that if I were you
23:47:00 <alise> It is really slow from that site
23:47:10 <alise> cpressey: http://dotaction.fizzlebot.com/
23:47:21 <alise> SPACE operates the menus.
23:47:57 <alise> Don't be fooled by the simplistic starting levels. It becomes pure gaming itself soon enough!
23:48:46 <alise> It becomes... shall we say, almost impossible near the end.
23:49:41 <alise> cpressey: Stage 5 is the first "haha wow" one.
23:50:17 <cpressey> k. Made it to stage 2. Will continue later, I'm releasing Eightebed right now.
23:50:30 * pikhq has navigates bureaucracy succesfully
23:53:05 -!- BeholdMyGlory has quit (Remote host closed the connection).
23:54:25 <alise> Oh yeah, and Enter pauses so you can quit.
23:54:37 -!- FireFly has quit (Quit: swatted to death).
23:58:55 <zzo38> I want to do mana symbols like this: \def\R{\redmanalayer\rlap\manasymcircle\manasymred\textlayer}
23:59:57 <zzo38> (Where \redmanalayer and \textlayer are specials)