2024-09-22 15:37:25 if i am to achieve enlightment of the forth tao, i probably need to abandon git at some point 2024-09-22 17:31:51 nah 2024-09-22 17:31:57 Git is clearly the right thing 2024-09-22 17:48:00 Just make a version control system in Forth, simple as 2024-09-22 17:50:53 Obviously it should deal with BLOCKs only 2024-09-22 17:50:57 Naturally it would shit itself if you typed in the slightly wrong command :D 2024-09-22 17:56:30 haha 2024-09-22 18:39:32 one of these days i'll set up my own git server 2024-09-22 18:46:32 i really wouldn't mind exploring methods and workflows for scm-less development 2024-09-22 18:47:31 you don't have to set up a git server to use git 2024-09-22 18:47:59 for the past few years, i haven't really been using git as intended for personal stuff, anyway. all of my projects are aimless tinkering, so i never really ever hit stage that feels like it's committable. so i'm basically only using git for the staging index. 2024-09-22 18:48:29 i "git init" and then just use git add when i want to checkpoint my work 2024-09-22 18:49:25 : ~; mkdir foo; cd foo; git init 2024-09-22 18:49:25 Initialized empty Git repository in /home/user/foo/.git/ 2024-09-22 18:49:28 [master (root-commit) fede154] initial commit of foo hello 2024-09-22 18:49:31 1 file changed, 1 insertion(+) 2024-09-22 18:49:33 create mode 100644 hello.txt 2024-09-22 18:50:54 you can use any machine you can ssh to as a git server 2024-09-22 18:51:08 lol is your PS1 ": \w; " 2024-09-22 18:51:44 almost! 2024-09-22 18:51:45 and then I can do this: 2024-09-22 18:51:46 : foo; git remote add origin kragen@canonical.org:foo.git 2024-09-22 18:51:46 : foo; git push -u origin master 2024-09-22 18:51:56 Enumerating objects: 3, done. 2024-09-22 18:51:56 Counting objects: 100% (3/3), done. 2024-09-22 18:51:58 * [new branch] master -> master 2024-09-22 18:52:01 branch 'master' set up to track 'origin/master'. 2024-09-22 18:52:13 and that's all you need to know to push and pull git between your machines using a remote ssh server 2024-09-22 18:52:25 fair 2024-09-22 18:52:28 my PS1 is actually : ${env:+($env) }\W; 2024-09-22 18:52:32 That's almost like my PS1, which is just "\w ; " 2024-09-22 18:52:38 although having a webpage you can link people to is nice 2024-09-22 18:53:07 the real forthy thing would be PS1=ok 2024-09-22 18:53:21 mine doesnt even say ok 2024-09-22 18:53:28 sometimes I think it should be "ko" instead of "bye" 2024-09-22 18:53:36 yes, for a webpage you might want to install something like sourcehut, gitea, gitorious, Forgejo, or gogs 2024-09-22 18:54:05 user51: the advantage of the leading ': ' is that it converts the prompt into a sort of comment 2024-09-22 18:54:25 user51: nice, double entendre 2024-09-22 18:54:26 so you can paste the whole line including the prompt and it will still work 2024-09-22 18:54:36 xentrac: holy shit that's right. genius!! 2024-09-22 18:54:46 not my idea but I forget who I stole it from 2024-09-22 18:54:54 then it's yours now! 2024-09-22 18:56:10 xentrac: I can see it, but copy/pasting bash isn't something I'm terribly fond of. 2024-09-22 18:56:22 the env thing is so I can say 'env=client3' or 'env=youtube-dl' or whatever and have it show up in the prompt 2024-09-22 18:56:31 which of course breaks the copy/paste thing 2024-09-22 19:01:12 that's a good idea too. when i want to do that i just modify PS1 directly. 2024-09-22 19:01:35 [[ -z "$SSH_CLIENT" ]] && PS1='$ ' 2024-09-22 19:02:04 After spending some time with forth, even simple C expressions like "number + 5" give me a momentary pause. The way I thought about it was "wait, number has to be loaded first". I appreciate that kind of "simple" stuff a bit more now. 2024-09-22 19:02:30 usually prefixing what's there. PS1="something $PS1" 2024-09-22 19:03:14 (I've seen people with very fancy prompts totally ignore the hostname in the prompt and break production) 2024-09-22 19:03:41 lol 2024-09-22 19:04:50 "Break" sounds a bit charged.. we should be a bit more politically incorrect and say "production reduction". 2024-09-22 19:38:29 user51: Indeed; lots of programming languages tend to obfuscate the exact amount of work going on under the hood. 2024-09-22 19:39:07 This is a particularly "charged" issue in FPGA design with Verilog or VHDL. It's easy to write down something that looks simple in your source, but when you really needle into what it's doing you can find that it used up a whole slew of your available logic. 2024-09-22 19:39:24 So I've always felt it's important to understand what's actually going to HAPPEN when you write something. 2024-09-22 19:40:30 We had a pathological case of that in Verilog where the "obvious<' way to solve the little problem with a simple bit of Verilog would allocate like half of your FPGA. We were particularly interested in the guys who recognized that and avoided it. With slightly more complex Verilog you could get a much more efficient solution. 2024-09-22 19:40:51 I can't remember offhand exactly what the problem was. 2024-09-22 19:53:40 KipIngram: So then I typed GOTO 500 and here I am! 2024-09-22 19:54:23 KipIngram: I checked out Thinking Forth again yesterday - they do talk about it right at the beginning. 2024-09-22 20:48:21 in `x + 5` x only has to be loaded if it's being stored on the stack 2024-09-22 20:48:44 a good compiler should be able to work out what locals are being used the most and give them priority space in registers 2024-09-22 20:54:45 others fiddle around with registers to make ROP gadgets more difficult to pull off 2024-09-22 21:08:15 ^ you know things are fscked when compilers get fixated on (weird) machines that they don't even target