00:00:00 --- log: started forth/02.04.08 00:04:31 --- join: futhin (~thin@24.64.174.2) joined #forth 00:05:15 qless: i can answer your question 00:05:28 RE is the way to nirvana. it's allllll about income generating assets! 00:05:28 --- nick: MrGone -> MrReach 00:05:39 heh, one of many ways 00:06:04 in my book there's RE or swing trading :P 00:06:19 i'm only interested in getting 40% or more interest on my money :P 00:07:21 heh, what is the rate of return on a no money down rental? 00:09:23 probably less 00:09:28 or infinity 00:09:33 depending on how you set it up :P 00:09:35 infinate 00:10:05 return = investment/profit for some period 01:01:38 profit/investment 01:01:45 if investment = 0 01:01:49 profit/0 = infinity 01:01:53 (just for everybody else) 01:02:00 oh, thanks 01:02:16 (don't *I* feel silly) 01:02:42 :P 01:02:45 naw 02:22:32 oh, I thought you had reversed my terms 02:22:36 my mistake 02:22:48 I had it right, just didn't fill in the numbers. 02:23:39 hm, i did that too.. profit divided by investment * 100% would be return 02:39:47 --- quit: MrReach () 02:40:06 --- quit: Soap` (Read error: 113 (No route to host)) 02:40:26 --- join: MrReach (~mrreach@209.181.43.190) joined #forth 04:00:19 --- quit: futhin ("sleep") 04:00:39 --- part: MrReach left #forth 04:25:35 --- join: Fare (fare@samaris.tunes.org) joined #forth 04:37:46 lo fare 04:43:13 ki 04:43:16 ju 04:43:18 ;p 04:43:20 lo 04:43:40 having trouble? 04:43:44 mp 04:43:58 ij. twa 04:44:37 remindsme of a program a froiend if nine wrote 04:44:44 kgs!pr 04:44:53 damnn keyborad 04:45:04 not used toit 04:45:20 using one of those messysoft melted keybaords? 04:46:13 nah 04:46:22 using a great symbolics keyboard 04:46:32 but with only one hand 04:46:47 (well, now, two) 04:46:55 hum. the 0) key is stuff 04:47:04 turn it upside down and you'll be fine 04:47:17 stuck 04:49:17 the "power the mac" key is also badly stuck 07:16:23 --- part: qless left #forth 08:15:14 --- join: loki- (Loki@203.134.101.43) joined #forth 08:15:26 hi 08:30:12 Hi 08:31:04 how do i start learning forth? 08:32:16 --- join: gilbertbsd (~gilbert@max2-84.dacor.net) joined #forth 08:32:22 hello 08:34:48 --- quit: gilbertbsd (Client Quit) 08:50:08 --- quit: Fare (Ping timeout: 14400 seconds) 09:27:13 --- join: pipesmoker (~matthias@pD9E576CC.dip.t-dialin.net) joined #forth 09:27:17 --- quit: loki- ("Pack the bong and pass it along..") 09:27:20 --- part: pipesmoker left #forth 10:15:51 --- join: Fare (fare@samaris.tunes.org) joined #forth 11:22:42 hi 12:11:26 --- join: I440r (~mark4@1Cust188.tnt1.bloomington.in.da.uu.net) joined #forth 12:12:09 fare!! 12:15:07 onetom, I440r, Fare, cdesousa! 12:18:34 :) 12:36:15 --- quit: I440r ("bbl guys") 12:51:28 rob_ert: nu, wassup 12:52:11 rob_ert: tell me sg interesting :) 12:56:59 Hmm... 12:57:31 I just realized I found an alternative way to show that n different items can be permutated in n! ways ;) 12:59:11 hm? 13:01:23 ;) 13:04:21 would u .... explain it? :) 13:05:06 the usual method is: 13:05:20 Hehe 13:05:24 u have n places & n different things 13:05:31 Nah, takes too much time ;-) 13:05:42 u can put any of the n into the 1st place 13:05:59 so u have n choices 2 start an order 13:06:07 Yeah, I know... 13:06:09 (a permutation) 13:06:13 & so on 13:06:20 so whats yours? 13:06:31 Uhmm.... 13:07:08 To store n numbers, k[0] to k[n-1], you can use the following formula: 13:07:41 K = sum(i=0 to n-1) k[i] * i! 13:08:14 Where 0 <= k[i] <= i+1 13:08:55 And then I showed how to construct any permutation of the unique entries of the k[] array. 13:09:57 And then suddenly I realized I've proven something extremley easy, I laughed my ass off :) 13:10:35 sec. let me understand 13:11:38 1st of all the things u have 2 store mustn b numbers 13:11:48 then what is K ? 13:17:00 gakuk 13:20:33 onetom: K = n! - 1 13:20:39 Er 13:20:42 I mean 13:20:51 the maximum value for K is n! - 1 13:21:22 This is no really "proof" anyway :) 13:21:28 Just some confused thoughts. 13:23:15 well cant really get a grasp of ur way of thought... 13:24:10 but uve told me sg interesting according to my request @ least ;) 13:30:03 ;-)) 13:30:14 Anyway, I used this for key generation. 13:38:30 --- join: Soap` (flop@210-86-40-79.dialup.xtra.co.nz) joined #forth 14:34:28 --- quit: rob_ert ("(:") 14:43:10 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 14:48:08 --- join: Soap` (flop@210.55.243.134) joined #forth 15:03:20 --- join: Speuler (~l@195.30.184.51) joined #forth 15:03:29 'd evening 15:06:11 'i 15:08:07 :) 15:08:13 ') 15:08:20 * onetom winks 15:27:20 --- join: I440r (~mark4@1Cust154.tnt3.bloomington.in.da.uu.net) joined #forth 15:27:49 :) 15:40:02 I440r: any news? 15:40:25 when will u release the puzzle srces? 15:43:26 oh 15:43:30 i got stuck hehe 15:43:44 im debugging part of the brain but im hoping to release soon 15:45:05 i can send you what i have now if you want. tho the brain itself isnt finished 15:49:16 --- join: njd (junk@njd.paradise.net.nz) joined #forth 15:56:37 I440r: well, id like 2 c if its not a problem 15:56:51 I440r: hermantom@yahoo.com, uknow ;) 15:57:34 sure hang on 15:59:23 thx 16:06:54 I440r: its a strange style of programming u r exercising :) 16:07:28 :) 16:07:41 in what way 16:08:56 lol 16:09:26 I440r: it would b pretty complicated 2 express it :) 16:16:05 theres 1 thing i havent found in my version of isforth 16:16:08 16:16:15 what is it? 16:19:20 thats a syscall 16:19:22 sys read 16:19:35 any word with < and > arround it is a syscall 16:19:40 is sys write 16:21:27 bad idea 16:21:46 <> would be better used for types or something somehow extensible 16:21:53 16:21:59 I'd use a namespace for syscalls 16:22:03 like, sys:write 16:22:10 or syscall:write 16:22:13 or linux:write 16:22:18 or posix:write 16:22:50 syscalls are extensable 16:23:00 x y syscall syscall-name 16:23:07 the word syscall is a creating word 16:24:11 isforth only supports syscalls not posix etc heh 16:24:18 :) 16:24:25 it will be in a syscall vocabulary eventaully 16:24:30 so there wont be a conflict 16:25:51 what would you suggest for syscalls ? 16:25:59 in place of < and > 16:26:19 #syscall ? 16:26:25 some forths use #xxxx for a number 16:26:30 which is a bit lame 16:26:36 #1234 is 1234 lol 16:27:15 i440r is lame 16:28:47 what about syscall:write ? 16:28:56 or linux:write, since it's a linux syscall? 16:30:28 a bit verbose 16:30:53 not a BIG problem with headers because you strip them on turnkey 16:31:01 but long names are bad as a general rule :) 16:31:13 sys_xxx is something i had already thunked of 16:32:08 Fare: what is this namespace thinG? 16:32:23 DICTIONARY 16:32:28 or explicit prefix 16:32:33 Fare: is there any "standard" implementation of namespaces in 4th? 16:32:40 yes, dictionaries 16:32:53 part of the ANS standard 16:32:55 could u give me an example of an actual implementation? 16:33:05 gforth 16:33:05 ans???!?! huh? 16:33:07 however. the standard doesnt say how a dictionary header is supposed to be formatted 16:33:11 kidding... 16:33:27 I440r: why should it? its up 2 u 16:33:34 exactly 16:33:56 Fare: i havent met any namespace thing in gforth yet... 16:34:47 Fare: tho, ive already used a modified text-interpreter of it 16:35:08 Fare: but it didnt do any name parsing... 16:35:16 Fare: or find does it? 16:35:39 Fare: can i find it in gforth doc? 16:48:35 --- join: qless (~cerb@clgr000977.hs.telusplanet.net) joined #forth 17:05:53 --- join: tathi (~tathi@ip68-9-58-81.ri.ri.cox.net) joined #forth 17:06:08 tathi! 17:06:10 qless! 17:06:11 hello all 17:06:39 how's it going? 17:07:00 not too bad :) 17:07:24 good, good :) 17:08:03 I had a pretty good weekend -- juggling festival in New York City... 17:08:24 you juggle ? 17:08:41 not all that seriously, but yeah 17:08:52 doesn't everybody? :) 17:09:02 hehe on with the parameter stack :) 17:09:08 swap rot drop nip dup 17:09:08 heh 17:09:21 hehe 17:09:54 hmm i wonder why there arent primatives for doing swaps etc on the return stack :) 17:10:29 umm you aren't expected to do data manipulation with it? :) 17:10:47 heh 17:10:57 i know - but im tempted to allow it :) 17:12:02 sure, why not? 17:13:01 well - doing swaps and rots etc on the return stack would be bad coding i think 17:13:02 you could have some really odd bugs if you could mess with the return stack :) 17:13:08 maybe i could add a thrid stack :) 17:14:00 do you have something that you need or want it for? 17:14:24 no 17:14:31 im just thinking of what users might want 17:18:39 nah, just force them to think their code through until it works with one stack and a return stack 17:18:51 could be neat to play around with though 17:18:58 ya 17:20:54 --- quit: Fare ("rrrrr zzzzzz") 17:54:12 --- quit: njd () 17:57:10 --- join: njd (junk@njd.paradise.net.nz) joined #forth 18:12:49 --- quit: tathi ("Client Exiting") 18:14:05 --- quit: Speuler (carter.openprojects.net irc.openprojects.net) 18:14:20 --- join: Speuler (~l@195.30.184.51) joined #forth 18:15:41 --- quit: njd (Remote closed the connection) 18:15:54 bongo! 18:23:09 --- join: njd (junk@njd.paradise.net.nz) joined #forth 18:47:30 onetom you there ? 18:47:37 did that code help you with console stuff? 18:47:46 ill be writing a windowing system for console soon (ish) 18:48:41 not yet 18:49:06 k 18:49:10 i would also appreciat a latest isforth 18:49:38 what also has the syscall too :) 18:49:47 well you should have in there 18:49:55 1.04b has it in there 18:50:37 jeee 18:50:40 oops :) 18:50:56 ok, let me check it 18:54:19 --- join: njd- (junk@njd.paradise.net.nz) joined #forth 18:59:15 `isforth-1.04b.tgz' at 18400 (25%) 245b/s eta:4m [Receiving data] 18:59:27 jeeezuz, its faaast :) 18:59:50 oh hehe ok 18:59:57 it will take a while hehe 19:00:04 im doing an apt-get upgrade hehe 19:00:11 :)) 19:00:36 okay, its not that important @ the moment 19:00:44 im also terribly tired 19:00:57 i will check it out tomorrow 19:01:13 but shall i ask u a question? 19:01:19 grab the tgz now - the upgrade finished downloading 19:01:27 ask 19:01:29 72537 bytes transferred in 191 seconds (380,518 bytes/s) 19:01:31 so 19:01:46 who would u append string 19:01:51 how ? 19:01:55 i wanna prefix filenames 19:01:57 well i need to define +place 19:02:08 w a path, then i 19:02:31 khm... place handles counted strings, isnt it? 19:02:37 yes 19:02:49 and +place appends a string onto the end of a string 19:02:54 both being counted 19:03:26 example? 19:03:39 well there is a problem 19:03:47 coz u need enough room 4 it 19:03:50 you have to move one of the strings into pad or somewhere else 19:04:03 hahaaa, thats it :) 19:04:05 then you can do s1 s2 +place 19:04:19 i think that appends the string at s2 onto the end of the string at s1 19:04:40 may i show u my version? 19:04:45 syre 19:04:48 sure 19:04:58 or let me leave u thinkin 1st :) 19:05:07 : $+ 2over + swap dup >r move r> + ; ok 19:05:07 pad 0 s" asd" $+ s" qwe " $+ s" yxc!" $+ type asdqwe yxc! ok 19:05:31 pad 0 is the starting, empty string 19:05:46 well s" wont be defined in isforth hehe 19:05:49 all the other r appended after it 19:05:54 tho - YOU can define it in your copy heh 19:06:11 dont worry, i will :P 19:07:03 w such a dbl str representation, u can handle 19:07:15 any data as string wo modifing it 19:07:29 or copying it or the like 19:07:51 so its pretty flexible, tho 19:08:16 juggling :) w dbl data is a bit more difficult 19:08:48 but as u could c in my example, not too terrible, is it? 19:09:43 what would u name the word : ????? pad 0 ? 19:10:02 its an empty string 19:10:09 a scratch area 19:10:15 a pocket :) 19:10:32 the beginning of a concatenation sequence 19:11:13 which property of it would u choose to name it after? 19:11:53 not sure hehe 19:11:56 $0 19:12:06 that might be confusing to bash scripters 19:12:18 they use $0 for something completely different :) 19:12:20 thats right :)) 19:12:26 or simply "" ? 19:13:06 "" s1 $+ " text" $+ 19:13:13 "" might be good! 19:13:36 --- quit: njd- (Remote closed the connection) 19:13:39 --- quit: njd (Read error: 104 (Connection reset by peer)) 19:13:47 (i said simply " instead of c" or s", coz its independent of weather its a conunted string or not) 19:13:55 it LOOKS like an empty string! 19:14:04 absolutely :) 19:14:07 "" will sort of do the same thing <# does right ? 19:14:16 sets a pointer to the string building area etc 19:14:26 and dont u know any former application/meaning of it? 19:14:39 aha! 19:14:46 u r right again! 19:14:48 i think i saw a definition for "" before but i didnt think it was a good one hehe 19:15:01 and i think it was specific to something 19:15:02 i forget 19:15:05 but what did it mean? 19:15:11 i dont think "" is part of any std 19:15:14 roughly? 19:15:18 aha 19:15:19 c 19:15:21 too long ago to remember hehe 19:15:32 ask mrreach if "" is in the std :) 19:15:32 and have u already implemented <# ? 19:15:36 yews 19:15:38 yes 19:15:45 its in forthsrc/number.f 19:15:51 thats all the pictured number output words 19:15:54 k, will chk in a sec 19:16:48 aha, so u also use the pad 4 it... 19:17:28 yes 19:17:33 thats what pad is for hehe 19:17:37 whats ur definition of pad? 19:17:51 here 80 + 19:18:20 grep ': pad' * gave no results 4 me :/ 19:18:25 tho i could make a static pad - but then i would have to define a pad size hehe 19:18:31 so here 80 + is ok 19:18:33 so probably its in the kernel, iguess 19:19:02 here x + is the usual solution, so thats okay 19:20:05 thx 4 the consultation & thx in advance 4 the terminal stuff 19:20:16 i hope i could utilize it somehow 19:21:43 dont u know about some string handling packages 4 4th? 19:21:47 u shud be able to :) 19:22:50 i think mrreach or speuler had something 19:22:53 maybe aum did 19:22:57 i know someone here did 19:23:11 a comparision on this theme would b grateful... a c-like, pascal-like, basic-like, idont-like ... 19:23:34 hehe 19:23:52 thats also a sad momentum, that 4th doesnt have some standards on it 19:24:11 but its not a big deal, in fact 19:24:36 coz its a kind of assembly eventually 19:24:53 so it shouldnt restrict u 19:25:36 but still... id like 2 c well-tested, usable implementations on the net... 19:27:05 well im semin opposed to standardizing forth anyway 19:27:23 not 100% opposed - but possibly 99% :) 19:31:01 why? 19:31:21 4th is a set of very good ideas 19:31:45 and u r free 2 use only those ideas from this set 19:32:01 yes 19:32:11 but if you restrict people to one specific standard its like saying "you must do it this way" 19:32:19 and thats not the FORTH way 19:32:36 what u like. but there is many ideas what is worth 2 handle as a std 19:32:51 so it could enlarge interoperatability 19:34:04 well, i would happy 2 say: "its recommended 2 do it this way, so others could also understand ur code" 19:34:31 and thats not xyz-forth way otherwise 19:34:41 :) 19:34:50 yes. thats why im not 100% against it :) 19:34:58 such an agreement would b very helpful 19:35:23 :) 19:36:05 do u know what am i workin on, anyway? 19:36:20 interested in it @ all? 19:36:20 alot of my dislike for the ans standard isnt just the words they define. its the names they give to those words 19:36:32 i think "postpone" is both a bad word AND a bad name 19:36:40 nah, what words? 19:36:43 home automated control ? 19:36:54 yes. i would say im interested in that :) 19:37:07 but doesnt x10 have that market wrapped up ? 19:37:17 yup, but now im not working strictly on it 19:37:30 x10 is very expensive 19:37:33 s" is a bad word. i dislike it - postpone is one of my pet hates 19:37:37 doesnt know that much as ours 19:37:45 there are others but they dont immediatly come to mind 19:38:02 tho it doesnt require a separate communication wiring 19:38:14 (what makes it more expensive) 19:38:19 --- join: njd (junk@njd.paradise.net.nz) joined #forth 19:38:21 our is still cheaper 19:38:28 x10 invented the sending signals down the power line didnt it ? 19:38:44 right 19:38:49 it communicates over your power lines 19:39:00 yes 19:39:11 electric meters do that now too 19:39:19 like on the side of your hosue. 19:39:20 but thats why the x10 devices r more expensive 19:39:28 i worked for siemens (baught out landys and gur) 19:39:32 in their metering division :) 19:39:52 landys and gur? what r those? 19:40:24 so the problem w x10 devices 19:40:36 landys and gyr are a very famous metering company 19:40:43 they make power meters 19:40:56 like on the side of your house measuring your watt hours etc:) 19:40:58 they all need a power supply circuit and a communication circuit 19:41:01 --- quit: njd (Client Quit) 19:41:30 yes 19:42:00 and makin the low power required by a simple device from 230V is usually much more difficult 19:42:08 than the actual device itself :) 19:42:44 but not thats the point 4 now 19:43:01 ya heh 19:43:25 im workin on a filesystem based, simple handshaking, client server communication protocol 19:43:26 you need to protect the circutis from the lave wire too 19:43:42 what could replace sockets easily 19:44:17 file system based like in linux/unix where everything is a file ? 19:44:21 tho, this solution is much slower 19:45:02 and doesnt handles remote connections (inherently) 19:45:34 well the speed is sorta important heh 19:45:36 its better 2 some extent, coz its based on a well known 19:45:50 easy 2 handle phonemenon 19:45:58 its based on files 19:46:20 ok, let me show u 2 examples 19:46:54 where speed is not so crucial 19:47:06 1st: mued 19:47:16 our multiuser-editor 19:47:51 does mued alow more than one person to edit the same file ? 19:48:05 u have 2 pass keypresses through this interface 2 the editor server 19:48:08 or is it just a multi tasking editor - so lots of ppl can use it but its only loaded once ? 19:48:11 yes 19:48:23 emm :) 19:48:29 the 1st 1 19:48:32 if im editing foo.f and you are - do i see your edits in my copy of the file ? 19:48:50 & u can even c my cursor 19:48:59 running all around :) 19:49:13 hehe neat :) 19:49:21 you write it - ill delete it :P 19:49:22 lol 19:49:42 exactly :) 19:49:46 anyway - go on with example 19:50:03 havent i tried such a coworking w u in screen yet? 19:50:58 if u would like 2 test it i could try 2 make it easily portable 2 isforth 19:51:18 so we could also test isforth w such a serious application 19:51:48 let me show u the sturcture of mued: 19:52:01 there is an editor server running 19:52:32 it accepts connections just like any network server process do 19:52:58 and it keeps the track of changes on the file 19:53:37 and it serializes the various editing request sent by the clients 19:54:10 there r several editing clients r running on the same machine 19:54:29 they connect to the editor server & sync w it 19:54:45 clients could be on different machiens tho couldnt they ? 19:54:52 just specify "server address" 19:55:24 if u share the filesystem w remote machines, then they could b on different machines too 19:55:59 but because i dont use sockects 4 communication 19:56:07 coz, i dont know socket programming 19:56:22 i have this restriction 19:56:41 but i also gain a big ... a very big advantage 19:57:06 what is as huge as the performance loss :) 19:57:22 i can write clients in any language 19:57:26 --- join: aaronl_ (aaronl@vitelus.com) joined #forth 19:57:40 coz, most of languages r able 2 handle files 19:57:46 --- part: aaronl_ left #forth 19:57:55 and here comes the 2nd exmaple 19:57:59 example 19:58:09 the 4th-irc-bot 19:59:19 u can communicate from the scripting language of any irc client 19:59:30 to a 4th program 20:00:02 k 20:00:16 how do u like it? 20:00:20 any questions? 20:01:03 the 3rd usuage is the real usage infact 20:01:12 how would the irc script talk to the forth bot ? 20:01:20 other than thru /msg etc 20:01:27 u lost me on that one heh 20:01:41 id like 2 use cgi programs to send/receive msg to/from my building control 4th program 20:02:23 u can tie prg snippets to any events in epic4 20:03:50 ya 20:03:52 so u can say sg like on public_event { from to msg } { [match {4th:} $msg] ...} 20:04:00 give your control a WEB interface 20:04:14 yup 20:04:51 so i can display the floor schema of the various floors of the building 20:05:03 on html pages 20:05:15 1st simply in tables 20:05:53 but l8r in image maps, what could reflect the accurate form of the floor 20:06:01 s/in/with/ 20:07:32 w this file interface u can really easily interface any other program to your 4th 20:08:27 ya 20:08:30 the only requirement against the 4th program is the polling of the msg files 20:08:55 have u already implemented file handling in isforth? 20:09:10 well yes. using syscalls hehehe 20:09:12 like open-file, read-file ... 20:09:21 the sockets is work in progress tho 20:09:46 isforth has to be able to handle files. it does fload and fsave remember 20:09:50 yeah, i know of the later :)) 20:10:11 sure it does, but i havent chked how :) 20:10:46 it uses and 20:11:00 fsave and turnkey are not part of the kernel - they are extensions 20:11:00 but fload is built in 20:13:08 hmm, those require 0terminated strings, dont they? 20:13:49 yes but isforth has s>z 20:13:56 which zero terminates a counted string 20:14:04 cant use it on compiled in strings of corse 20:14:08 do emit & type r defered? 20:14:11 but you can on strings at hhere or in pad 20:14:38 c 20:14:49 far from convenient, tho... 20:14:50 the word "word" parses the input to hhere (head space) - s>z can null terminatte that 20:15:00 yes emit key type etc are all defered 20:15:05 so is quit :) 20:15:32 good 20:15:47 i allow ' myapp is default turnkey app-name 20:15:47 or 20:15:57 * onetom needs 2 take a short nap 20:16:01 ' myapp is quit turnkey app-name 20:16:05 hehe me 2 :) 20:16:15 :) 20:16:24 its 5:23am here 20:16:27 the latter is the recommended way in isforth 20:16:29 eep! 20:16:32 go to bed dood! 20:16:52 i have 2 finish this communication stuff 20:17:10 and i also have 2 make it reentrant... 20:17:30 what is an other nice problem 20:18:10 u know i have 2 b able 2 handle several connections, so 20:18:45 the msg file polling code have 2 b multipliable 20:19:35 isforth needs a select 20:19:41 it doesnt use select yet 20:26:14 neway me go zzz :) 20:26:14 nite nite 20:26:14 --- quit: I440r ("Reality Strikes Again") 23:05:58 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 23:59:59 --- log: ended forth/02.04.08