00:00:00 --- log: started forth/21.05.14 00:26:06 --- join: pbaille joined #forth 02:57:30 --- join: f-a joined #forth 03:10:51 --- join: [1]MrMobius joined #forth 03:11:04 --- quit: MrMobius (Ping timeout: 265 seconds) 03:11:16 --- nick: [1]MrMobius -> MrMobius 03:29:30 --- join: mtsd joined #forth 03:44:23 You know, it occurs to me that my looping words almost obviate the need for tail optimization. If I want to recurse on the current word, I use my word ME (think of it sort like the way "self" is used in some languages). 03:44:58 So the only time tail optimization would actually DO anything would be when the last word of a definition is some OTHER : definition word. 03:47:07 ME is a primitive that directly compiles the jump a recursion by name would be optimized into. 03:50:54 https://www.hackster.io/news/the-lisperati1000-is-a-cyberdeck-terminal-dedicated-to-lisp-programming-bb564f2ffcff now we need one for forth 03:52:02 How cute. Well, there it is - we could re-flash it. 03:59:02 It mentions that it runs on three 18650 batteries, but it doesn't say how long they will run it for. 04:06:04 There used to be "Lisp machines," back in the early days of the microcomputer era. 04:06:32 It would be interesting to tinker with what one could do with an FPGA to "accelerate" Lisp. 04:06:58 Of course that probably wouldn't be battery-powered. 04:07:13 FPGAs are little power piggies. 04:18:00 --- quit: proteus-guy (Ping timeout: 252 seconds) 04:26:55 --- join: jess joined #forth 04:30:58 --- join: proteus-guy joined #forth 04:32:37 --- quit: f-a (Quit: leaving) 04:32:54 --- join: f-a joined #forth 04:35:18 --- quit: Zarutian_HTC (Remote host closed the connection) 04:36:36 --- quit: mtsd (Ping timeout: 245 seconds) 05:24:45 --- join: mtsd joined #forth 05:30:03 --- quit: gravicappa (Ping timeout: 240 seconds) 05:30:58 --- join: gravicappa joined #forth 05:45:48 --- join: tech_exorcist joined #forth 05:49:39 --- quit: mtsd (Ping timeout: 260 seconds) 06:01:26 --- join: mtsd joined #forth 06:01:29 --- quit: mtsd (Remote host closed the connection) 06:58:48 --- quit: f-a (Ping timeout: 240 seconds) 07:21:55 --- join: f-a joined #forth 07:22:50 --- quit: proteus-guy (Ping timeout: 252 seconds) 07:30:51 so this isn't forth-related, but #forth is one of the best "general software design philosophy" channels i know of. 07:31:31 one thing that i think i've recognized is very difficult for me is adopting a bad codebase and envisioning the path to a better codebase 07:31:54 like, i can look at something and go "this sucks," but generally to improve it i have to just rewrite the whole thing from scratch 07:32:31 i wonder if there are any good strategies to do that better 07:33:12 Start with tests before you start refactoring. It's easier to know if you broke functionality, then. 07:33:17 some would say test drive- yeah 07:34:29 well that helps me if i decide to just rewrite, but i mean that it's difficult for me to incrementally improve without rewriting 07:34:54 eh, very difficult task 07:34:58 If it's not a modular design, then yes, incremental refactoring can be a can of worms. 07:34:59 of course if you could break it modularly 07:35:07 lol boru is faster than me 07:35:18 Which is rare for a Friday afternoon, f-a! 07:35:26 hehe 07:35:45 --- join: proteus-guy joined #forth 07:38:38 Factoring can be a good start for refactoring, though. 07:39:17 Breaking down big monolith functions or modules to DRY them out a bit. 07:39:40 Then you can decide which parts of those need to actually be refactored, or do some opportunistic refactoring along the way. 07:41:13 If it's for work, usually the most difficult part is convincing management that it needs doing. 07:41:59 In which case I'd buy a copy of Koopman's Better Embedded System Software and whallopping them over the head with it. 07:42:22 It's a nice size that balances well in the hand for assaulting management. 07:45:25 yeah, it is for work, and yes the most recent anecdote is that i've adoped responsibility of something that was written by somebody years ago (imo not that well designed in the first place), and then touched by several people over time since then, and today they want it to support new HW (something that was never a concept before), but they don't want me to touch old-HW implementation because testers don't 07:45:31 want to have to reverify old HW functionality 07:45:56 That old chestnut. Organically grown software. 07:46:11 i'm done now, but looking back at what i did, i'm not real happy with it. but i also don't see what i could have done better without a massive refactoring 07:46:42 "don't want to have to reverify old HW functionality" sounds a bit broken, imho. 07:46:58 Surely, catching regressions is their job. 07:47:55 --- join: LispSporks joined #forth 07:47:57 --- quit: LispSporks (Client Quit) 07:48:12 yep, 100% agree 07:48:15 our verification sucks 08:09:09 --- join: Zarutian_HTC joined #forth 08:09:21 anyway thanks for your responses. you reminded me that one of the biggest shortcomings with this module is that - at the moment - it's basically incapable of being isolated and unit tested. going forward, i think that's what i might do as my background task 08:09:43 that's an easy sell because making it unit-testable doesn't impact functionality 08:16:21 --- quit: dave0 (Quit: dave's not here) 08:21:53 --- quit: proteus-guy (Ping timeout: 268 seconds) 08:34:05 --- join: proteus-guy joined #forth 08:59:03 --- join: neuro_sys joined #forth 09:15:28 --- quit: neuro_sys (Ping timeout: 240 seconds) 09:22:53 --- quit: f-a (Read error: Connection reset by peer) 09:23:28 --- quit: spoofer (Quit: Lost terminal) 09:24:29 --- join: spoofer joined #forth 09:26:19 --- join: lispmacs[work] joined #forth 09:27:35 --- join: f-a joined #forth 09:41:21 --- join: neuro_sys joined #forth 09:41:44 --- nick: neuro_sys -> Guest82918 09:48:50 --- quit: Guest82918 (Ping timeout: 268 seconds) 10:05:20 --- join: Guest82918 joined #forth 10:10:07 --- quit: Guest82918 (Ping timeout: 265 seconds) 10:12:06 --- quit: proteus-guy (Ping timeout: 246 seconds) 10:25:20 --- join: proteus-guy joined #forth 10:26:58 --- join: Guest82918 joined #forth 10:40:48 --- quit: Guest82918 (Ping timeout: 260 seconds) 10:49:06 --- quit: proteus-guy (Ping timeout: 245 seconds) 11:02:20 --- join: proteus-guy joined #forth 11:21:28 --- join: Guest82918 joined #forth 11:25:36 --- quit: Guest82918 (Ping timeout: 246 seconds) 11:31:48 --- quit: gravicappa (Ping timeout: 265 seconds) 12:33:12 --- join: LispSporks joined #forth 12:58:46 --- quit: pbaille (Remote host closed the connection) 12:59:33 --- join: pbaille joined #forth 13:25:21 --- quit: f-a (Ping timeout: 245 seconds) 13:27:27 --- join: f-a joined #forth 13:31:08 --- quit: tech_exorcist (Remote host closed the connection) 13:31:33 --- join: tech_exorcist joined #forth 13:44:20 --- quit: LispSporks (Quit: My MacBook has gone to sleep. ZZZzzz…) 14:25:59 --- join: LispSporks joined #forth 14:57:42 --- quit: pbaille (Remote host closed the connection) 14:58:23 --- join: pbaille joined #forth 15:02:38 --- quit: pbaille (Ping timeout: 252 seconds) 15:04:34 --- quit: tech_exorcist (Ping timeout: 268 seconds) 15:25:11 --- quit: Monev (Ping timeout: 252 seconds) 15:26:47 --- quit: f-a (Quit: leaving) 15:30:33 --- join: pbaille joined #forth 15:59:50 --- quit: LispSporks (Quit: Textual IRC Client: www.textualapp.com) 16:11:08 --- quit: pbaille (Ping timeout: 240 seconds) 16:37:16 --- join: pbaille joined #forth 16:45:20 --- quit: proteus-guy (Ping timeout: 245 seconds) 16:58:11 --- join: proteus-guy joined #forth 17:54:28 --- quit: lispmacs[work] (Remote host closed the connection) 18:18:27 --- join: dave0 joined #forth 18:18:57 maw 18:29:34 howdy 18:29:42 Evening. 18:37:42 hey 18:39:02 --- join: boru` joined #forth 18:39:05 --- quit: boru (Disconnected by services) 18:39:07 --- nick: boru` -> boru 19:02:18 --- quit: dave0 (Quit: dave's not here) 19:24:46 --- quit: sts-q (Ping timeout: 252 seconds) 19:33:33 --- join: sts-q joined #forth 19:53:19 wam 20:38:54 --- join: dave0 joined #forth 20:39:45 maw 20:40:58 wam 20:46:08 --- quit: proteus-guy (Ping timeout: 240 seconds) 20:59:25 --- join: proteus-guy joined #forth 21:02:06 --- join: Kumool joined #forth 21:22:05 --- join: gravicappa joined #forth 22:36:33 --- quit: gravicappa (Ping timeout: 240 seconds) 22:42:57 --- join: gravicappa joined #forth 23:59:59 --- log: ended forth/21.05.14