00:00:00 --- log: started forth/03.02.23 00:02:52 --- quit: gilbertbsd ("Client Exiting") 00:17:13 Fractal: hi 00:17:24 r u there? 00:17:48 --- part: flyfly left #forth 00:49:59 --- join: flyfly (~marekb@ip164.ktvprerov.cz) joined #forth 00:50:18 hi all 00:59:22 hi fly 01:06:39 what is bashforth? 01:06:51 guess :) 01:07:30 ok where can i find it? :) 01:07:50 between your email 01:09:41 gilbertbsd told me you wanted a copy 01:09:55 so i've put you in the mail list 01:12:22 thanx but how do u know my mail? 01:12:48 from your log-out message 01:13:43 didn't bounce 01:17:21 --- quit: flyfly ("using sirc version 2.211+KSIRC/1.2.1") 01:17:47 --- join: flyfly (~marekb@ip164.ktvprerov.cz) joined #forth 01:19:23 can i give you another email? 01:32:51 sure 01:33:19 marekb@sendmail.cz 01:33:21 thanx 01:34:02 you got a copy, or do i need to resend the latest ? 01:34:47 resend please 01:35:03 done 01:35:57 thanx 01:36:51 got it :) 01:49:04 Speuler: hermantom freemail hu 01:49:09 --- nick: onetom_ -> onetom 01:50:44 hi onetom 01:55:38 hi 02:53:07 --- join: Anachrony (~RedDragon@lanelec.spk.cz) joined #forth 03:03:50 --- quit: Anachrony ("Client Exiting") 03:39:51 has anyone here used a forth as an apache module 03:39:53 instead of a cgi 03:40:01 --- join: mur (jukka@baana-62-165-186-8.phnet.fi) joined #forth 04:17:42 --- quit: Speuler (Read error: 110 (Connection timed out)) 08:04:23 --- join: gilbertbsd (~gilbert@fl-nked-ubr2-c3a-29.dad.adelphia.net) joined #forth 08:07:58 terve gilbertbsd 08:08:16 terve mur 09:17:13 --- join: Speuler (~Speuler@mnch-d9ba4ed4.pool.mediaWays.net) joined #forth 09:17:23 guten morgen 09:17:33 hi all 09:19:54 Earthquake-man. 09:20:09 How's the Forth treating you today? 09:20:10 hehe 09:20:16 just got up 09:20:19 don't know yet 09:20:22 Whoa. 09:20:27 Got up at 18:20? 09:20:36 That's freaky :) 09:20:55 i'm living by 27 hour day right now 09:21:21 Hehe, okay. 09:21:27 came back this morning at about 6 09:21:42 played with computer till 10 09:21:45 Forgot the length of the day on this plannet, eh? 09:22:02 t'is winter 09:22:27 little diff between day and night 09:22:55 sun will reset my clock 09:24:33 bashforth knows does> now 09:24:42 Neat. 09:25:12 they way i implemented it can't be done with other forths 09:25:39 because of the soecial type of threading bashforth uses 09:28:54 that made does> easier 09:40:59 speuler do you ummm vi? 09:42:04 different. joe, mped, ncedit 09:42:29 have phased out zed 09:43:15 must be beaten to use vi 09:47:36 speuler do any of those editors of auto completion ? 09:48:45 of the kind : solve 09:48:48 ? 09:49:07 se cpt 09:49:13 turn on vi and try it :D 09:49:21 when was the last time you used vim? 09:49:27 bashforth does auto completion :) 09:49:41 about ... half a year ago 09:50:27 but haven't programmed completion to bashforth words 09:50:37 it completes file names in current directory 09:50:54 vim does it automagically. 09:50:58 you type se cpt 09:51:01 and ctrl p 09:52:00 "pattern not found" 09:52:08 huh? 09:54:40 nedit has a "complete word" feature, ctrl-d 09:54:50 sorry, alt-d 09:55:31 when i type "te", it makes "test" from it 09:55:40 i made garphics 09:55:42 graphics 09:55:44 http://murr.host.sk/kuvat/freeciv/ 09:55:57 and "machine" from "ma" 09:56:21 what if i wanted to write macro instead? 09:56:28 and "Speuler" from "Sp" :) 09:56:47 Euler.' 09:56:50 ma > machine, mac macintosh, macr = macro hm 09:57:03 not alt d 09:57:04 in fact, "S" is enough 09:57:05 its altp 09:57:10 oops ctrlp 09:57:14 and mur? 09:57:15 and ctrl n 09:57:41 hehhe. 09:57:44 version 5.3 which i'm using has it on alt-d 09:57:48 in vim its ctrlp, ctrl n. 09:57:55 version 5.3 of who? 09:57:56 vim ? 09:57:59 nedit 09:58:28 is not a console editot though 09:58:31 needs x 09:59:03 hmmm. needs x. 09:59:11 whats the advantage of having it use x? 10:00:06 alt-, ctrl-alt, shift-alt etc key combinations 10:00:24 * mur presses ctrl-alt-del 10:03:01 * Speuler does food gathering in metropolic life 10:03:17 hmm picking food from trashcans? 10:03:40 yes, that might be an alternative 10:03:51 hehe. 10:03:52 lots of fresh vegetables 10:03:52 you geeks. 10:03:59 I am glad I am not a geek at all. 10:04:05 yes you are 10:04:09 uh uh. 10:04:12 :) 10:04:17 I am interested in finding women. 10:04:19 but ignorant >:) 10:04:25 gilbertbsd, so are all geeks 10:04:30 but they never accomplish 10:04:31 I haven't started searching because I am busy, but i am interested. 10:04:41 weird evolution that geek population still doenst get smaller 10:04:45 gilbertbsd: why, are they more nutriciuos ? 10:05:00 hehe. 10:05:19 there must be some all the time pregnant geek females 10:05:21 that reproduce 10:05:25 Speuler yeah thats what I hear. the Miami women are a little 'thicker' therefore juicier. 10:05:52 and last longer 10:05:56 perhaps geek born smaller some 3 months before normal and so a geek female can give birth to at least 2 geeks a year 10:06:03 hmm 10:06:13 thicker hmm 10:06:26 hehehehe 10:07:17 * mur considers becoming vegan and trashcan food collector 10:07:30 i have thought abot it for real 10:07:38 it's more ecological way of life 10:08:58 gilbertbsd, what do you think, do geek females give birth 3 months sooner or do they automatically bear 2 geek children at one time+ 10:08:58 ? 10:17:57 at one time. 10:18:01 twins, triplets .. 10:18:07 quadruplets. 10:20:38 thats 4 in a year. 10:20:48 its better to go for multi births than for truncated births. 10:22:59 hm 10:23:04 Robert, what do you think? 10:23:08 About? 10:26:07 geeks 10:26:24 oh gilbertbsd do you know if geeks fertilise in cyber sex? 10:26:37 nope. 10:28:23 a long time ago, people tried to modify animals and their kids by chopping off their tails. 10:28:48 a little like modifying code by simple cutting portions of it. they did'nt realize they had to modify the dna somehow 10:29:04 its the same way geeks are trying to fertilize in cyber sex. 10:29:20 oh now i understand 10:29:20 one day, they will know there is a compression format to use :) 10:29:35 i have theory how they reproduce 10:29:39 first they have cs 10:29:44 then the mouse is sticky 10:29:51 yes, a dry run rapid prototype. 10:29:54 then they exchange mouse pads or mouse 10:30:04 yep. gift exchange :D 10:30:16 and then cs again ... 10:30:19 oh dear 10:30:51 although you can not determine the father since most of the time in cs both are male 10:30:59 and mice are exchanged often 10:31:02 i think 10:39:31 --- quit: mur ("MUR!") 10:39:41 --- quit: flyfly (Read error: 104 (Connection reset by peer)) 10:51:36 re 11:07:29 --- quit: Robert (Remote closed the connection) 11:19:27 --- join: Robert (~snofs@h138n2fls31o965.telia.com) joined #forth 11:24:43 --- join: Robert_ (~snofs@h138n2fls31o965.telia.com) joined #forth 11:24:43 --- quit: Robert (Remote closed the connection) 11:30:06 --- quit: Robert_ (Remote closed the connection) 11:46:58 --- join: Robert_ (~snofs@h138n2fls31o965.telia.com) joined #forth 11:48:57 --- join: alvint (~alvin@pcp283201pcs.elkrdg01.md.comcast.net) joined #forth 11:49:40 holy crap! i haven't used this language in 15 years! people still code in it? 11:50:05 All the time. 11:50:37 it must have changed a lot; does it use i file system now? 11:52:06 That depends on the implementation. The ANS standard has a wordset for files. 11:52:14 alvint: do you have bash? 11:52:30 treyb do you have bash? has speuler emailed you? 11:52:34 --- quit: Robert_ (Remote closed the connection) 11:52:52 wordset? last i used it , it had 'virtual memory' system 11:53:11 gilbertbsd: I run bash. I haven't received an Email from Speuler. 11:53:28 treyb poke speuler and get bashforth ! 11:53:34 alvint do you have bash? 11:53:36 gilbertbsd: no thanks :-) 11:53:43 TreyB: yes 11:54:04 I think you meant that response for gilbertbsd, alvint. 11:54:14 TreyB: why not? 11:54:17 go on and try it :D 11:54:25 gilbertbsd:yes 11:54:35 get speuler to give you a copy of bashforth. 11:55:25 are there docs for the latest implementation? last i used was forth-77 11:55:55 docs on the latest implementation abound. 11:56:00 alvint what OS are you running? 11:56:13 linux, win2k 11:56:24 alvint: http://www.taygeta.com/forth/dpans.html 11:56:32 good, there are lots of implementations for linux and windows. 11:56:42 cool i'll look it up 11:56:46 gforth, isforth, tile, 4th, and now bashforth. 11:56:50 coming soon to a bash near you. 11:56:59 alvint: Only vendors provide implementation docs. That link provides the ANS specification. 11:57:49 ANS specifically avoids implementation details. Modern Forths compile to optimized native code. 11:57:52 gilbertbsd: what are the advantages of using forth these days over other languages? 11:58:07 alvint: I play with it only. 11:58:12 I still don't completely know why . 11:58:13 :) 11:58:17 :) 11:58:28 a bunch of people here use it professionally though 11:58:42 and there is a whole other bunch busy re-implementing it in various ways. 11:59:39 do you still design from the 'bottom up'? 11:59:46 me? no. 11:59:48 they? yes :D 12:00:01 it is still a cult favorite. 12:00:15 heh, don't know if i can get used to that again 12:00:59 what do you program in now/ 12:01:00 ? 12:01:13 mostly c++ and java 12:01:42 they say the internals of java, the vm or whatever is very forthy. 12:01:58 ah, interesting... 12:02:11 wouldn't surprise me 12:02:39 but Chuck moore is no longer using forth. 12:02:47 the news group is very active ... 12:03:07 and the books are still not easy to come by. 12:03:17 i'll definetely have to check it out 12:03:18 Chuck Moore does indeed use forth every day. 12:03:36 no, he uses colorforth 12:03:53 gilbertbsd: why do you say he doesn't? 12:04:01 is forth == colorforth? 12:04:29 --- join: flyfly (~marekb@ip164.ktvprerov.cz) joined #forth 12:04:47 IMHO, Chuck gets to call "forth" just about anything that he wants :-) 12:05:00 including the unreadable! 12:05:07 --- part: alvint left #forth 12:21:27 --- quit: TreyB () 12:30:29 --- join: Robert_ (~snofs@h138n2fls31o965.telia.com) joined #forth 12:45:56 --- quit: Robert_ (Read error: 104 (Connection reset by peer)) 12:49:07 --- join: reddragon (~reddragon@lanelec.spk.cz) joined #forth 12:49:48 --- part: reddragon left #forth 12:53:33 --- join: Robert_ (~snofs@h138n2fls31o965.telia.com) joined #forth 13:00:10 --- join: TreyB (~trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 13:01:25 --- quit: Robert_ (Remote closed the connection) 13:12:51 --- join: Robert (~snofs@h138n2fls31o965.telia.com) joined #forth 13:17:40 --- quit: flyfly (Read error: 113 (No route to host)) 13:17:56 --- quit: Robert (Remote closed the connection) 13:18:02 --- join: Robert (~snofs@h138n2fls31o965.telia.com) joined #forth 13:18:42 --- join: kc5tja (~kc5tja@ip68-8-206-137.sd.sd.cox.net) joined #forth 13:19:34 --- join: flyfly (~marekb@ip164.ktvprerov.cz) joined #forth 13:19:42 . 13:21:00 re 13:23:10 guys you outta check out speuler's bashforth 13:23:13 ask him for it. 13:24:14 bashforth? 13:24:21 yep 13:24:25 poke him for it. 13:24:34 he might dcc it to you or email it. 13:28:00 Well, I've not much time myself. 13:28:03 I can't stay too long. 13:28:10 But it's been a long while since I last came here. 13:28:33 yeah /msg him with your email address and ask him to send it if you want. 13:28:39 I think its really neat. 13:31:45 its great 13:35:01 --- quit: Speuler (Operation timed out) 13:38:33 Is it Forth implemented in Bash script? 13:38:38 yes. 13:38:54 I can email what I have to look at if you like. 13:38:55 How well does it handle numeric operations (e.g., + - * / etc)? If it's decent, I can use that. :) 13:39:03 it does, it is. 13:39:09 Sweet. :) 13:39:18 * kc5tja is researching memory management techniques for a project I'm working on. 13:39:47 I went from garbage collection to linear logic, and now to a "garbage collection optimization" used in functional programming languages called "region-based" memory management. 13:40:07 Regions are **very** similar to Forth dictionaries, as far as memory allocation is concerned. 13:40:10 sounds more like geography. 13:40:43 This is a possible reason why Forth lacks dynamic memory management words like other languages, because it's already implicitly dynamic without us even recognizing it. :) 13:40:52 I'm writing a message on c.l.f about it now. 13:41:12 would you like me to email you bashforth 0.20 ? 13:41:53 --- quit: Robert (Read error: 104 (Connection reset by peer)) 13:44:38 --- join: Speuler (~Speuler@mnch-d9ba47ee.pool.mediaWays.net) joined #forth 13:45:12 speuler bashforth behaves funnily in solaris 13:45:49 ? 13:46:00 lemme get the exact error. 13:46:30 what's the version of bash ? 13:46:39 2.03 13:46:46 what version is it supposed to be? 13:46:50 stepan found that bashforth requires bash 2.05, doesn't work with 2.04 13:46:56 ah okay. 13:47:10 ack 13:47:49 i should be able to fix it though. need old bash first 13:48:31 --- join: Robert (~snofs@h138n2fls31o965.telia.com) joined #forth 13:48:32 I think its just a matter of syntax. 13:49:06 looks like <2.05 is more sensitive to $ before var 13:55:10 --- join: male (~male@cpe-024-033-024-002.midsouth.rr.com) joined #forth 13:55:15 hi male 13:55:21 --- quit: male (Client Quit) 13:55:24 bye male 13:55:29 Speuler: Where can I download bashforth? 13:56:04 --- join: Anachrony (~RedDragon@lanelec.spk.cz) joined #forth 13:56:34 --- quit: Anachrony (Client Quit) 13:56:48 kc5tja: i can put you on the mailing list. need your emial address 13:57:14 bashforth needs a website already. 13:57:18 --- join: Robert_ (~snofs@h138n2fls31o965.telia.com) joined #forth 13:58:58 i can try whether my cgi stuff works with bashforth. that would be authentic, using bashforth to generate html for the bashforth web page :) 13:59:11 that would be insteresting. 13:59:24 sounds better than "insane" :) 14:01:53 recent source is on http://logilan.info/~l 14:02:30 --- quit: Robert (Connection timed out) 14:02:50 yep its there. 14:03:43 --- quit: Robert_ (Remote closed the connection) 14:04:08 --- join: Robert (~snofs@h138n2fls31o965.telia.com) joined #forth 14:13:49 --- quit: Robert (Remote closed the connection) 14:14:29 --- join: Robert (~snofs@h138n2fls31o965.telia.com) joined #forth 14:25:21 --- quit: flyfly ("using sirc version 2.211+KSIRC/1.2.1") 14:25:50 Speuler: I'm not too sure I'm interested on being on a mailing list per se. 14:26:00 he has a web address too. 14:26:05 http://logilan.info/~l 14:26:13 kc5tja: i've just put the source on ,, 14:26:14 ah 14:26:17 thanks gilbertbsd 14:26:20 :D 14:26:50 --- join: flyfly (~marekb@ip164.ktvprerov.cz) joined #forth 14:27:03 but i broke loops in v21 14:27:07 just notice 14:27:15 Yeah, no offense intended. But I try not to get on too many mailing lists as a general rule. 14:27:34 hmmm, its not a mailing list 'mailing list 14:27:35 ' 14:27:36 Well, that's the version I just downloaded, I think... :) 14:27:46 kc5tja: i send only new versions to the list 14:28:06 v20 loops still work 14:29:12 hide, reveal is missing in v20 14:29:39 I'm getting a "bash: ./bashforth_v0.21: /bin/sh: bad interpreter: Permission denied" error upon running it. 14:29:56 (/bin/sh originally read /bin/bash; I thought that might have been the problem at first, but I changed it to check) 14:30:23 I'm using BASH 2.05a0.1 14:30:30 kc5tja: locate your bash, put its path on first line, it is probably not in /bin 14:30:31 I'm using BASH 2.05a0(1) rather 14:30:38 2.05 is fine 14:30:39 It's in /bin 14:30:50 which bash ==> /bin/bash 14:30:51 /bin/bash ? 14:31:05 Let me try something... 14:31:28 #!/bin/bash ( first line of script ) 14:31:46 try #! /bin/bash 14:31:47 OK, I had to chmod 755 it for it to work. 14:31:53 ah 14:31:55 ok 14:32:12 Although I can't do : definitions. I take it it's still fairly incomplete? 14:32:22 not really 14:32:39 1 2 3 + + . doesn't work 14:32:41 it just sits there. 14:32:42 can do colon words. has does> , do loop, execute, 14:32:53 : reports the word isn't found. 14:33:18 Hi kc5tja. Long time no see :) 14:33:39 Oh well. It's still pretty neat. I'll have a look at it in more detail when I have additional time. 14:33:42 re robert 14:33:55 Robert: It'll probably be even more time before you see me again. :D 14:34:12 kc5tja: can do colon words. has does> , do loop, execute, flow control etc 14:34:44 kc5tja: what os ? what cpu ? 14:35:01 kc5tja: version 2.05 for sure ? 14:35:30 kc5tja: do you have the "cut" command ? 14:35:44 Speuler: OS = Linux, CPU = Intel compatible, BASH = 2.05a0(1) 14:35:58 Speuler: /usr/bin/cut 14:37:16 beats me 14:37:32 does it come up with name/version num ? 14:38:04 what distrib ? 14:38:25 kc5tja: Awww.. What will you be doing? 14:39:41 --- quit: Robert (Remote closed the connection) 14:39:44 i suspect your bash is broken :) 14:51:04 --- join: Robert (~snofs@h138n2fls31o965.telia.com) joined #forth 14:52:52 v22 is on. loops fixed. ?comp added 15:00:25 will tackle catch throw now 15:01:35 --- quit: Robert (Remote closed the connection) 15:06:50 --- join: Robert (~snofs@h138n2fls31o965.telia.com) joined #forth 15:07:08 don't go anywhere robert. 15:07:14 Grr... 15:07:15 there is a lollipop in this for you. 15:11:55 --- quit: Robert (Remote closed the connection) 15:12:30 --- join: Robert (~snofs@h138n2fls31o965.telia.com) joined #forth 15:12:49 no lollipop for you if you don't sit still robert ;) 15:22:32 --- quit: Robert (Remote closed the connection) 15:54:47 TECO is a forth like language? 15:56:39 brb -- food 15:56:41 --- nick: kc5tja -> kc-food 16:08:48 --- join: TheBlueWizard (TheBlueWiz@ip-216-25-202-182.vienna.va.fcc.net) joined #forth 16:08:54 hiya all 16:09:12 hi tbw 16:09:30 hiya Speuler...I heard you created bashforth 16:09:36 correct 16:09:53 cool 16:10:02 does now does> too 16:10:03 how does it "work"? 16:10:11 just busy with catch/throw 16:10:22 not too fast 16:10:22 * TheBlueWizard nods 16:10:29 but ok 16:10:33 not too fast? 16:10:33 tolerable 16:10:56 a native-code implementation would have been quicker 16:11:14 but it's quicker than i expected 16:11:34 ah...I see...what it is being implemented in? 16:11:40 bash 16:12:01 ouch! that's hard to do! 16:12:18 pure bash script, except for the use of cut to split the input line 16:12:36 no not really 16:12:52 http://logilan.info/~l 16:13:16 needs bash 2.05 16:13:37 hmm....bash isn't exactly "skilled" with data structures higher than variable assignments 16:13:41 and it didn't run under kc5tja's bash 16:13:56 needed some tricks 16:14:07 for example, converting a char into ascii 16:14:07 kc5tja has his own version of bash? 16:14:23 it is supposed to be 2.05, but it wouldn't work there 16:14:33 no idea why 16:14:53 the conversion uses binary search :) 16:15:22 * TheBlueWizard doesn't know the subtle differences between standard versions of bash so he can't say.... 16:15:22 64-bit math ! 16:15:44 64-bit math in bash??? interesting.... 16:15:53 300000000 allot works fine too ... 16:16:12 oh, commaing/compiling after that as well... 16:16:41 hmm...interesting 16:16:53 has the feel of a real forth 16:17:00 on a slow machine 16:17:35 like a 8 MHz machine, eh? :) 16:17:54 for example, words (125 word) takes a whole second 16:18:08 well, half a second 16:18:17 500 mhz here 16:18:47 I mean feel like working on a C-64 in that environment (speed wise)? 16:19:16 base is not supported right now 16:19:25 everything in base 10 16:19:47 and, i don't test for stack underflow yet 16:20:19 base is pretty easy to implement, but it does require that the word be parsed char. by char. (can't just "eval" a number the easy way :) 16:20:26 no s" ." yet. otherwise, it is pretty complete now. 16:20:38 bashforth can do that 16:21:01 hmm...and does ! and @ work in "traditional" sense? 16:21:31 key 1+ emit works, : xxx bl word do count 1+ emit loop drop ; xxx garbage too 16:21:33 yes 16:22:05 c@, c! @, !, count 16:22:35 t'is hard to notice a difference 16:22:37 impressive 16:23:28 c, , 16:23:55 so dp must be used... 16:23:59 right 16:24:45 i don't show the variable dp in the dictionary. you need allot, and here 16:24:59 so you implemented an array of cells and then code it so that each cell represents a basic "atomic" stuff, be it number, string, whatever, right? 16:25:28 yes. array variable m (for memory) 16:25:56 return stack and data stack have their own arrays 16:26:42 all experiments with create does> worked fine, no difference to conventional systems 16:27:04 interesting! 16:27:20 iplementation time: 3.5 days 16:27:46 busy with the candy now. didn't count that 16:28:21 milestone "fully working interpreter" was reached yesterday 16:28:45 colon definitions two days earlier 16:29:11 great :) 16:29:18 --- join: sma (stephenma@207.6.229.22) joined #forth 16:29:28 since milestone, i added hide, revela, improving error handler, ?comp, ?exec. stuff like that 16:29:39 nothing essential 16:31:05 fluff, yeah, but important in the sense that you just want to make it more polished and get as much mileage as you can...I did the same with my mathboard project :) 16:32:13 there's no so much on the to-do list anymore. include i'd need. catch/throw (busy now), multitasker 16:32:32 * TheBlueWizard nods 16:32:51 is not comfortable to copy/paste source 16:33:07 of course I don't think you would want it to be ANS Forth like 16:33:16 huh? 16:33:22 why would you think that ? 16:33:34 it has accept 16:33:46 no expect 16:34:04 ans subset 16:34:07 I understand ANS Forth is not popular with some Forthers (e.g. I440r :) 16:34:46 my own forths incorporated changes before they were adopted by ans :) 16:35:10 i settle for a compromise 16:35:24 i don't strive for full ans compliance 16:35:30 but i won't fight it 16:35:58 some additions are useful 16:36:23 denying them just because it is ans sounds stupid 16:36:49 i prefer ans to f79 16:37:46 if i have a reason not to follow ans, i don't 16:38:15 and, dup and drop still work the same, don't they ? 16:39:14 what i have in about all forths is a create which accepts ( a n -- ). nowadays i give it a different name though :) 16:39:46 also, my find tends to accept ( a n -- ??? ) 16:40:01 same thing, different name now 16:40:49 I see 16:50:43 here gives 791 now. whereof 256 bytes for tib 16:54:45 --- nick: kc-food -> kc5tja 16:55:01 hiya kc5tja :) 16:56:07 re 16:56:52 I figured I haven't been here in a while, so I decided to stop by for a change. 16:56:57 Most of my time is spent in school now. 16:58:23 school? hmm.... 16:58:46 you still working for a company? 17:00:39 Not at the moment. I got laid off back in November. I'm still looking though. 17:01:40 aw....sorry t' hear that 17:02:46 No worries. 17:02:49 I'm not the only one in this boat. 17:02:57 But it is getting to be penny pinching for me. 17:03:12 * kc5tja is looking to somehow get into some shareware, so that I can generate SOME kind of revenue. 17:03:36 kc5tja: the software business isn't doing so well? 17:04:04 I was going to make my own Oberon compiler for that purpose, but for the short term (and because I need a VM to run it on the Palm device anyway), I'm thinking of switching (temporarily) to Forth for it. 17:04:17 gilbertbsd: I don't have a software business. 17:04:18 Oberon? 17:04:30 kc5tja business meaning $$$ generating. 17:04:38 Oberon is a language invented by Niklaus Wirth, as a refinement of Modula-2. 17:04:39 not necessarily a legal entity. 17:04:46 yeah I know what oberon is. 17:04:47 gilbertbsd: kc5tja used to work for a hardware company 17:04:48 but why it? 17:04:53 gilbertbsd: Well, no technological business is making much money right now. 17:05:13 tech is not that essential in business. 17:05:25 Because Oberon has vastly superior modularity support, a substantially safer type system, and nice, clean, easy to read syntax. 17:05:28 its an expense, and it does'nt help that the MIS departments screwed it up badly the last time around. 17:06:00 gilbertbsd: Well, MIS departments didn't screw anything up. MIS departments are the most conservative people out there, next only to financers. 17:06:20 But it's all the dot-coms that sprung up with wild and crazy, demonstrably irrational business ideas that ruined it all. 17:06:26 And the VCs who supported them. 17:06:51 kc5tja: I don't think they are as conservative as financiers. 17:07:15 They are only because they get limited budgets. :) 17:07:20 I think they don't know what they are doing and their bosses don't know either :) re Y2k & dotbomb 17:07:21 * kc5tja was one for six years. 17:07:32 dotbomb? 17:07:41 Y2K isn't their fault either. 17:07:52 sure sure, but it is a buzz word driven industry. 17:07:59 Y2K is the problem of COBOL programmers back in the 60s, who wrote their code not thinking it'd last for 40 years. 17:08:12 it didn't break that badly. 17:08:18 it could have been, and was patched. 17:08:19 It didn't break at all. 17:08:23 hahah 17:08:34 Patch or no patch, nothing abnormal happened. 17:08:36 Nothing. 17:09:01 too many buzzwords for anyones own good. 17:09:02 And it all boils down to the coding standards used in the 60s, where the discipline of software engineering (versus just programming) wasn't at all developed. 17:09:08 Buzzwords has nothing to do with it. 17:09:15 also too many 'gurus' like tom peters beating upon the wrong drums 17:09:28 * kc5tja doesn't know who Tom Peters is. 17:09:30 and when it comes to computers in business, its all about keeping up with the joneses. 17:09:42 he wrote 'in search of excellence' 17:09:48 And again, what you're complaining about has zero to do with the problem you outlined. 17:10:14 1. when a new buzz word comes around, people swarm towards it. 17:10:27 goodness there are too many examples to start listing. 17:10:45 OK, sure, it's called advertising. 17:11:02 software engineering might be part of the whole problem. 17:11:02 But Hifn doesn't use Java technology anywhere in its business. 17:11:11 No, marketing is. 17:11:13 Hifn? 17:11:21 The company I worked for before getting laid off. 17:11:26 ah okay. 17:11:36 lemme explain my whole position. 17:11:59 Computers are only necessary to help manage the volume of transactions to be handled. 17:12:15 they are a tool, and never _The_ solution to anything. 17:12:36 I think in a good number of cases, you can get rid of them entirely and things will be just fine. 17:12:48 sure, it will take longer but whats the damned hurry? 17:13:39 Of course. 17:13:51 But getting rid of them means you hire more people to take up the slack. 17:13:56 thats fine. 17:14:01 That means you pay more in wages, longer, and benefits. 17:14:02 it is better for the economy. 17:14:17 That produces a substantially negative impact on the company's financials. 17:14:31 computers are a technology, and technologies main role is to amplify some ability or skill or ther. 17:14:58 in a good number of cases, the failures exposed by 'computerising' are a failure to understand the underlying skill. 17:15:01 Throughout history, technology has always replaced animal or human power. 17:15:11 but there is a point where it is TOO much. 17:15:20 Oxen replaced human slaves, the engine replaced oxen, and so on. 17:15:28 kc not true. 17:15:36 human slaves replaced oxen. 17:15:42 hehe 17:15:48 the engine replaced human slaves. 17:15:54 but what to do with them after that? 17:15:57 no one figured that out. 17:16:10 Exactly. 17:16:14 It's not the manager's problem. 17:16:29 Just like it's not Hifn's problem to find replacement employment for me. 17:16:36 but its a burden society, including the manager faces afterwards. 17:16:46 No, sorry, it isn't. 17:16:55 Anyone who thinks that is being sorely deceived. 17:17:08 As soon as you get laid off from a job you like yourself, you'll quickly realize this is true. 17:17:08 you don't understand. is it a societal problem? 17:17:42 Maybe to some extent, but I certainly won't go as far as to say that it's ONLY the problem of the society. 17:17:52 If you want something, you have to take the initiative to get it yourself. 17:17:57 Nobody is going to hand something to you on a silver platter. 17:18:11 Every welfare system designed around that precept has failed, including that of the United States. 17:18:20 And now we're suffering badly for it, creating yet another societal problem. 17:18:43 That's why I'm not sitting on my laurels with respect to making money. 17:18:54 Even if it's just a little bit, my shareware plans will at least let me cover food. 17:18:56 Or next semester's books. 17:18:58 SOMETHING. 17:19:07 But it's *ME* that's making the decision to do this. 17:19:09 Not society. 17:19:47 it is certainly you. 17:19:57 but the burden of your unemployement is born by society. 17:20:27 so since your manager belongs to society, he is then going to bear the burden in that context as well. 17:20:32 Oh, I don't know about that. I haven't gotten any kickbacks from the government yet for being unemployed. 17:21:19 there is such a thing as a good, and a bad. 17:21:23 in economics Ie. 17:21:56 management pursues the profit of the organization almost to the exclusion of everything else. 17:22:07 in extreme cases, you have lots of cheating my management. 17:22:20 however, the slew cast by businesses are bads! 17:22:40 just as you driving down the road is a societal bad in terms of pollution and a whole lot else. 17:26:38 There's also a thing called responsibility that the managers have too. 17:26:46 A business exists to make money. 17:26:57 That money is then distributed through the various people who comprise that business. 17:27:08 Yes, there are a few bad apples that make the headlines of major newspapers. 17:27:09 kc5tja: hiii ;) 17:27:18 but you understand that the business is an organization right? 17:27:29 But the majority of businesses are not ruthless derelects who try to steal money from the poor to give to the rich. 17:27:30 the 'organization' then becomes a pseudo-living thing... 17:27:40 Yes, by responsibility. 17:27:54 this living thing then starts behaving like all living things. 17:27:57 I can't just go into business tomorrow with 5 employees, and the next week say, "Oh, sorry, I've decided to close the business." 17:27:58 it tries solely to survive. 17:28:04 which is why people get laid off. 17:28:15 kc5tja: yes you can. 17:28:17 I have an obligation to my employees to make good on my contract with them, that in exchange for their services, I have to pay them. 17:28:31 No, I'm sorry, but you have a lot to learn about how a business operates. 17:28:46 I've been on both ends of the stick (I've not only been laid off, but I've laid off other people myself). 17:28:47 there is nothing that says a business can only close down at a certain time! 17:28:57 Yes, actually, there is. 17:29:02 and what is that? 17:29:09 In the US, there's this thing we call the "SEC" -- Securities Exchange Commission. 17:29:24 the puppet of wall street? 17:29:36 if you are a publicly traded company sure. 17:29:46 And if you're in business, as an independently legal entity, and you go out of business with 100s of employees, and are otherwise profitable, you WILL be investigated by the SEC, the IRS, and the FBI. 17:30:11 if you go out of business with the aim of absconding with the profits, indeed. 17:30:23 Even if you're not a publicly traded company, people will look suspiciously on you. Banks won't want to lend to you. Nobody will want to work for you in your next job, etc. 17:30:24 there are reasonable limits. 17:30:55 there have to be legitimate reasons. 17:31:02 And if you have more than 10 employees, and not an incorporated company (the SEC also governs over privately traded companies), you're just begging for trouble. 17:31:06 if the reason was to scam people, thats a different matter. 17:31:13 Exactly. 17:31:19 You just don't "go out of business" for the hell of it. 17:31:25 That's my point. 17:31:27 kc5tja I know who the SeC is. 17:31:35 catch/throw seems to work 17:31:37 I was an econ major before I switched to CIS. 17:31:47 Well, then you should know all these things. 17:32:06 I do know. 17:32:19 but I also used my head instead of just writing down what my prof said. 17:32:56 So far, your attempts to persuade me have failed: I've not seen a lick of sound logic, let alone proof. 17:33:14 I mean, they may be valid opinions, but I don't accept them as sound reasons. 17:33:25 and you had sound proofs ;) 17:33:27 ? 17:34:33 I have first-hand experience... I've been in the position of the manager who's had to lay off people. I've been in the position of maintaining the company's balance sheets and cash flow statements. And I know what it's like to manage a company of moderate size. I know what it's like to have to balance the needs of employees against the needs of the company itself. 17:34:49 It *sucks* to lay off people. Especially people you like a lot. 17:35:19 The last time I had to lay off a person, I spent two months doing very, very careful financial analysis to ensure that it was, in fact, the most economically viable solution. 17:35:48 And I was honest about the whole thing. I presented my data to said person, and there was no consternation about it. 17:35:59 Ditto with me and Hifn. I knew I was going to be laid off three months in advance. 17:36:04 I also knew why. 17:36:08 I understand completely. 17:36:09 And what impact it had on the company. 17:36:19 what I am criticizing, is the MACRO environment. 17:36:39 And I still contest that. 17:36:59 Just because not all managers are as open as I am, doesn't mean that the same set of managers are evil or corrupt. 17:37:03 because of your anti-socialist bias? 17:37:13 Because of reality. 17:37:21 Socialist or not, people can be evil or good. 17:37:24 Marx was a good person. 17:37:24 I say the macro environment to refer to all businesses within the economy 17:37:30 He really wanted to help society. 17:37:31 was he? 17:37:34 Stalin, however, was outright evil. 17:37:35 I think he was pretty lazy. 17:38:07 OK, now that we've devolved to ad hominems, I see no further point in continuing this discussion. 17:38:49 you started it with 'marx was a good person'. 17:38:57 I didn't go that way until you led the way. 17:39:12 gilbertbsd: because of your anti-socialist bias? 17:39:25 Changing the argument won't help. 17:39:29 heheh. 17:39:38 do you have an anti-socialist bias? 17:39:40 or not? 17:39:43 No. 17:40:08 do you believe there are elements within that system that might be made to work to our benefit? 17:40:37 Sure. 17:40:38 BUT.. 17:40:53 what we're arguing is NOT an issue of socialism versus pure capitalism. 17:42:54 a business exists to chase profits within this environment 17:42:58 it tries to do so at all costs. 17:43:17 Duhh 17:43:18 you said yourself that you scrutinized the books to make sure your friend didn't have to be fired. 17:43:24 Of course it does. 17:43:27 what I am saying is that, the rules CAN be changed. 17:43:38 And I'm saying it can't be changed. 17:44:04 Even in a socialist economy, businesses live on the monies spent by clients and customers. They don't survive on government intervention. 17:44:25 I am also saying under the current rules, technology just enhances the ability of businesses to pursue profits at the expense of the society into which its grafted itself! 17:44:29 There is a contract that exists between the employee and the employer: in exchange for what you offer to the company, we agree to pay you X. 17:44:53 That means it costs the company a minimum of X to hire that employee, which is reflected either as raising prices, or gathering increased business. 17:45:25 I know that completely. 17:46:24 Well, here's my synopsis of the current discussion: 17:46:51 1. We both agree that government (or some other governing body) must have some minimum involvement with maintaining the state of the economy and society as a whole, and 17:47:12 2. The goals of said government are mutually exclusive with the goals of running a company, in the extreme. 17:47:27 Where we disagree is to what extent the government should be involved. 17:47:45 I don't foresee us coming to agreement on that, so we should probably just agree to disagree about it. 17:48:05 my reference to society at large was not a reference to govt at all. 17:48:27 In my observation, where there are rules, there is a government. 17:48:27 a govt is also an organization, which becomes a pseudo-living thing and pursues the goal of surviving at all costs. 17:48:36 rules != govt 17:49:01 Rules are meaningless without a means of enforcing them. 17:49:10 (now if this isn't a socialist attitude, I don't know what is!) 17:49:26 they are meaningful to the extent that they are observed not to the extent that they are enforced!!! 17:49:39 And without enforcement, nobody would observe them. 17:49:48 thats a very bleak observation. 17:50:21 A careful study of human nature throughout history will show it to be true. Humans are inherently greedy creatures, and will, given the opportunity, stop at nothing to get what they want. 17:50:33 The whole reason for a rule is to take away an opportunity. 17:50:51 all very interesting, but I gotta go....bye all :) 17:50:59 hehe. 17:51:26 kc5tja: hence the reason busineses should not be given that much power 17:51:30 or govt's for that matter. 17:51:41 --- part: TheBlueWizard left #forth 17:51:56 however, societies should be organized with a respect towards the other members. 17:52:13 not with a disdain towards the other memebers where ever damned thing is 'verbotten'. 17:52:14 But again, how is that respect going to be enforced? 17:52:34 the fact that enforcement comes into the picture shows there is no respect. 17:52:38 How will you guarantee that said respect will be upheld for the duration of the society's lifetime? 17:52:56 brb phone 17:52:59 the rules firstly are meant for the mutual benefit of all. 17:53:18 back 17:53:22 if, it turns out that one of the rules have been violated, there is then a need to re-examine them. 17:53:31 Then why have any rules at all? 17:53:42 (^ note the re-examination) 17:53:43 for the mutual benefit of the upholders. 17:53:50 Who cares about the upholders? 17:54:01 (now I'm playing devil's advocate) 17:54:04 aha, again the rules becoming a living thing. 17:54:26 the important thing, my whole point is to prevent organizations from asking that question precisely. 17:54:38 How can you ensure that'll never happen? 17:54:48 See, this goes back to the observation that people are just plain greedy. 17:55:05 It only takes a single sour apple to ruin the whole bushelload. 17:55:12 I do not think people are just plain greedy. 17:55:15 * kc5tja does 17:55:20 * kc5tja has experienced it. :( 17:55:30 there is a significant amount of ignorance amongst the greedy. 17:56:13 there is an abundance of everything for every one, the greedy ones help create shortages, and hence the sort of society where you have to enforce rules. 17:56:18 Ahh, enter Thomas Jeffersonian philosophy (which I adhere to as much as I can). What utopian world it would be if everyone maintained a certain degree of self-education. 17:56:41 Well, your ideas have been tried in the past. 17:57:00 Nearly all of them have failed. 17:57:15 The only two that hasn't failed, that comes to mind, is Communist China, and Cuba. 17:57:32 viva Cuba 17:57:35 * gilbertbsd is in Miami. 17:57:52 Hey, I have no problems with Cuba, as long as they keep their missles pointed away from us. :) 17:58:02 hehehe. 17:58:09 But I admit that was largely Russia's doing, not Cuba's per se. 17:58:24 also the revolution was the US's doing and not cuba's per se either! 17:58:42 which is why we are still not on talking terms. 17:59:01 But still, the point is this: the single most effective form of government (if you'll excuse the term) is a dictatorship (which a commercial company is anyway). But as soon as the dictator becomes malevolent, it falls apart big-time. 17:59:43 so you agree that the business world is a collection of mini-soviet unions? 17:59:53 Well, my gut feeling is that Cuba got the short-end of the stick from both sides, so it's only natural for them to not even consider speaking with us. A lot of countries feel that way about the US. 18:00:11 the us started by not talking to Cuba don't forget. 18:00:17 No, a lot of mini-Cubas perhaps. Enron would be an example of a mini-Soviet Union. 18:00:17 but thats a whole digression 18:00:40 Some of the bigger companies would be mini-Chinas. 18:00:45 lots of communist fiefdoms with a 'democratic' facade called the govt. 18:00:50 I agree. 18:00:53 eg, GE 18:01:00 Cargill... 18:01:02 etc... 18:01:07 No company I've worked for has been democratic, nor has made the illusion to be so. 18:01:12 I think I've been pretty lucky in that respect. 18:01:15 not the company... 18:01:18 the outer govt. 18:01:38 the 'rule enforcer' if you will. 18:02:13 or rather, the primary provider of 'law enforcement services'. 18:02:14 Well, it's clear neither solution is a utopian solution, so you have to compromise. And in any compromise, there's bound to be things you don't like about your deal. 18:03:37 I think humans are not yet sophisticated enough to understand and properly address social problems. 18:03:56 we put our efforts into magnifying the proven: technology. 18:04:10 it is much easier since nature has provided the building blocks . 18:04:33 technology in turn magnifies our puny underdeveloped abilites. 18:04:54 so in effect, it magnifies our glaring errors to such a horrible extent. 18:08:01 Yeah, just look at C#. 18:08:04 ;) 18:08:28 hahah 18:08:31 (actually C# isn't a bad language; but I still prefer Oberon and Forth.) 18:08:40 tell me more about oberon 18:08:46 I know who made 18:08:48 i 18:08:48 t 18:08:55 and I know why, but I don't know much else. 18:09:06 Oberon is a development/refinement of Modula-2 -- it's a drastic simplification. 18:09:27 The purpose was to make a system that was small and efficient, without the burdensome overhead of Modula-2. 18:09:30 simplification you say? 18:09:50 But, more importantly, it also added garbage collection to what otherwise is a statically typed, statically compiled language -- something *no* other language in its class has. 18:09:52 so, the rules have been relaxed and the upholders are respected ;) 18:10:04 Are you familiar with reading Python source code? 18:10:09 yes. 18:10:13 not python OO code. 18:10:15 I love python. 18:10:19 Oberon source looks vaguely like Python and Pascal/Modula-2. 18:10:28 hmmm. 18:10:29 v0.23 has been uploaded to server 18:10:47 Oberon isn't OO in the Smalltalk sense, but it is OO in the sense that writing OO programs in it is utterly trivial, even without the special syntax. 18:11:45 Oberon-2 adds a level of refinement on top of that still, in that it's 100% object oriented in the C++ sense (e.g., procedures can be bound to types to basically form classes). However, no new keywords have been added to the language to make this happen. 18:11:45 did you work with the language? 18:11:53 Yes. I absolutely adore Oberon. 18:12:01 Which is funny, because I *HATE* Pascal. :) 18:12:38 I can't quite put my finger on it, but despite being very similar languages, I just find Pascal to be too confining for me. 18:12:41 and you like python too right? 18:12:46 Absolutely. 18:12:52 I haven't touched Perl in over 10 years. 18:12:58 Not directly, at least. 18:13:24 (Well, that's not quite true. I did have to do some Perl coding for Hifn, but man, I was kicking and screaming the whole time) 18:14:37 what did you do for your company? 18:16:03 I think my resume best answers that question. :) http://www.xpsd.com/SamuelFalvoResume 18:16:20 A lot of things, but all were related to the verification of multi-million gate semiconductors. 18:16:48 ah so very forthy work. 18:16:49 And man, I also wanted to introduce Forth there too, but it didn't get any further than my immediate supervisor (he was all for it, but beyond that, it was denied) 18:17:08 Yeah, Forth would have been a *perfect* fit for that profile. 18:17:17 But they killed the project, so I was forced to work in C for most of my stuff. 18:17:40 why did they deny it? 18:17:51 And despite my super-fluency in C (been doing it for 20+ years), it cost them a lot of time because of it. 18:18:09 They were worried that none of the other employees would know how to handle Forth programming, and so, it was not as maintainable as the C code. 18:18:23 Which I could see their point, but c'mon -- the language can be taught in a day. :) 18:18:41 riight. 18:18:55 in my limited experience, there is no forth w/o a good knowledge of asm. 18:19:32 If my immediate supervisor could "get it" with nothing more than a suggestion e-mail, then a team of programmers is bound to get it with a one- or two-day in-depth course. 18:19:39 That can be taught. 18:19:51 Assembly language is NOT hard to learn, nor hard to program in, and these guys all already knew asm anyway. 18:19:59 It's all embedded work, so they had better know it. 18:34:07 so what do you get to do now? 18:42:00 Well, I'm currently going to school, and pondering how best to invest my time to maximize the profits from my shareware project. ;) 18:42:17 Because it's clear that I'm going to have little chance of getting more employment in the near-term. 18:42:28 what are you in for ;? 18:43:32 In for? 18:43:43 Software development, either applications or systems-level development. 18:43:48 Preferably an extreme programming position. 18:43:52 school is a prison :D 18:44:01 they give you a number, and put you in for a number of years. 18:44:16 and you _must_ obey. 18:49:06 And I'm loving every minute of it. It's a nice break from the drudgery of cubicles. 18:49:38 extreme programming position 18:49:39 hehehe 18:49:52 I love going to school 18:49:56 I just don't wanna have to work. 18:49:57 :D 18:50:14 gilbertbsd: I feel that 18:50:19 infact, I should change my major from CIS to philosophy and call the rest of life quits :D 18:50:32 i decided quickly not to major in CIS 18:50:37 Klaw: perhaps there is an academic job in your future? 18:51:04 well, in a comprimise between liberal arts and a business degree, my counselor told me to go for communications 18:51:09 Why laugh at the extreme programming? 18:51:29 kc5tja: personally i think it's the same as competant programming 18:51:38 kc5tja: I just realized kc5tja is your amateur radio handle. 18:51:45 or have you mentioned it before? 18:52:25 klaw a pure liberal arts bent to octal programming might be more to my liking :D 18:52:50 Klaw: It is. And Kent Beck makes no claim otherwise. But the difference between what's been done before and what's being done post-XP is test-driven design. It's a case where the whole is greater than the sum of its parts. 18:53:01 I read about the MFA in software by richard something and I think it would be awesome. 18:53:11 Klaw: Remember that XP isn't JUST programming. It's the WHOLE PROCESS, from dealing with customers to dealing with bits. 18:53:25 kc5tja: in otherwords.. job competance 18:53:28 kc5tja: where does forth figure in all of this? 18:53:28 gilbertbsd: Yes, I've mentioned it before. But briefly. 18:53:33 ah okay. 18:53:42 to me? 18:53:46 dealing with customers management and the actual task at hand.. 18:53:47 * gilbertbsd is having de ja vu 18:54:02 if you're going to say non-XP programming, then are you saying mismanaging evreything.. 18:54:08 that's all i'm getting at.. it's just a buzzword to me 18:54:15 Klaw: No, less agile methods are just as competent if followed religiously. The difference between XP and other methods, though, is its agility. XPers can handle change. We not only don't get upset when requirements change, we encourage them (more money for us!). 18:54:32 i find change to be common when programming 18:54:47 Yes, I do too. 18:54:53 That's why I do XP as much as I can. 18:55:03 * gilbertbsd doesn't know what xp is. 18:55:07 always nice to disagree on an agreement 18:55:14 And really, the name "XP" is a joke. :) Literally, it was never, ever intended to go beyond the walls of the C3 project. :D 18:55:14 is it going to fatten text books like OO has? 18:55:35 gilbertbsd: naw 18:55:42 it won't fatten my text books? 18:55:43 it's more of a tactic 18:55:43 good :D 18:55:53 gilbertbsd: No, but it has quite a number of books. Most are less than a quarter of an inch thick. Really, there's not much to write about them. 18:55:55 OO is a methodology of designing a program 18:56:11 well sendmail has a 3 inch thick book 18:56:18 and all that bugger does is send and receive mail 18:56:23 Sendmail definitely isn't XP. :D 18:56:28 hehehe 18:56:32 a flawed over extended methodology with a great deal of flowcharting involved :D 18:56:51 gilbertbsd: XP relates to Forth in that Forth'ers have been doing most of the things XP espouses for years and years. There are some differences, though. 18:56:51 * gilbertbsd waits to hear it. 18:56:55 touche. 18:57:02 not touche yet. 18:57:05 kc5tja: give an example here 18:57:10 OK 18:57:24 In Forth, you typically write the word you want, then test interactively. 18:57:24 give first a counter ... what they aren't doing yet :D 18:57:29 i do entirely web programming, so i just evolved into using XP styles.. though i don't have a full texting system 18:57:40 In XP, you write the test first, make sure it fails, then write the word that satisfies the test. 18:57:49 huh? 18:57:58 Moreover, the test isn't interactive -- it's an actual program unto itself, so that it can be run over and over and over again. 18:58:02 kc5tja: can you give a flimsy example involving factorial? 18:58:06 In fact, it's intended to be run every time you make a substantial change to the program. 18:58:16 I'll try. 18:58:23 ( Traditional Forth Method ) 18:58:27 noooo 18:58:33 python :D 18:58:46 Why Python? 18:59:16 * kc5tja shrugs -- OK, in Python then. 18:59:24 # Traditional Forther method 18:59:24 18:59:28 kc5tja: you're only 40 minutes away from me 18:59:32 def fact(n): 18:59:45 if n <= 1: 18:59:47 return 1 18:59:49 else: 18:59:54 return n * fact(n-1) 18:59:56 19:00:02 fact(5) 19:00:10 # programmer verifies that the result is 120 19:00:21 # programmer sees this, and knows that it works reasonably well. 19:00:41 # programmer discards recording the test, thinking this code will never break in the future (which it probably won't). 19:00:43 19:00:47 # XP method 19:00:53 # FILE: fact-test.py 19:00:54 19:01:00 import fact.py 19:01:01 i don't know python, but doesnt't that continuously loop? 19:01:01 19:01:10 # hold 19:01:24 No. The IF statement guarantees that it will terminate when fact(1) or fact(0) is called. 19:01:24 n/m, 19:01:27 (or any negative number) 19:01:28 :P 19:01:32 # resume 19:01:38 def TestFact(): 19:01:48 x = fact.fact(5) 19:02:02 ASSERT( x == 120, "5! must equal 120" ) 19:02:03 19:02:12 if __name__ == '__main__': 19:02:16 TestFact() 19:02:17 19:02:20 # file fact.py 19:02:21 19:02:25 def fact(n): 19:02:29 if n <= 1: 19:02:31 return 1 19:02:32 else: 19:02:35 return n * fact(n-1) 19:02:37 19:02:45 $ python fact-test.py 19:02:50 wonderful illustration 19:03:26 The difference is subtle but important: Forth encourages test-after, while XP advocates test-FIRST, plus persistent tests. 19:03:50 Now if you include tests inline with the compiled words, they're also persistent, but it's more an "accident" rather than a deliberate design decision in the program. 19:03:53 Still, it can be useful. 19:04:04 Personally, I like to split my tests from production code, just to keep things organized. 19:04:10 i do too 19:04:16 but i also write my tests after the fact 19:04:20 I don't understand can't you have a tool do this? 19:04:27 and also, why is it necessary to continually test? 19:04:30 So if you change the definition of fact() from recursive (functional) style to imperative (iterative), then you still have your tests hanging around to verify its correctness. 19:05:04 gilbertbsd: To ensure that your modifications don't break existing code. 19:05:12 modifications ... I see. 19:05:40 Basically, it ensures that as bugs are found, they NEVER get introduced again. The unit tests, or programmer tests as they're now called in the XP community, serves two functions: 19:05:53 1. To document the design of the function under test -- it provides concrete examples of inputs, outputs, and how to use the function. 19:06:04 2. A record detailing bugs found over time, and finally, 19:06:18 3. a safety blanket to ensure said bugs never happen again. 19:06:55 Note that XP in and of itself is CMMI Level 2 compliant, which means that you've already got a foot in the door for higher-level CMMI certifications, if you're into that type of thing (which government contractors are definitely into). 19:08:12 CMMI? 19:10:47 Capability Maturity Model Integrated -- it's a quality rating system for development processes (CMMI level 5 is the best, with CMMI Level 1 being what most companies are at). 19:11:17 Note that CMMI says nothing about product quality (except that you are doing something to ensure it, somehow), but rather development process quality. 19:11:46 XP easily fits CMMI level 2, with about 80% of level 3 covered as well. Levels 4 and 5 are organizational, and so are beyond the scope of XP per se. 19:19:29 who teaches xp? 19:30:35 Nobody that I'm aware of at the present time. 19:30:49 I'm not sure it can be "taught" in an academic cirriculum per se. 19:31:11 Though, IIRC, UC San Marcos, I think, is proposing a class on extreme programming and other agile processes like SCRUM and such. 19:31:19 * kc5tja doesn't know anything about SCRUM though. 19:31:49 do you know anything about Richard Gabriels' mfa in software? 19:31:54 www.dreamsongs.com somewhere. 19:33:56 MFA? 19:33:58 Never heard of it. 19:34:14 master of fine arts in software engineering. 19:34:22 he is VERY big on patterns in software and such. 19:34:40 Klaw: I'm sorry, I was distracted (re: 40 minutes away from me). Where are you located? 19:35:15 Never heard of him. 19:35:31 Oh well, I suppose I should go. 19:35:45 I have much homework to complete by tomorrow, and some other errands I need to run. 19:36:59 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 20:36:53 --- quit: sma (leguin.freenode.net irc.freenode.net) 20:36:54 --- quit: flyfly (leguin.freenode.net irc.freenode.net) 20:36:54 --- quit: OrngeTide (leguin.freenode.net irc.freenode.net) 20:36:54 --- quit: skylan (leguin.freenode.net irc.freenode.net) 20:37:35 --- part: gilbertbsd left #forth 20:40:10 --- join: sma (stephenma@207.6.229.22) joined #forth 20:40:10 --- join: flyfly (~marekb@ip164.ktvprerov.cz) joined #forth 20:40:10 --- join: OrngeTide (orange@rm-f.net) joined #forth 20:40:10 --- join: skylan (sjh@207.164.213.129) joined #forth 21:01:51 --- join: ramnull (~nicad@12-241-145-39.client.attbi.com) joined #forth 21:02:02 What it be? 21:39:20 --- quit: ramnull ("This isn't Happy Hour!") 21:58:19 v24 of bashforth knows ." and s" , on http://logilan.info/~l 22:59:39 nutty 23:02:26 you going to do forthbash next? 23:07:26 no. going to stretch out next 23:59:59 --- log: ended forth/03.02.23