00:00:00 --- log: started forth/13.06.23 00:06:17 --- quit: protist (Quit: Konversation terminated!) 00:25:19 --- quit: Bahman (Quit: Ave atque vale.) 00:45:21 --- quit: TodPunk (Read error: Connection reset by peer) 00:45:34 --- join: TodPunk (~Tod@50-198-177-185-static.hfc.comcastbusiness.net) joined #forth 01:03:17 --- quit: TodPunk (Ping timeout: 256 seconds) 01:31:12 BTW which forth supports STM32? 01:32:04 --- join: TodPunk (~Tod@50-198-177-185-static.hfc.comcastbusiness.net) joined #forth 01:34:28 --- join: proteusguy (~proteusgu@ppp-115-87-208-167.revip4.asianet.co.th) joined #forth 01:34:50 I don't know of any right now. 01:38:48 Then we have identical results :) 01:48:08 --- join: epicmonkey (~epicmonke@188.134.41.113) joined #forth 01:49:23 --- nick: Adeon -> Adeolos 01:54:22 ? 01:54:55 Riscy Pygness supports the Olimex STM32-P103 board 01:55:18 http://pygmy.utoh.org/riscy/cortex/ 02:09:35 just saw many magnet motor video on youtube 02:09:49 that made me think there're full of cheaters on youtube 02:09:57 were you attracted to it ;-) 02:10:18 (magnetic attraction) 02:10:39 yunfan: you mean the old 'perpetual motion' magnet motor ? 02:10:56 yunfan: The Internet is a web of lies. 02:11:19 The most valuable skill you can have surfing it is bullshit detection. 02:11:35 i just dont know why they like to show fake video 02:11:40 the permanent magnet motor does work, it just uses the energy to make the magnets, which weakens them, and eventually it wont run 02:11:48 because their wbesite dont ask people do donate or bought sometime 02:11:55 tp: It doesn't work either because friction will stop it. 02:12:34 it does work, but it uses up the energy used to create the magnets in the first place 02:12:57 No "pure magnet" motor ever made has lasted for longer than a few hours before it simply ran down. 02:13:03 there is no such thing as 'perpetual motion' we all know that 02:13:06 sure 02:13:42 it's a terribly inefficent way to make a motor that only runs s short while 02:14:01 takes a lot of energy to make powerful magnets 02:14:11 --- join: fantazo (~fantazo@213.129.230.10) joined #forth 02:14:37 I find it amazing how many people who should know better, get sucked into those scams 02:14:46 well if the universe is designed , there might be some bugs for us 02:15:14 yunfan: the universe has been pretty consistent for me up to date ;-) 02:15:18 like in the game minecraft. you could got a free auto pwm generator for using their bug 02:15:52 I've never played it, Id rather program that play a video game 02:16:21 when I program, I can earn some money, playing games just uses up my precious time 02:17:52 but you dont made any gained thing 02:18:40 ? 02:18:42 :) 02:19:03 I did play a fair few video games when I was younger and didnt know better tho ... 02:20:23 i mean materials 02:20:30 like food mined ore 02:21:06 when I program ? 02:21:20 yes at least works for me 02:21:48 I make instruments that help make food when I program 02:22:05 all my programming is embedded, for process control 02:22:15 --- quit: proteusguy (Remote host closed the connection) 02:22:35 tho my next project is a security alarm, so that only helps protect property 02:24:07 You mean you're aiding and abetting theft, tp? 02:24:32 After all "property is theft". 02:24:35 no I'm unaiding and unabetting theft :) 02:25:33 taking my property without paying is what I call theft 02:25:57 Talk to the aboriginals about that… ;) 02:26:12 I live with one 02:26:19 shes such a racist 02:27:00 they didnt really have a notion of property as I understand it, they saw themselves as caretakers of the land 02:27:19 and then my ancestors came along, we understand property very well 02:27:38 and have the guns to back up our beliefs 02:27:59 after all, the heart of english law, is all about property 02:28:17 Yep. And during the imperial era, the theft of same. 02:28:22 break the law, and they take your property 02:28:42 if you have no property, you're breaking the law 02:29:53 oh dear, freebsd and I arent getting along very well when it comes to adobe flash 02:37:02 how many power do you use for one day? 02:42:56 10,000 Zigawatts ? 02:43:16 about the same as ttmrichter 02:43:32 I pay about 300RMB/mo for my electricity. 02:43:47 I don't know how much that is 02:43:53 Electricity is about 1RMB/KWh (close enough for jazz). 02:43:59 So about 300KWh/mo. 02:44:31 I pay about $500 AUD a month 02:45:40 well well well, whod have thunk it ? Opera and Flash work fine under Linux emulation in FreeBsd 02:58:37 $500 aud is too huge 02:58:43 are you opening a factory? 02:59:19 tp which opera are you using? the old version or the webkit inside version :] 02:59:55 ttmrichter: i saw a guy in wuhan installed a solar power station and sold power to nation power network 03:00:12 yunfan: The average American or Canadian generates 4 times the pollution of the average Chinese person (and this doesn't take into account that most goods made in China go to the US). The average European "only" generates twice as much and I think Australia is somewhere between the two. 03:00:23 We westerners are a wasteful lot. :) 03:02:28 ttmrichter: average data is untrust 03:03:03 ttmrichter: in china there're so many people out of power supply and many others dont have extra devices for wasting 03:03:17 Yes, but this average also includes all of China's industries. 03:03:59 I do agree that the Chinese numbers are going to go up as wealth spreads 03:04:01 . 03:04:30 that would made many pressures to the earth and scientists 03:05:06 yunfan: our power is very expensive 03:05:21 yunfan: Yep. 03:05:25 i am wondering if i could installed a solar power station for my parents 03:05:40 But on the other hand the western powers are the LAST people in a position to criticize the Chinese. 03:05:44 tp: why it costs so much? 03:05:45 "Lead by example" I always say. :) 03:05:52 I have a 1Kw solar array and inverter on this building, which feeds back into the grid 03:06:17 If I had ten of those, tp, I could be free of any need for the grid. :) 03:06:18 yunfan: it's australia, 3rd most expensive country in the world 03:06:40 ttmrichter: me too, in summer 03:06:42 ttmrichter: you could installed that 03:07:09 ttmrichter: chinese goverment encourage citizen does that 03:07:33 tp: what about the total costs of your 1kw solar array? 03:08:03 yunfan: I don't have the SPACE. 03:08:13 All the encouragement in the world doesn't generate square metres. 03:08:28 Nor does it generate the money to buy and maintain the equipment. 03:08:55 ttmrichter: you dont have independant house? 03:08:59 --- quit: fantazo (Ping timeout: 276 seconds) 03:09:13 I have an apartment. 03:09:16 Two bedroom. 03:09:22 ttmrichter: a 2KW station only costs 10k RMB 03:09:29 "Only". 03:09:34 i am planning to bought that for my parents 03:09:35 That's two months of my salary. 03:09:47 same to me 03:09:55 but it could run for 20 years 03:10:12 compared to other devices, i think this is not that expensive 03:10:36 i remember the days when a 586 PC costs 20k RMB :[ 03:11:50 It's also only 2KW. 03:12:11 So it would reduce my monthly electricity bill by about 60RMB. 03:12:24 20,000/60 = ... a very large number of months before that paid for itself. 03:14:25 tp: what about the total costs of your 1kw solar array? ... I don't know, it was on the building I lease 03:14:48 yes if you want saiving money, that not a good choice 03:14:58 but i just want to got some independancies 03:15:15 --- join: fantazo (~fantazo@213.129.230.10) joined #forth 03:15:18 tp: you havnt paid for that? 03:16:51 no, it was on the building when I started leasing it 2 years ago 03:17:10 it belongs to the building owner, I only rent 03:17:34 yunfan: I'd have a lot more independence with 10-20KRMB in my hand than a solar array that doesn't even begin to cover my power needs. 03:17:39 For starters I could travel. ;) 03:25:11 ttmrichter: if you want hold RMB in hands, i dont think this is a good idea 03:25:35 --- join: dto (~user@pool-96-252-62-13.bstnma.fios.verizon.net) joined #forth 03:30:53 --- quit: epicmonkey (Ping timeout: 264 seconds) 04:19:56 So, for a (by Forth standards) truly massive ARM processor, what would be the best implementation technique? 04:20:18 I'm leaning in the direction of subroutine threading, but am open to other suggestions. 04:30:51 --- join: Bahman (~Bahman@2.50.50.204) joined #forth 04:37:46 --- join: epicmonkey (~epicmonke@188.134.41.113) joined #forth 05:22:45 --- quit: Bahman (Quit: Ave atque vale.) 05:47:21 --- join: proteusguy (~proteusgu@ppp-115-87-208-167.revip4.asianet.co.th) joined #forth 05:47:30 --- quit: dto (Remote host closed the connection) 06:01:34 --- quit: proteusguy (Ping timeout: 260 seconds) 06:13:51 --- join: proteusguy (~proteusgu@ppp-115-87-208-167.revip4.asianet.co.th) joined #forth 06:29:11 --- quit: fantazo (Ping timeout: 276 seconds) 07:13:25 Ya, subroutine threading leaves the way open for basic native-code compiling later. :) 07:14:23 I have the impression you can get decent speed gains (and maybe even smaller size) if you do basic stack->register and constant folding... 07:14:46 ok, back to work; just dropped in for a sec. 07:23:59 --- join: Nisstyre-laptop (~yours@oftn/member/Nisstyre) joined #forth 07:24:22 --- quit: amca (Quit: Farewell) 07:28:09 tathi: ARM's subroutine handling is too ugly for this. 07:30:39 --- quit: Nisstyre (Quit: Leaving) 07:31:03 --- nick: Nisstyre-laptop -> Nisstyre 07:33:37 ttmrichter: for cortex m serial, isnt there two stack pointer ? 07:33:51 but its ugly, the two are not exits both! 07:34:43 There's the SP (which has to be manually manipulated) and the LR (which has to be manually stored and restored). 07:53:42 --- join: RodgerTheGreat (~rodger@50-198-177-185-static.hfc.comcastbusiness.net) joined #forth 08:14:55 --- join: paxcoder (~Icedove@unaffiliated/paxcoder) joined #forth 08:15:31 --- quit: paxcoder (Client Quit) 08:28:29 --- quit: proteusguy (Remote host closed the connection) 08:30:40 --- join: proteusguy (~proteusgu@ppp-115-87-208-167.revip4.asianet.co.th) joined #forth 09:00:19 ttmrichter: really? I thought it was pretty standard RISC stuff...you have to have an explicit prolog and epilog, but that's not too bad. 09:00:23 Am I missing something? 09:00:33 * tathi tathi goes to find his copy of the ARM ARM 09:01:48 Huh. why did my autocomplete do that? 09:06:44 Hrm...this is old (second edition paper copy of the Architecture Reference Manual), but it looks to me like you just do `BLX addr` and then in a leaf subroutine you do `BX R14` to return, and in a subroutine which calls others you do `PUSH R14` for a prolog and `POP PC` for a return. 09:07:44 That doesn't seem ugly to me...PowerPC and MIPS both require longer prolog/epilogs IIRC (as they don't have dedicated PUSH/POP instructions). 09:07:57 ttmrichter: I have done very old school FIG/MVP on ARM and used indirect threading. NEXT is only two instructions so in-line it with every word. It is plenty fast plus top of stack is in a register for each stack. I used a loop stack and an FP stack as well. 09:10:11 --- quit: ErhardtMundt (Read error: Connection reset by peer) 09:11:24 regnirps: fair enough; I don't know ARM well. I just remember doing DTC (isForth) on PPC and having it be *far* slower than STC. 09:12:39 Yeah. ARM has great instructions for Forth once you learn to program in assembler. 09:15:07 Like load a register from address in another register offset and shift arbitrary number of bits and pre or post increment. SIngle instruction single cycle. 09:15:58 --- join: ErhardtMundt (~quassel@host226-1-dynamic.52-79-r.retail.telecomitalia.it) joined #forth 09:16:34 And if you don;t use Thumb, all instruction are conditional which gets rid of all the simple branhes. 09:16:48 branches 10:14:28 --- quit: ErhardtMundt (Remote host closed the connection) 10:21:34 --- join: ErhardtMundt (~quassel@host226-1-dynamic.52-79-r.retail.telecomitalia.it) joined #forth 11:34:21 --- join: ASau``` (~user@p4FF96CC6.dip0.t-ipconnect.de) joined #forth 11:38:06 --- quit: ASau`` (Ping timeout: 268 seconds) 12:08:21 --- quit: Nisstyre (Quit: Leaving) 13:09:47 anyone know what's up with forth.org? 13:09:54 or rather what's down? :) 13:11:25 yo tangentstorm 13:13:22 heya 13:13:47 RodgerTheGreat: i got mako to install on the emulator but i haven't figured out how to get adb to recognize my device yet :/ 13:14:09 did you enable "developer mode" and then turn on USB debugging? 13:14:53 no, because i didn't see anything like that on my nexus. :/ i went looking because i remembered having to do it on my phones. 13:15:00 http://purplewelshy.wordpress.com/2012/11/15/getting-developer-mode-on-a-google-nexus-7-android-4-2/ 13:15:03 it is hidden 13:15:12 should have looked on google :) 13:15:40 haha "you are four steps from being a developer" 13:15:43 --- join: DocPlatypus (~skquinn@98.195.26.149) joined #forth 13:15:44 if that's all it took... 13:16:18 yo doc 13:16:39 howdy 13:18:31 meanwhile i got sidetracked working on my b4 stuff...took it back to turbo pascal 5.5... https://github.com/sabren/b4/tree/master/turbo 13:19:39 cool beans 13:50:45 --- quit: cfjdet (Ping timeout: 240 seconds) 14:14:46 --- join: cfjdet (~androirc@pD9E25E11.dip0.t-ipconnect.de) joined #forth 14:28:24 --- quit: cfjdet (Ping timeout: 246 seconds) 15:16:50 is there an equivalent to C's indent tool for Forth? 15:18:47 that sounds reasonably easy to implement 15:19:46 aha, how about docforth? http://www.excamera.com/sphinx/docforth.html 15:20:45 --- quit: proteusguy (Remote host closed the connection) 15:23:34 http://www.excamera.com/files/docforth/docforth/docforth.fs.html not bad 15:25:42 james bowman makes some cool stuff 15:26:01 that's good but I'm really looking for something to just pretty print back to another .fs file 15:27:20 how about this + lynx --dump ? :) 15:28:39 or you could just hack up docforth, since you have the source right there and you're only asking to *remove* features 15:53:55 but that would require reading and understanding someone's code, which all sane developers have learned to avoid at all costs :D 15:54:46 like right now, i'm installing some dude's thing called Mako on my android tablet. It seems cool but i dare not look inside... :D 16:01:19 tangentstorm: Heh. I agree. I like to use other people's good ideas, but not their code. There's almost always something I don't like about it. Besides, if your MO is to leverage other people's code then you will spend all your time building stupid scaffolding to make incompatible bits of code play nicely together... 16:09:25 --- join: cfjdet (~androirc@pD9E25E11.dip0.t-ipconnect.de) joined #forth 16:14:37 but but object-oriented code will save us ! 16:14:42 everything plugs into everything ! 16:15:48 I think that my turbo pascal 5.5 code is actually better than the modern fpc code with classes and generics. 16:16:07 I spend less time messing around with those abstractions and just get the work done. 16:17:14 although the editor is horrible so it's not formatted very nicely, and there are places where the display stuff is really messy because i didn't have my colored text library handy 16:18:54 tangentstorm: lemme know if you actually get makoid working properly 16:23:37 --- quit: epicmonkey (Ping timeout: 268 seconds) 16:36:19 RodgerTheGreat: it's still not loading onto the device 16:36:40 how are you attempting to do it 16:37:00 i accidentally launched the emulator and so it took like half an hour for my machine to recover :/ 16:37:31 it should be as simple as running "ant installd" 16:37:32 i'm in android studio. i have usb debugging enabled and i'm hooked up to the device. 16:37:44 ah an ide 16:37:44 it loaded onto the emulator with no problem 16:37:53 just use the command line 16:38:03 run the task I specified 16:39:35 i think the device i'm seeing in adb is the emulator i set up. i don't think i'm connected 16:44:04 /home/michal/ver/androidMako/build.xml:55: sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable. 16:44:23 so run "android update project" 16:44:30 command not found 16:45:13 i installed everything through android studio 16:45:16 --- quit: cfjdet (Ping timeout: 246 seconds) 16:45:22 well then figure out why that command isn't in your path I guess 16:46:01 yeah, i don't think this is my problem... like i said, everything ran fine in the emulator. it's just not physically talking to my device 16:46:31 well then you're left with the IDE problem diagnostic procedure: click around through random dialogs and then try it again 16:47:29 ah there we go... i just needed to accept the key 16:47:47 it had popped up earlier but someone was talking at me and i must have misclicked 16:48:37 alright! "please download or compile roms to play" :) 16:49:02 and for that you'll just use adb push to copy over some rom files to the device as I explained earlier 16:56:48 hmm.. I'm getting HeadlessExceptions when I try to run the *.fs files under mako. It seems to build fine, it's just not seeing that I'm on a GUI desktop... 16:56:53 odd, I know this worked last time i tried it 17:02:12 okay, well i don't know why this is screwing up, but it looks like it generates the roms so i will ignore it and just copy the files over :) 17:04:32 um ok 17:05:04 bbiab making pizza 17:10:17 ok back now... had to run back out for a while. I'm definitely using docforth at least as inspiration, but may wind up hacking my own from scratch 17:18:05 I see now that the rom's i'm generating are a result of the HeadlessException I don't now the correct way to generate them. 17:18:09 know 17:18:49 but perhaps it will be obvious once i solve the HeadlessException. 17:19:29 I've got a couple other java apps that are working fine but they're not using ant... 17:20:10 i think maybe ant's trying to use the wrong sdk despite my JAVA_HOME 17:20:27 or perhaps my java_home is misconfigured 17:20:34 * tangentstorm investigates 18:20:38 --- quit: TodPunk (Quit: This is me, signing off. Probably rebooting or something.) 18:24:17 --- quit: RodgerTheGreat (Ping timeout: 264 seconds) 18:28:44 --- join: cfjdet (~androirc@pD9E25E11.dip0.t-ipconnect.de) joined #forth 19:28:31 * tangentstorm has forth warrior2 running on his nexus 7 now :) 19:30:02 nice! 19:31:02 MakoForth itself doesn't work for me, but all the games do. 19:31:46 I guess I'm going to have to do some hacking on Mako now. 19:32:52 I really like retro but the wordset is quite different from traditional forths so it's not always easy to map traditional forth code to it. 19:33:12 Write the missing Forth words. :) 19:33:37 It shouldn't be too hard to adapt an existing Forth vocabulary into it, surely? 19:33:50 tangentstorm: yes its quite difference 19:34:10 tp: Word back from my source: 40RMB for the MCU and the break-out board is 100RMB for 10 pieces. 19:34:20 (Apparently buying one piece of the latter isn't possible through him. :D) 19:35:03 --- quit: cfjdet (Ping timeout: 248 seconds) 19:36:05 So if I want two of those F4 components plus break-out boards so I can actually use the pins it'll cost me about AU$32. 19:37:05 ttmrichter: it's not hard to write the words, but i've found that I wind up jumping all over the place to a) find the word and then b) try to understand how it works and how it should be implemented because i don't fully understand what the words mean. 19:37:35 tangentstorm: I mean write a FORTH vocabulary so you write in a language you know instead of Retro. 19:38:05 ttmrichter: yeah, i know. there's already a forth vocabulary in retro, but it's incomplete 19:38:57 i've added a bit to it but i just haven't gone through and implemented everything. 19:42:03 I kind of want to make this little translating dictionary thing I've been thinking of as a "forthesaurus" 19:42:28 It would basically be a database of all the standards and any dialects in active use. 19:42:42 Could have a little dinosaur logo :) 19:43:01 FORTH IS NOT A DINOSAUR! 19:43:20 (Ignore the scaly/feathered skin. And the claws. And the beady eyes.) 19:43:52 --- join: cfjdet (~androirc@pd9e252a6.dip0.t-ipconnect.de) joined #forth 19:44:44 :) 19:45:43 I was going to do something zombie themed for pascal. 19:46:11 tp: (We need to have a dinosaur logo for this Forth dongle thing.) 19:46:56 T-Rex and "raptors" are cliche by now. 19:46:59 Maybe a trilobyte? 19:47:07 Yeah, I think a trilobyte logo. :) 19:48:00 --- join: RodgerTheGreat (~rodger@50-198-177-185-static.hfc.comcastbusiness.net) joined #forth 19:48:09 factor's logo is cool 19:48:34 how about a glyptodon? :) not really a dinosaur, but pretty cool :) 19:48:44 (like a gigantic prehistoric armadillo) 19:49:48 i missed what you guys are working on 19:49:56 what's the forth dongle? 19:50:09 tangentstorm: An STM32F415RG on a USB stick. 19:50:30 ttmrichter: you have that? 19:50:41 Set up so that you plug it in, open up a serial terminal program and you're in an interactive Forth on one of the hottest MCUs out there. 19:50:51 nice 19:50:55 The Forth will have vocabularies for all the subsystems. 19:51:07 yunfan: No, it's in the planning stages. I just got a price quote on my experimental kit. 19:51:25 About 200RMB for two of the MCUs plus some break-out boards so I can access the pins. 19:52:09 ttmrichter: then do you have plan add flash storage for it? 19:52:17 It comes with 1MB Flash on chip. 19:52:31 i hope i could have my own encrypted usb disk 19:52:37 1mb seems too small for that 19:52:43 This wouldn't be a USB stick. 19:52:49 DISK, I mean. 19:52:52 This is a processor stick. 19:53:11 oop 19:53:34 1mb could only used for store your ssh private key :] 19:53:35 ttmrichter: did you end up overcoming your problems with Maker 19:53:36 The idea is to make a cheap, powerful dongle that people can use to a) experiment with a powerful CPU and b) experiment with Forth. 19:53:48 RodgerTheGreat: Maker? 19:54:03 Maker, the compiler used to produce MakoVM roms 19:54:15 Oh, I haven't tried any of that. 19:54:24 erk 19:54:28 well i think a mobile forth console with the accessbility to apis could get forth more lovers 19:54:30 I meant tangentstorm, sorry 19:54:49 Heh. I was wondering. :) 19:55:06 will learn android dev after my learning some math 19:55:40 RodgerTheGreat: I have forth warrior 2 and deeper running on my tablet now :) 19:55:46 sweet 19:56:01 MakoForth itself doesn't run though... it just exits immediately. 19:56:55 yeah that's because it doesn't have a graphical frontend 19:57:07 try this: 19:57:08 maker demos/Forth/MakoForth.fs --run 19:57:49 and you'll see some unit tests run and then it will exit 19:58:11 Loko and MASICA should also be usable with the tablet keyboard 19:58:20 ttmrichter: do you use win32 or *nix ? 19:58:26 you can find both in their respective directories under /demos 19:58:29 yunfan: Linux. 19:58:39 tangentstorm: how do you like the keyboard? 19:58:52 gday all 19:59:21 ttmrichter: then which circuit sim software do you use? 19:59:34 --- join: TodPunk (~Tod@50-198-177-185-static.hfc.comcastbusiness.net) joined #forth 19:59:39 yunfan: I won't be using any. I have a hardware designer. 19:59:44 * ttmrichter points to the newly arrived tp. 19:59:56 'E'S THE ONE WHAT DONE IT, GUV'N'R! 20:00:16 hehe, terry the technician' 20:00:38 RodgerTheGreat: so far so good. i like having arrows :) i'm used to dvorak though 20:00:57 it would be pretty easy to make that change 20:01:00 we don't speak like that in australia, it's 'gday, beautie, bonzer, ripper, mate!" 20:01:03 ohhh 20:01:19 (just read the lack of front end for MakoForth comment) 20:01:46 yeah MakoForth is just the compiler/interpreter guts of ForthWarrior 20:02:08 ttmrichter: then which circuit sim software do you use? ... we wont need any sims for the forth dongle design 20:02:27 there's also this one, which *does* have a frontend but as I recall it is quite flaky: https://github.com/JohnEarnest/Mako/blob/master/demos/Editor/MakoDE.fs 20:03:39 tp: i want to learn anolog circuit, that have me to find a sim software 20:03:41 20:03:49 and the learning of math :[ 20:04:47 yunfan: there are lots of analog sims available for Linux/ *nix, 99% are GPL'd or free 20:06:37 RodgerTheGreat: do you mind if I steal this? :) 20:06:39 need the name or the list 20:06:48 tangentstorm: which part? 20:07:08 yunfan: I always recommend gEDA : http://en.wikipedia.org/wiki/GEDA 20:07:09 also technically everything is WTFPLed so asking me is simply a matter of politeness 20:07:22 tp: okay 20:07:34 RodgerTheGreat: any/all of it really :D I don't know what i'm looking for. But I was planning to bootstrap a forth environment for my turbo pascal thing. 20:07:47 awesome. :) 20:08:16 tangentstorm: MakoForth is not a super-great forth implementation. It's entrails are sort of a semi-threaded, semi-not thing. That said, if you find it easy to understand go right ahead. 20:08:37 retro's got a really nice bootstrapping document but like i was just saying before you came in... retro != traditional forth 20:08:46 tru dat 20:09:18 i actually like it but if i try to teach it then students lose out on the wealth of forth knowledge lying around 20:09:52 I wonder if you will choose to retain any of the deviations from standard forth in my forth implementations 20:10:03 tp: Nice. 20:10:05 First I have to recognize them. :) 20:10:10 I'm going to download and build this. :) 20:10:20 * tangentstorm daydreams about the forthesaurus again... 20:10:37 what is this 20:10:50 --- join: proteusguy (~proteusgu@ppp-115-87-208-167.revip4.asianet.co.th) joined #forth 20:11:13 tp: On the subject of the Forth in this thing, how should we do documentation? I'm actually kind of partial to making it all on-board. 20:11:17 itsy / johnmetcalf posted somethin on twitter a while back about how to reconcile vocabularies 20:11:22 Accessible through the interacter. 20:11:40 ttmrichter: I've always been impressed with the Amforth documentation style 20:11:41 tangentstorm: ah, so CPAN 20:11:49 I responded that maybe forth should have a thesaurus to go with its dictionary. 20:11:52 tp: What's the approach there? 20:12:05 it's just a neat webpage layout 20:12:18 very neat, very well laid out, easy to read etc 20:12:24 RodgerTheGreat: no, more like a translating dictionary / interforth compatability thing. although a cpan would be nice too. 20:12:37 tp: Web page wouldn't be feasible to be on-board. 20:12:52 like all doc, greatness doesnt just happen, someone put a lot of work into the Amforth doc, but it wssnt the Amforth author 20:13:18 a translating dictionary could be quite interesting. I wonder how you'd build a metacompiler which knew how to adapt all the goofy corners of one forth dialect to another 20:13:22 no, but a good webpage makes it easy to read, and you can do it without the hardware, just a browser 20:13:37 such a tool would be astonishingly powerful for uniting the forth community 20:13:45 I guess I could do the docs in a way that becomes a web page or online docs. 20:14:38 RodgerTheGreat: it wouldn't have to be any kind of fancy metacompiler thing... i'm just picturing a database, and maybe some specifications by example showing inputs and outputs 20:14:48 http://amforth.sourceforge.net/UG/windows.html 20:15:05 it seems different to last time I looked, may be my browser 20:15:59 I've actually been wanting to do something like this for /all/ programming languages for about a decade and a half... Forth seems like a nice place to start. 20:16:08 my point is a well laid out web document, perhaps based on a CMS does wonders when getting into a new thing 20:16:32 Yes, why not start with the language most prone to weird fragmentation, eh tangenstorm? :D 20:16:33 too many forth projects are just a jumble of docs 20:16:38 tp: I think one reason php is so popular despite it's flaws is how well the documentation is laid out. 20:16:50 tangentstorm: you may well be right 20:17:00 tp: Even more are undocumented. 20:17:23 true 20:17:23 php.net has (or had?) one page per function, and if you were looking at a string function, you'd see all the other string functions down the left side. 20:17:38 then underneath, you'd see all the annotations from the community members. 20:17:45 That's impressive, tangentstorm, but still only reference docs. 20:17:58 One thing that kills projects dead is documentation that is 100% reference oriented. 20:18:10 Useful only to people who already know the subject to some degree or another. 20:18:17 true. 20:18:26 many brilliant hackers have made some awesome things, but their doc is crap, and it's crap because just making the awesome thing wore them out, and doc is a whole separate job 20:18:35 :D 20:19:00 Useful documentation has tutorial-level introductions, user guide-level stuff for each major subsystem, perhaps even "cookbooks" to show idioms. 20:19:04 The holonforth guy has some interesting literate programming tools. 20:19:22 I used to be a fan of literate programming. 20:19:24 ttmrichter: agreed 20:20:03 Then I spotted the problem: programming requires you to be good at programming (which most programmers AREN'T, BTW). Literate programming requires you to be good not only at programming but also at writing. 20:20:08 I'd say I'm a fan of the idea of literate programming. 20:20:17 What are the odds of finding someone sufficiently good at both?\ 20:20:54 Yeah, but if you happen to be one of those people... :D 20:21:41 it's rare enough to be a great Hacker 20:22:07 you cant be expected to be a great author, singer, model, and hero as well 20:22:09 tp: It's actually astonishingly rare to be anything past a narrowly-focused, bumbling programmer. 20:22:15 yep 20:22:29 There's a scary story about Fizzbin out there. 20:22:40 it's rare to see anyone good at anything around here 20:22:49 Sorry. Fizzbuzz. 20:22:52 I don't claim to be some kind of Shakespeare-Turing hybrid or anything, but I did seriously intend to be a novelist long before I ever thought about programming as a carreer. 20:23:17 most folks do the minium, so they can scurry of to watch tv/sports and get drunk after 20:23:43 Here it is. 20:23:44 http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html 20:24:05 i wrote a couple articles for O'Reilly some years ago. 20:24:31 reginald braithwaite would definitely be in the overlapping part of that venn diagram. 20:25:43 lol 20:25:55 how come a non programmer like me can program ;-) 20:26:10 I'm a electronics tech 20:26:26 Oh yeah, I've seen this. I was picturing an actual horror story like with ghosts or whatever. :D 20:26:55 No, this is sadly all to real. 20:27:09 The only ghosts here are the ghosts of any respect I may have once had for the programming profession. :) 20:27:14 tp simple i learnt programming even i dont have knowledges of advanced mathmetica and discrete mathematics 20:27:41 tp: what programmers do and what you do really aren't that different when it comes to thinking style. 20:28:50 like i can look across the chasm and imagine how a particular logic circuit ought to be put together... i just don't know the technical details. 20:29:46 When I visualize a program in my head though, I don't really see text. I see a sort of abstract machine with boxes and arrows and loops and stuff. 20:30:21 <- "and stuff" ... another example of my awesome writing abilities. :D 20:30:33 in other words; a working brain takes someone a long way :) 20:30:54 hmm.. 20:31:03 yeah I see boxes and arrows and things 20:31:10 arrays tend to be yellow 20:31:34 but it's not just the static structure of things, it's a machine which moves and pulses 20:32:03 yeah, it's definitely animated in my head. 20:32:28 That's one of the things I want to show with my courses... I want to make it very visual and interactive. 20:32:40 And animated. 20:32:58 but I'm no Hacker, Ive met Hackers and know some, I'm not worthy to carry their laptops :) 20:33:12 tp: I don't know for sure but I would imagine that when you work with electronics you're almost forced to visualize things in a similar way 20:33:16 code flows from their fingers like water 20:33:33 code flows from my mind like treacle, at -40C 20:33:58 I think a purely visual or animated version of what I picture in my head when I program would be incomprehensible. It's like drawing a dream; it lacks the quality that you *know* things 20:34:06 well it's also a matter of practice 20:34:10 when you dream there is nonsensory context 20:34:11 tp: Would this be similar to how circuits flow from my mind like molasses? Flowing uphill? In the depths of winter? In Antarctica? 20:34:17 tangentstorm: oh yeah, Im the 'Hacker" equivalent when it comed to electronics 20:34:45 I've been obsessed with electronics since the age of 9 20:34:54 ttmrichter: heheh 20:35:27 I look at a schematic and I see the device, I see the current flows, it's all as plain as day 20:35:35 I got obsessed with computers at about the same age. 20:35:37 that's true, RodgerTheGreat... and in fact i don't really see some clearly defined diagram, but i can't look at a loop without getting a sense that there's some instruction pointer moving around inside it. 20:35:39 Maybe a tad younger. 20:35:53 tangentstorm: What is this "loop" whereof you speak? 20:35:56 9 is a good age to be come obsessed 20:35:57 like the text for a loop i mean. 20:36:05 :) 20:36:22 Is a loop like a recursive tail call? 20:36:57 that's a good example, i picture recursive tail calls the exact same way as a while/repeat loop. 20:37:01 you're hilarious, ttmrichter 20:37:18 but for other kinds of recursion, it's different. 20:37:44 like.. I was writing an assembler for this vm earlier. 20:37:54 there's a reason SICP calls tail-recursion "iteration" 20:38:09 Yeah, when I delve down into assemblers I have to think in terms of branching and such again. :( 20:38:13 RodgerTheGreat: Indeed. 20:38:15 the way it works i'm calling nexttoken() all the time to get the next token for the assembler. 20:38:31 I tend to visualize non-tail recursion nondeterministically. Like a fern unfolding. 20:39:04 the recursion is a static possibility space that expands as I focus at its edges 20:39:18 for loops, where you need to jump backwards, I coded the assembler forth style, using a stack to record the spot that would need to be filled and then popping the address off once i got to the end of the loop, and filling it in 20:39:26 RodgerTheGreat: You do Prolog too, don't you? 20:39:34 only a little bit 20:39:44 I've been meaning to sit down and write a prolog 20:39:46 But I was also picturing doing the forward references with recursion 20:40:07 RodgerTheGreat: If you can make a *small* Prolog that can be embedded, let me know. 20:40:15 * ttmrichter is thinking of a Prolog dongle next after the Forth one. :) 20:40:16 you need one of those, ttmrichter ? 20:40:26 maybe minikanren? 20:40:36 ttmrichter: I'll bet I can make a small one, but it will probably not be extremely fast 20:40:46 i don't think kanren is actually a prolog, but it is small 20:40:48 Speed isn't that much of an issue for hobbyist work. 20:40:53 http://minikanren.org/ 20:41:08 it will also probably run on my VM, so if you want it to run it on X embedded platform you'll need to tweak it 20:41:18 i keep seeing mentions of "nominal logic"... apparently different from prolog style logic. 20:42:24 Speed isnt a issue for *real* work either, depending 20:43:13 ttmrichter: I have to laugh re 'tests' for new hires ... 20:43:45 when the new hire looks at the test, and rewrites it for you, *thats the one to hire* 20:44:05 or possibly a blowhard moron 20:44:22 nah 20:44:37 tangentstorm: Mini Kanren looks like it's not really implemented in a low-enough level language to embed. 20:44:38 key thing in a prolog is that I'd probably want some form of GC 20:44:39 most just shiver in fear 20:44:50 I'd have to port a Scheme first. :) 20:45:08 RodgerTheGreat: Yes. No GC makes Prologs pretty much useless. 20:45:15 hmm 20:45:42 you'd definitely need some kind of memory management but it wouldn't have to be automatic gc 20:45:46 ttmrichter: I've built those in forth before though 20:45:54 I sat a new hire test once, for a large datacomms company. I looked at the schematic and asked if this was a trick test ? 20:46:09 there's a paper on FORML about creating a heap from a guy who was making expert systems in forth 20:46:11 RodgerTheGreat: I've got a GC system for Forth lying around here somewhere. 20:46:31 https://gist.github.com/JohnEarnest/4522067\ 20:46:43 minus the wayward backslash 20:46:49 half the chips has wrong pin numbers ... 20:47:21 the interviewers looked at each other, they hadnt known 20:47:29 naturally, I got the job 20:47:30 That's the GC? 20:47:36 Much nicer than the one I've got. 20:47:48 http://www.forth.com/archive/jfar/vol3/no3/article2.pdf <- "A FORTH Implmentation of the Heap Data Structure for Memory Management" 20:48:09 author is talking about heap in the dynamic memory sense. 20:48:32 Object-Oriented Forth also has a detailed description of a heap 20:48:35 i have found a professor's document on implemnt forth on lisp and implement lisp on forth 20:48:43 he actually uses something more like references rather than direct pointers, so he's shuffling things around in the heap to make room without breaking refrences. 20:48:50 I was kind of surprised it would be fast enough to do that. 20:48:51 right 20:48:55 same in OOF 20:48:55 Given the age of the article. 20:49:12 1980s 20:49:57 it's amazing lisp was fast enough to do bloody anything for the first 20 years of its existence 20:50:05 haha tp... i've seen things like that interviewing places 20:51:06 How many bytes are in a traditional forth cell? 20:51:18 http://www.hercsmusicsystems.com/ 20:51:21 it's 16 right? 20:51:25 tangentstorm: I was amazed I'll admit, their question was 'highlight the logic chips power pins on the schematic' 20:51:28 er 16 bits, 2 bytes 20:51:31 tangentstorm: It's the "natural word size" of your machine. 20:51:38 My ARM one will have a 32-bit cell. 20:51:45 very rarely less than 16 20:51:49 often 32 20:51:51 these days 20:51:55 64 just seems so ridiculously large though. 20:52:05 even 32 20:52:07 tangentstorm: but I knew all the chips pinouts off by heart, same as the resistor color codes etc, didnt have to even think about it 20:52:11 even on 8 bit machines cells were generally at least 16 bits 20:52:30 RodgerTheGreat: That was only when the architectures supported 16-bit operations, though, no? 20:52:34 16bit cell seems a concept from those days when machine word is 16 bits 20:52:44 As in when you could do 16-bit adds using two 8-bit accumulators or the like? 20:52:49 ttmrichter: not necessarily 20:52:51 for today, why not using 32bit or 64bits to corresponding the machine words? 20:53:02 6502-based forths were generally 16 bit 20:53:25 I'll defer to your superior knowledge there. I didn't do Forth on 6502s. Only Z80s. 20:53:27 and while the 6502 supports chained adds pretty easily it only has a 16-bit PC 20:53:55 For this pascal thing, I followed your lead, RodgerTheGreat and put the stacks and all the registers directly into the vm's ram. 20:54:06 oh goody 20:54:15 I maed them rings just for kicks though, like in colorforth. 20:54:24 at this point you should just be using makovm 20:54:41 :D 20:54:49 Well that's why i installed it. 20:55:06 hooray 20:55:17 But whatever I use I have to be able to take it apart and put it back together. 20:55:34 writing a makovm implementation is an afternoon project 20:55:36 anyone used OKAD? 20:55:44 since you metioned colorforth 20:55:45 especially if you aren't implementing the graphics hardware 20:56:09 RodgerTheGreat: yeah, I've written about 5-6 different vms now i think... 20:56:17 usually in one sitting 20:56:30 or rather i've gotten it down to one sitting. 20:57:15 write a pascal which targets chip-8 20:57:18 it'd be a gas 20:58:09 I actually want to demonstrate building the things, so I have to be able to explain each step and why I made that choice, and so on. 20:58:30 right 20:59:00 you would really enjoy reading "Object Oriented Forth" 20:59:12 So I won't just use it like a black box... I'll wind up taking it apart and putting it back together. 20:59:44 http://books.google.com/books/about/Object_Oriented_Forth.html?id=sOQmAAAAMAAJ ? 20:59:55 yes 21:00:50 hrm. $40.99 used on amazon :/ 21:01:03 I got mine for about $20 21:01:08 consult your local library perhaps? 21:01:19 my university had a copy 21:01:52 our library isn't great, but i'll look around. there's always inter-library loan 21:02:12 it's one of those forth books which is worth its weight in gold 21:02:27 Ugh. Object oriented Forth. :( 21:02:29 barnes and noble marketplaces has a bunch of copies.. $43 - $114 21:02:29 very short, to the point, with wonderfully worked-out step-by-step designs 21:02:59 it would be better described as "higher-order defining words and data structures in forth" 21:03:43 That could be more acceptable. I assume the "OO" in the title is for marketing purposes? 21:04:01 it does talk about building abstract datatypes 21:04:24 so depends on which philosophy of "the important part of OOP" you subscribe to 21:04:27 or not 21:04:35 Actors and messages. 21:04:46 yeah... same here, ttmrichter 21:04:55 * ttmrichter takes the hardline stance of Kay. 21:05:29 That's kind of how I picture teaching objects with retro pascal. 21:05:40 Ie they're just programs talking to each other. 21:06:07 I think abstract datatypes and composition are important, but they aren't necessarily "object-oriented" 21:06:16 and inheritance is overrated 21:07:06 Inheritance is an implementation detail that was accidentally given apotheosis. 21:07:44 I keep getting tempted to add all sorts of cool features to pascal. 21:08:46 But then if I do that without botching everything, I'll will wind up with the awesome language for experienced developers instead of a simple one for beginners. 21:09:21 if you haven't seen it, this is neat: http://aerosuidae.net/reforth/ 21:10:09 yunfan: okad comes with colorforth... it's not terribly user-friendly (even compared to colorforth!) 21:11:00 i did see that. i like his use of 'end' 21:12:15 I like the nested definition support 21:12:45 my forths also generally have special-cased string syntax like reforth 21:13:59 I think "string" is much prettier and it's not like we're low on available characters anymore. 21:14:50 I think ." and " are ugly but I also really like how well they fit in with everything else in forth. 21:15:19 like that " is just a word so obviously it has a space after it. 21:15:27 Really strings have always been the weak part of Forth. 21:15:55 yeah, I get that, but if you use a lot of strings it's worth it to just put in some sugar 21:16:27 I additionally tend to use null-terminated strings instead of counted strings or addr, len strings 21:16:40 it's just more convenient 21:16:45 less stack traffic 21:17:13 hmm 21:17:46 Having strings as a parsed data type makes sense to me. 21:17:49 i'm really impressed with the way modern pascal handles strings 21:17:51 I don't like null-termination, however. 21:18:09 (except for a legacy issue in that they use 1-based indices, while arrays use 0-based) 21:18:18 it's one of those damned-if-you-do, damned-if-you-don't things 21:18:48 I just picked null-term because it's fewer stack items and you can conveniently slice strings for purposes of recursive descent parsers and the like 21:19:02 in turbo pascal strings were all 256 bytes, and the first byte contained the length that's actually used. 21:19:21 I liked the strings implementation I saw in a Forth once that had only one pointer on the stack. 21:19:29 The length was offset -1 cell from that. 21:19:32 in free pascal and delphi, strings live on the heap and know their length but they're also always null terminated. 21:19:44 ttmrichter yeah that is what I mean by "counted" strings 21:20:00 Ah. Sorry, I didn't see you mention that. My bad. 21:20:02 they suck and result in lots of copying if you're walking over a string ala a parser 21:20:11 they are good in some other contexts though 21:20:20 like avoiding buffer overflows :) 21:20:35 tangentstorm: my understanding was that was a hack around the fact that pascal's type system could not express variable-length structures 21:21:13 null-terminated strings don't cause buffer overflows, shitty library functions which don't take a maximum length cause buffer overflows 21:21:16 very probably. 21:21:53 yeah but it's just one more detail to manage. 21:22:16 I like to have complete control sometimes but i also want sensible defaults. 21:23:14 "Words if, begin, and for are state-smart. When called in interpret mode they automatically enter compile mode. Later, end detects the fact, executes the compiled code fragment, and reverts to interpret mode." 21:23:26 I like that. ^^ (from reforth) 21:23:27 the way my parsing libs work is I have low-level words for accepting strings based on delimiters, etc, which take a limit, and then I have higher-level convenience words which write to a fixed 'pad' and implicitly provide the pad's size to the lower-level words 21:23:52 in most cases this gives me the best of both worlds 21:24:03 sounds sensible 21:24:06 I just have to be careful to copy the pad to another buffer sometimes 21:24:11 and often that isn't even necessary 21:25:25 hrm.. retro uses something like the private/internal words but it's more like a private dictionary that gets tossed aside later and can apply to a group of words. 21:25:34 sub-words, sorry. 21:25:41 but i do like these. 21:27:39 reforth feels very pascal-ey to me which probably explains why you like it 21:28:24 :D 21:39:57 Oh, what's the thought on putting the TOS in a Forth implementation in a register too? 21:40:05 And if one TOS in register is good, how 'bout three? 21:47:50 --- join: Xark (~Xark@unaffiliated/xark) joined #forth 21:52:16 --- quit: TodPunk (Quit: This is me, signing off. Probably rebooting or something.) 22:08:14 --- join: TodPunk (~Tod@50-198-177-185-static.hfc.comcastbusiness.net) joined #forth 22:08:25 --- quit: segher (Quit: This computer has gone to sleep) 22:10:25 --- join: segher (~segher@5ED3C8DF.cm-7-4d.dynamic.ziggo.nl) joined #forth 22:33:44 ttmrichter: Hi. I did a lot of comparisons at one time and it depends on the instructions set and number of registers. 22:33:56 This is ARM. 22:34:00 Well, Thumb2. 22:34:17 So I've got 8 registers I can easily use. 22:34:26 And a register that's useful as an SP beyond that. 22:34:32 On ARM I put top of parameter stack, return stack, separate loop stack, FP stack in resiters. 22:34:56 Hmm... I forgot about giving an FP stack. 22:35:11 Two registers for FP TOS 22:35:54 Why two? 22:35:58 Gives about a one instruction advantage in most stack operators to put TOS in a register. 22:36:09 64 bit wide FP stack. 22:36:24 My FP hardware only does single-precision. 22:36:32 I'm not about to make a double-precision library here. ;) 22:36:42 EVen simpler then. 22:37:12 I also do old school indirect threaded because with TOS in a register NEXT is 2 instructions. 22:37:40 OK, so I'm putting the PSP in R0, the IP in R1, three working registers in R2-4 (W, X and Y), FPS in R5, TOS in R6, UP in R7 and RSP in the SP (R13). 22:37:43 SO I in-line it. 22:38:03 I'm probably going to go with DTC myself. 22:38:29 I was wavering between DTC and STC but looking at the mess that is subroutine calling in ARM decided that DTC is easier. :) 22:38:41 If you don't use thumb you can make everything faster. 22:38:41 (Where "easier" is defined as "less error-prone".) 22:38:57 I have no choice. 22:39:03 Cortex-M4 22:39:08 Nothing but Thumb2. 22:39:13 --- quit: RodgerTheGreat (Quit: RodgerTheGreat) 22:39:25 Ah. Too bad. Worse thing about Thumb is losing conditional execution of all instructions. 22:39:36 Yeah. You have that "IT" abomination instead. 22:39:53 WHat arch? 22:40:18 I just said: ARM v7 Cortex-M4. 22:40:28 The chip is STM32F415RG 22:40:45 Missed that. SAme part I'm looking at for a project. 22:41:03 Same part? Cool. 22:41:06 It's a hot chip. 22:41:30 (A couple of minor irritants aside.) 22:41:41 I have a couple of STM4-Discovery boards sitting here. 22:41:44 I went on an epic rant about its clock at one point. 22:42:06 I need 2 MHz ADC and this will do it. 22:42:08 I've got an STM32F4DISCOVERY here, and the F3 and L discoveries as well. 22:43:07 This was the result of trying to decode the docs on the clocks in STM32F4s... http://pastebin.com/BR6ZjEGE 22:43:13 Yes, same one. It has great speed an more memory than most of the little ones. COuld be a Forth monster. 22:43:35 That's my aim. 22:43:40 I want to make a Forth monster in a stick. 22:43:43 :) 22:44:20 And while I may rant a bit about the documentation (and Thumb2), I really, really, really do like the chip. 22:45:15 Not sure what I will write my prototype with. I used ARM assembly for ages and I hate C. 22:45:47 Yeah, I haven't done much ARM assembler at all. 22:46:11 And the little bit I did was in real ARM, not this Thumb2 pile. 22:46:29 I have some TI LM4F120 launchpads and I think the RAM and speed will not make it for my app. 22:46:51 Anything would make it for my app since my app is, basically, a toy for hackers. 22:47:13 But ... The STM32F415RG is a ... whole lot of MCU for not very much money. 22:47:14 Yes. My Forth core is all in ARM. I mostly use ARM9, ARM11, and A8 these days. Lots of 9 ands A8 22:47:19 (About six bucks or so.) 22:47:57 It's small enough that I can fit it into a USB dongle and yet still get good performance and capabilities out of it. 22:48:13 In fact my main ARM environment is Debian Squeeze and X with Python and TKinter. 22:48:15 So the minor annoyances (like the clock) are just that. 22:48:36 But I need the performance nad lower cost of the STM and it so far looks like it will do a great job. 22:49:01 Well, I've got my F3DISCOVERY on my desk next to me right now while I fool with its gyros and accelerometers. 22:49:28 The F4 is under the desk within arm's reach. (Or ARM™'s reach! Hah! Bad puns!) 22:49:42 They're very nice experimental testbeds. 22:49:46 I think I chose the F4 because of better math supprt. 22:49:58 I'll be writing the Forth on the F4 Discovery board. 22:50:13 Get the core routines down and learn all the minor little foibles here and there. 22:50:33 Then I'll pick up a few of the real chips (I just priced them at my source) and do the real software. 22:50:37 That will be cool. I write 99% of the time for OEMs using these andahammer.com 22:50:48 Then tp here will design the hardware for me. 22:51:05 After that, getting them assembled is cheap like borscht. 22:51:27 If you need volume, I have manufacturing in China. 22:51:44 GUangzhou and Shenzhen. 22:52:07 I doubt if your manufacturing could be any more convenient than mine. (I'm in China and my manufacturers and assemblers are almost within walking distance; definitely within cycling distance). 22:52:29 You got me there :-) 22:52:41 But my main guy has a new solder jet printer! 22:52:49 Initially I'm probably only going to make 100 or so units, though, to see if there's any interest in these as a hobbyist's toy or as a prototyping tool. 22:53:03 I'm not sure what my assembler would have. I've never been on premises. 22:53:10 No more stainless steel paste maksk. 22:53:12 I think he's just using wave solder for the most part. 22:53:18 But I have no idea. 22:53:25 The process is scary-simple. 22:53:39 I submit the Gerber files to the PC board manufacturer. 22:53:54 Depending on how much I'm willing to pay I have my PC boards in 2-14 days. 22:54:14 Normally surface mount has a cleanup and setup time to change to a stencil for laying down solder paste. 22:54:48 Then I submit the boards and BOM to the assembler (optionally the parts too if I can get them cheaper than the assembler will offer) by courier and they give me the assembled boards in ... 2-14 days. 22:54:58 So at the cheapest price, in a month I've got my boards. 22:55:03 With the jet printer that is all gone. Like printing a different doc. That easy to change boards. Cameras check alignment and printer zip zip zip! 22:55:34 Cuts down setup time and there for cost on runs that are not huge. 22:55:41 I can also choose to have the boards go from the PC board manufacturer straight to the assembler. 22:55:55 Yeah, small runs cost me a bit. 22:56:24 A 2-layer board about the size of the STM32F4DISCOVERY would cost me, in a batch of 10, about 200RMB. 22:56:32 In a batch of 100 it's about 400RMB. 22:56:33 So... 22:56:50 BTW, I'm really liking some of your kit. 22:57:20 I'm not sure what the kit's for yet (just skimming), but it lookse nice. 22:57:34 It has been very reliable. Like 5000 boards in Brazil with no returns. 22:58:24 It just looks like a seriously massive I/O hub. :) 22:58:29 Am I cloe? 22:58:34 Same for outdoor application in Finland. Great relibility over temperature and the original desing was for education! 22:58:46 I'm talking the Mini6410 right now. 22:58:59 s/cloe/close/ 22:59:09 Yes, those Samsing phone chips have tons of I/O. 22:59:21 So what's the intended use of the Mini6410? 22:59:44 Whatever the embedded developers want. 23:00:04 Hay. the Mini2440 is on this anybots.com 23:00:45 What would you consider to be your flagship product? 23:00:52 Commercial safes, hospital beds and drug dispensing cabinets. 23:00:54 The one you're proudest of; that represents your company best? 23:00:58 Mini210S 23:01:16 1 GHz A8 Cortex. 512M RAM 1 G SLC NAND. 23:01:24 There's no link to it from the front page. 23:01:33 A8 section 23:01:43 Oh, I see. 23:01:55 Yes, ancient web site creaks when changes are made :-) 23:02:05 Man, I've got to get one of those hot air soldering irons. 23:02:28 Most sales are to volume OEMs so the site is for engineers and hobbyists. 23:02:31 And some of that soldering paste in a tube. 23:03:10 OK, you've got sweet kit, but I'm still making my Forth dongle. :P 23:03:16 ;) 23:03:29 I do prototyping of SMT under a microscope with an iron. 23:03:54 I'm a software geek. I let other people do my soldering for me. :) 23:04:15 If I can get a hot air soldering gun, though, I'll do SMT with it. 23:04:26 Our designer in Gunagzhou is dying to compete with the Raspberry Pi - don't ask why. 23:04:58 But he has managed to put most of the Mini210S onto a business card sized board that can probably retail for $40. 23:05:27 With the connector to fit all our LCDs and HDMI. 23:06:12 So, green light and I think he is testing the third spin. He is a stickler for perfection. 23:06:50 Since you're in the trade, and since you're obviously dealing with hobbyists, what do you think the potential is for a Forth monster like the one I'm thinking of? 23:07:27 I should be easy to put GForth or any FOrth that will compile under Linux on hte boards. I have never had time to try. 23:08:14 FOrth has terrible rap these days. I would just do it for fun and your own projects. 23:09:04 I love it. I did amazing things in small spaces in early 6502 days. Adn Mike Hore's MOPS added OOP in a really slick way. 23:09:52 But the attack by C enthusiasts was brutal and the standards club really killed it off. 23:10:02 I'm actually going to make my own Forth and then wrap all the F4 peripherals in a nice vocabulary set. 23:10:13 I'll buy one! 23:10:50 The goal is to have a stick you plug in that presents a serial comms link that, when you connect to it, gives you a Forth environment. 23:11:01 I'm not sure you need to make so many words. 23:11:17 A Forth environment that gives you access to all the capabilities of the STM32F4 chip on board. 23:11:39 And probably a way to break out the I/O, ADC, DAC, etc. pins out the other end should you want to interface it to the outside world. 23:11:43 You migh get a nice vocabulary that handles a lot of different I/O with. 23:12:29 Well, some of the things I'd want to make higher level vocabularies for would be things like clock setting. 23:12:36 'Cause the F4's clock is seriously whacky. 23:12:51 So many options (almost 900,000 of them) and so few VALID combinations of them. 23:12:58 That's just begging for a sane wrapper to sit on top. 23:13:25 Same with the Samsung chips. It is easy to get it wrong. 23:13:27 I also want to put a block "file system" (classic Forth style) on part of the Flash. 23:13:39 That would be fun. 23:13:44 I actually wrote a Prolog program to figure out the valid combinations. :) 23:14:13 Just gave it the list of possible options, interim value constraints and desired outcome. :) 23:14:53 So there's 11 ways to configure the clock on the F415RG so that it's running from its internal oscillator (16MHz), that its CPU clock is 168MHz and its USB clock is the required 48MHz. 23:14:55 11. 23:14:58 Out of almost a million. 23:15:10 You can see why a sanitizing vocabulary might be nice. ;) 23:15:58 --- join: Bahman (~Bahman@2.50.50.204) joined #forth 23:16:00 IIRC you can ping-pong two ADC's for twice the ADC speed. 23:16:13 You can do LOTS of weird shit with that chip. :-S 23:16:26 You can clock them full speed and 180 degress apart. 23:16:37 There's stupid ADC tricks, stupid op amp tricks, stupid comparator tricks, etc. etc. etc. 23:17:16 The ADCs are complicated, but not prone to breaking your system if you misconfigure them so I'll only be putting a fairly low-level set of words over them. 23:17:24 Same with the U(S)ARTs and such. 23:17:35 The Flash subsystem will have some very high level words. 23:17:51 And strong admonitions in the manual to not try and play with the lower level words. :) 23:17:56 --- quit: Bahman (Client Quit) 23:18:09 --- join: Bahman (~Bahman@2.50.50.204) joined #forth 23:18:09 (Or I'll use that "modules in three lines" trick to HIDE the lower level vocabularies.) 23:19:08 ANything will be easier that GPIO in Linux. 23:19:21 Never tried GPIO in Linux. :) 23:19:24 hey guys... here's a screenshot of my turbo pascaly forthy thing if anyone cares: http://imgur.com/gallery/3CQKC/new 23:19:44 Timers I may put a mid-level vocabulary around with the low level exposed for those who want finer control. 23:19:48 There's ... so many timers. 23:19:53 It's a bit bewildering to control. 23:20:08 Ahhh! WIndows FOnts!!!! 23:20:11 So in a mid-level vocabulary I may have words for "give me a timer, any timer, and have it do X when it counts down". 23:20:51 A Forth IDE? 23:21:06 I'm going to plop it on an Arduino Pro shield to start with. 23:22:28 Has anyone ever tortured Bill Gates to find out why they used a seriffed font on low res screens? 23:22:50 Timer check: 2 advanced-control timers (TIM1/8), 4 general-purpose timers (TIM2-5), 6 general-purpose-but-different timers (TIM9-14), 2 basic timers (TIM6-7). 23:22:55 not windows.. .it's DOS :) 23:24:44 Yes! (makes sign of cross) That font makes me ill - reminds of great pain. 23:26:02 haha.. i usually use my hand-made font 23:26:21 but also i suppose most of the turbo pascal stuff i wrote back then was about easing the pain of dos :) 23:26:48 OK, I've gotta head into the office for a bit. 23:27:14 I still see that font if I stop a motherboard before it can boot Linux. 23:28:03 Yep. I'm near Seattle and have emails starting to come in from Guangdong region. 23:28:03 yeah.. it's the EGA font 23:29:17 I worked for Jef Raskin. He could noe see that without getting physically ill. 23:29:19 tp: The F415RG has an SDIO interface. 23:30:16 The dongle just got a MicroSD interface. :D 23:31:24 really, regnirps ? were you involved in the cuecat? 23:31:37 Canon Cat. Yes. 23:31:38 not cuecat... what was it called 23:31:40 canon cat! :) 23:31:53 cuecat's that silly scanner thing 23:31:56 My name pops up in the cookies. 23:32:34 Good Forth in that one :-) 23:32:56 What is a Canon Cat? 23:33:09 huh. i hadn't made that connection before. i've read a bit about it but never tried the emulator / archie thing 23:33:24 I meta-compiled the first Forth for the first proto-type. Did it with MVP-PADS from MVP FOrth. 23:33:26 it's a computer with a document-centric user interface 23:33:34 http://canoncat.org/ 23:33:41 * Xark links to http://en.wikipedia.org/wiki/Canon_Cat (I remember reading about it when the Mac was very new) 23:33:51 are you terry holmes? :) 23:33:54 http://canoncat.org/canoncat/forth.html 23:34:44 No. Terry wrote the Forth for the 68K that made it all possible and fit in the small space - a cool token threaded Forth. 23:35:31 I won the text search contest though. I modified the Boyers-Moore-Knuth algorithm. 23:36:03 Turned out the other guys had not read The Art of Computer Programming. 23:36:08 That must have been a fun gig. :) 23:36:28 I've known many people who owned TAoCP. 23:36:34 * ttmrichter stresses *owned* 23:37:06 It was very cool. We had an air gun range in the basement and flew electric motorgliders twice a day. 23:37:38 hahahaha 23:37:49 We started on Univ. Ave. in Palo Alto, so Knuth was nearby. 23:38:04 In fact, Scott Kim worked for us and he was a student of Knuth. 23:38:05 * Xark read his roommates (at the time) copy..not sure he ever read it. :) 23:39:45 regnirps: Do you have a Cannot Cat machine still? 23:39:49 I have never run into Knuth but I used to go to the Hoover Insitute building on the STanford campus and talk to MIlton Freedman. That was very cool. 23:39:52 Cannon* 23:40:40 oh hey! it had two buttons under the space bar. i've always said that's where the modifier keys should be because your thumbs are your strongest digits 23:40:46 regnirps: I met Knuth at a picnic in the bay area. He was pretty interesting (at the time he was working on his MIPS CPU MMIX). 23:40:54 Lets see. I sold on on eBay a few months ago and it went really cheap. The economy plus collector interest is way off. 23:40:57 Er, RISC* 23:41:10 Do'h. :) 23:41:46 regnirps: I have some pre-release Amiga manuals, but I think I'll just donate them to the Video Game Museum or something. 23:41:53 Xark: I think at the time I was there he was very wrapped up in his Bible translations and musical interests. 23:42:14 regnirps: Ahh. Somewhat interesting person, from what I've read. 23:42:22 Previos Cat I sold went for $1800. This last one for $300. 23:43:20 Music is a common thread with a lot of these guys. Raskin was fantastic on Piano and organ and recorder. COuld do Back as finger exercises while he read technical reports. 23:43:38 Scott Kim also excellent piano and I think Knuth as well. 23:44:14 Bach 23:44:17 A high correlation between computer people and music people, for sure. 23:44:44 * Xark also thinks of Todd Rundgren... 23:44:51 I couldn't play but I knew all the physics of music theory and they dug that. 23:45:27 Yes, Todd was in the area and hung out some wioth Burce Toganzini's wife (Raskin's assistant). 23:45:45 In fact, I managed the Dead Kennedy's. 23:45:50 i wrote a midi piano tutor to help myself learn to play, but i haven't put in the time to practice 23:46:04 regnirps: Right on. I remember first meeting Todd at a UCLA Apple II users group. Later he worked on some Philipps CD-i software (when I was working for Philips). 23:46:32 He is a bit of a polymath - good at everything. 23:47:35 Jenny Muldour lived arudn there somewhere. Her daughter also hung out with Jef's assistant. 23:48:02 Or Jennney is the daughter. Maria did "Midnight at the Oasis". 23:49:22 What I think got me the job aside from knowing Forth and being the "FOrth Doctor" at MVP, Jef was showing off his skill by blowing up green walnuts in a tree with his air rifle. 23:50:01 MVP? 23:50:17 I picked it up and easily matched him, then showed him how to kill someone from 30 feet with two piece of magazine paper. 23:50:34 Mountain View Press was teh largest vendor of FOrth compilers and books. 23:50:40 Ahh. 23:51:22 another forth site that's gone down recently http://webcache.googleusercontent.com/search?q=cache:http://theforthsource.com/ 23:52:21 The "STandards team" which was a private club, kiilled it with premature standardizations that no one wanted or needed. 23:52:24 tangentstorm: Ahh, too bad. 23:52:31 haha 23:53:06 i noticed forth.org was down a couple days ago... both it and the mvp site are still in google though so it must have been recent. 23:53:45 They would mass mail their standards announcements to all the computer and electronics publicatiosn adn everyone thought there had some weight. 23:54:33 I assume Glen Haydon has passed away. He was the driving force behind MVP after ROy Martens. 23:55:09 * Xark has had a renewed interest in Forth from recent small efficient FPGA stack processors (such as http://excamera.com/sphinx/fpga-cpu.htm ) 23:55:26 So, we would suddenly get calls fro orders adn people asking "Does you system conform to F83?" 23:55:36 This was after the same thing with Forth79. 23:56:13 Then another and eventually the battered the IEEE enough to get ANSI Forth - which sucks! 23:56:51 are you saying the forth 83 standard was basically a hoax, regnirps ? :) 23:57:12 Started adding extra crap that broke everyones algorithms, pluck, shove, mash, whateverr that crap was. 23:58:36 FOrth83 was endorsed or created by a couple guys who were on the standards team and also has business interests in FOrth, though very small. No one had a large ineterest except Atari. 23:59:08 Atari? 23:59:15 So they figured it was a leg up on the competition to play this standards game. 23:59:34 Really eating their own young and preventing a critical mass of forth companies and users. 23:59:52 Early Atari games were in Forth, like Asteroids and battle zone. 23:59:59 --- log: ended forth/13.06.23