00:00:00 --- log: started forth/07.01.17 00:23:06 --- join: ecraven (n=nex@eutyche.swe.uni-linz.ac.at) joined #forth 00:37:42 * grub_booter has a new baby boy :-D 00:38:11 congratulations! 00:43:05 cheers :-) 00:43:41 my new garage office also has a new floor (but i guess i should be less excited about that...) 00:44:56 heh 01:20:03 --- join: Cheery (n=Cheery@a81-197-54-146.elisa-laajakaista.fi) joined #forth 01:35:32 --- quit: arke (Read error: 110 (Connection timed out)) 01:43:18 --- quit: zpg ("ERC Version 5.1.3 (IRC client for Emacs)") 01:45:09 grub_booter: congrats :) 01:45:36 cheers :-) 02:05:17 I'm happy you do, and happy I don't :) 02:06:34 heh 02:07:56 I'm personally not that big on babies, but I see many people derive great joy from them. Despite the frequent excretion of several bodily fluids 02:09:36 can appreciate that :-), though tbh, the bigger downside is the sleep deprivation 02:11:03 --- join: arke (i=chris@x65.vpn.hrz.tu-darmstadt.de) joined #forth 02:11:03 --- mode: ChanServ set +o arke 02:16:27 well, yeah. I am so far from willing to commit anywhere near that much time to kids 02:16:39 not sure I'm willing to commit that much time to anything 02:16:53 I have a hard enough time working enoug 02:16:56 h 02:17:59 gah! must sleep 02:18:01 --- quit: JasonWoof ("off to bed") 02:18:29 heh - i remember sleep... 02:18:43 ... anyway, gotta scoot - errands to run 02:24:59 --- join: snowrichard (n=guest@12.18.108.130) joined #forth 02:26:43 hi 02:58:32 --- quit: arke (Read error: 110 (Connection timed out)) 03:00:03 --- quit: Jenn5 (Remote closed the connection) 03:45:55 --- join: arke (i=chris@x75.vpn.hrz.tu-darmstadt.de) joined #forth 03:45:55 --- mode: ChanServ set +o arke 03:59:46 --- join: zpg (n=user@smaug.linux.pwf.cam.ac.uk) joined #forth 04:00:03 hi. 04:07:28 --- quit: arke (Read error: 110 (Connection timed out)) 04:27:16 --- join: Quartus_ (n=Quartus_@209.167.5.2) joined #forth 04:27:16 --- mode: ChanServ set +o Quartus_ 04:28:11 hi Quartus 04:28:31 hey 04:28:41 how're you today? 04:28:59 hanging in thanks. You? 04:30:33 overtired but that aside, well. i've been meaning to mention that i looked at the "things a computer scientist never talks about" knuth book. quite interesting, not my cup of tea really. too many fluffly Q/A sessions. the calligraphy reprinted from 3:16 looked quite stunning in places. 04:31:19 knuth has an eye for typography to be sure. 04:33:52 certainly does. and friends in high places. zapf was on-board in a big way. 04:34:19 also interesting, knuth ended up doing a heap of beta-testing for photoshop 04:34:45 neat 04:34:58 yeah, i'd venture nothing too special, but interesting as ever from knuth. 04:35:11 yes. 04:35:42 any interesting books crop up over your way? 04:36:32 'selected papers on computer science', also knuth. Overviews for the layman. 04:37:00 neat -- any particular papers stand out? 04:37:15 I've only just started it. 04:37:44 ah okay; well, let me know if anything strikes you if it's not too much trouble. 04:37:55 will do :) 04:49:22 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 04:49:22 --- mode: ChanServ set +o tathi 04:51:07 hi tathi 04:51:13 morning 04:51:52 got some actual January weather here today :) 04:52:10 got down to about 10 Fahrenheit last night. 04:53:06 where exactly is "here"? 04:56:19 Eastern Pennsylvania 04:56:28 ahh ok. 05:09:18 --- join: arke (i=chris@x120.vpn.hrz.tu-darmstadt.de) joined #forth 05:09:18 --- mode: ChanServ set +o arke 05:10:43 --- quit: zpg (Remote closed the connection) 05:11:07 --- join: zpg (n=user@smaug.linux.pwf.cam.ac.uk) joined #forth 05:12:01 --- quit: zpg (Remote closed the connection) 05:12:56 --- join: zpg (n=user@smaug.linux.pwf.cam.ac.uk) joined #forth 05:25:55 hi 05:26:02 hey 05:26:13 supposed to snow here, haven't seen any yet 05:26:41 east texas 05:28:58 get my camcorder tommorrow. Picked up a 4 pack of tapes today 05:36:59 camcorders work with tapes now? 05:37:07 in my day it was all digital and whatnot. 05:37:33 more seriously -- do analogue camcorders still sell well? 05:52:29 the price was right --- analog or not 05:52:34 $139 05:55:52 --- quit: ecraven ("bbl") 05:57:12 --- join: timlarson_ (n=timlarso@65.116.199.19) joined #forth 05:57:33 hi tim 05:58:04 hi 05:58:07 hello 06:05:40 --- quit: snowrichard ("Leaving") 06:28:34 --- join: Jules_ (i=Jules@cp550544-a.landg1.lb.home.nl) joined #forth 06:36:07 --- join: madwork (n=foo@204.138.110.15) joined #forth 06:42:16 some more inform 7: "Check calling it on when the player does not wear the headset (this is 06:42:20 the hands free is the only way to call rule):@ 06:42:28 sorry -- screwed that up. 06:42:45 "Check calling it on when the player does not wear the headset (this is the hands free is the only way to call rule):" 06:42:46 there. 06:42:58 posted to usenet. 07:24:37 what is that? 07:26:57 i think when the player-character is wearing a clothing-tagged headset, it does whatever comes after the colon. 07:27:01 the parentheses confuse me. 07:29:28 this is more a demonstration of the weird effects of natural language programming i guess. doesn't make for clean reading, but does feel very fluffy and ambiguous at the same time. 07:34:16 * zpg heads off 07:34:19 --- quit: zpg ("be back later") 07:57:29 --- quit: Jules_ ("Ik ga weg") 08:01:33 --- quit: arke (Read error: 110 (Connection timed out)) 08:06:10 --- quit: tathi ("bbl") 08:25:41 --- join: gulliver (n=gulliver@212.8.198.137) joined #forth 08:25:49 --- quit: gulliver (Client Quit) 08:30:23 --- quit: timlarson_ (Read error: 104 (Connection reset by peer)) 08:30:39 --- join: timlarson__ (n=timlarso@65.116.199.19) joined #forth 08:31:58 --- join: timlarson___ (n=timlarso@65.116.199.19) joined #forth 08:41:29 --- join: arke (n=chris@pD9E07EDC.dip.t-dialin.net) joined #forth 08:41:29 --- mode: ChanServ set +o arke 08:45:14 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 08:45:14 --- mode: ChanServ set +o tathi 08:49:50 --- quit: timlarson__ (Read error: 110 (Connection timed out)) 09:13:13 --- quit: timlarson___ ("Leaving") 09:13:35 --- join: timlarson___ (n=timlarso@65.116.199.19) joined #forth 09:17:13 --- nick: timlarson___ -> timlarson_ 09:53:51 --- quit: Quartus_ (Read error: 104 (Connection reset by peer)) 11:57:34 --- join: arke_ (n=chris@pD9E0596B.dip.t-dialin.net) joined #forth 12:14:19 --- quit: arke (Read error: 110 (Connection timed out)) 12:25:33 --- join: JasonWoof (n=jason@c-71-192-30-169.hsd1.ma.comcast.net) joined #forth 12:25:33 --- mode: ChanServ set +o JasonWoof 12:41:04 --- join: jackokring (n=jackokri@static-195-248-105-144.adsl.hotchilli.net) joined #forth 12:57:59 --- join: zpg (n=user@user-54438354.lns4-c8.dsl.pol.co.uk) joined #forth 13:06:30 hi 13:17:20 Hi Marc. How's the natural language programming comming? 13:19:30 Hey Ray -- oh that was just an example from Inform 7, the IF language. Came across it on usenet and thought it an apt example of how confusing pseudo-English syntax can be. 13:19:50 Great example. 13:19:58 Proves your point well. 13:20:22 Well, nice features drop out too. I believe the language fails to scale. 13:20:31 (Conceptually) 13:21:09 I see. 13:21:10 For example, a non-programming friend of mine made some basic IF very snappily. 13:22:01 When it came to adding a bit of interesting functionality on the other hand, he expected to be able to express it in English based on what he'd read in the manual. Drop in a synonym here and a comma in there and you generate a compile error. 13:22:22 It's analogous to the problem some people (including myself) have with Perl. 13:23:26 Nelson et al. are working to implement as many variations as possible, but they can probably only go so far. I personally feel it's an interesting approach but a bit of a waste of time. 13:23:36 Hopefully I'm wrong. 13:23:39 :) 13:23:55 Anyway, how're you? 13:23:59 Nelson, is that Ted Nelson? 13:24:14 Graham Nelson. 13:24:24 Wrote the Inform language. 13:24:34 I'm fine. Hooky today from work. Snow day. A very rare event in North Texas. 13:24:37 Ty. 13:24:55 Snow huh? I think, appropriately, snowrichard mentioned that. 13:25:14 "hooky" meaning you stayed at home? 13:25:16 Ya, he's in East Texas and he should be getting his now. 13:25:41 That's correct. Wasn't sure if that was in your glossary... 13:26:09 Added :) 13:26:11 :) 13:27:09 The highways between work and home were either officialy closed at some point this morning, or the accidents were so bad that I didn't think risking my vehical was prudent. 13:27:27 ahh, the melodious sound of my radiator 13:27:31 perrrrfect 13:27:43 I was just about to whine about it being cold in here 13:27:50 heh 13:28:02 * Raystm2 is getting new central heat and air soon. 13:28:23 Currently I have to plug the darn thing in to get heat and unplug it to stop it. 13:28:49 Convection? 13:28:58 ya. 13:29:43 JasonWoof: you on oil? 13:32:30 --- quit: timlarson_ ("Leaving") 13:32:52 --- join: Quartus_ (n=Quartus_@209.167.5.1) joined #forth 13:32:52 --- mode: ChanServ set +o Quartus_ 13:33:37 hey Quartus 13:33:45 hey 13:33:58 Hi Quartus. 13:34:11 what's up? 13:34:22 heating. 13:34:29 Heating bills. 13:34:52 mine's electric. 13:35:04 Got a back up fireplace? 13:35:21 --- quit: neceve ("IRC is just multiplayer notepad") 13:35:21 Or a gas range atleast? 13:35:45 cat. 13:35:56 as in meow? :) 13:36:02 right :) 13:36:10 How many btu's a cat? 13:36:18 I think we have gass 13:36:22 4. 13:36:24 furnace in the basement 13:36:47 I've got one of those old-fassioned metal-finned radiators that makes all kinds of hissing noises 13:37:06 Steam. :) 13:38:21 --- nick: arke_ -> arke 13:38:28 Hey arke. :) 13:38:39 hi 13:39:49 --- join: slava (n=slava@CPE0080ad77a020-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 13:39:49 --- mode: ChanServ set +o slava 13:40:47 hi slava 13:40:51 Hi slava. 13:40:52 hey 13:41:06 Werty attacking Factor today? 13:41:18 i'm flattered! 13:41:31 I suppose you should be. hehe. 13:41:32 is he? I haven't had a chance to see 13:42:03 I havn't read it yet, but Factor is in the title so... 13:42:22 what a maroon 13:42:52 --- join: neceve (n=claudiu@unaffiliated/neceve) joined #forth 13:44:23 lol 13:44:39 maroon? is that a luddite moron? 13:44:48 bugs bunny 13:45:15 I didn't catch that yesterday, and I still thought it was funny 13:45:17 It's somebody that has been left on an island by themselves purposely by the constituancy. 13:47:50 I think Bugs Bunny used to call idiots maroons, if memory serves. 13:47:59 i'm not sure where werty got this idea that C/C++ programmers oppose industrial mechanization of weaving looms. 13:48:56 I don't know that werty has any fully-formed ideas. 13:49:10 just wait until Forthrite is released. it will blow you away. 13:49:59 Sure he does. He knows how to write a post and he's very obviously the worlds greatest systems programmer. Just cuz he brags doesn't make him wrong, does it? 13:50:36 he's faster than chuck moore, and leaps tall buildings in a single bound 13:50:55 moore isn't fast 13:51:17 And, he's good for an at least hours conversation/day. 13:51:28 JasonWoof: well stated. 13:52:36 * JasonWoof leaps large puddles in a single bound 13:52:38 You know how ERather was saying that Chuck would come in the next day having thrown all previous work out the window... I don't think he's done that with cf yet, so, slow indeed. 13:53:17 I like throwing stuff out the window 13:53:41 present company excluded of course 13:54:33 I was thrown out of the window of the Windjammers Club on base in San Diego by a Marine once. 13:54:53 It's okay, I landed on my head. 13:55:20 Turned out to be a case of mistaken identity. 13:55:31 Thought I was doing his gf. 13:59:35 ... 14:00:15 I'm having a hard time coming up with a linear response 14:00:23 or, rather picking one 14:00:37 see, I wouldn't want to land on my head 14:00:39 --- quit: neceve ("IRC is just multiplayer notepad") 14:00:51 --- join: neceve (n=claudiu@unaffiliated/neceve) joined #forth 14:00:55 There is no responce. He was summarily court mashalled. 14:01:07 also, I think it's very strange that guys beat people up for being intimate with their lover 14:01:32 It makes a certain kind of sense if they raped your lover or something 14:01:57 And this is why you are a person that uses your brains for you living and not your braun. 14:02:10 --- quit: Quartus_ (Read error: 104 (Connection reset by peer)) 14:02:14 the trouble is your lover isn't doing what you want. no point in taking that out on other people 14:02:26 Absolutely. 14:10:31 First time I came to Fort Worth was because a gf of mine was nearly raped. I was 18 and AWOL and thougth I'd find the bastard. Hell of an adventure. Make a great story someday, I think. 14:30:10 --- quit: neceve ("IRC is just multiplayer notepad") 14:31:26 --- part: juri_ left #forth 14:37:20 --- quit: madwork ("?OUT OF DATA ERROR") 14:41:36 --- join: madwork (n=foo@204.138.110.15) joined #forth 14:43:36 --- quit: jackokring (Read error: 110 (Connection timed out)) 15:01:14 grrr... stupid certificates 15:01:23 I got an ssl certificate for *.jasonwoof.com from cacert 15:01:29 works great 15:01:31 so, not gift certificates, then. :) 15:01:33 except not for jasonwoof.com 15:01:55 works for ssl.jasonwoof.com www.jasonwoof.com white.jasonwoof.com etc 15:01:58 but not jasonwoof.com 15:02:07 Needs the . 15:02:21 fooey on the . 15:02:31 can I get a certificate on *jasonwoof.com? 15:02:42 feh, I'll live 15:02:44 That I don't know. 15:03:34 now I can put my clients' admin panels at https://.jasonwoof.com/ 15:03:52 Keen. 15:04:12 and they can either "accept certificate forever" or add the cacert root certificates 15:05:01 gee slava 15:05:01 Bait you into C-Lib !! Then ya gotta learn C to debug !! 15:05:19 --- join: neceve (n=Clau@unaffiliated/neceve) joined #forth 15:16:31 yup, my plan has been exposed 15:16:36 i'm just trying to get everybody to learn C 15:16:49 you just won't learn from werty, will you? 15:18:45 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 15:38:34 --- quit: neceve ("Leaving") 15:39:32 --- join: neceve (n=Clau@unaffiliated/neceve) joined #forth 15:40:41 --- quit: neceve (Client Quit) 15:41:43 --- join: neceve (n=Clau@unaffiliated/neceve) joined #forth 15:42:02 --- quit: neceve (Read error: 104 (Connection reset by peer)) 15:43:18 --- join: neceve (n=Clau@unaffiliated/neceve) joined #forth 15:44:34 --- quit: neceve (Client Quit) 15:44:40 --- join: neceve (n=Clau@unaffiliated/neceve) joined #forth 15:45:06 --- join: edrx (n=Eduardo@201.5.11.72) joined #forth 16:33:07 --- join: Quartus_ (n=Quartus_@209.167.5.2) joined #forth 16:33:07 --- mode: ChanServ set +o Quartus_ 16:45:46 --- quit: tathi ("leaving") 16:46:56 --- quit: edrx (Read error: 145 (Connection timed out)) 16:47:54 so what's up? 16:48:06 working on the optimizer. 16:48:32 pessimizers are much easier to write 16:48:37 yup 16:49:06 going for speed, or size? 16:49:28 both, with a slight preference to speed. 16:49:59 one day to generate turnkeyed apps? 16:50:25 perhaps one day. 16:54:53 Pessimizers. hehe. 16:55:12 I recall the first Quartus Forth release, which promised standalone executables -- my users were astonished that it really did work! :) 16:56:00 --- join: molokai (i=molokai@13.Red-81-40-192.staticIP.rima-tde.net) joined #forth 16:56:05 guess they thought I might have been over-reaching :) 16:56:45 you're only targeting one platform, though. 16:56:56 i have { windows linux macosx } * { x86 x86-64 ppc } and soon arm 16:57:22 yes. One platform, 5 versions, two cpus. 16:58:15 Accomodating a number of vendor-specific OS customizations. 16:58:20 ah 16:58:32 i'd need to implement cross compilation first. 16:58:41 right now you can only generate code for the target you're running on. 16:58:46 so not as wide-ranging as yours. 16:59:38 right, you need a host-agnostic object mage, maybe 16:59:50 image, rather 17:00:30 I like mage there. More comedic value. 17:00:54 :) 17:03:04 Besides, when werty publishes, ya'lls work will go by the wayside. Relics of a past of poor choises at least at the mid levels. 17:03:25 * Raystm2 doesn't quite know what that means. 17:03:36 What the heck are these mid levels? 17:04:45 * Raystm2 goes back to his movie. 17:09:53 I do not know. 17:10:08 something C doesn't have, probably. 17:10:23 or has the wrong kind of. 17:10:35 or has, but just suckers you in with 17:10:48 damn that C!!! 17:11:08 he's stopped referring to C++ as C +. 17:11:28 he says he's the world's fastest system programmer 17:12:00 it only takes a few days for him to code ForthRite... why should he start now? 17:12:04 I have to assume that he is the slowest programmer in the world, but the resulting system will be the world's fastest :) 17:12:08 he'll start when he wants to. 17:12:28 Ya 17:15:18 Personally, I need to finish a project. 17:15:47 * Raystm2 is having trouble prioritizing. 17:20:29 --- part: molokai left #forth 17:26:49 divide and conquer 17:29:50 how do you check a password against an encrypted password 17:29:56 encrypt it 17:30:03 compare 17:30:05 with crypt() 17:30:15 if that's what's being used to encrypt the stored one 17:31:48 --- join: gav-on-arch9 (n=gschuett@4.38.41.141) joined #forth 17:31:48 --- mode: ChanServ set +b *!*@4.38.41.* 17:31:48 --- part: gav-on-arch9 left #forth 17:31:56 yay! 17:34:05 well, it's just that htpasswd2 returns a totally different encrypted password each seccond you run it 17:34:50 it uses a salt 17:34:53 ok, well, I have no context for what you're doing. In the broadest possible terms, to check a password against an encrypted one, you encrypt it with the same function originally used. 17:35:15 are the first two characters in the crypted password the salt? 17:35:30 so I can just pass those same ones to crypt() and I should get the same result? 17:35:42 i don't know how apache works 17:35:57 I don't know either. 17:36:41 htpasswd2 is only outputting a 13 character crypted password 17:37:18 would seem odd if you had to call crypt a couple thousand times to find the right salt 17:38:22 I'm writing my own checkpassword program 17:38:36 I was thinking it'd be convenient to use httpasswd2 to create my password file 17:38:50 but I guess if I don't know how to read that file, it's not so convenient 17:45:18 --- quit: zpg ("ERC Version 5.1.3 (IRC client for Emacs)") 18:12:03 I see something that says you can force htpasswd2 to use crypt() 18:14:11 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-179-050.pools.arcor-ip.net) joined #forth 18:20:50 looks like the salt is constant, or should be 18:21:04 I'm just poking around, mind you 18:25:14 --- quit: Snoopy42 (Nick collision from services.) 18:25:41 --- nick: snoopy_1711 -> Snoopy42 18:32:09 Quartus: crypt() is the default 18:32:16 and you can pass -d to tell it to use crypt() 18:32:27 I thought it had a custom md5 dealie for cross-platformness 18:32:29 but it still makes different hashes unless you run it twice in the same second 18:32:31 htpasswd2 -nbd foo bar 18:33:10 right, crypt() isn't the default on all platforms 18:33:18 that doesn't sound productive. It has to have the original salt+key in order to match passwords itself. 18:33:40 -d Use crypt() encryption for passwords. The default on all platforms but Windows, Netware and TPF. 18:34:07 yeah, seems like a lot of busywork to guess the salt 18:34:18 there's 4096 different possible salts 18:34:21 thing is, you shouldn't need to guess it. Something else must be going on. 18:35:23 oh, crap 18:35:26 the first two are the salt 18:35:29 the salt is usually stored along with the encrypted password 18:35:35 Right. 18:35:58 The returned value points to the encrypted password, a series of 13 printable ASCII characters (the first two characters represent the salt itself). 18:36:06 -- man crypt 18:36:07 There you go. That makes sense. 18:36:13 goodie 19:15:51 --- join: LOOP-HOG (n=jason@71-38-142-199.ptld.qwest.net) joined #forth 19:15:54 "hi 19:16:03 "what's the word? 19:16:04 hi LOOP-HOG 19:16:24 what's new? doing Forth again? 19:16:50 "I might go and do it some in awhile 19:17:06 "I have some other projects and things to do though 19:17:41 "how goes the Forth biz? 19:17:53 ticking along nicely. 19:17:58 "great! 19:18:17 "its cool that some people make $$ in forth 19:18:39 well, even better that my customers go on to write their own apps, and make more $$ :) 19:18:48 ":^) 19:19:01 "is there a cell phone version of the Palm? I could check 19:19:10 "that way I could have Forth on my Fon 19:19:17 There is, the Treo. Watch out, they did one that runs Windows Mobile, you want to avoid that. 19:19:37 factor will be running on windows mobile Real Soon Now 19:19:52 cool 19:20:55 "does anybody know how goes the forth chip thing at Intellasys? 19:21:16 Nothing here. 19:21:27 They put out a 'demo'. 19:21:46 "you mean the development tools at their site 19:21:53 a sort of simulator, runs on Standard Forth 19:22:44 That's the last I heard 19:22:56 I think that ColorForth is neat, but don't have the time to try to get my head wrapped around it, its kinda different 19:22:57 man, yourspace.com is being sat on by some stupid registration hording outfit 19:23:10 I wanted to see a good parody 19:23:25 I don't think colorForth is neat. 19:23:25 "full of fools 19:23:29 "no? 19:23:45 "there are instances where you DO want to leave the heads in 19:23:58 hmm? 19:24:05 there are instances where you want ascii, words with > 5 characters, etc 19:24:33 "what about some imbedded system which might have to last in the field 20 years, and for some reason you need to decompile the code that's running on it? 19:24:39 LOOP-HOG: writing your own irc client? 19:24:47 LOOP-HOG, what does that have to do with colorforth? 19:25:30 I'm in the habit of appending ' " ' to the beginning of my strings, because I spend some time in a MOO 19:25:32 "duh 19:25:35 crap 19:25:44 heh 19:25:51 hehe 19:26:22 Quartus, only that there can be differen ttypes of Forth, and that's ok fine 19:26:39 sure. Vive la difference. colorForth is still not 'neat' if you ask me. 19:26:47 it's curious what people think is unique about cf 19:26:50 'different' and 'good' are not the same thing 19:27:02 I'd listen to what you don't like about it Quartus. 19:27:22 we've had the conversation in here about 8 times in the last 8 weeks. 19:27:22 1) horrible interface 19:27:33 2) really hard to do simple things like print or input strings 19:27:36 Quartus: write a blog :) 19:27:37 3) badly written 19:27:38 Poorly designed. Poorly written. 19:27:44 4) mostly available just in binary 19:27:51 5) official binaries are ccorrupt 19:27:58 6) jeff fox doesn't think this or any of the above is a problem 19:27:59 7) jeff fox 19:28:18 lol :) I like 7 19:28:30 Had a conversation with fox (until he was a total jackass again) about the very fundamentdal poor design of the dictionary; names >5 chars collide. 19:28:48 i lost my respect for that guy when he told Quartus that only a programmer with below average IQ would find the <5 char name restriction a problem. 19:29:02 He actually said he looked at a bunch of colorForth source, and all of the names were 5 characters or less, so it wasn't a problem. 19:29:12 I haven't heard anything that stupid in at least a month. 19:29:39 don't forget he added a swipe at C and below average programmers, even though your post didn't mention either 19:29:46 maybe depends upon the application, the number of words, don't old Forth systems collide at <4? 19:29:57 slava, not forgotten. 19:29:59 old forth systems (pre-fig forth, iirc) use length + 3 chars 19:30:09 LOOP-HOG, not since the '70s was length+3 used 19:30:12 colorforth uses an unpredictable huffman coding 19:30:24 so you might collide at 4 chars, or you might collide at 7 19:30:31 but collisions start at 5. 19:30:38 weird 19:30:40 ah 19:30:44 4 is always safe 19:30:52 it gets pretty bad by 7 19:31:15 it's ridiculous. The huffman-encoding of characters, packed into 28 bits of 32-bit cells, is equally ridiculous. 19:31:20 One is built on the other. 19:31:39 So 'hello world' runs to 6 (or so) cryptic lines of colorForth bullshit. 19:31:55 the editor doesn't provide any way to input a counted string, does it? 19:32:00 And even then, won't display words that won't fit into a single cell (1-7 chars or so). 19:32:08 slava, the editor can't parse. 19:32:23 Moore himself said something about 'hello world'. He said, open a new block in the editor, and type 'hello world' into it. 19:32:35 i'd say the colorforth hello world has more redundant crap than a java hello world. 19:32:54 yup 19:33:44 what's the C function for comparing 2 strings? 19:33:52 strcmp or strncmp 19:33:55 preferably addr u 19:33:56 thanks 19:34:14 strncmp gives you something akin to c-addr u 19:34:49 memcmp might be more to your liking 19:45:44 It's not really Forth related, but the online 3D game world building system, Multiverse, has 8000 or more developers signed up for it 19:46:03 I don't know if it's possiable to drive it around with Forth, using it as the scripting language? 19:46:13 that might be kinda fun 19:46:16 find out! 19:46:34 Yeah 19:46:38 why don't I 19:50:14 what's multiverse? 19:52:50 http://www.multiverse.net 19:53:04 JasonWoof: how's fronds coming along? 19:53:06 its a system for creating online massive multiplayer games 19:53:19 fronds? 19:53:36 slava: I've started working on it a bit again 19:53:40 neat 19:53:44 what it is? what it does? 19:53:57 fronds is my current forth-like project 19:54:05 It has a really cool compiler 19:54:10 oh 19:54:22 it's a self-contained universe/OS 19:54:32 doesn't boot or anything, but it also doesn't interract with the outside world 19:54:37 except through the keyboard 19:54:39 and screen 19:54:45 hopefully tcp/ip at some point :) 19:54:48 no files or anything, except saving images of itself 19:55:28 interesting 20:03:36 JasonWoof: i'd be interested in trying it out when you decide to release something 20:04:39 slava: I'll let you know 20:04:45 at this rate it's months away 20:05:00 you can execute things now, but I'd like to make the editor usable first 20:05:07 browsing is neat, but you can't do anything with it yet 20:05:13 it looks like multiverse is Java and python 20:06:48 java gives me the creeps 20:07:24 in this case isn't the server the java part though? 20:07:45 http://update.multiverse.net/forum/viewtopic.php?t=473&theme=multiverse 20:08:02 wouldn't this thing run faster if it was programmed in Forth, 20:08:08 i'd just rather use Forth anyway 20:08:21 is there a forth that's faster than java for numerical code? 20:09:11 perhaps swiftforth, iforth or vfx? 20:09:49 --- quit: segher (Nick collision from services.) 20:10:01 --- join: segher_ (n=segher@dslb-084-056-180-166.pools.arcor-ip.net) joined #forth 20:10:33 I mean a Forth crafted in assembly, yes 20:10:59 the language a compiler is written in rarely has bearing on the performance of code generated by said compiler 20:11:05 you could write an optimizing C compiler in bash, if you were so inclined 20:11:24 and isforth for example is written in assembly but it is quite slow 20:13:32 oh 20:16:22 I'm going to go and work on a project 20:16:28 I'll drop by again some time 20:17:47 --- quit: LOOP-HOG ("Leaving") 20:18:17 so multiverse is set up to help people make mmorpgs? 20:18:27 what's the license? 20:41:46 --- mode: Quartus set -b *!*@4.38.41.* 20:41:58 inviting gavino? 20:42:23 he's on chanserv's hit list, so just clearing the ban list 20:42:25 no reason really 20:43:31 I would think many Forths, particularly native-code ones, are faster than java for normal floating-point stuff 20:44:08 depends on what cpu architecture you're talking about, really. 20:44:19 Does it? 20:44:49 lets take x86 for example. how many forths do automatic vectorization of floating point code, converting it to sse2 instructions? 20:45:41 or instruction scheduling which is customized for the cpu the code happens to be running on right now. 20:45:51 hell, how many forths do instruction scheduling, period. 20:46:01 I'm not sufficiently well-versed in all the commercial x86 Forths to say. But supposing there are fancy Java engines that do that optimization -- you'd be comparing that specific engine to a given Forth. 20:46:21 now java's startup time is bad, and the gui library is slow, but its pretty well established that on x86, it is as fast or faster than gcc for numerics 20:46:30 i'm talking about sun's free as in beer jvm 20:48:12 Looking at the debian shootout, bigforth is overall quite a bit faster than JDK -server. 20:48:33 I'd have to dig into each bench to see which ones are strong on floats. 20:48:47 n-body is heavy floating point 20:49:00 http://shootout.alioth.debian.org/gp4/benchmark.php?test=nbody&lang=all 20:49:04 java: 17 seconds, bigforth: 50 seconds 20:49:14 the server JDK wins on that one by a factor of 3. 20:49:19 http://shootout.alioth.debian.org/gp4/benchmark.php?test=spectralnorm&lang=all 20:49:23 another floating point benchmark 20:49:34 java: 25 seconds, bigforth: 49 seconds 20:49:40 Yup, about a 2x win. 20:50:00 i imagine the data structures-type benchmarks are not so great with java 20:50:32 heh: http://shootout.alioth.debian.org/gp4/benchmark.php?test=partialsums&lang=all 20:50:37 bigforth: 2 seconds, java 11 seconds 20:51:05 So it goes both ways. 20:51:26 looking at the code, i suspect bigforth is using x86 instructions for sin/cos/pow, and java is not. 20:52:24 http://shootout.alioth.debian.org/gp4/benchmark.php?test=mandelbrot&lang=all 20:52:35 bigforth: 16 seconds, java: 5 seconds 20:52:57 i like it how ruby is slower than everything else in almost every test, often by an order of magnitude. 20:53:14 Yup. Of course this is only bigforth. VFX may well do better, but it's not for debian. 20:53:52 There's also a whole different philosophy in Forth. Suppose you wrote a float app that needed optimizing; you'd profile and tune the required routines. 20:54:04 and you have the option of using assembly, etc 20:54:17 right 20:54:18 and in practice java code tends to be bloaty and inefficient (hence my remark about gui libraries) 20:54:29 With Java, if the engine you're running on doesn't optimize, so sorry. 20:54:50 well, there's the option of calling C routines with JNI. 20:54:56 but JNI itself incurs considerable overhead 20:55:11 yeah. Overhead comes to mind again and again with Java. 20:55:42 the JVM is quite impressive, in terms of what it can do to code. the libraries hamstring it 20:56:11 for example, a string in java incurs 40 bytes overhead, in addition to the character data. 20:56:17 for no good reason. 20:56:55 40 bytes overhead is ridiculous, for something as fundamental as a string. 20:57:19 when the jvm starts, there are a few hundred thousand string objects in the heap, not including any your application might be using 20:58:00 well, in Gforth, : foo s" hello" ; takes 60 bytes. Of course s" hello" takes only whatever is required to hold 'hello'. 20:58:16 this includes the header for foo, though? 20:58:22 Right. 20:58:30 a java method returning a string would use considerable memory 20:58:42 Yes, I think java is bloated and absurd. 20:58:58 loading a string and returning it is two bytecodes, but there is more overhead than just the code 20:59:08 a short method like that probably wont' get JITted, but the type signature has to be stored somewhere, etc 20:59:13 Hats off to the JDK -server people for tuning up their float optimizer, but it alarms me that anyone would use Java for scientific computing. 20:59:34 well, in scientific computing you would rarely need to go and invoke some bloated xml library 21:01:11 I suppose everybody programs in what they know. I think java is a substantial step in the wrong direction in that regard, but then my opinion was not solicited. :) 21:01:29 Certainly it spawned a whole raft of 'learn Java in 24 minutes' books. 21:01:31 well, what other options are there for scientific computing? c++, fortran? 21:01:38 neither of those are great languages either. 21:01:53 fortran 77 is trash. fortran 95 is c++ with alternative syntax. 21:02:13 c++, as you know, is luddite. 21:02:54 Maybe there's no ideal solution available. I am not a scientist, but from what I know of scientific computing, and what I know of java, it seems to me an unfortunate pairing. 21:03:07 c++ isn't much better. 21:03:10 Is it the best of all alternatives? I hope it isn't. 21:04:19 i hope one day, programmers stop following the herd when it comes to choosing tools, and learn to make their own decisions. 21:04:25 --- join: I440r (n=mark4@ip70-162-111-107.ph.ph.cox.net) joined #forth 21:04:26 I share that hope. 21:04:38 i knew i wouldnt like factor! 21:04:41 just another c++! 21:04:45 lol 21:04:56 I440r: are you werty? 21:05:00 well, give werty a break; he doesn't read english any better than he writes 21:05:04 slava no 21:05:18 i have SOME functional brain cells 21:05:33 plus i have real code that i can point to lol 21:08:15 Quartus: in many ways sbcl is less efficient than sun's java. much nicer language to program in, though. 21:08:37 slava, I believe it. 21:13:19 Quartus: i tend to believe if a language feature helps make a programmer's job easier at the expense of a more complicated compiler, it's a good idea, within reason. java doesn't really make your job easier, though. 21:13:40 slava, you are preaching to the choir as regards Java. As regards complicating the compiler, I'm of two minds. 21:13:58 by complicated compiler, i don't mean something as complicated as gcc or sun's hotspot. 21:14:00 It's a spectrum; I think Forth strikes a good balance. 21:14:12 to me, forth lies on the extreme end of the spectrum. 21:14:14 Specifically I think a reasonably-optimizing native-code Forth strikes a good balance. 21:14:54 I don't think the last factor of 2x or so is worth chasing. 21:16:10 the extreme end? You think it represents a language that makes the programmer's job harder? 21:16:41 A -> B does not imply B -> A. 21:16:46 Hence my question. 21:16:47 I just think overall, Forths tend to have very simple compilers. 21:16:58 compared to most other languages. 21:17:20 Some are extraordinarily simple; some do heavy optimization. 21:17:48 well, the heaviest one that is free, bigforth, has a hard time catching up with sbcl, hotspot and gcc. 21:18:16 i'm not saying bigforth necessarily needs to be as fast as those compilers are, or anything. 21:18:42 its just that it is seems to be not as advanced as those compilers in terms of what optimizations it can perform 21:18:42 Yes, it gets down to the last 2x or so and hits that wall. It's very easy to write a reliable optimizing compiler until you get to the last 2x or so. Then it's complicated. 21:18:48 that's true. 21:19:08 Compilers like VFX aim to dig into that last 2X. 21:20:05 do you think vfx is considerably more complicated than bigforth? 21:20:16 It is. 21:20:46 All in the optimizer. 21:20:56 have you looked at the code? 21:21:07 At the generated code, and at Pelc's papers on optimization. 21:21:16 he wrote papers? 21:21:28 Yes, some EuroForth stuff I think it was. 21:21:30 does it use registers for everything? 21:21:37 --- join: mark4_ (n=mark4@ip70-162-111-107.ph.ph.cox.net) joined #forth 21:21:38 It tries to. 21:23:09 is it still a one-pass compiler? 21:23:44 It's still an incremental compiler, but I believe it uses knowledge of already-compiled code to inform its optimizations. 21:24:06 by one-pass, i'm referring to the compiler only making one pass over each word as it is compiled 21:24:43 for instance sbcl transforms your lisp code into a representation known as IR1, performs some optimizations, then transforms it to IR2, performs more optimizations, then walks the IR2 tree to generate machine code, then performs more optimizations, then dumps the machine code. 21:25:43 It does more than one pass over generated code. As I recall it generates code, examines the code to extract the required information for optimization, and then regenerates the code. 21:26:07 ah. 21:26:32 Same general idea. It doesn't do anything from outer space; just applies the kind of optimizations you'd find in gcc to Forth, as far as they're applicable. 21:27:00 sbcl spends a lot of time optimizing away dynamic type checks where types can be inferred, and other high-level optimizations, before it even gets to that. 21:27:03 Bear in mind I'm not Pelc and I've only looked at this from a distance. :) 21:28:25 As I say, I don't think the last 2x is worth the additional compiler complexity. 21:28:41 depends on intended use-cases, i guess. 21:28:59 I guess. 21:30:20 --- quit: I440r (Read error: 145 (Connection timed out)) 21:44:37 *sigh* yet another poster trying to engage in discussion with werty. 21:44:41 is it not obvious he's a kook? 21:44:50 evidently not for some. 21:45:10 i understand why coughlin responds to werty. he simply hates forth. 22:07:33 --- join: Cheery (n=Cheery@a81-197-54-146.elisa-laajakaista.fi) joined #forth 22:21:05 --- quit: slava () 22:46:31 --- quit: madgarden (Read error: 104 (Connection reset by peer)) 23:16:36 --- quit: JasonWoof (Read error: 110 (Connection timed out)) 23:59:59 --- log: ended forth/07.01.17