2022-03-06 00:08:46 memory safety is perhaps an issue 2022-03-06 00:08:53 spec nonconformance is probably a bigger one 2022-03-06 05:40:36 KipIngram try sam or acme. 2022-03-06 12:52:18 Actually I'm pretty happy with vim. I decided a long time ago I should pick one and focus on getting good at it (use it for as much as possible) instead of trying to learn like umpteen different IDEs for various purposes. 2022-03-06 12:52:43 There's still plenty for me to learn about vim, actually - I haven't made a study of it the way I really should. 2022-03-06 12:58:54 read the structural regular expressions paper. It is a good read. 2022-03-06 12:59:58 vi/vim/emacs steer towards "busy" work.. 2022-03-06 13:01:05 Not sure what you mean - I've been happen enough with it. 2022-03-06 13:01:54 I generally try to avoid stuff with big integrated ide's and instead script up my own "ide-like" functionality built around vim and other console tools. 2022-03-06 13:02:23 sam and acme arent ides fyi 2022-03-06 13:02:36 I've got a pretty nice "pdf maker" where I actually enter text in vim on one side of my screen, and can hit a keystroke and it will save, run some tools, and update on the fly a finished pdf on the other side of my screen. 2022-03-06 13:02:54 Right - I understood that. I assumed they're just editors too. 2022-03-06 13:03:53 I've never really understood why people argue over editors so much - which one is "best" for a given person is generally just always going to be the one they've learned and familiarized themselves with. The vim/emacs war has always felt like a religious crusade of sorts to me. 2022-03-06 13:04:14 I've always presumed they're both perfectly fine editors. 2022-03-06 13:04:18 the best editor is notepad :) 2022-03-06 13:04:24 :-) 2022-03-06 13:04:51 the creator of the K programming language uses it 2022-03-06 13:05:13 I think I actually have a slight preference for the cursor motion approach of emacs over vim, but it wasn't enough to keep me from switching over to vim some years ago. 2022-03-06 13:06:03 Too bad there's not one that has Forth as its scripting language. :-) 2022-03-06 13:06:45 Hopefully I'll write a nice editing tool at some point - I've done "passes at that" on the last couple of systems and have been pretty happy with them, but eventually I have bigger plans. 2022-03-06 13:07:14 I want something that basically will work like an IDE, with debugging support, memory monitoring, and so on. 2022-03-06 13:08:06 What I've done so far is a full-screen editor that lets me navigate around in and change 4k blocks. It can display two of them side by side, and I can delete lines from one block and yank them back in the other, and so on. Fairly usable. 2022-03-06 13:08:15 But no debugging connections of any kind. 2022-03-06 13:09:03 It simplifies writing such a thing a lot to regard a block as an array of 64-char lines. 2022-03-06 13:09:15 It was very old-school in that respect. 2022-03-06 13:09:33 I used to do the 1k blocks, but I decided I like 4k a lot better. 2022-03-06 13:09:54 Plus 4k is just a more common disk-related size these days anyway. 2022-03-06 13:10:01 ye 2022-03-06 13:10:12 min block size on ext4 is 4kb 2022-03-06 13:10:17 du -h is always at least 4k 2022-03-06 13:10:21 The latest SSDs we've designed at work use 16k logical page size. 2022-03-06 13:10:33 4k page tables too, on most desktop-class machines 2022-03-06 13:10:54 tho iirc the M1 macs have only 16k page table support in hardware 2022-03-06 13:11:00 They contain a RAM table for mapping logical addresses to physical, and our capacities have gotten so high that they didn't want to put the RAM in for 4k pages. 2022-03-06 13:11:28 Our biggest one is 38.4 TB physical, and it supports hardware compression, so it can present a logical size up in the 80+ TB range. 2022-03-06 13:11:42 And sits in the palm of your hand - it's pretty astounding how that industry has developed. 2022-03-06 13:13:13 read the paper, if you have not. It is a good read. Your enthusiasm makes me think that you will enjoy reading the paper. 2022-03-06 13:13:32 KipIngram: ^ 2022-03-06 13:14:05 :-) I will. 2022-03-06 14:01:23 ed is the standard text editor 2022-03-06 14:39:13 hi 2022-03-06 14:39:34 I try to make the exercises from https://www.forth.com/starting-forth/6-forth-do-loops/ 2022-03-06 14:39:54 I have : box cr 0 do dup stars cr loop ; 2022-03-06 14:39:54 : \stars cr 0 do i spaces 10 stars cr loop ; 2022-03-06 14:39:57 2022-03-06 14:40:00 2022-03-06 14:40:29 but now I have to redefine /stars using begin and until and I end in an endless loop xD 2022-03-06 14:48:39 : /stars cr begin dup swap i spaces 10 stars -1 =0 until ; 2022-03-06 14:48:50 I think I have it, was missing the =0 2022-03-06 14:49:42 oh but it's wrong as it's the representation of \stars and not /stars 2022-03-06 14:50:27 why sometimes -1 is an undefined word? 2022-03-06 14:50:39 will only work in +loop? 2022-03-06 14:51:54 lol now =0 is undefined 2022-03-06 14:52:31 are you forgetting words? 2022-03-06 14:53:14 no, it's 0= instead of =0 2022-03-06 14:53:20 oh 2022-03-06 14:53:22 ofc 2022-03-06 14:53:35 xd I'm very lost with forth 2022-03-06 14:53:45 but I want to get comfortable with it 2022-03-06 14:54:06 and no one knows forth except the guys here 2022-03-06 14:55:30 but i don't understand why the -1 sometimes is an undefined word 2022-03-06 14:56:23 I suppose it's my fault and complains for other reason but says it's an undefined word 2022-03-06 15:06:00 vms14: ye going through Starting Forth book? 2022-03-06 15:06:30 yes 2022-03-06 15:07:00 actually I came to forth because I've always asked people about bottom up programming 2022-03-06 15:07:22 and they told me about forth, and specially about the thinking forth book 2022-03-06 15:07:45 vms14: It's definitely something that just comes with practice. 2022-03-06 15:07:49 but to fully understand the thinking forth book I have to learn some forth first 2022-03-06 15:08:13 and I actually want to see if I'll like forth and can use it as a "main language" 2022-03-06 15:08:16 I kind of lucked into it - the first platform I ever programmed on at all was my HP-41CV calculator in college. I hadn't had a programmable prior to that. 2022-03-06 15:08:30 So all of my programming instincts formed around having a stack and using RPN. 2022-03-06 15:08:39 So Forth was a natural fit for me from the moment I found it. 2022-03-06 15:08:50 do you guys use forth more than for embedded systems? 2022-03-06 15:08:50 And it *still* took years to get really fluid. 2022-03-06 15:08:57 But it'll eventually get into your blood. 2022-03-06 15:09:32 What I'm trying to gradually pull together is an operating system that I would use a lot like console based Linux with GNU screen for multiple sessions. 2022-03-06 15:09:37 when I want to look for opinions of people about forth, they tend to say the only advantage is for embedded systems and seems that people won't use it for example for desktop applications and alike 2022-03-06 15:10:02 vms14: I use Forth for most of my projects, but very seldom do anything that'd fall under the embedded category 2022-03-06 15:10:15 I think what happens is that Forth isn't as "good a fit" when it's running on top of some other OS. 2022-03-06 15:10:33 I think if you're "Forth all the way down" then you can do almost anything you want with it. 2022-03-06 15:10:39 but I somehow I see power in it, specially the fact is so easy to implement that I can create a forth in any language and steal stuff from there, making it something native to forth 2022-03-06 15:10:58 Yes - being able to understand every bit of the software on your system is a nice thing. 2022-03-06 15:11:14 It's a system that one individual can realistically bring a system all the way up with. 2022-03-06 15:11:39 well my main question is if forth can do the same lisp does, which it seems to be able to, although a bit differently 2022-03-06 15:12:01 once you enter to lisp you start missing macros everywhere, but in forth does not seem to apply 2022-03-06 15:12:23 I think it CAN, but most Forth systems you run across in the wild haven't had a lot of emphasis put on strings and the kind of structures that you would see in Lisp. 2022-03-06 15:12:42 and my goal is to learn forth until I understand it better and can check if I really like it 2022-03-06 15:13:05 if I do, then I'd start implementing it on java/kotlin to make it able to do android applications 2022-03-06 15:13:13 I love Forth, but if I need to write a quick program to munge a bunch of text into some other format, I reach for Python, because it's just so good with strings right out of the box. I want that kind of string power in Forth, and it's something I'll try to write one of these days. 2022-03-06 15:13:22 KipIngram: why you do love it 2022-03-06 15:13:51 also gforth has an impressive ffi, very easy to use 2022-03-06 15:13:54 Because of what I said above - it has a "native simplicity" that appeals to me, and enables me to build my own system from the ground up. 2022-03-06 15:14:02 I was shocked to see one example in rosetta code 2022-03-06 15:14:11 https://rosettacode.org/wiki/Draw_a_pixel#Forth 2022-03-06 15:14:15 I know I *could* write a C compiler if I set out to, but it would be a lot of work. Forth systems are just so easy to create. 2022-03-06 15:14:34 KipIngram: I use Tcl for that but then I am used to extend EDAs or play with the Themed Toolkit widgets for gui 2022-03-06 15:14:44 that's why I've just installed debian to be able to use ffi in gforth, so I can do funny stuff while learning the language 2022-03-06 15:14:50 (string mangling) 2022-03-06 15:15:04 KipIngram: I love to "roll my own stuff" 2022-03-06 15:15:35 Well, I don't really like "long" Forth definitions that "look like" C. I'd factor the hell out of that example. 2022-03-06 15:16:06 That's just personal taste - some people prefer to code just that way. 2022-03-06 15:16:08 I mainly like Forth for it bootstrapping and that it can run in serverily constrained footprint 2022-03-06 15:16:09 this is in part why I love common lisp, it not only let's you build your stuff, but provides a lot of tools to let you build things eeasier 2022-03-06 15:16:20 But the general wisdom you find in books like Thinking Forth is "factor, factor, factor." 2022-03-06 15:16:26 and in forth it's like rolling your own is a requirement, not an enforcement 2022-03-06 15:16:29 Most of my definitions these days are 40-50 characters long. 2022-03-06 15:16:43 Part of that, though, is that I like "symbols" rather than long spelled out names. 2022-03-06 15:16:52 KipIngram: I also want to know what's about the forth philosophy in thinking forth 2022-03-06 15:17:00 I only see simplicity and factoring atm 2022-03-06 15:17:07 I generally agree with the stuff in TF. 2022-03-06 15:17:13 I think it's an excellent book. 2022-03-06 15:17:25 a guy recommended me this book several times 2022-03-06 15:17:34 vms14: looking at problems from diffrent perspectives 2022-03-06 15:17:35 he says does not use forth the language 2022-03-06 15:17:43 but forth the philosophy, every day 2022-03-06 15:18:33 Yes, that philosophy is primarily "modularization." 2022-03-06 15:18:55 Simplify, break down into very well-defined little pieces. Then build the pieces and test each one, and work your way up. 2022-03-06 15:19:36 Also the idea is that you're not so much "writing an application" as you are "extending Forth to give it a natural language for solving that problem." 2022-03-06 15:20:04 You're developing an "elegant lexicon" which fits onto the target problem domain. 2022-03-06 15:20:22 that's what I usually do in lisp 2022-03-06 15:20:31 one thing I like to do in Forth is to take repeations and near repeations out even in places that would be ackward in most Algol 68 syntax dervied languages 2022-03-06 15:20:39 you start making the language able to understand the problem 2022-03-06 15:27:01 Right. 2022-03-06 15:27:05 Same idea with Forth. 2022-03-06 15:27:33 And meanwhile you're not building some new interface - you already have an interface in the Forth interpreter. You just mold it to the new problem. 2022-03-06 15:27:55 Of course, these days people don't think it's real software unless it has a GUI. Even if the problem doesn't really need one. 2022-03-06 15:28:14 I think a LOT of unnecessary GUIs are built by the software industry. 2022-03-06 15:34:14 Clearly, some applications just cry out to be graphicsal - CAD type stuff is an example. Say, printed circuit layout toosl, etc. 2022-03-06 15:34:30 But a lot of problems can be solved just fine without graphics. 2022-03-06 15:42:21 well I like guis where you use selection buttons, on complex industrial machinery 2022-03-06 15:43:22 often looks like it is in old Motif style but gets the job done 2022-03-06 15:53:50 I wouldn't be too critical of them in an application like that - in that case they're providing a "picture" of what a mechanical interface would look like. I'm not sure exactly how I'd draw the line, but somehow I just think we've "over-GUI-ed." I think part of it has been driven by an attempt to make computers "idiot operatble." 2022-03-06 15:54:45 I think what really hacks me the most is that the GUI-based "for the ignorant" interfaces have *displaced* "power user" interfaces. 2022-03-06 15:55:36 I think the standard way of implementing an application, when you want a GUI, is to first design a console interface that's very power-user oriented, and then put a GUI on top of that, that just drives the CLI. But in a lot of apps you just don't get a CLI, and if you do it often can't do everything the GUI can do. 2022-03-06 15:55:52 So maybe what bothers me is that GUIs have become "primary" and sometimes "only." 2022-03-06 15:59:32 So even in the case of your machine HMI (which makes total sense to me, btw), I'd still like for there to be a CLI sitting beneath that, and having it be scriptable would be awfully nice - that would be the interface that your technicians and test team used and so on (well, except for the HMI test group). 2022-03-06 16:01:56 GUIs are often arranged so that someone "not very familiar" with the application can sit down and sort of stumble through it, by peeking at menus and so on until they see something that looks promising. 2022-03-06 16:02:09 right, and current guis often hide stuff that is usefull for a power user to keep interfaces 'clean' 2022-03-06 16:02:16 But people who totally know what they're doing could bypass that and "power user" the CLI. 2022-03-06 16:02:21 this is an odd perspective because guis are not designed on top of commandline tools 2022-03-06 16:02:34 I know - that's what I'm complaining about. 2022-03-06 16:02:43 I think it should be the standard way things are done. 2022-03-06 16:02:56 ouch 2022-03-06 16:02:58 That way you can design the whole system and make sure it's rock solid before you ever even think about the GUI. 2022-03-06 16:03:09 commandlines are a really terrible well 2022-03-06 16:03:16 programming interface? 2022-03-06 16:03:17 api? 2022-03-06 16:03:23 a bit like the way Scripting with AppleScript on MacOS worked 2022-03-06 16:03:44 ? 2022-03-06 16:03:45 the fact that we distinguish commandlines from just registered functions in a system is a big mistake imo 2022-03-06 16:03:53 plus, not everything translates to a cli 2022-03-06 16:03:59 Now, I should admit I'm not speaking with a lot of experience of designing GUIs that way under my belt. 2022-03-06 16:04:03 photoshop sure as hell doesnt 2022-03-06 16:04:04 So I might change my mind. 2022-03-06 16:04:35 But it just gets so old finding out that there are things that I HAVE to use the GUI for - things that the CLI just doesn't do. It's like the CLI is often treated as an "afterthought." 2022-03-06 16:04:36 by saying 'every gui should be built on a cli', you're constraining a gui to the flaws of commands 2022-03-06 16:04:53 photoshop as implemented on top of imagemagik now that is an idea 2022-03-06 16:04:54 Maybe - like I said, I might change my mind if I actually tried to do this. 2022-03-06 16:05:01 one operating system that NAILS the CLI/GUI thing is Oberon 2022-03-06 16:05:06 But I just don't think there should be things the GUI can do that the CLI can't. 2022-03-06 16:05:14 see, oberon lacks a proper CLI 2022-03-06 16:05:20 instead, you open up a text window 2022-03-06 16:05:26 Not familiar with it. 2022-03-06 16:05:29 and you select the commands you want to execute 2022-03-06 16:05:40 and press the execute button 2022-03-06 16:05:46 all text in oberon is editable 2022-03-06 16:06:15 one thing I like with Tcl/Ttk and even the VisualBasic was/is the editability of the gui of the app 2022-03-06 16:06:28 applications are libraries with a bit of glue 2022-03-06 16:06:33 ACTION is looking up Oberon. 2022-03-06 16:06:49 Ah, a fairy king. :-) 2022-03-06 16:07:03 Moving on to entry 2 in the search results... 2022-03-06 16:07:04 and the applications, when run, expose their library functions 2022-03-06 16:07:06 something I later discovered orignated/homaged-to with Smalltalk80 or Squeak 2022-03-06 16:07:23 so, at the top of application X 2022-03-06 16:07:31 you have X.a and X.b and X.c 2022-03-06 16:07:53 nothing says you can't execute X.a from any other window 2022-03-06 16:08:05 or perhaps even another script/program 2022-03-06 16:08:19 eris[m]: a bit like the Sprockets of MacOS (I still pine for InputSprockets & coþ 2022-03-06 16:08:26 I think libraries are over-used too - applications get "force fit" to libraries that the programmer is familiar with, even when the fit isn't really that good. 2022-03-06 16:08:27 s/þ/)/ 2022-03-06 16:08:33 basically, all of oberons buttons are just calling library functions 2022-03-06 16:08:46 Common Forth philosophy is to code to the problem at hand. 2022-03-06 16:09:27 I don't mean to diss libraries completely - I just think sometimes it leads to a less than optimum solution. 2022-03-06 16:09:34 aye 2022-03-06 16:09:38 its a cool system though 2022-03-06 16:09:59 One of the reasons I turn so often to Python for quick and dirty work is precisely because it has such an extensive array of pre-built functionality. 2022-03-06 16:10:12 libraries should often be grown from experience of doing the stuff in Forth and then as actual source text library not some linked thing 2022-03-06 16:10:18 It can make solving a problem very fast, and sometimes "quick and dirty" is fine. 2022-03-06 16:10:19 because all your gui actions correspond to calls 2022-03-06 16:10:25 you can just. make those calls 2022-03-06 16:10:37 But if you're going to sell a million of something, it's probably worth pursuing an "ideal" solution. 2022-03-06 16:11:00 but the profit will fall if you dont go fast enough 2022-03-06 16:11:10 so quick and dirty is all you get 2022-03-06 16:11:20 microsoft sends their love 2022-03-06 16:11:42 I know. 2022-03-06 16:11:46 btw do powerbank have some standard usb endpoint that can be used to quiery and order it around? 2022-03-06 16:12:04 powerbanks* 2022-03-06 16:12:18 So it becomes preferable to ship a sub-ideal product sooner, rather than a beautiful product later. 2022-03-06 16:12:27 yup! 2022-03-06 16:12:29 such is capitalism :) 2022-03-06 16:12:43 there's no technical solution to bad software, sadly 2022-03-06 16:12:44 it compiles! ship it! mentality 2022-03-06 16:12:50 And that effect just amplifies through layer after layer, and that's why we have the horribly bloated software industry that can't make their products secure. 2022-03-06 16:13:18 Part of what draws me to Forth is it's "animosity" toward that whole approach. 2022-03-06 16:13:27 KipIngram: re security: I mainly blame ACLs for that 2022-03-06 16:13:38 I really just eat up the stuff that Chuck and Fox have written over the years talking about all that stuff. 2022-03-06 16:13:55 ACTION is a proponent of capabilities based access control (ocaps) 2022-03-06 16:13:58 I really, really LIKE Chuck's philosophy toward it all. 2022-03-06 16:14:11 I like capabilities too. 2022-03-06 16:14:30 Ran across them 20-25 years ago, and the idea just resonated. 2022-03-06 16:15:36 fuck if I ever figgure out to do them in Forth other than doing a object basef system or use a Forth as an command interpter in a command system inside KeyKOS and ilk 2022-03-06 16:15:49 based* 2022-03-06 16:16:16 Yeah, it's really something that hardware support is best for. 2022-03-06 16:16:49 I haven't ever really thought about how they might be workable in Forth. Maybe that would be a fun way to spend an afternoon sometime. 2022-03-06 16:17:04 Like CHERI in ARM (and possibly RISC-V)? 2022-03-06 16:17:20 (re hw support) 2022-03-06 16:17:50 I don't know about that. Somehow you'd need there to be part of a cell, or something associated with it, that wasn't accessible to the application level. So that someone couldn't just pick an integer and have it be an address. 2022-03-06 16:18:57 I probably don't remember it all that well - that was a long time ago. 2022-03-06 16:19:12 Seems like lots of stuff was a long time ago these days. 2022-03-06 16:19:36 https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/ 2022-03-06 16:20:26 capabilities sadly seem to need type shenanigens 2022-03-06 16:20:41 yeah I was floored when I saw that Zelda - Breath Of The Wild is five years old 2022-03-06 16:20:58 in cheri, there's type shenanigens that're built into the hardwarw 2022-03-06 16:21:06 you can't get an address from an integer i dont believe 2022-03-06 16:21:21 I just went 'but it came out one and a half year ago' 2022-03-06 16:21:43 i went 'it came out 2 years ago'! 2022-03-06 16:21:52 eris[m]: pretty much afaiui 2022-03-06 16:22:34 (both contexts :-) 2022-03-06 16:22:49 lol 2022-03-06 16:23:35 yeah, I think there is some chronometric skew going on here 2022-03-06 16:24:55 like I heard some say that the dot-com bubble went from 1995 to 2000 but it was actually 1994 to 1999 2022-03-06 16:24:59 capabilities is one of those fancy things 2022-03-06 16:25:18 where its applicable on every level 2022-03-06 16:25:31 so cheri doesnt solve every issue solved by capabilities 2022-03-06 16:25:36 only hw level ones 2022-03-06 16:25:58 so you need something on top, like a capability safe language (E and Pony come to mind) 2022-03-06 16:26:15 but yeah gimme a rudementary mmu and problem-priviledge mode and I can implement caps in kernel 2022-03-06 16:26:25 because they encode stuff like network and file access with the type system 2022-03-06 16:26:38 fancy stuff 2022-03-06 16:26:41 2000 was still a good year at the company I worked for - I didn't see the "bubble burst" until 2001. 2022-03-06 16:26:47 linear types 2022-03-06 16:27:05 Our revenues went from $50+ million in 2000 to $12 million in 2001. :-| 2022-03-06 16:27:41 The product line we produced sort of depended on the "slope" of the market. All it took to hammer us was for growth to stop. 2022-03-06 16:27:41 eris[m]: you might want to check https://spritely.org then as that aims to continue the E stuff 2022-03-06 16:27:47 Didn't need an actual downturn. 2022-03-06 16:28:12 Or rather an actual "contraction." 2022-03-06 16:28:15 hmm 2022-03-06 16:28:24 the site seems to be off the line 2022-03-06 16:28:36 wait a bit 2022-03-06 16:28:43 Most of what we sold in the years before was to fulfill new demand from out customers because their market was growing. 2022-03-06 16:28:56 Once it stopped growing, last years purchases continued to meet their needs. 2022-03-06 16:29:05 eris[m]: https://spritelyproject.org 2022-03-06 16:29:06 s/years/year's/ 2022-03-06 16:29:25 my mistake of typing the url from memory 2022-03-06 16:29:33 huh 2022-03-06 16:31:28 KipIngram: yeah the bubble burst in '99 of that I am certain, just the effects took up under a decade to finish playing out 2022-03-06 16:37:06 it is like many think nowdays the Twerking Fad'demic (fademic?) was some sort of Mandela effect thing 2022-03-06 16:39:00 I can buy that - I guess a bit of ripple would have been required for it to get to us. 2022-03-06 16:39:31 and misatributions abound to as many think Futurama was the origin of hypnotoad 2022-03-06 16:44:49 hypnotoad came about as meme due to the Imageshack PhotoBucket Fro 2022-03-06 16:45:11 g bandwith exceeded replacement image 2022-03-06 16:46:20 plus that frog is red eyed and green (not yellow) 2022-03-06 16:47:57 the response was and is: ALL GLORY TO THE HYPNOTOAD 2022-03-06 16:49:04 and do not get me started on the SNES cd addon made by Sony 2022-03-06 16:49:39 due to Nintendo spurning them we got PlayStation 2022-03-06 16:50:30 anyway Forth things before I start to yell at The Cloud like A 2022-03-06 16:50:39 . Simpson did. 2022-03-06 16:51:22 "Cloud computing? is that just vapourware?" 2022-03-06 16:51:52 (that is hw that can 'evaporate' on ya)