00:00:00 --- log: started forth/03.07.07 00:01:40 --- nick: kc-food -> kc5tja 00:02:56 Herkamire: Yeah, I thought it was pretty cool too. That's the first time I've ever seen a "continuously variable transmission" (if you can call it that) that can, at least conceptually, handle the torque requirements of a high-performance sports car engine. 00:03:12 This easily explains why/how Toyota can make their entire line-up of vehicles electric hybrids. 00:06:02 a7r_: How's VIBE working for you? Did you fix pforth for it yet? 00:07:23 kc5tja: not yet, I have to hack in a bunch of shit to get their input handling working right. 00:08:02 Man, it sounds like they really went to town on ruining pforth. 00:08:28 it's just simple.. they didn't bother writing code to kick the ttys properly to get interactive-style inputs. 00:08:35 .. which sucks. 00:08:36 Perhaps you might want to submit a patch to the pforth maintainers/authors to let them know of the proper behavior of KEY. 00:08:41 yeah 00:10:41 It feels kind of awkward having a block editor that itself is 12 blocks long though. :) 00:11:09 (every section that is between parenthetical comment blocks is assumed to be a block ) 00:11:20 nod. 00:13:44 oh right, irc. I'm on irc! 00:14:13 what's VIBE? 00:14:53 Heheh :) 00:15:01 VIBE is my VI-like Block Editor. 00:15:10 nice 00:15:14 what forth is it for? 00:15:19 I wrote it because GForth does not have a block source editor, and I prefer blocks to files. :D 00:15:42 Well, it's reasonably portable if you're willing to spend some time porting it. Shouldn't take too long. But currently it is written for GForth. 00:15:49 I don't use any GForth-specific words for it though. 00:15:53 have you calculated your average characters per word? 00:16:06 No -- why? 00:16:17 I'm just curious how many words you get in a block. 00:16:35 I'm playing with my pre-parsed source, so I get 512. 00:17:05 I'm using raw ASCII. 00:17:08 (dictionary is seperate from blocks) 00:17:18 I abide by one word per line in this case. 00:17:29 Err 00:17:33 One definition per line. 00:17:45 that's what I thought you meant :) 00:18:17 For your representation, your source code is encoded as two bytes per word reference? 00:18:42 I was just thinking that a block of my source tokens is probably about 4X more than a block of ascii source 00:18:51 yep. 00:19:03 Without writing a program to test it, I believe the average number of characters per word is somewhere between 5 and 6. 00:19:29 so something like 6X 00:19:38 So, without whitespace for pretty source, I would probably get 146 words per block. 00:19:55 yeah. I have 4 bits for color, and 12 for dictionary offset (or data, or whatever) 00:20:12 6X? 00:20:28 What is 6X? 00:21:16 sorry 3X. my blocks would be 3X more source. 00:21:37 partly because they don't have all the info in them (they rely on the seperate dictionary) 00:22:20 howdy a7r :) 00:22:32 yoh 00:23:01 dude.. I can't believe this.. Borders wants 55 bucks for the ARM: ARM book, but these smaller shops will ship it for 18. 00:23:07 16 bits seemed like enough for source tokens. it wouldn't be that hard to bump it up to 32 if I ever want to. 00:23:52 that's enough for 4096 definitions. 00:24:24 Herkamire: Well, ColorForth gets by with only 512 dictionary entries for the Forth wordlist, and 128 for the compiler/MACRO wordlist. :) 00:24:27 --- join: fridge (~matt@dsl-203-33-165-73.NSW.netspace.net.au) joined #forth 00:25:03 I'm not sure if : and ; are skewing the results, but my average word length is 2.898 00:25:12 Let me see what it is without : and ; 00:26:18 I have 300 definitions already :) 00:26:56 Without : and ;, the average actually drops to 2.65648 00:27:23 I was suprised how short my average word length was too. 00:27:34 I remembered it being around 3 00:27:55 * kc5tja nods 00:28:05 That's apparently where mine is too. 2.898 is the highest value I get. 00:28:05 it makes me feel silly about bumping the maximum word length up to 16 chars. 00:28:52 Well, I should have said, 512/128 definitions above and beyond the core Forth/Macro kernel definitions. 00:29:05 4096 probably sounds about right. 00:31:14 OKay you guys, I'm hitting the sack. 00:31:17 TTYL. 00:31:22 * a7r_ is away: sleep 00:31:38 OK 00:31:49 er.. 00:32:00 kc5tja: if you get some time tomorrow, I want to run by some router-running-Forth ideas. 00:32:10 OK 00:32:13 late. 00:32:17 'night. 00:33:21 goodnight 00:37:27 I have an average of 8.2 source tokens per definition. 00:39:01 so if I puh on average 300 source tokens in each block, I should be able to have over 100 blocks before my dictionary gets to big for 16 bit source tokens. 00:39:30 * kc5tja nods 00:39:57 Let me see what my average tokens-per-definition is... 00:41:42 --- join: Serg_Penguin (Serg_Pengu@212.34.52.140) joined #forth 00:41:53 re 00:42:01 hi Serg_Penguin :) 00:42:15 do u know any forth 4 ZX spectrum ? 00:42:26 no 00:42:38 after some demoparty, i'm hooked on speccy ;)) 00:42:54 what's speccy? 00:43:02 (or who?) 00:43:04 ZX Spectrum :)) 00:43:18 common abbrev. in RU ;)) 00:45:00 I have 4.79 words per definition. 00:45:03 re Serg_Penguin 00:46:02 So I'm using an average of 27 to 30 characters per line -- I could probably collapse the editor to 6 blocks if I double-up on definitions per block. 00:47:16 I like having a definition on each line. 00:47:35 one-liners RULEZ 00:48:03 i wrote a game all in one-line words 00:49:01 I agree -- I prefer one-word-per-line too. But I'm just saying, it's possible to collapse the source quite a bit. 00:49:10 I just ran a test -- 35.6 characters per line, on average. 00:49:10 :) 00:49:17 SO I was pretty close. 00:49:38 Serg_Penguin: I released the source to VIBE 2.0 for GForth -- it's on the #Forth portal site. 00:50:33 It's not exactly a feature-complete block editor, but it's currently adequate for my needs. 00:50:40 It's only 2.0 because I lost the sources to 1.0. :) 00:51:14 * Serg_Penguin dislikes GForth 00:51:25 for huge footprint 00:51:40 and inability to compile standalone EXE's 00:52:01 or it got fixed ? 00:52:24 HAHAHAH! 00:52:32 When has any Gnu software ever gotten fixed? 00:52:55 No, I wrote it for GForth because it's widely available and is the most stable Forth environment I have for my Linux environment currently. 00:53:07 FS/Forth isn't done yet -- I'll be using this editor to write it. 00:54:18 I'm sure by the time FS/Forth for Linux is ready, I'll probably have VIBE 3 available for it. 00:59:44 At any rate, FS/Forth is going to be a "classical" Machine Forth, specifically targeting and exploiting the x86 architecture to the best possible extent. 01:00:16 I've run some prototypical code, and FS/Forth should be no worse than 2.2x slower than the best possible output that GCC can offer. 01:00:36 (unless you *really* code up a poor implementation of something) 01:00:53 at a design level? 01:01:34 then you'd compare it to an equally inept solution written in C =) 01:02:52 You'd think that, but that doesn't always happen. 01:03:49 I have 34.8 chars/line 01:04:54 kc5tja: how are you counting words/definition? 01:05:33 Ignores :, ;, and the word immediately following the : 01:05:46 ok. 01:06:08 That way, only pure "definition content" is considered. 01:06:17 my number was just ignoring :, [, and ] 01:06:17 I do not embed comments in my words, so I didn't have to worry about that. 01:06:47 * kc5tja nods 01:06:53 I have a bunch of stuff that just executes in my bootstrapping code. that probably throws the numbers a bit 01:06:54 We're so close that I wouldn't worry about it. :) 01:07:26 whadda you think on IDE/editor what makes user obey to some principles of Thinkful Programming ? 01:07:48 --- quit: a7r_ (Read error: 110 (Connection timed out)) 01:08:47 If I exclude my bootstrapping code I get 6.8 source tokens/definition 01:09:33 Serg_Penguin: That'd require the computer to think for the user -- I don't like that concept at all, personally. 01:09:57 Herkamire: Yeah, I'm somewhere between 5 and 6 myself. 01:10:08 I think. I deleted the program that generated the number. 01:10:13 Didn't think I'd need it again. 01:10:29 heh :) 01:10:42 that's cool to see our programming styles are so simular 01:11:12 kc5tja: i think of a thing like LINT: it inspects source and gives advice 01:11:25 maybe built in editor, so advice is immediate 01:11:35 wait. 6.8 is wrong. 01:12:04 that's with: : and [ and ] 01:12:14 Serg_Penguin: Well, if it's advice, that's different. But forcing the user to do things according to thoughtful programming is something I object to. 01:12:27 (and I haven't added immediates yet, so there's at least one [ per definition for the semicolon 01:12:37 it would warn on multi-line word, abcence of comment, too nested loop\if etc. 01:13:24 or, you can configure it - some warnings will be fatal, some - may be turned off at all 01:13:43 I keep confusing myself. disregard my last 3 lines. 6.8 is correct 01:14:28 kc5tja: and, definitely, it must warn on too deep stack magiv 01:14:42 err magik 01:14:44 Serg_Penguin: how is that usefull? 01:15:02 didn't wrote, didn't try 01:15:05 you aren't going to nest three controll structures and not know it. 01:15:42 i may write it as standalone LINT, but it's of zero usefulnees this way, coz breaking FORTH fast type-run loop 01:16:05 I can see it looking for common mistakes like in C some compilers give a warning for: while(...); 01:16:25 adding this to my editor is beyond my C skill, as well i dont want to write full ed. in FORTH 01:16:51 I think people should write their own editors. 01:16:58 I've haven't done this yet though. 01:17:03 not mistakes, but bad style and potentional gochas 01:17:14 so maybe I'll find out that it's too much work or something and change my mind :) 01:17:39 I like my style. 01:18:08 maybe that would be usefull if you are programming in a group and you need reminders to use the group's style. 01:20:59 what about hacking ':' to accept only one line ? 01:21:33 or changing ';' to ';(', so you can't end a word w/o comment ? 01:22:57 * kc5tja uses shadow blocks for commenting anyway, so the latter doesn't apply to me. 01:23:27 or: ';' rises a flag, '(' or '\' drops it, and ':' YELLS if flag is still raised 01:23:58 see, this harkens back to forcing the user to obey. I don't subscribe to that. 01:24:04 Forth has always been about freedom to me. 01:24:25 heh, i don't want to hardcode it into core 01:24:43 i want to write it once and include to every project i want ;) 01:24:47 * kc5tja nods 01:25:29 IF, DO etc increment a counter and yell if it's too high 01:25:37 ';' zeroes the counter 01:26:52 * Serg_Penguin doesn't use any blocks at all, and no shadow blocks sure 01:26:55 1:30AM here -- time for me to get to bed. 01:27:06 bye ;) 01:27:13 Oh man, I just got done spending the day writing a block editor for gforth because I refuse to use files. :) 01:27:42 can your thing include another block file ? 01:27:52 Call me anachronistic, but while I appreciate the relative convenience of files, I much prefer the organization I can get using files. 01:27:54 err, blocks rather. 01:28:01 My "thing"? 01:28:18 What does 'thing' refer to in this context? 01:28:29 can yor editor INCLUDE FILELIB.BLK for example ? 01:28:41 That really isn't an editor function. 01:28:59 But you can instruct GForth itself to switch to a different block file. 01:29:10 ok,ok 01:29:29 USE FOO.fb will switch to the FOO.fb file. Then, any block you edit with vibe will come from that file. 01:29:47 * Serg_Penguin keeps things in files separated by purpose 01:30:11 like screen.frt, rules.frt, paklib.frt etc. 01:30:25 * kc5tja prefers to keep related blocks together. 01:30:43 and, i use libs not like some static thing to include or link 01:30:54 but like palettes to snatch code from 01:30:57 I don't understand the last sentence. 01:31:06 Oh. 01:31:09 Well, sure. 01:31:17 for ex., i wrote a screen lib, mi-crt.for 01:31:19 I generally keep hardcopies of all my source code. 01:31:28 about 20 lines 01:31:45 but then i wrote my sokoban, it shrunk to 1 word, 1 line ! 01:32:33 Well, like I said, I prefer to keep related blocks together in the block storage device. 01:32:44 ;)) 01:32:49 Or, I'll span things out in a tree, where a single root block loads multiple sub-blocks. 01:32:59 Code re-use is very easy to implement that way. 01:33:43 the only good things in blocks IMHO is keeping the coder laconic ;) 01:34:21 scrollbars and wheel rats make one way too verbose ;(( 01:34:57 I keep most of my daily notes on 3x5 index cards. I keep a lot of personal information in daily planners. Why shouldn't I write my source code in 64x16 blocks? 01:35:44 I haven't used blocks, but I really like the idea 01:35:52 64 ? PC screen is 80 or 40 wide ! 01:35:56 seems like a managable chuck 01:36:12 both for me and for the editor 01:36:27 Serg_Penguin: And? 01:36:33 Serg_Penguin: How exactly does this stop me? 01:37:06 for what you use remaining 16 chars ? 01:37:32 Serg_Penguin: A block is 1024 bytes big. A source block is formatted as 16 rows of 64 characters each. 16 * 64 = 1024. 01:37:51 or you use hacked videomode ? 01:37:54 No. 01:38:02 hmmm.... 01:38:05 I just render a 64x16 character matrix on a 80x25 display. 01:38:10 Plenty of room. 01:39:14 hmm.. 01:39:26 Please see the source on the #Forth portal site. 01:39:38 i think of writing an editor blocky at user side,... 01:39:43 http://forth.bespin.org/Members/kc5tja/vibe-2.0.fs 01:40:04 but writing files what can be eaten by my files-based FORTH compilers ;) 01:41:38 ok, downloaded, will inspect at home ;) 01:43:05 well, I'm ready to call it a night too. 01:43:08 goodnight kc5tja 01:43:12 OK, 'night! 01:43:17 --- quit: Serg_Penguin () 01:43:18 I'm outta here too, I guess. 01:43:25 --- part: kc5tja left #forth 01:43:34 --- quit: Herkamire ("bedtime") 04:45:31 --- join: w1k1_ (~w1k1@217.229.153.61) joined #forth 04:53:13 --- quit: w1k1 (Read error: 60 (Operation timed out)) 05:04:45 --- join: mur (murr@baana-62-165-190-158.phnet.fi) joined #forth 05:10:03 --- nick: w1k1_ -> w1k1 05:58:30 --- join: larkin (~zcb@66.82.112.1) joined #forth 06:32:33 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 06:55:05 --- quit: tathi ("leaving") 07:01:52 --- quit: w1k1 (Read error: 104 (Connection reset by peer)) 07:40:02 --- join: Serg_Penguin (Serg_Pengu@212.34.52.140) joined #forth 07:40:21 --- quit: Serg_Penguin (Client Quit) 08:45:20 --- quit: ChanServ (leguin.freenode.net irc.freenode.net) 08:48:20 --- join: wossname (wossname@HSE-QuebecCity-ppp80956.qc.sympatico.ca) joined #forth 08:48:37 --- join: ChanServ (ChanServ@services.) joined #forth 08:48:37 --- mode: leguin.freenode.net set +o ChanServ 09:04:15 --- quit: ChanServ (Shutting Down) 09:04:24 --- join: ChanServ (ChanServ@services.) joined #forth 09:04:24 --- mode: leguin.freenode.net set +o ChanServ 09:04:53 --- quit: ChanServ (Shutting Down) 09:05:22 --- join: ChanServ (ChanServ@services.) joined #forth 09:05:22 --- mode: leguin.freenode.net set +o ChanServ 09:06:33 --- join: XeF4 (~xef4@nucleus33.gprs.suomen2g.fi) joined #forth 09:14:06 --- join: Herkamire (~jason@h0030657bb518.ne.client2.attbi.com) joined #forth 09:39:27 --- join: a7r_ (~a7r@206.72.82.135) joined #forth 09:46:44 wb a7r_ :) 10:01:33 --- quit: XeF4 (Read error: 110 (Connection timed out)) 10:27:11 --- join: XeF4 (~xef4@guanine165.gprs.suomen2g.fi) joined #forth 10:31:27 --- quit: a7r_ (Read error: 110 (Connection timed out)) 11:16:03 --- quit: XeF4 (Read error: 110 (Connection timed out)) 11:37:45 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 13:37:57 --- quit: mur ("MURR! save the http://rainforest.care2.com/ (click url there)") 13:40:01 --- quit: wossname ("^___-") 13:42:08 --- join: mur (jukka@baana-62-165-189-32.phnet.fi) joined #forth 14:04:01 --- quit: tathi ("leaving") 15:03:59 --- part: mur left #forth 15:39:36 --- join: kc5tja (~kc5tja@ip68-8-206-137.sd.sd.cox.net) joined #forth 15:39:36 --- mode: ChanServ set +o kc5tja 16:15:47 --- join: w1k1 (~w1k1@pD9545322.dip.t-dialin.net) joined #forth 16:20:25 howdy 16:45:22 --- quit: paxl (Read error: 54 (Connection reset by peer)) 16:47:58 --- join: paxl (paxl@modemcable110.168-130-66.que.mc.videotron.ca) joined #forth 17:20:42 Hi 18:24:09 --- quit: Robert (Read error: 54 (Connection reset by peer)) 18:26:36 --- join: Robert (~snofs@h126n2fls31o965.telia.com) joined #forth 19:45:40 --- quit: Herkamire ("leaving") 21:14:29 --- join: fridge_ (~matt@dsl-203-33-161-50.NSW.netspace.net.au) joined #forth 21:33:17 --- quit: fridge (Read error: 113 (No route to host)) 21:41:49 --- quit: fridge_ (Read error: 60 (Operation timed out)) 22:08:35 --- join: Serg_Penguin (Serg_Pengu@212.34.52.140) joined #forth 22:08:40 hi 22:09:42 kc5tja: i looked at your source, even tried 22:10:17 it crashes at my old DOS gforth: kinda like wrong block then i type 'vibe' 22:10:48 anyway, i looke it thoroughly for style, tricks etc... 22:27:54 It sounds like gforth itself is buggy. 22:28:34 * kc5tja doesn't use or allocate any memory not expressly allocated by the word BLOCK, so something is really screwy inside gforth. 22:28:43 it shows some ansi codes and long -------------------------------, and then chokes 22:28:44 What version of GForth? Mine is 0.5.0 22:28:59 old, compiled by DJGPP 22:29:04 WHOA!!?!??! 22:29:09 That's not right at *ALL*. 22:29:19 It's crashing when trying to *display* the contents of a block. :( 22:29:38 * Serg_Penguin dislikes Forths wr0tten in C and incapable of compiling itself 22:30:12 Well, at some point, I'll be porting the block editor to FS/Forth for DOS. When I get that finished, I'll post a version for you. 22:30:26 But I need to take care of some other, more important (and personal) things first. 22:30:35 okay, okay 22:30:50 yesterday i wrote some of my 'flint' 22:31:05 it gives warning of multiline word ;) 22:31:26 by now, '\' crashes 22:32:07 : \ cmtf off ', \ ; immediate 22:32:33 : ', [compile] [compile] ; immediate \ just alias for short ;) 22:34:00 I don't know what could be causing it. 22:36:14 That seems like it should work. 22:40:46 i rewrote ':', ';' and '(', '\' 22:40:54 so it will warn on: 22:40:58 1) multy-liner 22:41:07 2) not commented word 22:41:22 and maybe in future : 22:41:27 too deep nesting 22:41:35 too long word 22:41:40 too long name 22:41:46 --- 22:42:04 * kc5tja nods 22:42:11 what warnings you will suggest ? some potential gochas\tarpits ? 22:42:51 Mismatched control structures: THEN does not resolve BEGIN, UNTIL does not resolve IF, etc. 22:43:19 I have it in my FS/Forth target compiler. I thought it would come in handy, but I haven't ever had a control structure mismatch yet. 22:43:50 no,no ! 22:44:07 incorrect code is subject to compiler fatal error 22:44:15 not 'lint' warning 22:45:22 'lint' warns on flaws in _correct_ code, flaws what make it _prone_ to errors, or 'maybe-errors' 22:46:44 Well, you asked for suggestions -- and that's all I had to offer. :) 22:46:53 I can't really think of anything else right now. 22:47:01 ;) 22:47:15 thanks anyway 22:47:26 aarghghrhgh!!! 22:47:33 ??? 22:47:50 * kc5tja really must find some way of making a Stirling engine, so he can get a grid-free, battery-free fan in his room. 22:48:05 It's so hot and humid in here that it's hard to think straight on anything. 22:48:18 stirling engine ? 22:48:44 It's an external combustion engine -- it runs on temperature difference between a hot-side and cold-side heat exchanger surface. 22:49:36 K of any engine depends on T difference between heater and cooler 22:49:48 you won't get much from a few degrees ;(( 22:50:03 I don't need much. 22:50:07 I just need something to circulate the air. 22:50:36 Something in the 10W to 20W range would work well. 22:50:47 build a high funnel, paint it black 22:50:57 It's night-time here. 22:51:05 sun will heat it, heated air will go op 22:51:07 Solar doesn't work at night. :) 22:51:36 anyway, high funnel is a good ventilation measure 22:51:48 And it won't exactly "fit" in an apartment complex. 22:51:52 Especially a single room. 22:51:59 No, Stirling is the only viable way to go. 22:52:03 it sucks ;) well 22:52:17 The hot-side of the engine is just exposed to free-air, since the air is already quite hot. 22:52:25 The cold side can be a number of ice cubes. 22:53:00 A Tesla turbine can be used to move air about in the room. 22:53:31 and it doubles as a flywheel for the engine. 22:53:53 anyway, you need something to be consumed - battery or ice... 22:54:26 Yes. 22:54:36 what is cheaper ? 22:54:39 Ice. 22:54:51 why not wall power ? 22:55:11 Why should I *add* to the energy draw by installing an electric fan when the freezer is already providing a (negative) energy source? 22:55:46 The other reason is quite simple: wall power generates heat. 22:55:53 That's defeating the whole purpose of this. 22:56:11 I'm looking to convert the heat that's already present in my room. 22:56:19 put motor outside ;) let it heat street not room 22:56:37 Again, not practical. 22:57:59 replace glass in windows by polished metal to reflect all the sun 22:58:31 --- join: fridge_ (~matt@dsl-203-33-165-132.NSW.netspace.net.au) joined #forth 22:58:36 That will only delay the effect. 22:58:42 It won't stop it. 22:58:54 The problem is, at night, we have zero wind around here. 22:59:12 During the day, we've got breezes up the wazoo. 22:59:20 But at night, nothing. 22:59:28 Or, at least, nothing substantial. 22:59:41 --- nick: fridge_ -> fridge 23:00:27 heh... 23:00:59 what about liquid nitrogen ? would it be cost-effective ? 23:01:19 I don't know. 23:01:43 But LN2 has a bit of a safety issue associated with it that I'm not exactly prepared to tackle right now. 23:01:58 I'm sure, since it's made in bulk, using it would be more efficient than using ice though. 23:02:24 In fact, I know so -- it would probably drive the thermodynamic efficiency of the engine so high that the engine would blow itself apart from excessive power output. 23:03:14 he-he ;) 23:03:33 just let it go through car-like radiator in small amounts 23:03:38 A 100K or more temperature difference on an engine designed for only 40K would probably cause it to spin so fast that it'd throw a connecting rod. 23:03:56 Actually, I'd have it drip directly on the cold-surface of the engine. 23:04:24 then it heats almost to room, run it throug airmodel CO2 motor driving fan 23:04:26 I'd have it behind a protective shield if I were to do that. 23:04:51 It'd get most of its heat from the engine though, as metal conducts heat several hundred times better than air does. 23:05:10 and then exhaust to atmosthere ;) 23:06:03 LN2 exhausted to atmosphere should be fine, considering it's already 78% N2 anyway. :) 23:07:21 Actually, I can imagine that being used to provide power for an automobile. LN2 used to cool the cold-side of a high-powered Stirling engine. 23:07:46 It makes good sense, since thermodynamic efficiency rises faster with decreasing temperature of the cold side than it does with increasing temperature of the hot side. 23:08:35 ;)) 23:08:52 * Serg_Penguin asks google about 'stirling engine' 23:09:36 I saw some little ones for sale that could run off the heat of your computer monitor 23:09:47 Yeah, but they're expensive. 23:10:02 American Stirling wants like $99 for their smallest, virtually useless model engine. 23:10:22 I understand low production volumes and all, but still.... :) 23:14:17 I came very close to making one myself using house-hold items, but it didn't seal up well enough to self-sustain. 23:14:28 :/ 23:20:38 i see some article on stirling, saying it needs very hot heater ;( 23:21:02 but anyway, i can't grasp how it works 23:21:13 There are three basic (broad) categories. There is the large temperature difference (LTD), the medium temperature difference (MTD), and low temperature difference (LTD) engines. 23:21:19 OK, let me try to explain. 23:21:25 You agree that hot air expands, correct? 23:21:29 y 23:21:34 And cold air contracts? 23:21:37 y 23:21:52 Now, imagine a single chamber, with a fixed volume of air in it. 23:22:00 The sides of the chamber are (theoretically) perfect insulators. 23:22:11 The bottom of the chamber is hot, and the top is cold. 23:22:37 Inside the chamber is a foam or similar material "displacer," whose purpose is to swish air (to "displace" it) from side to side. 23:23:11 When the displacer is top-side, most of the air in the chamber will be in contact with the hot surface, thus causing the air to expand. 23:23:21 This pushes out what's called a "power piston." 23:23:42 When the displacer is bottom-side, most of the (now hot) air is in contact with the cold side, causing it to contract again. 23:23:46 This pulls in the power piston. 23:24:26 If the power piston and displacer are mechanically coupled just right (specifically, at 90 degrees with respect to each other), the engine will self-sustain, as long as enough thermal energy is added to overcome the mechanical friction losses. 23:24:54 any flash animation ? 23:25:00 Let me look. 23:25:10 I think I know a URL, but making sure... 23:26:15 http://www.bekkoame.ne.jp/~khirata/english/begin.htm 23:27:00 It shows how to make a coffee-can Stirling engine (I couldn't get mine to work, as i said before -- it didn't have a good enough seal -- it DID want to spin in only one direction though, so I know the principle works!!), has animations showing how the various kinds of Stirling engines works, etc. 23:30:25 * Serg_Penguin is looking at it 23:34:32 what is regenerator ? on some RU scheme, it just like a 'blackbox' or maybe valve 23:35:17 A regenerator is a device that stores waste heat in the previous cycle for productive use in the next cycle. 23:35:40 When used with gas or steam turbines, it's called a "recouperator." 23:35:52 a can w/ metal or water to store heat ? 23:36:09 Most Stirling regenerators are steel wool, believe it or not. :) 23:36:19 wool ? 23:36:46 Are you familiar with "S.O.S." pads, for washing dishes and pots and pans? 23:37:04 Basically a very fine steel mesh. 23:37:13 Almost like gauze. 23:38:01 But, to answer your question, yes, it stores heat energy. Take a piece of metal, and stick it in a camp fire for a few seconds. It gots rather warm, and stays warm for a while. 23:38:22 That principle is used to recycle/regenerate/recouperate waste heat for use in the subsequent engine cycle. 23:40:41 ok 23:41:04 my advice is to make it on rubber, not pistons, so it will be sealed all the time 23:41:11 like in can example ;) 23:41:38 I tried that, and while the edges were sealed really well, the displacer connection rod wasn't sealing. 23:42:07 but I got a great idea while explaining Stirling engines to you a few minutes ago. I'll have to try it to see how well it works. 23:42:26 what idea ? 23:42:27 Basically, to use the bottoms of soda cans as the cylinders, with rubber balloon material as the diaphram on the concave side. 23:42:47 There are two cylinders: a hot cylinder and a cold cylinder. 23:42:56 Air is channeled between them using a plastic tube. 23:43:18 ok 23:43:25 The tube is on the convex side, so it won't interfere with the sealing of the rubber diaphram. 23:44:44 It'd basically look a bit like a boxer engine: two horizontally opposed cylinders. But unlike an internal combustion engine, where the con-rods are connected to a drive shaft in between the cylinders, the con-rods would be facing away from each other. So I'll need a linkage of some kind to make proper use of it. 23:44:57 -->]=[<-- 23:45:20 where = is the tube between the cylinders, and >] represents the can bottom. --- is the connection rod attached to the balloon. 23:46:10 The neat thing is, for the cold side, since it's basically the inside of the can that the tube is connected to, I can fill it with ice water, and it'll be its own cold-bath. :) 23:46:23 Ditto for the hot-side -- boiling hot water or whatever, or solar power, can be used to heat it. 23:46:36 I just have to make sure that the metal doesn't get hot enough to melt the balloon or air tube. :D 23:48:33 in URL you gave me, cylinders are parallel and crankshaft has 90deg shift 23:48:47 in some RU scheme, _cylinders_ are 90deg 23:49:00 http://autom.boom.ru/help/cxema.htm 23:49:09 There are tons of different ways of configuring the cylinders. 23:49:38 ;)) 23:49:47 The reality is, cylinders placed 90-degrees apart are for V-configuration engines. 23:50:18 If you have an inline cylinder configuration, you must place the phase shift on the crank-shaft, or through some other linkage mechanism, like an eccentric or camshaft. 23:50:52 The Alpha-configuration engine is typically a V-configuration. But as I've described above, I can go boxer too. :) 23:51:10 It just depends on how I want to connect the connecting rods. 23:51:21 * Serg_Penguin is skeptik about home stirling anyway 23:52:15 I don't see why you should be. It's a proven concept. 23:52:42 And even I came very close to making one run self-sustained. 23:53:19 so, it did try to run but had not enough force ? 23:53:24 Correct. 23:53:44 The displacer rod's hole was too big, and the balloon didn't seal right because of it. 23:54:06 But when I applied heat to the "engine," I found that it was MUCH easier to turn the crank in one direction versus the other. 23:54:17 Without the heat, the crank was equally happy to go in either direction. 23:54:55 ;)) what heat ? sun, water, burner ? 23:55:09 There are two big problems with Stirling engines, which is why it's rare to find one more than 500W in power: sealing, and heat exchanger design. 23:55:15 I had an alcohol burner. 23:55:44 does the engine have any one-way valve ? 23:56:01 Commercial companies have solved the sealing issue quite successfully for air, but not for helium, which is a working fluid that gives overwhelmingly superior performance (it basically quadruples engine output power). 23:56:07 No -- the engine has no valves at all. 23:56:20 The gas inside a Stirling engine is self-contained and hermetically sealed. 23:56:27 Or, at least, it should be. :) 23:57:51 why don't you make 'cylinders' very wide, w/ short crank arm and rubber "piston" w/ rod glued to outer surface, so no holes ? 23:58:03 Many companies have made horsepower-range engines, but they're very expensive because of the complex and bulky heat exchangers. 23:58:24 Well, that's my current idea. 23:58:33 Two cylinders made from soda can bottoms. 23:58:52 The concave side is the piston side, where the rubber balloon is glued to the can, to form a perfect seal. 23:58:58 A con-rod is attached to the balloon. 23:59:24 To permit air flow between the cylinders, a hole is drilled in the can-bottom, and a tube is placed between them on the CONVEX side, so that the pistons aren't punctured. 23:59:59 --- log: ended forth/03.07.07