00:00:00 --- log: started forth/07.10.22 00:05:08 --- join: ygrek (i=user@gateway/tor/x-0f50337f09f56d00) joined #forth 00:20:47 --- quit: H4n1 (Read error: 113 (No route to host)) 00:20:55 --- quit: forther (Read error: 110 (Connection timed out)) 00:47:23 --- join: H4ns (n=Hans@p57BBBEAD.dip0.t-ipconnect.de) joined #forth 01:09:16 --- join: wossname (n=w@CPE00195b252b77-CM001a666a6e78.cpe.net.cable.rogers.com) joined #forth 01:56:09 --- quit: Raystm2 (Read error: 104 (Connection reset by peer)) 02:10:10 --- join: doublec (n=doublec@202-74-219-252.ue.woosh.co.nz) joined #forth 02:43:50 --- quit: doublec () 02:50:09 --- join: ruediger (n=the-rued@chello062178150152.7.14.univie.teleweb.at) joined #forth 03:26:51 --- quit: wossname (Read error: 110 (Connection timed out)) 03:36:22 --- quit: ygrek (Remote closed the connection) 03:44:08 --- join: ygrek (i=user@gateway/tor/x-c8cb9a9b906b34e0) joined #forth 03:50:17 --- quit: saon (Read error: 110 (Connection timed out)) 04:19:17 --- join: nighty__ (n=nighty@sushi.rural-networks.com) joined #forth 04:24:52 --- quit: nighty__ (Client Quit) 04:28:24 --- quit: nighty^ (Read error: 110 (Connection timed out)) 04:43:16 --- join: Raystm2 (i=Ray@unaffiliated/raystm2) joined #forth 04:43:36 --- quit: ruediger ("This computer has gone to sleep") 05:12:54 --- join: wossname (n=w@CPE00195b252b77-CM001a666a6e78.cpe.net.cable.rogers.com) joined #forth 06:42:42 --- quit: ecraven ("bbl") 07:12:39 --- quit: ygrek (Remote closed the connection) 07:30:32 --- quit: wossname (Connection timed out) 07:31:41 --- join: forther (n=forther@c-67-180-150-67.hsd1.ca.comcast.net) joined #forth 07:33:02 kc5tja, scheme does not allow multiple definitions of a "word"? 07:50:59 --- quit: crest__ (Read error: 113 (No route to host)) 08:33:31 --- join: gnomon_ (n=gnomon@74.210.55.230) joined #forth 08:33:57 --- join: gnomon__ (n=gnomon@74.210.55.230) joined #forth 08:52:29 --- join: malyn (i=malyn@gateway/tor/x-36ecb587ae825735) joined #forth 08:55:37 --- quit: gnomon__ ("leaving") 08:55:37 --- quit: gnomon_ ("leaving") 08:56:07 --- join: gnomon (n=gnomon@74.210.55.230) joined #forth 09:04:39 --- join: ruediger (n=the-rued@chello062178150152.7.14.univie.teleweb.at) joined #forth 09:06:06 madwork: No. When you redefine a symbol, all previous references to the symbol will take on the new meaning. 09:11:31 simple enough to do in Forth, with deferred words 09:12:51 Yes, with some planning. 09:13:37 even without. If you discover a need to revector, one added line and you're there. 09:16:58 --- join: wossname (n=w@CPE00195b252b77-CM001a666a6e78.cpe.net.cable.rogers.com) joined #forth 09:17:25 six words; ' foo defer foo is foo 09:17:44 That's the "some planning" that madwork referred to. 09:17:55 Heh, yes. 09:18:06 In pure ANSI Forth, you cannot retroactively redefine a word portably. 09:18:08 --- quit: forther (Read error: 110 (Connection timed out)) 09:18:10 --- quit: slava () 09:18:36 suggesting it needs to be done during initial planning -- doesn't. Can be trivially grafted on later. 09:18:55 Well, here's the deal. 09:19:13 In Scheme, you can have a live webserver, and a bug report comes in. You can fix the bug on the live system, instantly. 09:19:18 No Can Do with Forth. 09:19:29 defer is forth200x, and is ubiquitous at any rate. You can forge a version of it with CREATE without breaking a sweat, right on top of a standard forth. 09:19:31 You must kill the server. Fix the bug. And then recompile the image. 09:19:48 Quartus__: But DEFER is a defining word. 09:19:59 Using DEFER will *SHADOW* a previous definition of a word. 09:20:14 It will not retroactively patch all previous uses of the word. 09:20:27 ah, the Mythical System that Cannot Be Shut Down, but which is not so critical that it can't be recoded on the fly :) 09:20:29 Hence, to use DEFER, you must use it with foresight. 09:21:10 Quartus__: Such mythical systems are quite popular in a number of large-scale organizations, usually ones that send you bills and are responsible for finance. 09:21:32 --- join: zpg (n=user@81-86-220-162.dsl.pipex.com) joined #forth 09:21:37 howdy. 09:21:41 hi zpg 09:21:47 hey Quartus__, how've you been? 09:21:52 You can diss it all you want, but it doesn't change the fact that hot-patching a live system is utterly invaluable when you've got a bug report from a customer, live, on the telephone, screaming in your ear. 09:22:04 good, man. Missed your messages a copule of times. 09:22:16 how are you? 09:22:18 glad to hear it (the wellbeing, that is) 09:22:31 yeah, i'm also good thanks. the usual usuals. 09:22:40 forthing? 09:22:53 muchly. 09:23:00 keen. 09:23:18 indeed. 09:23:29 do tell. 09:23:35 kc5tja, or a crucial system running an AU or two from Earth that needs patching. 09:24:24 Quartus__: oh, various projects. i tend to reach for gforth if i'm sitting at the laptop. experimented a bit more with pygmy too, a rather nice system but so far nothing practical has come of it (especially since i'm working within an emulator). 09:24:28 madwork: Indeed. But even here, most NASA probes have a 'safe mode' that shuts most of the probe down. You can use that to re-patch, so it doesn't invalidate the edit-compile-pray cycle even for that. 09:24:51 Sure. 09:25:00 Anyway, the facility is nice to have for a variety of reasons. 09:25:01 Quartus__: perhaps my most productive (recent) project was a model of linguistic stress calculation, which i implemented in QF while sitting in a beer garden. 09:25:13 good to see you're keeping your hand in, zpg. 09:25:19 indeed. 09:25:29 oh, and since we last spoke i've implemented approximately zero forth systems of my own. 09:25:34 (which was taxing indeed). 09:25:35 But, speaking from experience working in a data center with lots of big business websites that have hundreds of hits per second, even a single second's worth of down-time is potentially $400 to $500 in lost revenue for a business. Not good. 09:25:39 excellent :) 09:25:42 heh heh 09:26:10 though, as a footnote, i looked at the source for eForth -- really clear; i was surprised how expressive the assembly was. 09:26:36 and as a secondary footnote, i looked at the colorforth source and fell over (well, out of my chair). 09:26:41 Good morning, gentlemen. Your mission, should you choose to accept 09:26:50 kc, in which case systems are run redundantly and in parallel; changes are tested, not hacked in on the fly. 09:27:08 hi 09:27:11 Quartus__: You thing this isn't done already??? 09:27:18 zpg, indeed. EForth is simple. 09:27:18 Quartus__: Here's how the workflow works. 09:27:23 1) Repro the bug on the test system. 09:27:25 Oh sorry, wrong gentlemen, please go back to what you were doing. I was never here. :) 09:27:30 2) Patch the test system. Make sure it works. 09:27:38 3) Once it works, hot-patch the live server. 09:27:42 No downtime. 09:27:55 No need for redundant fail-over (which DOES take time, contrary to popular belief) 09:27:57 hi ruediger hi kc5tja hi zpg hi Quartus__ hi ( miss anybody?) 09:28:11 there's the thing: *the* live server. If you lose $500/second, it's not singular. 09:28:22 hey Ray. Long time. 09:28:36 You're still not seeing what I'm writing, and I cannot help you for that. 09:28:37 hey Ray. 09:28:41 and, ditto what Neal said. 09:29:40 Quartus__: i was looking at the IBM PPC assembly manual today (in an unrelated venture). perhaps it's just my unadjusted eyes, but x86 assembly, even with all that segmentation, seems a lot clearer. 09:30:18 Suffice it to say that hot-patching a server (for all servers that are customer-facing) is absolutely invaluable. AND, for all servers that are NOT customer facing, so-called middleware servers or back-end servers, it's even MORE critical, since most configurations have 3 front-facing servers to 1 back-end. 09:30:42 * kc5tja shrugs, "But what do I know? I've only been in the Internet industry some 16 years." 09:30:59 I'm inclined to agree, zpg. 09:30:59 Speaking of which, I need to get to work. 09:31:23 hi madwork ( sorry mad, just been catching up :) ) 09:31:23 zpg: ppc assembly instructions are named in an unreadable fashion. But that's true for some x86 statements, too. 09:31:42 kc5tja: if you're really inclined that way, just redefine : to automatically create deferred words. 09:31:55 then no matter which word needs rewriting... 09:32:17 --- quit: H4ns (Connection timed out) 09:32:20 ruediger: well, i'm not really discussing naming conventions, but that's certainly a factor. 09:32:37 zpg: The whole argument evolved when madwork identified the need for up-front planning. In Lisp, you don't need this up-front planning. It's not that one is bad versus good. It's just different. 09:32:41 to me, the assembly reads like it's not supposed to be written. 09:32:59 zpg: If you're planning on hot-patching a Forth-based system, you must prepare ahead of time -- you must employ deferred words. 09:33:26 zpg: Redefining : and CREATE for this purpose counts as aforementioned "planning ahead." 09:33:31 sure 09:33:34 but it's rather minimal. 09:33:39 But non-zero. 09:33:48 With Lisp, Smalltalk, etc., you get this out of the box. 09:33:56 and come to think of it -- if you really want this sort of on the fly extensibility, you'll be thinking about that at the outset. 09:37:14 I suppose you could, had you not thougth it out ahead, switch to the 'new server' from the old server if you had the 'new server' parralleling everything the original server is doing, save for the new fix, the swap the live feed over to the second when ready. Should be bearly perceptable. 09:39:59 zpg: but since it is risc (or risc like) you have less instructions which makes each one easier to remember ;). 09:40:31 * Raystm2 shower, company comming. 09:43:35 Quartus__: Any chance that the Wiki will be coming back one of these days? There was some good stuff in there that I was hoping to look through again... 09:46:07 (just to clarify: one would have to modify more than simply colon -- i was talking in the abstract) 09:48:26 Quartus__: btw, i notice your wiki is down. 09:50:48 ah, malyn just mentioned it. oops. 09:51:17 Great minds, clearly. ;) 09:51:25 or unattentive readers. 10:09:08 --- join: jns (n=jens@e179242042.adsl.alicedsl.de) joined #forth 10:12:56 --- join: H4ns (n=Hans@p57A0CDED.dip.t-dialin.net) joined #forth 10:35:19 --- join: Al2O3 (n=Al2O3@207.190.0.11) joined #forth 10:39:42 --- join: forther (n=forther@207.47.34.100.static.nextweb.net) joined #forth 10:42:57 --- join: ygrek (i=user@gateway/tor/x-51d55db72b004b53) joined #forth 10:44:20 --- quit: Quartus__ (Read error: 104 (Connection reset by peer)) 10:55:48 --- quit: zpg ("ERC Version 5.1.3 (IRC client for Emacs)") 11:26:56 --- join: Bushmills (n=l@78.16.58.38) joined #forth 11:42:47 --- quit: Al2O3 () 12:03:16 --- quit: nighty- ("Disappears in a puff of smoke") 12:08:09 --- join: nighty- (n=nighty-@66-163-28-100.ip.tor.radiant.net) joined #forth 12:19:46 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-152-075.pools.arcor-ip.net) joined #forth 12:23:28 --- quit: Snoopy42 (Nick collision from services.) 12:24:02 --- nick: snoopy_1711 -> Snoopy42 13:13:05 --- quit: Off_Namuh72 (Read error: 104 (Connection reset by peer)) 13:17:23 --- join: Al2O3 (n=Al2O3@207.190.0.11) joined #forth 13:19:27 --- join: Off_Namuh72 (i=GPS@gateway/tor/x-62cfa5d4e52c4117) joined #forth 13:25:14 --- quit: ygrek (Remote closed the connection) 13:41:10 --- join: crest_ (n=crest@p5489D967.dip.t-dialin.net) joined #forth 13:58:31 --- join: doublec (n=doublec@202.180.114.137) joined #forth 14:27:13 --- quit: madwork (Read error: 104 (Connection reset by peer)) 14:30:59 --- part: Bushmills left #forth 14:32:02 --- join: Quartus__ (n=Quartus_@205.205.50.1) joined #forth 14:32:42 hey 14:32:42 sorry to drop off earlier 14:35:15 Hi. 14:41:05 hi arke 14:42:27 --- quit: ruediger ("This computer has gone to sleep") 14:45:17 Hi Quartus. Any chance that the Wiki will be coming back one of these days? There was some good stuff in there that I was hoping to look through again... 14:46:13 malyn, yes -- it was besieged by bots, so I'm seeking the best solution. 14:47:10 Ah, that's too bad. It seems like bots are everywhere now. I briefly had a commenting system up on my site and was overwhelmed with junk posts almost immediately. 14:47:27 it's a nuisance. 14:48:07 Yep. FWIW, MoinMoin supports page-level ACLs and you can require that users register with the site before editing a page, for example. 14:48:14 I imagine that other Wiki packages offer the same type of functionality. 14:48:33 probably the newest build of twiki too 14:48:34 --- quit: forther (Read error: 110 (Connection timed out)) 14:49:32 That's very likely given the rise of comment- and edit-spam. 14:49:52 I'd rather add a sort of "prove you're human" thing than requiring logins 14:50:11 I generally don't bother making an account just so I can correct someone's spelling/grammar 14:50:24 or other small correction 14:50:45 you lack true commitment, jason :) 14:50:57 JasonWoof: I thought that would be the solution as well, but my rudimentary "Here's a math problem" CAPTCHA was mostly ineffective. Perhaps the problem wasn't hard enough. :) 14:51:30 I do agree re: registering to fix a typo is a pain though. It definitely defeats one of the major advantages of using a Wiki. 14:52:02 malyn: bots got past your math problem? 14:52:24 I'll likely retain a logon system, there's no other simple way to exclude true wankers. 14:52:53 my contact form says "please type my first name into this box. Thanks, -- Jason" 14:53:00 haven't gotten any spam through it since I added that 14:53:20 Surprisingly, yes. I thought for sure that would take care of the issue, but it didn't. I guess the whole math problem thing has been used enough that the bots are looking for them. I was tempted to put a more clever solution in place ("What's the fifth word in this sentence?" kind of test), but no one ever posted any comments anyway. 14:53:36 I don't get any through that channel anyway, curiously 14:53:37 I think a test like that is probably the way to go. 14:55:47 "third" would be funnier and easier to count to 14:58:13 heh 15:00:28 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 15:00:28 --- mode: ChanServ set +o tathi 15:00:36 howdy :) 15:02:09 hi 15:02:25 hey tathi 15:05:45 hey Quartus__ 15:08:51 good evening 15:09:21 --- join: crest__ (n=crest@p5489FF10.dip.t-dialin.net) joined #forth 15:10:40 --- quit: jns (Read error: 110 (Connection timed out)) 15:17:33 --- quit: crest_ (Read error: 110 (Connection timed out)) 15:20:10 --- join: Quartus (n=neal@CPE0001023f6e4f-CM001947482b20.cpe.net.cable.rogers.com) joined #forth 15:20:10 --- mode: ChanServ set +o Quartus 15:25:01 --- join: forther (n=forther@207.47.34.100.static.nextweb.net) joined #forth 15:32:05 --- quit: Al2O3 () 15:33:39 --- join: arcus (n=Miranda@130.195.209.73) joined #forth 15:39:13 --- quit: malyn (Remote closed the connection) 15:40:46 --- join: malyn (i=malyn@gateway/tor/x-74d03c8d019b8c02) joined #forth 15:59:12 --- join: Al2O3 (n=Al2O3@207.190.0.11) joined #forth 16:01:05 --- join: Al2O3_ (n=Al2O3@207.190.0.11) joined #forth 16:01:30 --- quit: Al2O3 (Read error: 104 (Connection reset by peer)) 16:03:48 --- quit: Al2O3_ (Client Quit) 16:09:37 --- join: sszukalski (n=sszukals@203-217-61-74.perm.iinet.net.au) joined #forth 16:24:23 --- quit: sszukalski ("Ex-Chat") 16:26:23 --- join: sszukalski (n=sszukals@203-217-61-74.perm.iinet.net.au) joined #forth 16:26:41 --- quit: sszukalski (Client Quit) 16:27:00 --- join: skas (n=skas@203-217-61-74.perm.iinet.net.au) joined #forth 16:51:46 --- quit: arcus (SendQ exceeded) 17:52:42 --- join: saon (n=saon@207.138.42.211) joined #forth 17:54:47 --- quit: saon (Client Quit) 17:55:05 --- join: saon (n=saon@207.138.42.211) joined #forth 18:02:53 --- quit: saon ("Lost terminal") 18:03:17 --- join: saon (n=saon@207.138.42.211) joined #forth 18:03:48 --- quit: cmeme (Excess Flood) 18:06:41 --- join: cmeme (n=cmeme@boa.b9.com) joined #forth 18:25:14 --- quit: crest__ (Read error: 113 (No route to host)) 18:34:34 --- quit: forther (Read error: 110 (Connection timed out)) 18:44:52 --- quit: Quartus (Read error: 110 (Connection timed out)) 18:45:01 --- join: Quartus (n=neal@CPE0001023f6e4f-CM001947482b20.cpe.net.cable.rogers.com) joined #forth 18:45:01 --- mode: ChanServ set +o Quartus 18:48:22 hey crc 18:52:12 --- quit: tathi ("leaving") 19:18:52 --- join: arke_ (n=arke@p54A7E0B6.dip.t-dialin.net) joined #forth 19:23:21 --- quit: saon ("night") 19:35:51 --- join: Al2O3 (n=Al2O3@dsl-216-66-236-3.static.linkline.com) joined #forth 19:37:06 --- quit: arke (Read error: 110 (Connection timed out)) 19:37:06 --- nick: arke_ -> arke 20:02:06 --- quit: Al2O3 ("Eggplant & SenseTalk: Driving Success Through Automation") 20:23:54 --- join: forther (n=forther@c-67-180-150-67.hsd1.ca.comcast.net) joined #forth 20:27:55 --- quit: segher (Nick collision from services.) 20:28:10 --- join: segher (n=segher@82-217-247-28.cable.quicknet.nl) joined #forth 21:08:50 --- quit: Raystm2 (Connection timed out) 21:20:06 --- join: Raystm2 (i=Ray@c-24-8-127-241.hsd1.co.comcast.net) joined #forth 21:20:45 --- quit: skas ("Ex-Chat") 21:26:24 --- quit: forther ("Leaving") 21:58:01 --- join: ruediger (n=the-rued@chello062178150152.7.14.univie.teleweb.at) joined #forth 22:09:25 --- quit: malyn () 22:29:43 --- quit: ruediger ("This computer has gone to sleep") 22:36:39 --- quit: doublec () 22:37:43 --- quit: H4ns (Read error: 104 (Connection reset by peer)) 22:38:29 --- join: jns (n=jens@e179242042.adsl.alicedsl.de) joined #forth 23:22:52 --- join: forther (n=forther@c-67-180-150-67.hsd1.ca.comcast.net) joined #forth 23:31:18 --- quit: jns (Read error: 110 (Connection timed out)) 23:37:57 --- quit: forther ("Leaving") 23:56:41 --- join: ecraven (i=nex@eutyche.swe.uni-linz.ac.at) joined #forth 23:59:59 --- log: ended forth/07.10.22