00:45:23 Craig (54, Long Beach, SoCal): I can announce my talk for next month. 00:53:30 Harry Dattani: I believe, MS is just stopping the support for Windows 10 00:53:51 Grant Taylor: Windows 10 Home and Pro Retirement Date October 14, 2025. https://learn.microsoft.com/en-us/lifecycle/products/windows-10-home-and-pro 00:54:10 Craig (54, Long Beach, SoCal): The book: https://www.amazon.com/dp/B0DZ2V811Q/ 00:54:33 Grant Taylor: Reacted to "I believe, MS is jus..." with 👍🏻 01:03:07 Craig (54, Long Beach, SoCal): Hurray SLUUG class of 2001. 01:14:11 Craig (54, Long Beach, SoCal): Like a BASIC or Fortran program numbers! 01:16:11 Ron BC: Alan Pope (Popey) is always good on podcasts. i.e. the Late Night Linux family of podcasts. 01:17:29 Craig (54, Long Beach, SoCal): But no arrays or maps in the older Bash that MacOS ships with. 01:18:00 Ron BC: Oh, Today I Learned: REPL == Read / Eval / Print / Loop. 01:46:42 Ron BC: Got confirmation that the site behind ysap.sh is written in bash. So, `curl ysap.sh` will display the fancy output of a BASH web server. 01:51:32 James Conroy: I’ve written a recursive fork bomb in bash 02:03:09 Randy van heusden: set_global_var() { myvar="I'm a global variable!" } 02:04:56 Randy van heusden: Key things to watch out for in BASH recursion Issue Why it matters No true "return values" Functions output strings (via echo) — you have to capture output. Stack depth is small BASH is not like Python or C; deep recursion (>500-1000 calls) will crash. Debugging gets tricky Use set -x to trace recursive calls. Local vars help Otherwise, globals can accidentally interfere across calls. 02:05:27 Randy van heusden: How deep can recursion actually go? It depends on your system's stack size limit (ulimit -s). Typical safe recursion depth in BASH: few hundreds. Example: a factorial of 500 might crash your session depending on how memory is managed. 02:08:08 Randy van heusden: Pro Tip: Recursion Alternatives In BASH, loops are usually better and safer than recursion. You can often replace recursion with a while or for loop without risk of stack overflow. 02:12:37 Craig (54, Long Beach, SoCal): Pro tip: you should probably unroll recursion into loops in any programming language, unless it's tail recursion and the language has tail call optimization. 02:21:32 Craig (54, Long Beach, SoCal): Sorry, gotta run. See y'all next month. 02:27:38 Wayne/S: Thanks Ed.and Stan. Need to leave early. 02:29:37 Ron BC: There's also SHLVL to determine how many levels deep on is in bash shells 03:00:12 Randy van heusden: the environment variables are all capitals. 03:03:19 Grant Taylor: Zsh has -- what I would consider to be -- environment variables that use lower case names. 03:24:03 Ron BC: .env files are heavily used in JS dev, especially node.js since whenever it came out: 10 years ago? 03:25:51 Ron BC: node.js has dotenv module. I believe it's slightly different in vite but same-same in the end 03:31:31 Randy van heusden: Standard BASH Keywords: ! { } [[ ]] case coproc do done elif else esac fi for function if in select then time until while 03:36:49 Grant Taylor: I eamiled the list of Standard BASH Keywords to Ed. 03:37:30 Phil B: I just sent the keywords to Ed and Stan. 03:37:32 Randy van heusden: Related Built-ins (sometimes treated like keywords): declare local let source (.) bind (( )) 03:46:51 Grant Taylor: `exec bash` will probably adversely effect retained shell history. As in the history of the shell that did the exec is probably lost. 03:59:27 Randy van heusden: I need to go to another meeting, so thank you and see you next time.