00:00:00 --- log: started forth/05.01.25 00:35:06 --- join: Fractal (jah@selling.kernels.to.linus.torvalds.at.hcsw.org) joined #forth 01:47:22 --- join: Nulled (~Shadow@S01060050ba5196ac.ed.shawcable.net) joined #forth 01:56:05 --- part: Nulled left #forth 02:03:50 --- quit: OrngeTide ("bye") 02:19:20 --- join: crc_ (~crc@pool-70-20-194-120.phil.east.verizon.net) joined #forth 02:19:54 --- quit: crc (tolkien.freenode.net irc.freenode.net) 02:34:23 --- join: robert___ (~purple@c-7678e055.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 02:38:20 --- nick: crc_ -> crc 02:38:29 --- mode: ChanServ set +o crc 02:40:31 Hi 02:40:40 --- quit: robert (Nick collision from services.) 02:40:42 --- nick: robert___ -> robert 03:19:13 --- join: samc_ (~sam@203-114-131-109.inspire.net.nz) joined #forth 03:27:30 --- quit: samc_ () 03:32:00 --- join: aum (~aum@60-234-138-239.bitstream.orcon.net.nz) joined #forth 03:34:08 hi - anyone here? 04:49:11 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 04:51:42 --- quit: saon (Client Quit) 04:51:52 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 04:57:18 --- quit: saon ("Leaving") 05:29:57 --- quit: tgunr1 (Read error: 104 (Connection reset by peer)) 05:31:03 --- join: tgunr (~davec@vsat-148-65-228-91.c012.g4.mrt.starband.net) joined #forth 05:31:49 --- join: Topaz (~top@cerberus.saywell.net) joined #forth 05:38:54 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 05:42:22 Hi, saon 05:46:45 hey robert 06:03:01 --- join: Narrenschiff (~ritchie@itsnotthatbig.plus.com) joined #forth 06:05:29 --- quit: robert (Read error: 54 (Connection reset by peer)) 06:08:45 --- join: robert (~purple@c-7678e055.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 06:16:58 --- part: Narrenschiff left #forth 06:24:30 --- quit: I440r ("Leaving") 06:46:55 --- quit: saon ("testing something, brb") 06:49:26 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 06:49:46 w00t!! 06:49:49 it worked 06:50:01 * saon snuggles aterm 06:50:18 * robert pets xterm 06:50:38 xterm made the alt+ combos in irssi not work =( 06:50:57 but i use it for everything else basically 06:54:25 --- join: robert__ (~purple@c-7678e055.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 06:54:58 --- quit: robert (Nick collision from services.) 06:55:00 --- nick: robert__ -> robert 06:55:04 wb 06:55:24 :) 06:55:38 What was the last thing I said? 06:55:54 "robert pets xterm" 06:55:58 =p 06:56:39 15:52 < robert> You know you can use esc a instead, right? 06:56:40 15:52 < robert> And esc 1, esc 2 etc. 06:57:06 * saon snuggles robert 06:57:11 thankyou :) 06:57:34 * saon edits his fluxbox menu to let irssi use xterm instead 06:57:49 i hate the horrible font string i have to use to get aterm to look like xterm 06:58:11 :D 06:59:16 * saon uses the warm green ibm courier 06:59:23 makes me feel oldschool 07:00:00 i actually went to a friends house and they had this at&t unix 3.0 computer, with the friendly green-only screen 07:00:06 i fell asleep in front of it 07:00:36 Awww, how cute. 07:00:46 * robert would like a picture of that ;) 07:01:04 there's a picture somewhere now of me asleep in front of a unix 3.0 computer with one hand still on the keyboard 07:01:44 heh, i don't know where it is, else i'd put it up on my website 07:01:49 Hah 07:02:01 --- join: qFox (C00K13S@82-169-140-229-mx.xdsl.tiscali.nl) joined #forth 07:02:04 That's the #2 reason for wanting to create my own computer 07:02:12 _I_ decide how things should look. :P 07:02:15 Hi qFox 07:02:19 heh, yeah 07:02:23 hi 07:02:29 it even had a really sweet wm on it 07:02:42 and a drawing program 07:02:46 I'll of course make it hard-coded, so nobody can change it. 07:02:51 heh 07:02:53 <3 ROM 07:02:59 :D 07:08:05 * saon is embarking on a journey to computer-guru-dom 07:08:49 Hooray! 07:08:53 today i'm tackling bash shell scripting and learning to properly use vi 07:09:01 ....this is weird.... 07:09:03 Heh 07:09:32 i just had a huge spurt of activity on eth0....for no apparent reason... 07:09:34 I know how to use vi, code asm on a bunch of different computers, I own a brainfuck computer, and I can't type. 07:09:48 * robert <-- atypical nerd. 07:09:52 i'm getting better at typing on my dvorak layout now 07:10:15 i could type about 50-55 wpm on qwerty, 60 on a good day 07:10:25 haven't tested my dvorak skills yet 07:10:35 but i'm around 45-ish i feel 07:10:47 That's way faster than I can tyoe 07:10:49 type 07:10:53 And I make tons of mistakes 07:11:18 any typing for me at less than 40 wpm is frustrating, takes me WAY too long to get anything done or write something up 07:11:43 although for programming, 30wpm works out just fine most of the time, considering all the weird symbols and stuff 07:11:56 ever coded perl? 07:12:40 Yes 07:12:49 It IS frustrating 07:12:53 But I don't know how to get better 07:13:04 I mean, people type like they were born to type at 90 wpm 07:13:06 yeah, i hated having to keep looking down for the symbols 07:13:13 Heh, I don't have to do THAT 07:13:23 i just type a lot 07:13:29 You think I don't? 07:13:41 lol, with all your IRCing, i guess you have to 07:13:48 Right, IRCing and coding 07:13:54 And writing other thigns 07:13:59 So it's not that I don't type enough 07:14:05 I type WRONG, somehow 07:14:25 heh, yeah, hrmmmm, the only thing that helped me was a typing trainer when i was on qwerty 07:14:26 Tried that thing with having the fingers on the home row, but that just feels wrong 07:14:41 Oh, how do they work? 07:14:47 you haven't had formal training before? 07:15:20 For typing? No 07:15:21 Have you? 07:15:27 they basically give you typing patterns to speed up your fingers and then teach you new letters slowly and give you words to type with those letters 07:15:45 Well, I can already type. 07:15:49 "can" 07:15:51 yeah, a little, one single class, the only thing it changed for me was that naw i use my pinkies 07:15:56 I just can't do it at any proper speed. 07:16:03 now* 07:16:09 I use about half of my fingers. 07:16:42 Well, at least I'm not dyslectic. 07:16:48 So I can read what people say.. 07:17:20 heh, that's about how i used to type, i called it "flying eagle style". it's not hunt and peck, but, my hands stayed above the keyboard and just kinda attacked it really fast to keep regular speed using only a few fingers 07:17:35 but that's rough on my wrists and hands in general 07:17:52 real touch-typing on dvorak is so much more comfortable 07:18:06 I bet 07:18:26 This isnt' really uncomfortable 07:18:35 I just hate typing slow and making mistakes. 07:18:40 yeah 07:18:44 Not like my hands are bleeding. 07:19:21 i dunno, from my experience, typing is more about how you remeber common words you use all the time 07:19:51 like, i can type ls and cd .. really fast, but throw a word like plethora at me and it takes a little while to get my hands to type it 07:20:27 dunno why you'd type slowly though, it seems like for all the typing you do, you should be crazy fast at it 07:21:41 BRAIN DAMAGE 07:21:48 heh 07:21:48 (comfortable excuse, isn't it? 07:21:56 indeed 07:22:05 (: 07:29:40 hrmm, i can't seem to copy text from xterm 07:31:45 Works over here.. 07:31:55 ctrl-c? 07:32:15 Huh? 07:32:24 for copying text 07:32:26 Heh 07:32:32 No, just mark the text 07:32:37 And use the middle button to paste 07:32:44 aha! 07:33:36 This will make you hate people typing short lines on IRC. 07:34:12 heh 07:37:08 --- join: zoly (~l@ppp-62-245-209-123.mnet-online.de) joined #forth 07:37:17 hey zoly 07:37:20 g'day 07:40:34 Hi 07:40:45 god dag the_rob 07:42:28 God kväll 07:43:33 god afton 07:44:59 bendning 07:47:02 Hm? 07:47:32 my keyboard hasn't got those scandinavian chars 07:48:05 How can you live without those? ;) 07:48:16 now that you ask 07:48:41 nor do i have tremas 07:49:21 (diacriticals) 07:49:48 on german keyboards, those sit on very stupid spots 07:50:05 exactly where you would find : and ; 07:50:12 and ' " \ 07:50:32 also, [ and ] are somewhere hidden 07:50:41 needing alt keys 07:51:02 Same here 07:51:07 That sucks 07:51:20 You break your hand if you try to type { or $ 07:51:27 Or even [ ] and \ 08:04:49 wow, bash must suck on those 08:05:16 Everything sucks, especially swedes 08:10:50 * saon hungry, time for eat 08:11:25 no i don't :) 08:12:06 (break fingers) 08:12:35 i don't have any keyboard with diacritics 08:12:59 hrmmm 08:13:04 i'm used to touch typing 08:13:16 that wouldn't work if the keys are all at different places 08:13:36 Things don't have to work 08:13:43 i've wondered this before, do other languages have extra marked vowels to express different sounds where english uses an ass backwards 'context' system? 08:13:53 i don't know enough of foreign languages to know 08:14:53 Actually we use them to confuse foreigners. 08:15:04 the diacritc chars in german correspond to sounds which aren't found frequently (if at all) in english words, maybe except the diacritic a 08:15:09 The blacker their skin, the more vowels we throw at them 08:15:26 that one corresponds roughly to the english a, but open 08:15:30 Our "å" isn't strictly necessary, as "o" sometimes has the same sound. 08:15:40 Same thing with "ä" and "e". 08:15:49 "ö" has a unique sound, though. 08:16:09 like in "the borg" ? 08:16:23 open 08:16:46 "borg" (the Swedish word) is an example of where "o" has the "å" sound. 08:17:03 hrmm, but, is the greater number of vowel sounds used to encompass things english can't? 08:17:43 i imagine it provides for better songs and poetry, but, beyond that i don't really know 08:18:34 combine the vowels of "boot" and "break", that's about the german diacritic u 08:18:34 I don't think it makes much difference. 08:19:03 (as one single sound) 08:19:10 hrmm, cool 08:19:24 But Swedish has only ONE sound in "i". 08:19:52 Which is hard to explain for English speakers, used to pronouncing "i" like "aee" 08:19:59 german diacritic o is about the vowel in "burn" 08:20:07 but closed, not open 08:20:24 coolness 08:20:35 * saon should learn some better foreign languages 08:20:49 i've had like, maybe a year or so of spanish 08:21:06 the US's foreign language focus is pretty terrible 08:21:09 Hehe 08:21:15 and the teaching methods suck =/ 08:21:27 What do you need foreign languages for when you're colonizing the world? ;) 08:21:53 i've seen the same book series for years, no teachers even teach spanish without one of these idiot books 08:21:54 Here we have to learn at least 2 foreign languages. But most people only learn English properly. 08:21:57 heheh 08:22:11 i'd like to learn spanish, german, and french 08:22:33 i figure with the spanish background i can easily get a grasp of italian too 08:22:59 yes! i got rid of all occurances of the "temp" variable in jsforth :) 08:23:13 w00t 08:23:35 * saon hunts for independent study programs 08:23:40 school is lame 08:23:49 i got arabic lessons on my desk 08:24:49 the state of florida actually has this thing called the "Florida Virtual School" where you can get real credits for online courses 08:25:11 i figure i can blow through the two BASIC programming courses and CS1 in a month or so, get 3 credits 08:25:35 BASIC programming courses? 08:25:39 You must be desperate 08:26:07 meh, they're easy courses and it can't hurt to have the credits 08:27:05 Before you begin registration, please check that you meet the following technical requirements: 08:27:08 Please use Internet Explorer version 5.5 - 6.0 only when registering. 08:27:10 :( 08:27:12 Do NOT use Netscape browser or AOL browser. 08:27:32 a virtual school that is not compatible with linux....how good can it possibly be? 08:27:39 =p 08:28:12 "this course is sponsored by microsoft, the leader in quality software" 08:28:24 heh, seriously 08:28:51 how difficult is it to port an ActiveX application to something that mozilla can use? 08:29:47 simplfication starts to pay out :) 08:30:19 the biggest "feat" in jsforth, key, is now just: function forthkey() { suspended = w ; } 08:30:27 (w is the word register) 08:30:59 this pisses me off =/ 08:32:05 * saon needs a router, another ethernet card, and some software to protect his winxp from the internet 08:32:20 just so i can take online courses 08:33:15 * saon writes complaint letter 08:43:09 The bank wants me to downgrade my system to Windows to be able to use their "secure" system 08:43:29 That's like "securing" a bank by leaving the door open at night 08:43:54 lol 08:44:17 mail sent 08:44:23 --- join: I440r (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 08:44:23 --- quit: I440r (Client Quit) 08:44:36 --- join: I440r (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 08:45:12 argh, i guess i need to stop being cheap and just cough up the money for some more ethernet cards or some wireless cards 08:45:34 ethernet cards cost nothing anymore nowadays 08:45:44 actually, with 3 wireless cards, i could use my computer as a router and we could hook up all the compies 08:45:52 :) 08:45:54 they're down to 2.50$ new here 08:46:02 irc from my freebsd box in text only 08:46:20 yeah, i've seen some insane deals 08:46:20 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 08:46:20 --- mode: ChanServ set +o Herkamire 08:47:03 but i'd love wireless because we have one computer across the house and i really don't want to run about 80' of cat5 overhead just to hook it up 08:48:15 i'd use wpa2 of course 08:49:11 * saon is bored, goes to take notes on shell scripting under bash 08:53:46 --- quit: saon ("leaving") 08:54:09 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 08:54:21 --- quit: saon (Client Quit) 08:57:41 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 08:58:25 Shell scripting in bash...well...it could be worse. 08:58:28 (BASIC) 08:58:41 --- quit: saon (Client Quit) 08:59:21 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 08:59:44 yeah, it could i suppose 09:00:04 finally, my irssi config is nice 09:01:27 :) 09:01:45 That has to be one of the more annoying "features" of all these home computers 09:01:52 Using BASIC as the system language 09:01:58 And decimal as the number base. 09:02:00 now that i'm used to irssi, i'm really liking it over xchat 09:02:11 yeah, that pesky decimal =p 09:02:45 * saon snuggles forth's ability to let me change to base 2 and write cryptic arithmetic programs 09:02:47 Seriously, it's completely useless on a computer AND is less efficient to use. 09:03:11 what would you like? rpn and hexidecimal? 09:03:24 hrmm, actually, i would like that 09:03:42 rpn isn't strictly needed, but it makes the implementation more efficient 09:03:53 Hexadecimal - yes! 09:03:59 * saon likes rpn input, much more natural to me 09:04:11 Of course with ability to handle binary and decimal too. 09:04:23 if i could learn how to do all the algebra in postfix that i already know in infix, i'd be set 09:04:47 hrmmm....*ponders* 09:04:48 Well, some things are much easier in postfix. 09:04:54 i have another project for today 09:04:55 Like inverting a function. 09:04:58 :D 09:05:00 Just write it backwards. :) 09:05:03 hehe 09:05:16 (and invert the primitives) 09:06:54 hrmmm, foiling in infix takes (a + b) * (c + d) and gives ac + ad + bc + bd. in postfix, it'd be a b + c d + * and yield ac ad bc bd + + + 09:06:57 *thinks* 09:07:13 it looks really similar to begin with 09:08:07 i suppose with practice, the notation is rather simple to pick up on 09:11:22 Probably. 09:11:35 Make a computer algebra system using postfix 09:11:38 Write it in Forth. 09:11:40 For the 4004. 09:12:02 that'd be sweet 09:13:13 i would love a forth-based calculator 09:13:18 imagine the power 09:13:37 Yep. Would be nice with a super-low-power one 09:13:48 Like the ordinary pocket calculator 09:13:48 s 09:13:53 yeah 09:13:57 But programmable 09:14:01 yeah 09:14:05 (brb, pizza is ready) 09:14:56 if you scaled it up though to a graphing calc system, with a good CAS, you'd be able to rival the power of the HP calcs in terms of programmability with rpl 09:14:58 forth makes a great calculator 09:15:13 * saon laughs at the ti-89 with it's ti-basic 09:15:14 does some things my scientific calculator doesn't, like handling hex 09:15:21 yeah :) 09:15:32 i've used dc for a while 09:16:20 haven't used forth itself as a calculator much, dc is faster for short things, and for hard things i have my calc with built-ins for most stuff 09:17:09 I haven't bothered to learn dc 09:17:13 perhaps I should. 09:17:29 i don't know it inside and out, but, it's on just about every *nix box 09:17:39 helps to know it sometimes 09:17:48 that's cool 09:18:24 hrmm, *grabs precalc book and attempts to solve problems using postfix notation* 09:20:04 grrrrrr 09:20:18 what's with bc and dc defaulting to only integer precision? 09:20:38 what's the point of having arbitrary precision arithmatic if you round to integer all the time? 09:21:32 whoa, this is cool 09:21:46 *is doing some basic algebraic manips in postfix* 09:22:00 some things in this are so much easier now 09:29:24 distributive property looks so much nicer 09:29:38 15 1 x + * = 15 15x + 09:29:58 instead of 15(1+x) = 15 + 15x 09:30:36 * saon plays with some superfractions 09:31:39 hrmmmm 09:31:56 superfractions.....don't really exist in postfix 09:32:27 x a b / / = x b * a / 09:32:29 hrmm 09:33:19 interesting 09:36:15 it's almost like the trailing sign gives properties to the numbers in little cells. for any string of multiplication and division, you can copy any number across and invert it's sign (mul <-> div) 09:36:29 cool 09:38:12 yes! court decision by german court: providers do not have to provide identity of internet users, who are downloading and/or offering copyrighted music. same ruling as in canada. 09:38:24 w00t 09:38:25 zoly: Nice 09:38:41 news are 4 minutes old 09:39:07 hrmmm, maybe postfix isn't so great here..... 09:39:20 12 4 x 2 + / - 09:39:23 simplify 09:39:26 =/ 09:39:27 I read that another court ordered Siemens to pay the music/movie industry for future piracy made by their customers. 09:39:46 wtf? 09:39:55 that's insane 09:39:57 "product pirating laws only apply to physical distribution" 09:40:12 zoly: That's what the court decided? 09:40:23 saon: Yes 09:40:27 but don't apply to shared music in internet 09:40:34 saon: Politicians have a tendencey to get insane when companies pay them enough 09:40:49 lol 09:40:50 yeah 09:41:16 that's bad news for canadian providers 09:41:31 (competition) 09:42:07 hrmm, i think i need to redefine simple 09:43:12 12 4 x 2 + / - = 12x 20 + x 2 + / 09:43:18 blech 09:44:30 You should visit some crazy professor obsessed with abstract algebra. 09:44:58 i'm starting to see some patterns =) 09:45:05 i call them cell sets 09:45:44 I like to arrange it so that there is rarely two operations in a row 09:46:02 hehe, that's what's showing up in my simplifications 09:46:06 eg "1 2 + 3 *" rather than "3 1 2 + *" 09:46:12 it makes it much easier to manipulate them 09:46:44 It's still pretty one-dimensional. 09:46:59 Using a tree could probably make it easier to interpret 09:47:24 robert: interpret? by humans or computer? 09:47:27 Herkamire, right now i'm trying to do (3/(x^2+x-20))+(x/(x^2+4x-5)) 09:47:30 computers like one-dimentional 09:47:40 Herkamire: Humans. 09:48:21 which is something like: 3 x 2 ^ x 20 - + / x x 2 ^ 4x 5 - + / + 09:48:24 yech 09:48:57 3 x 2 ^ x + 20 - / x x 2 ^ x 4 * + 5 - / + 09:49:19 hehe, that's a bit nicer 09:50:01 yeah, I tihnk "x + 20 -" is nicer than "x 20 - +" 09:50:05 but where do you even begin to simplify? the only thing i've found is to take each symbol and mark off the previous two numbers/variables 09:51:16 then go from there 09:51:38 what makes you think it can be simplified? 09:52:23 it can, it's a problem from my precalc book, i can solve it easily with postfix 09:52:27 infix* 09:53:15 but it seems the definitions of simple are different between infix and postfix 09:55:49 it comes out as (x^3+4x^2-8x-15)/(x^4+5X^3-21x^2-85x+100) 09:55:52 yuck 09:58:41 hrm 10:09:33 trees don't seem to make this any nicer 10:10:02 that's an major difference between math and nature 10:11:09 I'm getting (x^2 - x - 3)/(x^3 - 21x + 20) 10:12:29 hrm? 10:13:10 both denominators were devisible by (x+5) 10:13:18 ack 10:13:24 * saon didn't try to factor 10:16:42 unfortunately, when I got them added together, nothing canceled out 10:18:31 okay, we're getting the same answer now 10:18:48 hrmm, i dunno really what to do with the rpn form of it 10:18:52 it's easy to make a tree with 10:18:59 ...but that's about it 10:20:28 x 2 ^ x + 20 - 10:20:50 x 5 + x 4 - * 10:21:11 yeah, that's what i'm looking at too on the tree (= 10:21:55 factoring is non-obvious to me 10:22:10 same, but i'm blaming it on years of infix 10:22:19 in the textbooks it often seems to work out just right that stuff cancels out 10:22:36 yeah 10:22:46 I wonder if that happens in the real world 10:23:02 also it seems that if it happens in the real world, it's just as likely to happen with weird factors 10:23:11 yeah 10:23:14 hrmm 10:24:18 *tries more factoring problems* 10:25:34 like the numerator x^2 -x -3 factors to (x + 2 - sqrt(13)/2)(x + 2 + sqrt(13)/2) 10:26:17 sqrt(13)? 10:26:30 square root 10:26:40 yeah, i know, where'd you get it from? 10:26:51 factoring x^2 - x - 3 10:26:54 --- quit: madwork (Read error: 104 (Connection reset by peer)) 10:26:59 like, how'd you come to that as the factored form? 10:27:11 looking for (x + a)(x + b) 10:27:27 a+b = -1 (coeficient of -x above) 10:27:34 a*b = -3 10:27:45 a= -1 - b 10:27:54 --- join: arke (f2@bespin.org) joined #forth 10:28:03 (-1 - b)*b = -3 10:28:16 -b^2 - b + 3 = 0 10:28:28 crap 10:28:35 every time I do this I have the minus signs in different places 10:32:30 i have b as (1(+/-)sqrt(13))/-2 10:32:37 right 10:32:41 oh 10:33:15 yeah, somehow I had a 4 in place of that first 1 10:33:20 ah, i see 10:33:22 oops 10:34:06 anyway, point being I wonder how often in real life you end up with integers when you factor polynomials 10:34:21 i doubt it's often 10:35:10 you could use krebs and make a prog to randomly generate coefficients to check how often it happens in quadratics 10:35:31 but then you'd have to eliminate functions that are multiples of each other 10:35:38 --- quit: Raystm2 ("Client exited") 10:35:47 * saon doesn't know how to find primitive quadratics 10:36:03 got a list of a bunch in a crypto book somewhere around here 10:40:34 * SeaForth introduces his cat to SeaForth language... http://levi.dyndns.org:8080/photos/mimi/010905/44.html 10:41:29 SeaForth: lol :) I bet many geeks would have that same reaction ;) 10:44:00 hehe 10:44:01 so cute 10:44:59 what's with programmers and cats? 10:45:26 Both like other humans 10:45:51 we need something to take pictures of with out fancy digital cameras without getting away from the computer ;) 10:45:56 teh hies all 10:46:08 heh 10:46:15 hey arke 10:46:53 Teh hies. 10:48:56 how are y'all? :) 10:49:13 intrigued 10:52:17 :) 10:52:51 I found a new religion. 10:53:11 which oneis that? 10:53:15 does it involve chuck moore? =p 10:53:30 I think so 10:53:45 heh 10:53:48 C64, or 6502 in general, or maybe 8-bit computers in general. 10:54:07 And Chuck, too, likes ancient stuff. ;) 10:54:12 heh 10:54:35 argh, tech support still hasn't responded to me 10:54:44 >:/ 10:54:55 wow i look deranged 11:01:43 --- quit: saon ("leaving") 11:02:09 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 11:12:44 --- quit: robert (Read error: 104 (Connection reset by peer)) 11:13:01 --- join: Raystm2 (~Ray@adsl-69-149-42-7.dsl.rcsntx.swbell.net) joined #forth 11:13:03 --- quit: Raystm2 (Remote closed the connection) 11:13:48 --- join: Raystm2 (~Ray@adsl-69-149-42-7.dsl.rcsntx.swbell.net) joined #forth 11:15:27 --- join: robert (~purple@c-7678e055.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 11:19:06 * SeaForth is unaware of cult of personality for cm. 11:24:21 --- quit: saon ("Lost terminal") 11:24:32 Hah. 11:24:40 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 11:27:12 --- quit: saon (Client Quit) 11:27:39 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 11:59:37 --- join: tathi (~josh@pcp01375108pcs.milfrd01.pa.comcast.net) joined #forth 12:02:58 :) 12:16:33 --- quit: arke ("Lost terminal") 12:20:47 --- quit: Herkamire ("leaving") 12:20:54 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 12:20:55 --- mode: ChanServ set +o Herkamire 12:21:05 oooops 12:21:08 --- part: zoly left #forth 12:21:13 I meant /part not /quit 12:22:36 lol 13:11:17 --- quit: I440r (Excess Flood) 13:11:59 --- join: I440r (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 13:36:38 --- quit: tathi ("laters") 14:09:51 shouldn't the /topic be "Forth: one dialect, many languages" ? :P 14:10:01 --- quit: tgunr (Excess Flood) 14:10:54 --- join: tgunr (~davec@vsat-148-65-228-91.c012.g4.mrt.starband.net) joined #forth 14:11:58 More like "Forth: few users, many fractions" 14:13:48 in a sense, forth is like an extensible macro assembler on crack 14:14:02 --- quit: qFox ("this quit is sponsored by somebody!") 14:14:31 --- join: onetom_ (~tom@mail.ritek.hu) joined #forth 14:26:30 --- quit: onetom (Read error: 113 (No route to host)) 14:58:44 --- join: slava (~slava@24.43.80.135) joined #forth 15:04:46 Hi 15:05:01 yo 15:05:26 hey 15:05:36 i'm making my hashtables grow automatically 15:06:16 good on you 15:06:56 * aum is contemplating the challenge of writing a malloc()/free() as compactly as possible 15:07:07 eew 15:07:16 use forth style memory allocation :) 15:07:42 guess i should have a go at porting an allocate/free impl 15:08:07 its trivial, you increment/decrement a pointer 15:08:23 not really 15:08:40 one needs to keep a chain of free blocks and used blocks 15:09:13 no, i meant forth-style memory management 15:09:14 when allocating a block, need to split the free block if possible 15:09:17 you increment/decrement a pointer 15:09:22 so you allocate contiguously 15:09:32 can't do forth-style mem mgmt - code resides in EEPROM 15:09:45 my memory manager is 333 lines of C 15:20:03 --- quit: I440r ("Leaving") 15:22:42 --- quit: tgunr (Excess Flood) 15:29:11 --- join: tgunr (~davec@vsat-148-65-228-91.c012.g4.mrt.starband.net) joined #forth 15:40:46 --- quit: saon ("Lost terminal") 15:47:21 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 15:49:19 --- quit: Topaz (Read error: 60 (Operation timed out)) 16:07:33 --- join: TheBlueWizard (TheBlueWiz@63.250.25.90) joined #forth 16:12:28 Hi all 16:12:35 hi crc :) 16:13:54 Hi Herkamire 16:15:59 hiya crc 16:16:52 Hi tbw 16:18:40 hi crc 16:20:05 Hi aum 16:21:56 hmm, to write my 'allocate'/'free' in forth, or assembler 16:22:00 ? 16:22:44 I just have an "allot" word 16:23:09 Though you probably need something more given your constraints... 16:23:10 i was telling aum about the forth way earlier :) 16:23:24 Ahh 16:23:38 100 allot | allocate 100 bytes 16:23:39 i need 'allocate'/'free' because (1) my words are compiled into EEPROM, and (2) i need ability to allocate/free in random order 16:23:46 -100 allot | free 100 bytes 16:24:02 aum: use whatever would be cleaner 16:24:17 crc: problem with that is it mandates blocks being freed in reverse order of their allocation 16:24:58 i need the full-blown malloc/free setup, where blocks can be allocated/freed in random order 16:25:19 interestingly, malloc is way easier to implement than free 16:25:28 Oh? 16:25:55 i think when my generational gc is done, i'll have faster memory management than malloc/free 16:26:45 will it be faster than allot? 16:26:50 with malloc, just (1) traverse list of free blocks till you find the smallest one that fits, (2) if block is large enough, split it into one of exact size and one of remainder, and 'free' the remainder block 16:27:06 and (3) put the allocated block into allocated blocks chain 16:27:15 crc, my allocation *is* allot. all the overhead is in deallocation (gc) and gengc makes this extremely fast 16:27:25 In retro8 I have about half the code space set aside for 512 byte blocks that can be used for pretty much anything 16:27:40 it's 'free' where things are tricky - needing to detect when a free'd block is contiguous with another free block, merging them, keeping the free blocks chain in the right order 16:28:01 It'd be easy enough to make a bitmap that showed used/free status if I needed that 16:28:08 slava: cool 16:28:20 without free block merging, the pool gets fragged, one can have 1k of free mem but be unable to allocate 16 bytes 16:28:35 hmm 16:28:59 aum, with my memory manager, there is only one free block, and its the maximum size. i don't get fragmentation 16:29:24 slava: how do you manage mem allocated for objects? 16:30:09 aum, allocation increments a pointer, gc copies everything that is still reachable to another heap as one contiguous block 16:30:55 too much logic for my environment i think 16:31:01 yeah 16:31:05 like i said, its 333 lines of C 16:31:15 but its fast, and will be faster soon 16:31:39 i'm building my forth for compactness over speed 16:31:50 fair enough 16:32:16 i'm focusing on high level stuff that helps development first, speed second 16:32:31 but simple code helps both so i have compactness as a side goal 16:32:47 my language core is very small, but there's a variety of libraries bundled in, stuff that you don't usually find included with a base forth 16:37:48 Factor has a lot of interesting code in the builtin libraries 17:04:59 * crc works on compiler extensions for retro8 17:06:34 --- nick: TheBlueWizard -> TBW-afk 17:17:31 --- join: Sonarman (~snofs@adsl-64-169-95-217.dsl.snfc21.pacbell.net) joined #forth 17:44:27 --- quit: tgunr ("BRB") 17:47:12 --- join: I440r (mark4@216-110-82-59.gen.twtelecom.net) joined #forth 18:11:19 * crc finishes his word to allow late-binding of names to compiled code 18:11:41 how is that done? 18:12:04 define late binding ? 18:12:07 : late: here 32 parse ] (create) last @ cell+ ! ; 18:12:15 : foo 1 2 + . foo ; 18:12:22 not hooking the new word into the voabulary chain until its definition is complete ? 18:12:32 Yes 18:12:38 thats easy :)\ 18:12:40 ish 18:12:40 In retroforth : is early-binding 18:12:51 oh i thought you meant late binding as in smalltalk 18:12:56 No 18:12:58 crc, in factor its early binding too 18:13:05 --- quit: saon ("Lost terminal") 18:13:06 crc, i don't like having to use 'recurse' for recursive words etc 18:13:39 thats sorta bad because you dont want to be able to refer to self automatically nor have the word in the dictionary if the definition fails 18:13:56 : foo .... blah .... ; \ where blah does not exist 18:14:14 foo should not be in the dictionary 18:14:20 hmm 18:14:25 there's no real harm if it is 18:14:27 recurse is better 18:14:33 : foo ....... ; 18:14:39 : foo ..... foo ..... ; 18:14:45 Or : foo blah bah foo blah ; where you want a new behavior for foo. Yeah. 18:14:46 how would YOU do that with early binding ? 18:14:52 you don't because its a bad idea 18:14:54 I440r: I don't :) 18:15:14 because then if you load the : foo ..... foo ..... ; file again it has a weird, wrong definitino 18:15:15 I use the "late:" word to accomplish that 18:15:19 well agreed, its not always a good idea 18:15:21 late: foo ... foo ... ; 18:15:26 why would you ever want to do that? 18:15:34 but disallowing it is like saying "nawtee nawtee, im not going to allow you to do that" 18:15:34 if the new word does something different, give it a new name 18:15:39 slava: if I need to extend the functionality of a word later 18:15:40 and i consider THAT to be worse :) 18:15:49 crc, in that case I would use a different design 18:15:55 Me too 18:16:09 It's helpful in a few limited cases I guess 18:16:40 i do enforce SOME good practices but i also allow bad ones 18:16:53 let user shoot self in foot... its the forth way 18:16:57 its also the unix way 18:17:00 I440r: I do 18:17:16 RetroForth has zero tolerance for errors. You make a mistake; expect a segfault 18:17:37 --- nick: TBW-afk -> TheBlueWizard 18:17:41 I don't define a lot of words, and it's very easy to make the compiler do things I never intended it to do :) 18:17:47 Like late-binding ;) 18:17:52 Or deferred words 18:18:04 late binding usually refers to looking up word definitions at runtime, like smalltalk 18:18:41 that sounds like interpreting 18:18:44 I know 18:19:15 I don't use terms in a standard way, especially if I wasn't aware of an alternative meaning when I started using the term 18:20:04 I440r, smalltalk compilers exist 18:20:10 are they 'interpreting'? :) 18:20:43 so do basic compilers 18:20:49 that dont make basic good :P 18:20:50 hehe 18:20:54 * I440r ducks 18:21:09 self uses late-binding and its probably faster than any free forth 18:21:18 except its not being worked on anymore 18:24:25 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 18:33:34 --- join: zoly (~l@ppp-62-245-209-123.mnet-online.de) joined #forth 18:34:00 g'day 18:34:43 Hi zoly 18:34:56 hi 18:36:29 http://www.forthfreak.net/wiki/index.cgi?ForthCoreWords here's some on-a-glance state report of jsforth 18:36:44 no need to work through the comments 18:37:00 (have the web log on screen) 18:38:51 it is btw a single source now 18:39:05 The terminal is nicer now it seems 18:39:18 still needs to be done properly 18:39:26 but allright for now 18:39:58 first the innards 18:40:53 major code cleanup done on it 18:41:57 don't need to be ashamed of it anymore :) 18:43:12 Good 18:43:25 * crc is still working on getting the core of retro8 into decent shape 18:46:19 The stuff that's there is working well, but I'm sure I can clean up quite a bit 18:46:55 getting rid of unnecessary code or lines is always nice 18:47:17 (i eradicated all references to "temp" variable earlier on) 18:47:22 All defined words in the core are what I use on a regular basis :) 18:47:45 I continually rethink how I do things, and the retroforth language evolves as a result 18:48:11 crc babbage did that too :) 18:48:21 :) 18:48:42 I could drop a few things like the words for comments, but those are useful enough that I leave them in 18:48:53 hi I440r 18:48:59 * zoly alias bongo 18:49:16 soon i'll start work on formalizing a subset of factor into mathematical notation, for proving the correctness of algorithms like my stack checker 18:49:43 hi bongo :) 18:49:50 zoly yea i know hehe 18:50:18 the commenting words are THE single most important words in forth 18:50:36 I440r: not in my book :) 18:51:01 I could keep comments in shadow blocks easily enough now 18:51:03 why should commenting be that important ? 18:51:39 The only comment word I have left is | 18:51:40 if you dont know i cant explain it :) 18:51:51 ick 18:51:55 no ( or \ ? 18:52:08 ( is absolutely required 18:52:10 : ( ') parse drop drop ; 18:52:13 No it's not 18:52:18 I never use it. 18:52:27 ' | alias \ 18:52:37 yea i figured | was \ 18:52:39 you could use 0 word for line comments :P 18:53:04 : | : \ 10 parse ; 18:53:16 only if source lines were always 0 delimited 18:53:26 that would also work for those who want to modify/rebuild the rf source 18:53:31 in isforth TIB is the entier source file so that wont work 18:53:37 heh 18:53:39 very legible too, instructing the compiler that there's zero words for it on that line 18:53:46 in retro8 tib is just another block 18:54:12 Well, it's a little special, since I erase it before getting more input 18:54:24 : tib -1 block ; 18:54:31 : pad -2 block ; 18:57:29 crc erasing before refilling sounds redundant unless you REQUIRE that 0 byte 18:57:36 even THEN its redundant 18:57:53 just replace your EOL with a null 19:11:32 --- join: madgarden (~madgarden@Ottawa-HSE-ppp4082712.sympatico.ca) joined #forth 19:17:29 I440r: it's neccessary for some of the apps I'm writing 19:19:02 why can't those apps clear the buf then and only then when they require it ? 19:19:37 hmm 19:19:59 The tib isn't always cleared; only by the rfx build 19:20:24 rfx includes the block editor; these apps are built around the editor code 19:21:19 * crc also likes keeping buffers like TIB in a known state when possible 19:22:05 i'm not to argue 19:22:31 but i'm tempted to chose I440r's camp, minimal init. 19:23:02 preventive buffer clearing is so ... unforthish :) 19:24:20 save a few cycles here, with lots of effort, and waste thousands for potentially unnecessary operations there. 19:24:57 zoly: I don't worry about saving cycles in most cases 19:24:57 though i'm currently not exactly a cycle-saver 19:25:07 I try to do things cleanly 19:25:17 * crc isn't exactly a traditional forther anyway 19:25:47 crc, do you initialize for free mem with zero after cold start ? 19:25:53 s/for/your/ 19:25:55 Only the stack buffer 19:26:02 why not ? 19:26:07 Why should I? 19:26:13 to make it clean 19:26:32 what a question, "why" :P 19:26:46 In the case of the mem for compiled code, the compiled code overwrites what's there 19:27:15 that hold true for buffered input as well 19:27:17 It's a bit different than TIB, since TIB is used by "parse" 19:28:22 with compiled msdos progs, i sometimes initialized my free mem 19:28:33 to $cc 19:29:01 * crc has encountered various problems with parsing code when TIB wasn't cleared first... 19:29:16 zoly: I initialize free mem when it makes sense to me to do so 19:29:29 thus, you clean it to combat the symptoms, rather than finding the problem > 19:29:53 zoly: the problem was old input left in place 19:30:21 or, your code not being able to deal with that because of a flaw ? 19:30:28 bug 19:30:31 No. 19:30:52 i can't shut down the computer for the night, a critical factor instance is running 19:31:05 and i won't be able to finish the work tonight 19:31:58 The code works exactly as intended in almost every case. But in a few cases old input was causing problems 19:43:20 --- join: wandelf (~Olorin@69.134.115.89) joined #forth 19:43:37 --- part: wandelf left #forth 19:43:54 * crc is going to bed now; goodnight 19:49:48 --- quit: Sonarman (Read error: 110 (Connection timed out)) 19:54:08 --- quit: aum () 20:04:31 --- part: TheBlueWizard left #forth 20:05:29 --- quit: saon ("leaving") 20:05:44 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 20:21:05 --- quit: saon ("Leaving") 20:24:27 --- join: saon (1000@c-24-129-90-197.se.client2.attbi.com) joined #forth 20:25:37 --- nick: saon -> saon|ZzZz 20:28:17 --- join: arke (f2@bespin.org) joined #forth 21:33:37 --- join: Sonarman (~snofs@adsl-64-169-95-178.dsl.snfc21.pacbell.net) joined #forth 21:42:22 could a native english speaker please translate this to me ? (i don't know where i can safely split the logic terms in there): 21:42:28 Perform a comparison of a test value n1|u1 with a lower limit n2|u2 and an upper limit n3|u3, returning true if either (n2|u2 < n3|u3 and (n2|u2 <= n1|u1 and n1|u1 < n3|u3)) or (n2|u2 > n3|u3 and (n2|u2 <= n1|u1 or n1|u1 < n3|u3)) is true, returning false otherwise. An ambiguous condition exists if n1|u1, n2|u2, and n3|u3 are not all the same type. 21:52:53 thats not english, thats ANS talk. They're completely separate languaghes. :) 22:00:49 --- join: zol1 (~l@ppp-62-245-163-26.mnet-online.de) joined #forth 22:01:14 --- quit: zoly (Nick collision from services.) 22:01:19 --- nick: zol1 -> zoly 22:02:19 it starts to make sense 22:05:10 types always create an ambiguous condition :P 22:05:10 no sorry 22:05:10 i mean obfuscated 22:05:10 :P 22:05:18 is that a goedel theoreme ?\ 22:10:30 :) 22:15:40 --- join: asymptote (~weldon@68.48.8.92) joined #forth 22:18:42 anybody know a forth that uses a tree for its dictionary instead of a hash? 22:19:00 yes 22:19:38 --- quit: asymptote ("Leaving") 22:20:22 (but that implementation couldn't cope well with redefinitions initially 22:20:24 ) 22:25:33 --- quit: Herkamire ("bed") 22:34:44 --- quit: Sonarman ("leaving") 22:35:13 anyone with internet explorer here ? 22:37:03 zoly: i could fire it up for you 22:37:47 if that doesn't mean too much trouble to you ? 22:38:33 i did some mods to that javascript thingie i'm working on, towards hopefully improved ie compatibilty 22:38:52 no problem 22:38:54 lemme have it 22:38:55 but can't test it, haven't got i.e., nor windows 22:39:00 haha 22:39:06 http://forthfreak.net/JS-Forth.html 22:39:10 well, i happen to be booted into windows right now, so go ahead 22:39:59 syntax error on line 46 22:40:05 ouch 22:40:28 const backspace = 8 ; 22:40:30 :( 22:40:38 hahaha 22:40:39 lol 22:40:54 safari had the same problem 22:41:26 odd 22:41:29 works on firefox 22:42:03 yes. i'm developing it using firefox 22:42:55 :) 22:43:11 you're a crazy man :) 22:43:32 why ? 22:43:56 because you are ^_^ 22:44:33 this must have something to do with my current activity 22:44:40 yessir :) 22:45:22 but this thing can be pretty useful 22:46:55 for example, on the html page which also includes the script, there are a few forth words which teach the browsers how to tunnel peer-to-peer communication through a web server 22:47:15 regardless of firewall or not 22:47:47 neat 22:48:42 and then i'll have a supermassive forth cluster :) 22:49:38 (the interpreter dos not need to come from the same web server as the loaded html page) 22:50:16 those peers could open a forth blocks file 22:50:39 (which is just an encoded html file somewhere, containing some more forth source) 22:53:30 and .. 22:53:51 if forth would ever to be used as web language 22:54:16 it would have to work on clients without plugins which would need to be installed 22:54:50 that's why javascript, and not java 22:59:04 there's other virtues ... 1 and a half week ago, i know nothing about javascript 22:59:08 knew 22:59:21 now i know at least how it looks like 23:08:09 :) 23:16:55 Morning 23:17:18 teh hies robtrob 23:59:59 --- log: ended forth/05.01.25