2022-03-10 08:46:32 MrMobius: Yes, when I first wrote those words that could index into the stack, I used the stack pointer. But that was kind of nightmarish - every time the stack pointer changed, everything moved. So I swithced them to use the frame pointer. 2022-03-10 08:46:56 I've considered having both possibilities, though. As it is now I *must* establish a frame in order to put them to any good use. 2022-03-10 08:47:31 I used an HP calculator in college - there's a variety of words based on HP instructions that I plan to have on this one I'm doing now. 2022-03-10 08:47:58 HP let you reference all the registers in the 4-deep stack, they were X, Y, Z, T. 2022-03-10 08:49:33 You could store to any of them, recall from any of them, use any of them as an indirect store/recall, store plus, store minus, etc. etc. etc. 2022-03-10 08:49:48 x<>reg on any of them. 2022-03-10 10:00:06 someone tell that vms fella that plan9port already comes with acme 2022-03-10 10:04:22 Looks like acme is very mouse-oriented. 2022-03-10 10:04:52 That's a negative in my eyes right off the bat. I prefer interfaces that keep my hands in/near home typing positing all the time. 2022-03-10 10:05:06 position 2022-03-10 10:14:36 https://marc.info/?l=9fans&m=130816617215332&w=2 2022-03-10 10:14:58 we know KipIngram 2022-03-10 10:15:20 we dont care 2022-03-10 10:15:25 if you want, you can try vis 2022-03-10 10:15:29 rude 2022-03-10 10:15:44 sorry 2022-03-10 10:15:45 Yeah, just speaking for myself, of course. 2022-03-10 10:15:53 acme does a decent job with the mouse but it isnt beating oberon imo 2022-03-10 10:16:03 acme is too... overloaded 2022-03-10 10:16:08 its like "acme uses mouse too much" I've heard of this ad nauseum 2022-03-10 10:16:25 for your three mouse buttons you have three different selections 2022-03-10 10:16:47 https://marc.info/?l=9fans&m=111558836913364&w=2 2022-03-10 10:16:54 https://github.com/martanne/vis keep your keys in the home row I guess 2022-03-10 10:17:09 Sorry - probably a reaosn for that, though. :-) 2022-03-10 10:17:15 whereas w/ oberon, you have three mouse buttons that each do one thing 2022-03-10 10:17:20 Like I said, I like being able to do things with minimal motion. 2022-03-10 10:17:44 But mostly it's just that I learned my way around computers before there ever was a mouse. 2022-03-10 10:17:49 a button that controls where the selection is, one that controls where the cursor is, and one that executes the selection 2022-03-10 10:18:16 text cursor, that is 2022-03-10 10:18:16 https://9p.io/wiki/plan9/mouse_vs._keyboard/index.html 2022-03-10 10:18:42 its because you're constantly doing something. its like verbose programming languages, you think you're doing something, meanwhile I can write an awk oneliner that does what you did in 2 minutes 2022-03-10 10:18:57 (not you here, but people) 2022-03-10 10:19:02 plan9's supposed movement speed tests are based on single press arrow keys 2022-03-10 10:19:12 not vim or even ctrl-arrow keys 2022-03-10 10:19:23 if thats what that page is 2022-03-10 10:20:19 KipIngram: I'm on a laptop, so I often dont have a mouse. but, vis mixes the acme/vi way of doing things 2022-03-10 10:20:34 nmz: And no worries - I didn't take any offense. I actually know exactly the feeling you were referring to - I expect we all have things that we've heard so much it's gotten old. 2022-03-10 10:20:59 Especially given that we like Forth. 2022-03-10 10:21:08 It doesn't get a lot of love out there. 2022-03-10 10:21:09 yes :S 2022-03-10 10:21:10 Stop being so reasonable and humble, KipIngram! 2022-03-10 10:21:42 YES 2022-03-10 10:21:45 lets fight! 2022-03-10 10:22:15 i really think the mouse has potential 2022-03-10 10:22:19 but its so underusef 2022-03-10 10:22:32 oe well 2022-03-10 10:22:35 poorly used 2022-03-10 10:22:52 how does oberon beat acme in the mouse aspect? 2022-03-10 10:22:59 I don't think oberon even has mouse chording 2022-03-10 10:23:44 it does 2022-03-10 10:23:54 aha? 2022-03-10 10:24:01 yea 2022-03-10 10:24:11 acme took chording from it 2022-03-10 10:24:32 eris[m]: someone over on #vis-editor just posted his oberon configuration https://codeberg.org/sts-q/oberon/src/branch/main/vis-editor 2022-03-10 10:24:47 mmm, i just use nano 2022-03-10 10:24:52 yuck 2022-03-10 10:25:06 hey, i write K 2022-03-10 10:25:19 criticise that instead 2022-03-10 10:25:23 no 2022-03-10 10:25:25 K is fine 2022-03-10 10:25:28 for what i write, nano is the best fit 2022-03-10 10:26:08 im only a couple keybinds away from being able to use the universal editor: notepad 2022-03-10 10:26:39 besides, whats wrong with nano? 2022-03-10 10:27:21 nothing 2022-03-10 10:27:23 :) 2022-03-10 10:27:30 its all just bike shedding 2022-03-10 10:27:31 aww 2022-03-10 10:27:41 nmz: there are people using oberon? 2022-03-10 10:27:49 no 2022-03-10 10:27:52 honestly, I think x//i// is revolutionary 2022-03-10 10:27:58 joe9: apparently 2022-03-10 10:28:00 xi? 2022-03-10 10:28:12 the distributed editor? 2022-03-10 10:28:23 no, vis 2022-03-10 10:28:47 vis has access to acme's EDIT, so you can do x/select this takes/ i/insert before it/ 2022-03-10 10:28:51 whats x//i// then 2022-03-10 10:28:56 its a command 2022-03-10 10:29:02 ah 2022-03-10 10:29:03 ok 2022-03-10 10:29:06 x/parameter/ i/parameter/ 2022-03-10 10:29:20 so editing text becomes composable 2022-03-10 10:29:49 because you can x// x// x// x// d, so you're selecting from that selection from that selection and deleting 2022-03-10 10:29:54 it allows you to do that 2022-03-10 10:30:10 thats cool 2022-03-10 10:37:48 an editor alone is useless unless it has the plumber to support it. 2022-03-10 11:01:15 Composability is practically always a lovely thing. 2022-03-10 20:13:28 hi 2022-03-10 20:14:36 hey vms14 2022-03-10 20:15:06 dave0: why are you literally in every fucking irc channel 2022-03-10 20:15:08 xD 2022-03-10 20:15:13 haha 2022-03-10 20:15:42 I wonder how large your autojoin list is 2022-03-10 20:15:51 10 2022-03-10 20:16:09 some are technical but i also like to chat 2022-03-10 20:16:33 dave0: what's your favourite programming language and operating system? 2022-03-10 20:17:04 forth and netbsd ! 2022-03-10 20:17:07 :O 2022-03-10 20:17:50 I've just reinstalled NetBSD because I cannot live without it 2022-03-10 20:17:52 not really they're all good 2022-03-10 20:18:19 even when netbsd really gives me a lot of troubles 2022-03-10 20:19:02 i like to chat in #netbsd 2022-03-10 20:19:08 they are all smart in there 2022-03-10 20:19:16 yes, I admire the netbsd team 2022-03-10 20:20:02 i don't know how they make money 2022-03-10 20:20:04 they're always doing weird and smart stuff, like the rumpkernel, nvmm, putting lua in the kernel... 2022-03-10 20:20:20 i know there's lots of volunteers but you still need to pay for electricity 2022-03-10 20:21:03 I always thought if I was on the netbsd team I'd try to sell hardware with netbsd on it 2022-03-10 20:22:38 that'd be nice 2022-03-10 20:22:49 have it all set up and ready to go out of the box 2022-03-10 20:23:32 I think something similar to a raspberry could work 2022-03-10 20:23:49 netbsd is a nice choice for embedded systems 2022-03-10 20:23:52 i read the raspberry pi went to space 2022-03-10 20:25:17 hah I've discovered the main goal for a raspberry pi is to buy it and save it on a shelving 2022-03-10 20:25:33 and don't touch it anymore except for the first days 2022-03-10 20:25:49 yet someone uses it for a server, but the main usage is that 2022-03-10 20:25:50 just to have it? :-) 2022-03-10 20:26:47 yes, when you pass the initial hype if you don't have a webpage to serve it's likely you'll do nothing with it 2022-03-10 20:27:03 some people do arcade machines and I saw some neat umpcs 2022-03-10 20:27:29 but a lot of people who I know just have his rpi getting dust, including me 2022-03-10 20:29:08 another system always interested me is dragonfly 2022-03-10 20:29:17 but never tried it 2022-03-10 20:32:20 I run my media room with a Pi. Just upgraded from a 3 to a 4; haven't even put the 4 together yet. 2022-03-10 20:32:27 OSMC works well. 2022-03-10 20:32:30 maw KipIngram 2022-03-10 20:32:36 maw dave0 2022-03-10 20:36:04 was loking for a js forth 2022-03-10 20:36:13 found a lot https://groups.google.com/g/comp.lang.forth/c/bAhrxopCPw4 2022-03-10 20:44:47 i'm trying to write one while i learn javascript 2022-03-10 20:46:15 what boggles my mind is that javascript is a script language which says to me "slow" but it emulates my first computer from the 80's faster than the computer was 2022-03-10 20:47:37 https://github.com/mtinnes/mc-10 2022-03-10 20:48:19 http://faculty.cbu.ca/jgerrie/MC10/ 2022-03-10 20:50:27 a guy showed me an FPS game engine he was making in js 2022-03-10 20:50:54 That's because the computer you have today is about 50 gazillion times faster than that one you had back then. :-) 2022-03-10 20:50:58 apparently it gets so optimized nowadays 2022-03-10 20:51:20 dave0: it's not slow 2022-03-10 20:51:47 I've made some time ago a "search engine" for words in the bible 2022-03-10 20:52:11 every time you press enter it searches the whole bible and shows the verses matching with the word 2022-03-10 20:52:21 I was amused to see how fast it does 2022-03-10 20:52:46 the computer i have today is a m'f'ing supercomputer 2022-03-10 20:52:53 https://vms.neocities.org/bible.html 2022-03-10 20:52:56 xd 2022-03-10 20:53:05 the bloody phones are supercomputers 2022-03-10 20:54:22 the whole bible is a json I've stolen from somewhere 2022-03-10 20:54:51 and the code is really simple 2022-03-10 20:54:58 yet I could improve some stuff 2022-03-10 21:03:26 what do you do in forth when there is a need for optional arguments? 2022-03-10 21:03:35 use a number or a delimiter? 2022-03-10 21:04:57 Forth only sees "the stack." Normally you write a word to take a fixed number of arguments. You can, of course, let one of those values tell you to take more. But you have to code that yourself. You can take as little or as much as you like - none to everything. 2022-03-10 21:05:11 I have an html generator in lisp and I write html like this: (html (head (viewport) (style (css (div color white background black)))) (body (div "oh")) 2022-03-10 21:05:15 Having a word make too many decisions is something you try to avoid. 2022-03-10 21:05:24 I think about how should do the same in forth 2022-03-10 21:05:44 my js 6502 emulator works at 60mhz on one of my computers. another guy's C version works at 120mhz. i know it's apples and oranges but in same ballpark 2022-03-10 21:07:22 I suppose in this case I should put a delimiter 2022-03-10 21:07:58 Yeah, you could do that too. Tell it when to stop. 2022-03-10 21:08:19 or I could make a word to help concatenating stuff 2022-03-10 21:08:31 like s" hi" p 2022-03-10 21:09:23 but if I want to add attributes or something then s" class someclass" s" hi" concat p 2022-03-10 21:09:51 well I'll need an adittional word for attributes 2022-03-10 21:09:57 in lisp I use keywords 2022-03-10 21:10:09 (p :class "someclass" "hi") 2022-03-10 21:10:52 still the word to concatenate would need a delimiter xd 2022-03-10 21:11:57 I'll have to think about 2022-03-10 21:12:41 I could do it like with objects and emulating some sort of the js dom 2022-03-10 21:13:04 so every word would accept a fixed number of items 2022-03-10 21:13:33 still I need to feel comfortable with the language 2022-03-10 21:15:39 vms14: I’ve done things like this for creating html: http://retroforth.org/examples/HTML.retro.html 2022-03-10 21:18:52 crc: hmm, somehow it helps me 2022-03-10 21:19:38 I could make the words for the attributes and somehow embed them in the element 2022-03-10 21:20:09 liked the 'words_with_those_spaces 2022-03-10 21:20:31 it remembers a very dirty hack I've made when implementing a bad forth in perl 2022-03-10 21:20:55 you could quote words with ' and they got pushed on the stack 2022-03-10 21:21:03 and there was a special quote ^ 2022-03-10 21:21:44 ^some_string_~a_with_interpolation 2022-03-10 21:21:57 ~a would take an item from the stack and put it there 2022-03-10 21:22:06 and ~% a newline xD 2022-03-10 21:23:11 I use C style escape sequences, but they require passing the string to s:format to actually replace the parts at the escape sequences 2022-03-10 21:28:59 String handling needs work in Forth. 2022-03-10 21:29:22 That's something that Python makes so easy - I'd love to have a similar capability in Forth. 2022-03-10 21:29:56 But for one thing you need a place to put the strings, so it calls for some sort of heap-type storage, or a string stack, or something beyond what normally comes out of the box. 2022-03-10 21:30:28 but you can implement this stuff and it will be much better suited to your needs 2022-03-10 21:30:54 Like in Python you can say words = sentence.split(" "). sentence is a string - words is an array of strings. 2022-03-10 21:31:02 I have a rotating buffer of space for temporary strings. 2022-03-10 21:31:07 Just that one thing, applied iteratively, really peels text apart fast. 2022-03-10 21:31:21 ah, yes all the functions to work with strings and regexes is a lot of work 2022-03-10 21:31:49 I saw some video when I was looking about forth the first time 2022-03-10 21:31:53 crc: Yes, that's definitely a way to get there. 2022-03-10 21:32:22 I have an s:tokenize for splitting strings to arrays 2022-03-10 21:32:35 No regex yet though :( 2022-03-10 21:32:44 https://www.youtube.com/watch?v=mvrE2ZGe-rs 2022-03-10 21:32:48 :-) Regex is still on my list too. 2022-03-10 21:33:02 The "gleam in my eye" list. 2022-03-10 21:33:30 Right now files have been on my mind. 2022-03-10 21:33:37 which is sad because the guy says "a series" and there is just this video 2022-03-10 21:33:44 Blocks are cool. But I wanna be able to do "big stuff." 2022-03-10 21:33:52 Giant multi-table databases and things like that. 2022-03-10 21:33:56 SQL type stuff. 2022-03-10 21:34:32 The embedded guy in me really likes blocks. :-) 2022-03-10 21:34:43 And everything else there at the "metal interface." 2022-03-10 21:35:24 b*trees look best for file systems as far as I can tell right now. 2022-03-10 21:37:26 Right now the idea is for small files (up to 20k or so) to have no overhead, other than their directory entry. Above that and I'd introduce a "root block" of a b*-tree, and that tree would grow additional layers as the file size went up. 2022-03-10 21:38:29 But I want to have an optional field in the directory entry that can point to a side-block, or short list of blocks, that describe the column schema of a database table. So support for that would be in on the ground floor. Wouldn't have to use it if you just want a regular file. 2022-03-10 22:58:49 crc: just realized retroforth is available on netbsd 2022-03-10 22:59:21 can I do some cgi-like (or sockets) or gui stuff in it? 2022-03-10 23:01:38 oh http://retroforth.org/examples/socket-client.retro.html 2022-03-10 23:13:45 I try to copypaste http://retroforth.org/examples/socket-server.retro.html 2022-03-10 23:15:15 but does not block when #5 [ @Sock socket:accept 'Hello_from_RETRO\n s:format swap [ socket:send drop-pair ] sip socket:close ] times and nc 127.0.0.1 9998 just returns and shows nothing 2022-03-10 23:16:13 yet it says ok all the time 2022-03-10 23:25:02 forth retro seems fun to play with 2022-03-10 23:25:20 maybe is what I was looking for 2022-03-10 23:25:33 yet I don't understand why the socket example seems to do nothing 2022-03-10 23:25:57 it's RETRO 12 (2019.7) 2022-03-10 23:48:58 hey crc retro looks very nice at first sight