00:00:00 --- log: started forth/20.01.19 01:07:27 --- join: crab1 joined #forth 01:07:41 yo yo yo who up 01:10:26 I just come by to say it makes me happy when I see something like "All tracks performed, written, produced, instruments played, mixed and mastered by JPEGMAFIA" on a vinyl jacket 01:15:49 I'm bothered by the tarnish that gets put on almost every piece of music we listen to by separate entities that mix/master, etc. 01:18:28 --- quit: rdrop-exit (Quit: Lost terminal) 02:28:13 --- join: iyzsong joined #forth 03:56:33 --- quit: C-Keen (Quit: WeeChat 2.6) 03:59:57 --- quit: crab1 (Ping timeout: 265 seconds) 04:07:46 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 04:14:50 --- quit: dave0 (Quit: dave's not here) 04:37:24 --- quit: smokeink (Quit: Leaving) 04:40:37 --- quit: proteus-guy (Ping timeout: 268 seconds) 04:45:50 --- join: dddddd joined #forth 05:05:40 --- join: glenda joined #forth 05:05:53 what name am I showing up under? 05:06:04 glenda. 05:06:46 am crab1, client took my system username and change nickname command won't work 05:12:14 --- quit: glenda (Read error: Connection reset by peer) 05:12:40 --- join: glenda joined #forth 05:15:44 What are y'all up to today? 05:28:13 if I want to write binary to a file with c, 05:28:19 how do I do that? 05:42:09 prepare your data in a buffer, use fopen/fwrite/fclose 05:49:32 Hmm I can't seem to find a way do deal with collections of bits that are smaller than a byte 05:51:29 you can pack them into bits using bit operations (shift, and, or) 05:51:36 into bytes, i mean 05:55:50 Maybe I'm better off treating them as characters then creating a function binary->integer(), I'm dealing with the RISC-V instruction set and an instruction might look like [7bitchunk,5bitregister,5bitregister,3bitchunk,5bitregister,7bitopcode] so if I had [...,"00010","00011",...] and then put the strings together and turn that into an int, but I don't really know if that's more or less complicated 05:55:59 C is not my expertise 05:57:28 sounds more complicated to me 05:58:15 i would treat each instruction as an unsigned 32-bit number until it's about to be written to the file, and then split it into four bytes 05:59:22 u32 instruction = chunk1 << 18 | chunk2 << 15 | chunk3 << 11 | chunk4 << 3; 06:00:04 byte[0] = instruction & 0xff; byte[1] = (instruction >> 8) & 0xff; byte[2] = ... 06:00:31 (the shift amounts in the first line are made up, because i don't know them without looking at the manual) 06:02:58 so int inst = x << 7 | r1 << 5 | r2 << 5 | y << 3 | rd << 5 | op << 7; will turn that 32 bits into a single 32 bit integer? 06:03:24 yes, but wrongly 06:03:52 you need to shift the individual parts by the right amount to place them at the right spot in the 32-bit word 06:04:07 and it's int x, r1, r2, y, rd, op; 06:04:08 you've shifted them by their own size instead, AFAICT 06:04:26 i'd use uint32_t instead of int, but int is ok too 06:04:56 ohh you shift by 32 - last-bit 06:05:10 wait, who, when? 06:05:13 or 06:05:33 hmm 06:05:52 "ohh you shift by 32 - last-bit" <- you lost me there. too little context. 06:06:52 --- join: TwoNotes joined #forth 06:08:04 "< jn__> you need to shift the individual parts by the right amount to place them at the right spot in the 32-bit word" <-- the result should look roughly like inst = ... y << 12 | rd << 7 | op << 0; 06:08:30 so say the length of the first chunk is 7 bits, then we do x << (32 - 7) | r2 << (25 - 5) | r1 << (20 - 5) ... 06:08:36 is that correct? 06:08:54 ah, yes 06:09:17 ok ok, much simpler than the character route, thank you :) 06:09:29 ("first" is always a bit difficult for me, because you can start from either end and it makes *some* sense) 06:09:48 I understand, my language was imprecise 06:11:04 happens :) 06:22:04 --- quit: TwoNotes (Quit: Leaving) 06:27:58 --- join: dys joined #forth 07:20:43 what are y'all up to? 07:27:07 cooking and watching the SpaceX stream :) 07:27:31 Oooh cooking is fun 07:27:45 I would not know anything about SpaceX though 09:21:11 SpaceX completed a successful emergency separation of the "crewed" Dragon from the Falcon-9 during Max-Q which was a critical check point for rating them as man-ready to send astronauts to ISS. 09:22:44 --- join: proteus-guy joined #forth 09:36:25 interesting 09:36:58 I wish I could send astronauts to the ISS 09:37:21 and then construct my own SS and conquer the skies 09:37:39 Would it be legal to construct and launch your own SS? 09:39:03 I feel like I'm bad at writing C. There's a lot of repitition in this program I'm writing. 09:49:07 --- quit: deesix (Ping timeout: 265 seconds) 09:49:47 --- quit: dddddd (Ping timeout: 272 seconds) 09:50:35 --- join: deesix joined #forth 10:02:46 --- join: dddddd joined #forth 10:18:56 back 11:01:12 <`presiden> construct your own SS 11:01:58 <`presiden> and write all the software in forth 11:37:11 --- join: xek joined #forth 12:01:20 hey 12:03:50 --- quit: tpbsd (Quit: I'm quitting to find peace with my inner stack !) 12:04:34 --- join: jedb_ joined #forth 12:07:42 --- quit: jedb (Ping timeout: 268 seconds) 12:10:49 --- quit: gravicappa (Ping timeout: 240 seconds) 12:17:59 --- join: C-Keen joined #forth 12:37:08 --- join: TwoNotes joined #forth 13:30:05 --- join: X-Scale` joined #forth 13:31:27 --- quit: X-Scale (Ping timeout: 272 seconds) 13:31:28 --- nick: X-Scale` -> X-Scale 14:06:59 --- join: X-Scale` joined #forth 14:09:13 --- quit: X-Scale (Ping timeout: 240 seconds) 14:09:38 --- nick: X-Scale` -> X-Scale 14:32:14 --- quit: TwoNotes (Quit: Leaving) 15:17:38 --- quit: dys (Ping timeout: 268 seconds) 15:57:04 --- quit: tabemann (Ping timeout: 260 seconds) 16:15:18 --- join: dave0 joined #forth 16:24:04 --- join: tabemann joined #forth 16:40:23 wow - tp isn't here 17:09:34 --- join: gabc joined #forth 17:30:59 --- join: rdrop-exit joined #forth 17:47:56 hey 17:48:11 hello tabemann 17:48:39 --- quit: dave0 (Quit: dave's not here) 17:50:51 * tabemann is trying to get zeptoforth up to the point where it can compile code (so that further code can be specified in forth rather than assembly), but it's requiring writing a lot of assembly 17:53:13 and Thumb is not endearing itself to me 17:53:22 You could use another Forth as a bootstrap bridge 17:55:35 right now I'm focusing on writing a minimal Forth that can support compiling a fuller Forth 17:57:24 I think a bootstrap bridge is easier 17:58:15 than writing your initial minimimal image entirely in assembly 18:00:20 the thing is the only real Forth that's usable for Cortex-M is mecrisp-stellaris, and if I were to use that, I might as well just use it without any other Forth (since it takes up about 20K already) 18:04:00 What does mecrisp-stellaris have to do with zeptoforth, you could use any PC Forth 18:04:25 The assumption is a bare target 18:05:06 oh, you mean use JTAG or like to write a forth onto a device from another forth 18:05:23 no 18:06:15 can you use C for some of that? 18:06:28 (dont throw rocks at me) 18:06:37 You don't need C 18:06:44 I've thought about that, but then figured that A) it would require writing an assembler and B) it would require either writing a JTAG or STLink interface or, if it were to use a serial interface, it would require writing a stub to install on the device first 18:07:03 you don't need JTAG 18:08:39 of course, that's just one way of doing it 18:09:28 The assumption is a bare target 18:13:50 stupid question - when STATE is non-zero does it mean that the system is in compilation mode, or does it mean the system is in interpretation mode? 18:14:50 non-zero is compilation 18:15:24 IIRC, I don't have a STATE variable in my Forths 18:15:56 that's the way the 83 standard had it 18:16:06 I assume ANS didn't change it 18:16:20 I think you're right 18:16:45 because I remember in the past writing "smart" words that were immediate and had special semantics when STATE was non-zero 18:20:17 For you're bootstrap bridge you can take use PC based Forth, write a minimal target assembler, write the primitives using that, write whatever minimal set of higher level words you want in the embryonic target Forth's image, use that to produce the initial image. 18:21:46 Place the initial image on the target, then go from there. 18:23:04 back 18:23:12 When you're Forth is capable of metacompiling itself, you can throw away the bootstrap bridge, it's just a temporary expedient. 18:23:40 another stupid question: is : immediate typically? 18:23:49 no 18:24:29 --- join: jedb__ joined #forth 18:25:42 bootstrapping artifacts are important historical and practical pieces to save! (: 18:27:15 --- quit: jedb_ (Ping timeout: 265 seconds) 18:29:04 Can be yes, although most of the code ends up in some transplanted form as part of the metacompiling forth. 18:30:42 C was originally written in B, then various proto early Cs, but nobody cares about those boostrap bridges anymore, other than historical curiosity. 18:32:10 Now the next version of a C compiler is produced by the previous version, the same applies to a proper metacompiling Forth. 18:34:29 But without those intermediate pieces the chain is broken and rework is needed to redo/audit the bootstrap. I'm seeing that kind of painful efforts these days (I'm helping a bit, indeed). 18:36:08 BTW, how is the volcano situation evolving? 18:36:24 Trying to audit the whole provenance has diminishing returns, in the end what counts is what's in the current binary image, only a disassembler will give you that. 18:37:38 It's still spewing, 714 volcanic earthquakes since January 12, still on Alert Level 4 18:38:04 Meaning it my explode within hours or days if it doesn't slow down 18:38:18 * might explode 18:38:21 scary! 18:39:04 Lots of roads and bridges have cracked in the neighboring towns 18:39:41 I've only been outside for an hour since the 12th 18:40:38 I think the last time it was spewing it lasted 7 months 18:40:39 oh yes... I think you talked about the dangerous particles. Nasty stuff. 18:41:29 back 18:41:34 The Taal volcano is actually a volcano *inside* an older volcano 18:41:55 The lake surrounding it is the caldera of the older volcano 18:42:08 https://en.wikipedia.org/wiki/Taal_Volcano 18:43:05 I saw that while researching a bit after the first news from you. 18:43:53 My wife's family is from that region 18:44:20 actually that province 18:45:00 Her family's ancestral house is in one of the towns affected 18:45:02 hard times, I hope everything ends well! <3 18:46:53 Me too, Filipinos are extremely resilient, typhoons, earthquakes, volcano eruptions, and in a few days it's almost as if it never happened 18:47:34 I forgot tsunamis 18:49:43 Just compare the magnitude of Typhoon Yolanda to that of Hurrican Katrina in the US 18:50:31 Nature rules, sculpted the character no doubt. Much respect for you all. 18:51:42 For comparison, here's Yolanda (Haiyan) on the left and Katrina on the right: 18:51:47 https://en.wikipedia.org/wiki/Typhoon_Haiyan#/media/File:Comparison_between_Haiyan_and_Katrina.png 18:52:47 If you are curious about what I talked about earlier, check the bootstrappable project. There was a forth path but was discarded for now because it seems it was not the easiest one (but prototypes are there, waiting for someone to follow on) 18:53:05 they superimposed Yolanda onto a map of the States to show what the effect would have been 18:54:14 will check it out dddddd, thanks 18:54:53 My pleasure, feel free to ask me about it... anything. 18:55:36 ok will do, is it bootstappable.org ? 18:56:28 yep, there's a wiki too 18:57:04 ok, added it to my mountainous "to read" pile 18:57:10 bootstrapping.miraheze.org 18:57:43 oh, that pile... we all have one (: 18:58:19 Looks like an interesting read 18:59:09 amazing work oriansj, janneke and others are doing 19:00:31 Sadly Forth metacompilation is quickly becoming a lost art 19:02:13 The vendors aren't really interested in helping you make new versions/variants of their products, and most open source projects aren't geared towards it 19:03:13 --- quit: tabemann (Ping timeout: 240 seconds) 19:03:18 Ignoring metacompilation is how you end up with kitchen-sink Forths 19:03:21 I'll research that, sounds quite interesting topic 19:03:54 It's the *other* type of extensibility of Forth 19:05:50 You end up with much more runtime overhead if you omit metacompilation from your toolkit 19:07:23 AM i reading correctly that picture? -80 celsius?! 19:09:23 I assume so, I'm not knowledgeable in meteorology 19:09:37 sounds crazy 19:10:33 It was the strogest storm to make landfall in "recorded" history 19:11:53 305 km/h (190 mph) 19:13:01 A Dutch friend of mine who works at OXFAM was here directing the relief efforts 19:13:15 crazy job 19:13:27 --- quit: jedb__ (Ping timeout: 272 seconds) 19:14:23 they're still finding bodies, almost four years later 19:19:59 time to go offline, nice conversation. See you! 19:20:13 take care, keep on Forthin' 19:20:32 thanks, you too! 19:23:51 --- quit: dddddd (Remote host closed the connection) 19:24:24 --- join: tp joined #forth 19:28:26 --- quit: tp (Client Quit) 19:29:03 --- join: jedb joined #forth 19:39:37 Found something on youtube explaining Typhoon Yolanda (aka Haiyan) 19:39:40 https://www.youtube.com/watch?v=2DxYbnWmM-0 19:57:57 --- join: tabemann joined #forth 20:20:17 --- join: ryke joined #forth 20:23:15 --- quit: glenda (Read error: Connection reset by peer) 20:25:04 --- join: crab1 joined #forth 20:25:47 Good day to you all 20:29:23 hi crab1 20:29:46 How are ya? 20:30:23 ok thanks 20:30:45 anything interesting going on? 20:31:06 relaxing with after lunch espresso c[] 20:31:24 too full to concentrate 20:31:36 espresso never did it for me 20:32:30 neither did overeating :) 20:32:43 :) 20:33:12 is it a work day for you? 20:33:38 I'm retired, all days are the same except when the kids come over or I go to the beach 20:33:54 oh gotcha 20:34:26 It's Monday 12:33pm here 20:34:26 wish I was retired 20:35:01 it'll come faster than you imagine :) 20:35:08 Sunday 23:33 for me 20:35:20 Well hopefully faster for me than for my peers 20:35:38 at least the sort of retired that means I spend my time as I please 20:35:55 that's the only sort that counts :) 20:36:29 right, can still have income though 20:38:17 Like my grandfather is retired but he drives cars around for Enterprise on a "when I want to" basis 20:39:45 It's important to keep busy, lots of hobbies 20:40:17 that's true both pre- and post-retire 20:41:18 keep the mind sharp and Alzheimer's at bay 20:41:45 damn that alzheimers 20:42:24 I heard keeping an aquarium can help prevent the progression of alzheimers 20:43:28 I wanted a Koi aquarium but the tank size suggested for koi is like 75 gallons, and those tanks are not cheap 20:43:31 interesting 20:43:43 plus I wouldn't trust myself to make one on my own 20:47:29 bbiab 20:55:29 bbiab? 20:57:26 be back in a bit 20:57:32 ah 20:57:34 ok 21:03:29 --- join: gravicappa joined #forth 21:10:32 back :) 21:12:05 It drives me nuts when a hardware vendor assumes providing a c library or a device driver is an acceptable substitute for documenting an interface! 21:15:18 --- quit: X-Scale (Ping timeout: 268 seconds) 21:15:26 --- join: X-Scale` joined #forth 21:17:15 --- nick: X-Scale` -> X-Scale 21:20:13 I agree with your sentiment 21:20:52 It makes it a bitch to write your own drivers, especially when they offer a driver, no documentation, and the driver is not even fully implemented 21:20:53 :) 21:21:33 right, I want to talk to your gizmo not your crappy software 21:22:03 or at least have the fallback available to me 21:22:22 okay, I'm gonna hit the sack 21:22:27 g'night guys 21:22:42 hit the stack? ;-) 21:22:50 goodnight tabemann 22:00:31 --- join: tp joined #forth 22:05:49 --- quit: tp (Quit: I'm quitting to find peace with my inner stack !) 22:56:28 --- quit: ryke (Ping timeout: 265 seconds) 23:59:59 --- log: ended forth/20.01.19