00:00:00 --- log: started forth/19.06.24 00:33:49 --- join: xek (~xek@apn-31-0-23-83.dynamic.gprs.plus.pl) joined #forth 03:08:54 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 03:14:07 --- quit: dave0 (Quit: dave's not here) 03:47:41 --- join: gravicappa (~gravicapp@h109-187-235-21.dyn.bashtel.ru) joined #forth 04:10:58 --- join: cantstanya (~chatting@gateway/tor-sasl/cantstanya) joined #forth 04:39:10 --- quit: cantstanya (Ping timeout: 260 seconds) 04:42:09 --- join: cantstanya (~chatting@gateway/tor-sasl/cantstanya) joined #forth 04:42:48 --- join: dave0 (~dave0@069.d.003.ncl.iprimus.net.au) joined #forth 04:48:43 --- quit: proteusguy (Remote host closed the connection) 05:28:11 --- join: proteusguy (~proteusgu@cm-58-10-209-120.revip7.asianet.co.th) joined #forth 05:28:11 --- mode: ChanServ set +v proteusguy 05:52:55 --- quit: reepca (Ping timeout: 245 seconds) 05:53:11 --- join: reepca (~user@208.89.170.37) joined #forth 06:19:33 --- join: reepca` (~user@208.89.170.37) joined #forth 06:20:00 --- quit: reepca (Ping timeout: 245 seconds) 06:26:15 --- quit: reepca` (Ping timeout: 248 seconds) 06:29:02 --- quit: tp (Remote host closed the connection) 06:30:09 --- join: tp (~Terry@mecrisp/staff/tp) joined #forth 07:44:28 --- quit: tabemann (Ping timeout: 252 seconds) 08:07:40 --- quit: dave0 (Quit: dave's not here) 08:46:31 --- quit: gravicappa (Ping timeout: 248 seconds) 08:56:39 --- join: dys (~dys@tmo-102-24.customers.d1-online.com) joined #forth 09:02:28 --- quit: jedb (Read error: Connection reset by peer) 09:03:12 --- join: jedb (~jedb@103.254.153.113) joined #forth 09:05:47 proteusguy: how is actorForth coming along 09:20:50 --- join: PoppaVic (~PoppaVic@unaffiliated/poppavic) joined #forth 09:42:19 --- join: gravicappa (~gravicapp@h37-122-126-177.dyn.bashtel.ru) joined #forth 10:34:41 --- quit: Blue_flame (Quit: Blue_flame) 10:46:36 --- quit: dne (Remote host closed the connection) 10:48:28 --- join: dne (~dne@jaune.mayonnaise.net) joined #forth 11:23:15 --- join: eponym (~epony@unaffiliated/epony) joined #forth 11:23:28 --- quit: eponym (Remote host closed the connection) 12:13:58 this is not really related to forth but it felt like a forthy thing so i thought i'd share 12:14:30 i was just thinking of a new filesystem globbing model 12:14:46 where every file path you write has an implicit * on the end 12:15:08 but, by convention, you would terminate filenames with a period 12:16:14 so, for example, "ls /foo" would match "/foo/" and "/foobar.", but you could write "ls /foo/" to only look into the foo dir, or "ls /foobar." to only see the file /foobar. 12:18:32 Man, shipping today is insane.. 12:19:04 no, filenames do not "conventionally" end with ',' - they just end 12:20:28 I get a box large enough to ship in; far too large, but it's light, right? I should cut it down.. Nah, then they'll be upset.. Wrong.. THey ship by SIZE now.. They do? Yep, $78 - ouch 12:21:43 PoppaVic: he's talking about a hypothetical filesystem 12:22:01 WilhelmVonWeiner: sounds painful 12:22:25 I think it sounds overcomplicated 12:22:38 I might imagine / terminator for a dir, but remember: *nix sees it all as a "file" - a DIR is just a file variant 12:23:43 you could use a flag in the head or a bit in the content - but, soft/hard link, dir or file, named-file/pipe: it's just THERE 12:24:10 --- quit: xek (Ping timeout: 245 seconds) 12:25:35 forget nix though 12:26:09 even without unix style filesystems you still have directory files 12:26:17 afaik anyhow 12:26:31 how often do you need to glob 12:27:26 folks need to understand "glob" better.. It's like getting the entire dictionary as a single string. 12:28:06 I think I tried "globbing" the first week I used linux. Never.Again. -not under C 12:28:20 --- join: jpsamaroo (~jpsamaroo@136.58.85.67) joined #forth 12:36:38 --- quit: gravicappa (Ping timeout: 246 seconds) 12:36:38 --- quit: dys (Ping timeout: 246 seconds) 12:42:56 15:21 < PoppaVic> WilhelmVonWeiner: sounds painful 12:42:56 15:22 < WilhelmVonWeiner> I think it sounds overcomplicated 12:43:17 it's like neither of you read the part where i said it felth like a forthy thing 12:44:24 is that the forthy-thing where you overcomplicate., or the thing where you add a bit to the header, or the overcomplication of letting the word do its job? 12:50:29 I don't see anything forthy about it, please explain because I think I get it or i'm missing it 12:51:35 Forthy might be: "File: /foo/bar" and "Dir: /foo/snafu" 12:52:28 maybe it'd be: " s" /foo/bar" filetype" 12:54:21 WilhelmVonWeiner: I'd accept that a forthy word can use '.' or '/' as a delimiter within the word of the inputstream 13:17:09 --- join: dys (~dys@tmo-115-113.customers.d1-online.com) joined #forth 13:57:34 --- quit: nonlinear (Remote host closed the connection) 14:27:38 * Zarutian been implementing pixmap/bitmap graphics and various associated operators in Forth. 14:28:18 I once wrote farbfeld export for Forth. 14:28:28 I took a leaf out of how VALUEs and TO are often implemented in various forths 14:29:40 a pixmap/bitmap or an operator thereon is a word that always implements four 'methods' 14:30:19 getWidth, getHeight, getPoint, and putPoint 14:32:20 getPoint ( x y -- colour pixelThere? ) and putPoint ( colour x y -- ) 14:33:25 it is curious how this makes implementing masks like Apple Quickdraw had or axis flips and such 14:33:43 relatively easy. 14:37:08 plus many of such graphics operators do not require additional storage as many of them are coordnate transformers that fetch the pixel values from the backing pixmap after the coordnate tranformation. 14:38:23 but I have a trouble with how to implement one such coordnate tranformer: the sheering operation 14:39:20 --- join: nonlinear (~nonlinear@unaffiliated/discrttm) joined #forth 14:39:35 what is sheering? Well imagine that you have a huge deck of note cards and have drawn on the side edges of them 14:40:46 now moving each card a bit to the right will cause a box drawn to become a parellogram whose to sides have become slanted 14:43:36 Do that for every pixel row. 14:44:20 For each pixel, calculate which pixel will be in that position after the shearing operation. 14:44:49 If the pixel contains two pixels of the previous image, take partitions of the values and mix. 14:45:22 --- join: dave0 (~dave0@069.d.003.ncl.iprimus.net.au) joined #forth 14:45:25 john_cephalopoda: no bilinear filtering or anything like that available nor wanted to be implemented 14:45:52 hi 14:46:35 Dave 14:46:41 so, if say each pixelrow is shifted right x pixels then at y-th pixelrow the row would be shifted x times y? 14:48:28 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 14:49:38 I'd sayy that shifting in a centered way would be more like what I see in most graphics programs. 14:50:04 So the top rows get shifted to the left, the bottom ones get shifted to the right, or vice versa. 14:50:48 that is easily achived by doing an translate after the sheering 14:51:45 You could do it directly while you shift. If you do it by calculating for every pixel, it will only take ~50% of the time. 14:52:11 the architecture of this pixmaps thing is that I have quite a few defining words that take as parameter other pixmap or such which it asks for pixels from or to store to 14:54:10 I have an pixmap pmA which was passed to a 90° clockwise rotator which in turn was passed to an offset translator. To render I ask the last for a point at coordnates x y 14:54:41 the translator does a bit of math and asks the rotator for the point at x' y' 14:55:06 and so on until it hits the pixmap pmA 14:55:39 Ah, ok. 14:55:58 So pretty much a growing shader. 14:57:06 this saves quite a lot of space, plus I have a few composers that 'merges' a lot of pixmaps together without actually taking much memory 15:01:31 and why am I bothering with the sheering operation? well because http://datagenetics.com/blog/august32013/ allows me to implement 0-90° rotations that dont look too bad 15:02:51 plus, I am doing it for purposes of doing VNC/RFB in Forth 15:03:25 i wrote a quick sdl program to rotate an image 15:06:17 neat. But I am mainly doing this for three reasons, to understand completely how to do such graphics, to satisfy my Not IMplemented Here itch, and for ultra portability 15:07:28 (the last because I have seen quite a few computing platforms go YOLO sorry mean EOL) 15:08:30 aha there is sin/cos on that website 15:14:56 --- quit: nonlinear (Quit: The Lounge - https://thelounge.github.io) 15:15:11 --- join: nonlinear (nonlinear@unaffiliated/discrttm) joined #forth 15:46:39 --- quit: remexre (Quit: WeeChat 2.3) 16:09:07 Hmm, I want a QR code creator in forth... 16:11:14 --- quit: cantstanya (Ping timeout: 260 seconds) 16:15:13 --- join: cantstanya (~chatting@gateway/tor-sasl/cantstanya) joined #forth 16:18:52 --- part: PoppaVic left #forth 16:29:34 --- quit: john_cephalopoda (Ping timeout: 252 seconds) 16:43:03 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 16:56:50 --- quit: MrMobius (Read error: Connection reset by peer) 17:05:40 --- quit: john_metcalf (Ping timeout: 272 seconds) 17:08:05 john_cephalopoda: I have a hardcopy book "Emedded Controller Forth" with binary listing in hex which I guess the reader was supposed to transcribe ( hey, there're checksums! ) https://archive.org/details/WilliamH.PayneAuth.EmbeddedControllerFORTHForThe8051FamilyBostonAcademicPress1990/page/n175 17:08:05 Nowadays it would be better to print binary files and source code listings in print books as a few pages of QR codes. 17:29:59 --- quit: jedb (Ping timeout: 245 seconds) 17:30:47 --- quit: ashirase (Ping timeout: 248 seconds) 17:31:18 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 17:31:40 --- join: tabemann (~tabemann@h193.235.138.40.static.ip.windstream.net) joined #forth 18:03:45 --- quit: tabemann (Ping timeout: 245 seconds) 18:29:02 --- join: reepca (~user@208.89.170.37) joined #forth 18:36:26 --- join: jedb (~jedb@147.10.26.206) joined #forth 18:51:26 --- quit: jedb (Ping timeout: 272 seconds) 18:52:38 --- join: jedb (~jedb@185.128.24.51) joined #forth 19:05:22 --- quit: ashirase (Ping timeout: 272 seconds) 19:07:01 --- quit: dddddd (Read error: Connection reset by peer) 19:08:29 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 19:11:00 --- join: tabemann (~tabemann@2600:1700:7990:24e0:1ce2:9bd6:6ee:b28e) joined #forth 19:11:22 --- join: remexre (~nathan@x-160-94-179-186.acm.umn.edu) joined #forth 19:30:54 --- quit: dave0 (Quit: dave's not here) 20:14:38 --- join: rdrop-exit (~markwilli@112.201.174.189) joined #forth 20:17:49 Some computer magazines in the 80s had special softstrips that you could scan as an alternative to typing in source code, but you needed a special scanner. 20:18:25 https://en.wikipedia.org/wiki/Cauzin_Softstrip 20:21:36 it's amazing the number of horrible early tech stages we have been thru 20:22:04 once upon a time I was paid to calibrate floppy disk drives at customer premises 20:23:15 the early floppy disks used a filament light bulb and a tapered slot to position the heads, and as the filament aged the heads would no longer seek tracks 20:23:38 i think the Cauzin_Softstrip was on that level of tech 20:27:00 hey guys 20:27:04 I thought it was a pretty cool idea at the time. 20:27:12 hi tabemann 20:27:28 hey tabemann 20:27:43 * tabemann is so happy that he got hashforth to actually successfully recover from segfaults and display backtraces 20:27:56 rdrop-exit, yeah, I thouht the optical head alignment was cool back then also 20:29:42 (well of course it won't recover from all things, but if you enter 0 @ or 0 >r exit it will spit out a backtrace and then act like nothing happened) 20:30:47 I can enter "0 >r" in the Forth I use ... 20:31:01 0 @ should be a valid operation 20:31:18 of course then I get endless "Unhandled Interrupt 00000003 !" until I reset the mcu ;-) 20:31:20 depends on the memory map 20:31:42 rdrop-exit: yes, if your memory map starts at 0 20:31:54 0 @ ok. 20:32:05 but oftentimes memory maps are deliberately empty at 0 to avoid the common case of 0 @ going uncaught 20:32:35 like on Linux the memory map is empty at 0 for this very reason 20:32:56 0 @ hex. 2000038C ok. as thats in ram atm 20:34:13 I assume you don't have enough addressable memory to cover the memory space, so there will be addresses where @ will trigger a segfault 20:34:34 tabemann, yes indeed 20:35:41 yes, depends on the hardware setup (and OS, if any) 20:36:22 yes, there probably is hardware where writing to an unwritable address is a no-op, and reading an unreadable address results in 0 or garbage 20:37:22 e.g. there is hardware where there really is no such thing as an illegal instruction 20:37:35 $ffffffff @ hex. Unhandled Interrupt 00000003 ! 20:39:02 ARM has exceptions for everything 20:39:42 well ARM is a modern architecture, even on very small systems 20:39:48 when contrasted with, say, 6502 20:40:01 :) 20:40:41 on 6502, if you tried to execute garbage, it wouldn't trigger any kind of illegal instruction trap, it would just do random shit 20:41:04 people even explored what these random instructions did and used them to do undocumented things 20:41:36 6502! I fixed a LOT of Atari vector scan commercial video games with them but I hated the cpu 20:41:58 mainly because I hated the 8 bit 6502 index register 20:42:48 I like being able to index into 65k of memory space without paging 20:43:08 There's a really cool youtube video where the guy reverse engineered the 6502 20:43:23 https://youtu.be/fWqBmmPQP40 20:43:59 the atari wasn't even 6502, it was 6507 20:44:12 which has an atrociously small addressable memory space 20:44:47 He uses micro photography 20:45:11 so small that when atari decided to have 8K (wow, 8K) cartridges, they had to do banking 20:45:15 of the ROMs 20:47:19 https://mitpress.mit.edu/books/racing-beam 20:47:45 these were commercial Atari video games, the kind youd find in a video game parlor. They used a very large pcb and a vector scav CRT display 20:47:48 I have that book 20:47:55 vector scan 20:48:07 oh I was talking about the VCS 20:48:16 Ive never seen a 'atari' home computer 20:48:21 the tiny-ass, most-difficult-to-program-ever console 20:48:51 these games were commercial 'asteroids' and 'armour attack' 20:48:51 128 bytes of RAM 20:49:20 i was always amazed how atari got so much performance out of a single 6502 20:49:22 yeah, the arcade games were not comparable with the VCS 20:49:54 the game could be a 2 player with lots of vector scan screen action and still have a reasonable display 20:50:09 Highly constrained systems really get the creative juices flowing. 20:50:12 the arcade games were much more comparable with the later 8 bit machines like the Apple //e 20:50:37 when the cpu was flat out the vector scan would slow down and the picture would start to break up into stick figure action 20:50:38 (which had 64 K RAM, or with a card, 128 K RAM) 20:51:23 I'm impressed by what people could do with the VCS 20:51:31 like I've seen VCS games 20:52:04 and I can't imagine how you can do all that with 128 bytes of RAM and 4K of ROM (or in later games, 8K of RAM with banking) 20:52:09 atari were the only vector scan commercial video geme I ever saw, all the rest used line scan and color crts, and either z80's or 6809's which were much more capable 20:52:41 they coders at atari were amazing for sure 20:52:49 I wonder if any of them ended up using the 68K 20:53:41 asteroids for example had to do all the game calcs, read the user controls and scan the lines into the display all so fast it still looked good to the user 20:54:15 I left the commercial video game biz at the 6809 era so Ive no idea what came after 20:55:03 I never really got into video games 20:55:08 to me at least it seems like the 68K was the first microprocessor that was actually competitive with minicomputers 20:55:31 and which heralded the end of the minicomputer era 20:56:07 sure, it was 16 bit electrically, but you didn't know this as a programmer 20:57:02 i jumped from 8 bits to 32 bits due to a decade away from embedded design 20:57:31 I've only played with 16 bit in MSP430 but was uninspired 20:57:37 Workstations (e.g. Sun) and PCs killed off minis 20:57:57 the 68K was the original workstation CPU 20:58:08 this is exactly what Atari 'armor attack' looked and played like in a commercial video game : https://www.youtube.com/watch?v=ZBW5ltXo5Fk 20:58:21 the Suns, before the SPARCstations came along, used 68K processors 20:58:38 yes 20:58:45 same thing with the SGI workstations, before MIPS came along 20:59:09 I used to play a friend at his home once a week on a ex video parlor 'armour attack'. It took us about 12 months of once a week playing to wind the score counter back to zero 20:59:53 I have a 68k in my HP digital storage oscilloscope, circa 1994 21:00:06 and that scope is flawless, boots instantly 21:01:12 I didn't even know that the 68000 was officially 16-bit, having read a book on the 68K instruction set as a kid, since to the programmer it had 32 bit registers and 24 bit addressing 21:01:29 it's a pretty dull display compared to the color display of a Chinese Rigol costing $1000 (my HP was $4600 in 1994) but it's a much better scope imho 21:02:21 I always thought the 68000 was 16 bit as the 6800 ( My favorite MPU family) was 8 bit 21:02:33 the z8000 was also 16 bit 21:03:11 * tabemann remember programming on a Mac IIsi which had a 68030 21:03:26 was that 32 bit ? 21:03:49 IIRC the 68030 is 32 bit as in it has a 32 bit pinout and 32 bit ALUs 21:03:53 i dont know anything about them. I didnt even play with the 68000 21:04:14 whereas the 68000 has a 16 bit pinout and 16 bit ALUs 21:04:51 but I think the motorola ISA was so sweet, it set the standard for me in assembly 21:05:20 to me my favorite ISA is MIPS 21:05:32 all Intel ISA was very discordant and harsh to me, I hate any intel asssembly 21:05:47 I've never even seen MIPS assembly 21:05:55 I've always disliked the x86 arch 21:06:05 I have a bunch of undocumented MIPS mcus 21:06:16 MIPS is a very clean RISC arch 21:06:26 theyre in various wifi access points 21:06:28 there is only one annoyance with it 21:06:39 they designed in a branch delay slot 21:06:46 in a case of premature optimization 21:07:23 I remember working with a MIPS assembler in a course in college 21:07:38 and the MIPS assembler deliberately hid the branch delay slot from the user 21:07:49 and would reorder instructions so that the user did not see it 21:07:52 why ? 21:08:12 what programmer appreciates hidden stuff ? 21:08:29 because it was an obvious wart on the design of the MIPS arch that was not within the scope of the course to teach 21:10:02 well that just killed any MIPS interest I may have had 21:10:19 sorry bout that 21:11:06 no problem, far too many micros to be interested them all 21:11:25 I'm perfectly happy with STM32 micros and Forth 21:11:45 --- join: gravicappa (~gravicapp@h37-122-126-177.dyn.bashtel.ru) joined #forth 21:13:00 apparently SPARC also has a branch delay slot 21:15:03 next you'll be telling me Santa isnt real!! 21:16:48 lol 21:17:14 don't worry, ARM, PowerPC, RISC-V, and Alpha don't have it 21:17:50 21:18:12 I've never been into Sparc but have heard of their awesomeness 21:18:45 plus I ran up a modern OSS version of slowaris about a year ago and I really loved it 21:19:11 id use it full time if it had the resources that I need 21:20:03 there are free software offshoots of Solaris still out there 21:30:41 okay, I'm gonna head off to bed 21:30:42 bbl 21:30:57 thanks for the chat! 21:42:42 WilhelmVonWeiner, ActorForth looks like it may actually get an initial version coming along soon. Probably to be done in at least 3 stages. 21:48:04 rdrop-exit, I remember those strips. Really disliked them. And BBS' were readily available to download code by then. 21:52:15 tp, when I discovered programming I wanted to design microprocessors for Motorola because of their 6809 and 68000 ISA. As far as I was concerned their CPUs were kind and best to design software for. Sad that they couldn't come out on top for general purpose computing. 21:58:50 proteusguy, it is sad as they were there from the start 21:59:35 the motorola books were outstanding also, I'm lucky to have been aboe to take advantage of that era 21:59:43 --- join: MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 22:01:22 proteusguy, in some way the MSP430 reminds me of the 6800 assembly as it's so orthogonal 22:02:49 tp, yeah I was 13 years old, wrote a letter to Motorola and they sent me every technical manual about their entire line. It must have been 12 pounds of books. I was so amazed. And they were great manuals. 22:03:04 have to run to lunch now....ttyl 22:03:17 no problemo thanks for the chat 22:05:50 --- join: Blue_flame (~cdadr@2409:4042:220c:4956:d49a:61cc:c18e:7656) joined #forth 22:07:35 --- quit: proteusguy (Ping timeout: 248 seconds) 22:18:58 --- quit: dys (Ping timeout: 252 seconds) 22:33:28 proteusguy: I never used datastrips either, although I thought the concept was cool. BBSes were great, if you could get through and they had a local number. I ran a company BBS for a while, we used it to distribute code patches to distributors, they loved it. 22:34:33 rdrop-exit, I never used a bbs, either I'm too young or was doing other stuff at the time of their greatness 22:35:58 I guess micro-sd's would have been a good alternative to datastrips but we just had to wait for the decent tech to come along 22:37:11 The period for datastrips was short-lived, mass-market computer magazines started including diskettes and CD-ROMs at some point. 22:38:12 The more interesting mags had BBSes, and accounts at The Source, Compuserve, and such. 22:40:08 ahh, that makes a lot of sense 22:40:17 early 70's ? 22:40:31 80s 22:41:22 hm, I was raising a family at the time, was very hectic, thats probably the reason I missed that era 22:41:24 Late 70s for some 22:42:30 The BBSses were analogous to forum software today, but ANSI graphics and multi-modem cards. 22:43:32 The one I ran was written in Basic IIRC 22:44:12 or maybe it had a Basic interpreter as part of it. 22:44:28 for customization 22:45:22 I think I still have the manual in storage, should dig it up for a trip down nostalgia lane. 23:02:36 --- quit: gravicappa (Ping timeout: 252 seconds) 23:26:46 4 minutes to space-x stp-2 mission https://www.youtube.com/watch?v=WxH4CAlhtiQ&feature=em-lbcastemail 23:28:21 tp: #SpaceX at EsperNet IRC network is full of SpaceX aficionados 23:28:59 X-Scale, ta! 23:34:38 --- quit: the_cuckoo (Ping timeout: 246 seconds) 23:46:58 --- join: proteusguy (~proteusgu@180.183.97.198) joined #forth 23:46:58 --- mode: ChanServ set +v proteusguy 23:59:59 --- log: ended forth/19.06.24