IRC log started Thu Sep 30 00:00:01 1999 [msg(TUNES)] permlog 1999.0930 water: you're welcome to start conversation less dry and useless 12:10am back hello water .. what's new? smkl: new since when? hmm eihrul: still here? since month ago oh, well i've got linux on my new desktop machine, and my request for research assistance was not fruitful and of course, i've been trying to refine my formal theories for arrow 12:40am i will be going on vacation in a week and a half, so i will have time to completely relax and then focus on results (both code and theory) i intend to have a fully-functioning basic arrow system by the end of next month it will be a "demonstrator" by exhibiting the basic concepts outlined in the introduction enough info for you? :) yes ... lol ok water: yes or rather, i'm still here eihrul: any ideas for conversation? better yet, any interest in high-level programming? 12:50am so far as i will need a high-level language (compiler for such) once my kernel is finished like c? :) no... i do not like green c and ham... what language then? * smkl/#tunes is reading rudy rucker's "infinity and mind" ... it seems to have same kind of philosophical ideas as water water: that is the question, indeed... eihrul: what criterion for language selection/creation? smkl: haven't heard of it my expectations are very low at this point... eihrul: expectations? what do you expect? what do you really want? perhaps one with much better support for generic programming/meta-programming... eihrul: looked at maude? nope abi: maude? i don't know, water damn check the language review page abi: maude is a rewriting logic language at http://maude.csl.sri.com/ abi: maude is a reflective system based on rewrite logic at http:.//... ...but maude is a rewriting logic language at http://maude.csl.sri.com/... dern you beat me smalltalk would be an easy port, though, and it does handles reflection, though not incredibly well 01:00am and making a lisp interpreter would be really easy -:- SignOff eihrul: #TUNES (Ping timeout for eihrul[usr5-ppp80.lvdi.net]) -:- eihrul [eihrul@usr5-ppp159.lvdi.net] has joined #tunes 01:10am wb water: so smalltalk would be relatively simple to implement? (compared to other languages i could choose from) well, there are lots of implementations, and a few are open squeak? i guess squeak is a cool language descended from Smalltalk, at http://squeak.cs.uiuc.edu/ or at http://www.squeak.org/ or The open source mouse that roars! yeah any others? gnu smalltalk there's also pocket smalltalk could you give me urls for the two? which is a very simple implementation www.gnu.org :) pocket smalltalk is there as well? as for the other... www.pocketsmalltalk.com they all have c-code sources that could be a problem why? need to set up a cross compiler, but i suppose i'd need to no matter what yeah, that'd be true for any language though would even need to get C runtimes for my kernel as well if the implementation uses any of libc 01:20am vm-1.5.zip - 35 kilobytes pocket indeed yep it sacrifices a lot for size, though 01:30am hrmm... not good, wrists starting to get sore stinging even oww what is the ide like for ps? (typing 1-hnded) it's a special version of gcc rhide i think, but i haven't tried programmings for ps 01:40am hmm, i could map the smalltalk vm into clients with shared memory... would work out nicely that's certainly different to say the least would only require one copy of the VM in memory :) except for the data portions perhaps -:- NetSplit: irc.linux.com split from forward.openprojects.net [01:46am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [irc.linux.com] -:- Netjoined: irc.linux.com forward.openprojects.net -:- abi [nef@bespin.dhs.org] has joined #Tunes -:- td [x@1Cust90.tnt3.wilmington.nc.da.uu.net] has joined #Tunes 01:50am -:- SignOff td: #TUNES (td has no reason) good night. i'll be back in a few hours -:- water [water@tnt-10-68.tscnet.net] has left #tunes [] -:- SignOff eihrul: #TUNES ([x]chat) 02:20am -:- SignOff smkl: #TUNES (Hey! Where'd my controlling terminal go?) -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -NickServ(s@NickServ)- Unknown command fuck. "/msg NickServ HELP" for help. 03:20am -:- water [water@tnt-9-225.tscnet.net] has joined #tunes -:- hcf [nef@me-portland-us724.javanet.com] has joined #tunes apparently there's a big inet bottleneck lately 05:40am -:- fab [fab@ppp-163-227.villette.club-internet.fr] has joined #TUNES lo :) 06:30am -:- Cam [user5609@estudo-mat-1.misc.fct.unl.pt] has joined #Tunes -:- SignOff fab: #TUNES (Ping timeout for fab[ppp-163-227.villette.club-internet.fr]) -:- SignOff Cam: #TUNES (Leaving) anyone here? 06:40am well, if anyone wants to see the revolutionary idea (or not) of the decade, check out the Amin Thermodynamic Cycle specs, and check the theory they have published for scientific inconsistencies, please i am where? i looked it over and haven't seen any discrepencies , although the idea is still no perpetual motion machine er... just a sec for the url http://www.wired.com/news/news/technology/story/21641.html pdf files have the thoeyr on the site gotta go later -:- water [water@tnt-9-225.tscnet.net] has left #tunes [] 07:00am -:- SignOff hcf: #TUNES (Ping timeout for hcf[me-portland-us724.javanet.com]) -:- hcf [nef@me-portland-us245.javanet.com] has joined #tunes -:- Downix [down@d-gnaps-4.ici.net] has joined #tunes -:- SignOff Downix: #TUNES (BitchX: to the rescue!) -:- _ruiner_ [nate@ppp173.wi.centurytel.net] has joined #tunes -:- SignOff hcf: #TUNES (Leaving) -:- SignOff _ruiner_: #TUNES (Leaving) !NickServ:*! lilo used GETPASS on klatu -:- Kaufmann [Kaufmann@dial604.infolink.com.br] has joined #tunes Anyone listening? * smkl/#tunes is Wanna talk? I've got a new Ultra-Kewl Idea (c) about what? 12:20pm you can tell me... An OS The Ultra-Kewl (tm) part is: the UI runs in a ridiculously small Java applet in the user's browser; the rest of the OS runs in a remote server * Kaufmann/#tunes pokes smkl 12:30pm ohh * smkl/#tunes has beep off *sigh* that might make too much load for the server we make a bigger server, with a broader connection. 12:40pm -:- SignOff smkl: #TUNES (Hey! Where'd my controlling terminal go?) -:- SignOff Kaufmann: #TUNES (Ping timeout for Kaufmann[dial604.infolink.com.br]) -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- hcf [nef@me-portland-us202.javanet.com] has joined #tunes -:- NetSplit: varley.openprojects.net split from irc.linux.com [02:02pm] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [varley.openprojects.net] -:- Netjoined: varley.openprojects.net irc.linux.com -:- abi [nef@bespin.dhs.org] has joined #Tunes -:- hcf [nef@me-portland-us202.javanet.com] has joined #Tunes -:- NegativeN [s720@snutebille.ii.uib.no] has joined #tunes hi Q? -:- eihrul [eihrul@usr5-ppp79.lvdi.net] has joined #tunes -:- SignOff NegativeN: #TUNES (Ping timeout for NegativeN[snutebille.ii.uib.no]) -:- liar [brand@p0wer.qzx.com] has joined #tunes 02:50pm liar: is bfe still working? -:- NegativeN [s720@snutebille.ii.uib.no] has joined #tunes -:- SignOff NegativeN: #TUNES (Leaving) 03:00pm -:- Beholder [beholder@ppp-136.m2-3.sub.ican.net] has joined #tunes eihrul: uhh ya eihrul: why wouldnt it? bugs... what bugs? bugs that might pop up after you fixed it i was using it on brix last night and didnt find any bugs i did find some things i need to add to make it easier, like a goto search thing on the structures. scrolling thru a 5000 item list to find something sucks and maybe i should add user settable start/end points so u dont have to wait while it reads in 5000 items from the list 03:20pm -:- lar1 [LarMan@63.27.230.66] has joined #tunes Hey 03:40pm hey i got a working copy of bfe on the page u need bochs 981102 to use it since 990925 has a bug 03:50pm ok The 486 emulation doesn't work for bochs? The debugger is messed up in versions greater then 981102 04:00pm -:- SignOff hcf: #TUNES (Ping timeout for hcf[me-portland-us202.javanet.com]) Ahh 486 emu works fine, now that i told kevin to enable the AC bit in eflags so the OS can detect it as a 486 the debugger works fine in the newest versions of bochs it just has a bug that makes it not work with bfe Hmm its a kewl program Whats the bug? after about 899-1000 commands bochs will stop sending output back thru the pipe Thats a very interesting bug -:- hcf [nef@me-portland-us202.javanet.com] has joined #tunes hmmm i wonder if its because he is sending some other crap thru the other pipe and im not reading from it 04:10pm lar1: why didnt u take the program? liar: What is buttons.exe? Beholder: run it liar: take what program? lar1: the one im trying to dcc send Children's books that didn't make it. Whats the extention? Stupid mIRC likes to block things... I hate windows... lemme shut that off 3. Dad's New Wife, Robert .exe ok, I'll take it now What is this program? 8. Curious George and the High-Voltage Fence 11. Some Kittens Can Fly. Heh 15. Garfield Gets Feline Leukemia 21. Pop! Goes the Hamster ... and Other Great Microwave Games 25. Eggs, Toilet Paper, and Your School 26. Why Can't Mr. Fork and Ms. Electrical Outlet be Friends? * Beholder/#tunes thinks that sounds like the "children's books that should have been written" list :) heh 38. What is that Dog Doing to that Other Dog? 04:20pm liar: That buttons.exe is stupid lar1: did u press yes? Yup did u close em all? No I killed the process damn I killed the process too ;) i got a couple ppl to click on all of them :) You think I am _that_ stupid? u want me to answer that? :) Heh just add that to the desktop of everyone u know How many does it make? and all the comps are work/school enuf to cover yer desktop Heh... make a version for macOS and the school will have it :) wow Glad I killed it liar: What do you sugest for a 4w audio amp? Is there some simple way to do it with descrete components, or should I go op-amp? uhh * lar1/#tunes hides op amp sucks shit How do they suck? The lm383 doesn't look _too_ bad and so does 4 watts -:- SignOff hcf: #TUNES (Leaving) Beholder: whats yer email? beholder@unios.dhs.org I ain't driving a large thing here... its to drive some speakers for bass liar: Gonna send me brix? ;) Wich are toooo bassy at 50w Beholder: something even better liar: Better than brix? Wow, must be sending me Tunes ;) hehe Heh Nah, hes really sending you raven Hahaha :) lar1: i sent it to u too liar: got it, tnx, reading Uhhh.... that pretty weird 04:30pm u have no sense of humor I don't check my mail till tonight :) why? I didn't say it wasn't funny... I just said it was weird :) liar: Cuz I get tons of crap, and I feel obligated to answer some of it, then I loose moments of my life ;) u only have to read the one from me later u can read the rest * Beholder/#tunes is buggin my friend... tellin him that bad spelling in ICQ messages will crash windows 98... hehe Well, I must go now, I'm helping my friend install FreeBSD on his machine. later Beholder later :) -:- Beholder [beholder@ppp-136.m2-3.sub.ican.net] has left #tunes [] -:- ElGato` [no@209-68-229-135.dialup.cust.tfb.com] has joined #tunes 04:40pm Hey gato hi what's up? not alot are we still waiting to see real HLL code ? :( Yup yup oh my that's the only thing hindering us 04:50pm -:- water [water@tnt-9-143.tscnet.net] has joined #tunes hey all Hey arg! i missed Beh again hll? its amazing how different the traffic volume is between the squeak and tunes mlists -:- SignOff lar1: #TUNES (Read error to lar1[63.27.230.66]: No route to host) 05:10pm -:- lar1 [ArkMan@63.28.84.145] has joined #tunes wb :) Earthlink is bad news over here water!!! !!! !!! what? daddy :D uhh hi what's up, guy? where you in san diego lately? i left there two weeks ago or so ah i was gonna write you a physical letter why? beats me bored i guess i guess so i suck at c :( i get so many errors when i try to compile so i haven't gotten very far on my compiler heh don't look to me to help with that 05:20pm * lar1/#tunes thinks asm compiler in asm... good idea? water: i know methinks i will drag core into my problems :D i'd like to speak to him as well or anyone to whom tunes is important ... regarding the arrow paper i have a question yes? about homoiconic thingy ma bobers :D That arrow paper when at least 20 trillion miles over my head aren't most programming languages homoiconic? homoiconic -> like smalltalk or lisp a small set of primatives? "typeless" by trivially basing everything on one type yes, that too but c++ has a set of static primatives is it not homoiconic? eek. no what type in c++ is the basic type? uh nothing int i guess :D exactly I'd say char, its the smallest Or Bool and it's complicated to explain the rest of the language in terms of chars or ints or bools or whatever what about an untyped or dynamically typed language? whereas in smalltalk (or self) everything is explained as an object actually, the squeak project is starting to remodel its primitives as objects which i think is really interesting for reflection how does a language being homoiconic make it more reflective or easier to reflect well, untyped languages usually have a single implicit type, like a CONS cell or an object because if you can characterize that single type, then you can characterize all types built out of that type in small talk, how are specific members of an object accessed? well, smalltalk has variable access primitives, but usually they are only used by 'accessor messages' in self, no variable access primitives exist, which is cleaner so how are they accessed? 05:30pm well, the variable access is basically implicit accessor messages are added implicitly whenever you refine an object with an 'add-data-slot' primitive now, smalltalk and self and lisp aren't perfect, which is what arrow is for (no, it's not perfect either, but better) hmmm since i have no experience with self or smalltalk, you need to be more specific i reduce the type idea to an epistemic construct ok. examples: say i have a stack object StackObject actually, not a good example, because variable access for stacks is implicit say i have an object for a cons cell, called MyConsCell it would have two variables, head and tail but the accessor messages would be called 'car' and 'cdr', respectively so typing 'MyConsCell car' returns the 'head' of the object but the smalltalk code for 'car' would be 'return head' ok i see thanks usually, it's very bad practice to use direct assignments in any code other than accessors, because the message-send is usually compiled away easily and you can make the accessors perform type-checks 05:40pm ... cooly well, smalltalk ain't that fast unless completely compiled, but squeak may change that hmmm -:- SignOff lar1: #TUNES (Ping timeout for lar1[63.28.84.145]) when you off to sea again water? not for another 14 months ahhh..... :) -:- Kaufmann [Kaufmann@dial879.infolink.com.br] has joined #tunes :D cooly you'll be out of the navy in what two years? but when i do, it'll first be to san dog 2.4 hi kauf * ElGato`/#tunes ^5's water So I applied to the LokiHack thing (as seen on Slashdot), and I got picked oh the nt vs linux test? 05:50pm Nein what is it then? WATER someone I know is thinking about joining the navy. Yes I tried to discourage him. He doesnt seem too convinced. tril! tril! TRIL! :) good for you keep it up i bet ir's tril :D it's rather the cliche "someone i know" j/k :D you would lose that bet tril: i'm moving to downtown seattle tomorrow ok tril: do you actually live in christmas island? I think my dad is living in Seattle now. But he doesnt talk to us oh yes, and i received an answer from the professors whom i wrote As I understand it, Loki Software (port lots of games to Linux) decided that they'd assemble a group of outside programmers, put them together and give them the source code to Civilization: Call to Power (Linux port). As a reward, each of them would be given a brand spankin' new box. Elgato , uhh. no. haven't you heard of vanity domains sorry i haven;t err, I mean, havet you heard of countries selling off their TLD's because they don't need them? a vanity domain is like yourname.com which is not the right term. so .cx is like free .NU, .CX and many other countries which dont have a need for a while top level domain (TLD) have sold theirs to companies who register domains in them for money It's pretty cheap, go to www.cx tril: they are concerned that we have no concrete points of research interest intersection, and admit that they don't know of any academic circles with the interest actually i didnt pay for it, someone just emailed me and offered to let me use their bespin.cx which they paid for themself. Obviously, then, it's a ploy to get good code at relatively cheap prices. But to me, it sounded good, so I decided to give it a shot, and submitted my resume. Turns out they forgot to mention that the thing would be physical, based off their Atlanta, GA headquarters, and they do not pay airfares... kauf: cool later guys im off kauf: oh, bummer gotta do geometry homework :\ Tell me about it tril: squeak's getting reflective -:- SignOff ElGato`: #TUNES (Leaving) i'm not sure what you mean by "Research interest intersection"? squeak- good The bad part is, now they're likely going to get stuck with a bunch of inexperienced C++ programmers fresh out of college, who don't have one clue about what constitutes good software design. tril: although their research applies to my ideas (as a formalism to start from), they don't admit to having any results which could help that modification to the theory brb tril: yes, they're converting bytecode primitives into objects, and eventually will be able to invoke full compilation to add primitives dynamically 06:00pm sounds good. are you goign to be around more often? hell yes i'm going on vacation though next friday then i'll talk to you sometime..i'm leaivng for a bit right now * Tril/#tunes is still away!!!!! one week of complete relaxation and analog enjoyment, and one week of code/theory oh ok hmm:) water, what do you do in the Armed Forces? i run nuclear reactors within an aircraft carrier along with lots of technical maintenance right now, the ship is in the shipyards for a periodic overhaul 06:10pm What is your political outlook? er... the constructivist paradigm :) which effectively translates to existential pacifist anarchy of a sort I'm just asking because I'm a radical anarchist, and I just can't conceive of being in the military i came here to see pure evil, and boy did i find it i'm far from being the average soldier / sailor Figures in fact, it was a reason that i joined that they would never be able to determine just what i'm capable of Ever read _Cryptonomicon_? so that they don't try to control me the way they did in college yeah, i read it while on this last underway... borrrowed it from a friend Identify with Waterhouse? :) not randy :) yes, in a way but then i've never met anyone that i'd compare to alan turing, at least not in person i.e. "my train has not come in" 06:20pm The part where he gets classified by the Military as an idiot because of the test... I thought that was especially funny since something similar actually happened to me IRL oh.. well, i scored the highest possible scores within 2%, and they had told me how hard it would be beforehand. i almost had the nerve to backhand the guy when he suggested that i'm surprised that they didn't pick me as a crypto, since i scored best there, but they have trouble hiring and retaining nuclear tech's Figures... considering things like the Japan incident hehe their safety inspections must be really lax to allow as much uranium to be processed together as they did the nuclear navy is so strict that the dept of energy barely ever has to make inspections Anyway, a while ago I took an admission test for a new school... I completed the maths section (10 qs) in just under half an hour, got every question right, and scored zero in it. Turns out they couldn't figure out my calculations, so they figured I had cheated. I had to seat down with them and explain the demonstration for each of the questions step-by-step before they corrected my score... lol i learned a skill that is called number sense here, so that when i'm in practice, i don't ever have to "show calculations" beyond the results of simple algerbaic ops but i've gotten quite rusty in the last two years :( do you spend more time in land or in sea? I mean, if an accident happened, and I were stuck in the middle of an ocean in a nuclear vessel about to blow up, I'd be very disturbed 06:30pm but then, those kinds of jobs are for cheap, durable pda's (solar-powered eventually) they won't blow up and i'm serious about that... we'd have to be dead before they'd blow up Well, I'm willing to believe that your safety is better than the Japs'... but accidents do happen. Everywhere. Even if it doesn't blow up, something equally bad can happen. the worst would be a release of radioactive particulate the nuclear navy's accidents are ridiculously small everything we do wrong is on the public record. we can't hide any negative details Oh well. yeah, too bad we won't ever crack open a reactor and start spewing hot magma, eh? :) LOL A pity but here's the kicker: the nuclear navy is the biggest generator of negative karma i've ever witnessed first-hand At least then we'd have someone to blame... "- See, something crappy happened again! - It's the Navy's fault! You know, they're all incompetent mumbling fools!" hehe negative karma? the only people whose lives aren't ruined by the nuclear navy are the ones who never re-enlist or end their officer's commission as soon as possible yeah, broken families, suicidal retirees, ... alchoholism, a complete lack of cultural sophistication And that's where you plan to be for the next x years. almost all of the people who retire from the nuclear navy die within 3 years x=2.4 (the minimum amount for me without performing a criminal act) yes, i study evil first-hand oh yeah, navy ships often run into and maim whales and dump much waste into the oceans 06:40pm Well, as much as that sounds like an inordinately great amount of fun, I really must be off. See you all later... ok see ya -:- SignOff Kaufmann: #TUNES (God is porno.) -:- ElGato` [no@209-68-229-134.dialup.cust.tfb.com] has joined #tunes :D wb thanks 06:50pm -:- ElGato` is now known as fire :D fire: so, what are your current language ideas? ... well im thinking homoiconic i still like forth like stack ok uh everything is an object data and code are unified and i think i can do it cleanly very abstractly? er...yes i suppose what exactly do you mean though? no machine-dependent or implementation dependent behavior no very abstractly ah... i like that well i myself believe that hardware should adapt to a good software system er... dunno about that so in a perfect world there would be no need 07:00pm but in a not so perfect world i cannot go with the latter :\ hehe the only problem is...i hear that the forth like stack has many flaws :\ atleast that's what zhivago says what kinds of flaws? well i haven't heard specifics...just that a design idea and implementation should not be unified poor choice of words on my part 07:10pm :P :D * fire/#tunes makes water into steam hmm good thing i don't live next to nuclear power plant anymore lol heh they make us study every nuclear accident type and incident in engrossing detail it's regular training wowsers tell me secrets that endanger national security :D i could give a lecture on chernobyl or three-mile island off the top of my head no, no secrets the only secrets are the actual materials that navy plants use and operating specs my home town is the world leader in nuclear waste hiding what chemical do you guys use instead of water for you're reactors? where do you live, smkl? we use water, actually. in the 50s, we had a few with sodium hrm i now live at turku, but i used to live at eurajoki ... there are two worlds most efficient nuclear reactors i heard of subs using weird ass liquids 07:30pm (least downtime) fire: that would be the liquid sodium smkl: ukraine then? finland silly ah :D my spanish teacher is finnish she's an airhead :D smkl: yeah, but the cold temperature gives your reactors an efficiency boost smkl: what kind of reactors? i live about 40-50 miles away from the san onofre reactor * water/#tunes decides to look up the reactors on the web water: you sould know...how close are we to fussion (stable) hmm ... they are boiling water IIRC fire: i mean what kind of fission reactors. there are many types smkl: do they change out control rods while at power, then? no no i mean how close are scientist to harnessing the power of fus\ion? fire: oh, a question water: probably not .. fusion rather they are swedish if that helps you to know what they are like fire: not very. tokamaks require a lot of materials improvements, and other designs which are cheaper are simply ignored maybe two decades blarg :( silly grant givers smkl: not really familiar with the practices of scandinavian nuclear engineering practice * water/#tunes has found the www nuke power plant index i saw something on tlc talking about bacteria that grow on the cooling rods of nuclear reactors wow they must be low-pressure vessels hmm... but then there are bacteria near ocean vents in trenches i think some bacteria just adapted the question is how adaptable bacteria got into the reactors and survived the pressurization oh wait umm. ok, i can accept it, but i probably shouldn't tell why ... :D 07:40pm http://www.posiva.fi/ has the stuff about nuclear waste whoa... that reactor at eurajoki has a lifetime power factor of about 85% our navy reactors are used like car engines... they run at about 16% weird... they have no info about our reactors 07:50pm -:- liar is now known as air hey liar hey -:- Zhivago [brian@th.merddin.com.au] has joined #tunes it's the good doctor zhivago :D -:- fire is now known as ElGato` -:- ElGato` is now known as fire no all we need is earth now rather i think i will use this nick from now on since i just registered it and all... perhaps i shall too uhh... * water/#tunes considers the implications of having an IRC association with HickServ and _QZ. :) :D sure, guys. go ahead captain planet he's a hero ... FIRE! EARTH! WATER! AIR! GOOOOOOO PLANET! thats quite enuf * water/#tunes retches into a plastic bag. lol :D and that sound bite will stay in your mind to the grave btw, bfe is functional if any1 cares at least it was better than "bikermice from mars" air: that's pretty cool smkl: i don't even want to know 08:00pm smkl: if a program was sending data to 2 pipes and im only reading from one is there anyway the second can clog up and make the program stop sending? smkl: btw, what's the truth of the suggestion i heard that the finnish are statistically depressed more often than other cultures? there is a hole in the ozone that lets harmful radiation into finland i heard that on 60 minutes hahaha water: might be true, very high suicide rate smkl: i live on the anti-pode, seattle, the city with the highest suicide rate in the US, and not coincidentally the highest per annum rainfall air: it might stall if the another pipe is never read or something was finalnd ever conquered by another country? maybe they are depressed cuz no one liked them enuf to conquer em :) finland was a long time part of sweden, so it was conquered/assimilated ... then russia conquered it from sweden water: my teacher told me that statistic soviet union tried to conquer it in WW2 smkl: the other pipe is never read wow, talking :) Zhivago: what do u think? air: where does it go, then? zhivago: got a tunes issue to discuss? hmm, what am I thinking about? finland? hmm, they were a feudal kingship system iirc and they used to conquer themselves a lot Zhivago: if program A is writing to 2 pipes and program B is only reading from one of them is it possible the other pipe can fill up and stop program A? the vikings were probably their main aggressor, but they were into loot, not land im gonna visit finland someday lol which is a pity, since they might have done a better job if they'd have conquered europe than the holy roman empire air: absolutely, given a posix system air: the write() will block when the pipe is full damn you can howver use select() or a non-blocking write() that is why bfe dont work on the new bochs what are you trying to achieve? bochs writes to 2 pipes and im only reading from one cuz the other pipe doesnt have info i want and after 899-1000 commands bochs just stops sending data back well, just empty that pipe periodically im gonna try that select() is your friend otherwise if you want to do it the hideously ugly way no way, sigio is ugh sigio is clumsy do u have select() code? an example anyhow set the fd to non-blocking, and just non-blocking read() it empty then hmm, let me see, I might have oh wait, i can redirect the other pipe to /dev/null cant i? depends on how you are invoking the program anyhow select() is simple, poll() is simpler too if (in != NULL) dup2(ifd [0], STDIN_FILENO); if (out != NULL) dup2(ofd [1], STDOUT_FILENO); if (err != NULL) dup2(efd [1], STDERR_FILENO); execv("/bin/sh", argv); -:- hcf [nef@me-portland-us944.javanet.com] has joined #tunes hcf! 08:10pm hi well, that's not going to get redirectable to /dev/null in a significant way. save me from these c-coders! if you wrote this in lisp it would be easier :) or smalltalk :) cant i change STDOUT_FILENO to /dev/null or something? air: no :) why cant i open a pipe to /dev/null and hook it somehow it would be even easier in ocaml because ocaml has now unlimited bragging rights smkl: why is that? where is eihrul, he could come up with some really sloppy code to get rid of that pipe really quickly :)( air: you need to pump it in any case air: so just pump it no-where and be done with it how? read() hcf: when tril returns (should be soon), tell him to wait for me, ok? ocaml program won icfp contest smkl: what was the win condition? k hcf: thx water: http://www.cs.virginia.edu/~jks6b/icfp/ it has not been announced yet, but i trust fare water: how long wil u be gone? hcf: long enough for my roommate to play EverQuest a little... an hour or two hcf! BUDDY * hcf/#tunes sighs lol later, folks -:- water [water@tnt-9-143.tscnet.net] has left #tunes [] bye :( 08:20pm * fire/#tunes is trying to convince someone to write a program that will do proofs >=) what kind of proofs? algebraic, geometric and whatnot there are general problem solvers which should work for that and constructive proofers hmm that other pipe is empty well he's taking his first programming class and seeing what turing said... 08:30pm -:- air is now known as _QZ -:- _QZ is now known as air stupid chanserv, it says it holds empty channels for 365 days before dropping registration #brix hasnt been empty that long and it was dropped what can i say openprojects is small it's easy for a cop to find an idle channel tham pigs 08:40pm hax0r them :D bye -:- SignOff fire: #TUNES (Leaving) 08:50pm -:- SignOff eihrul: #TUNES ([x]chat) -:- eihrul [eihrul@usr5-ppp79.lvdi.net] has joined #tunes -:- SignOff eihrul: #TUNES ([x]chat) -:- eihrul [eihrul@usr5-ppp79.lvdi.net] has joined #tunes 'lo lo 09:20pm Zhivago: u know much about context switch latencies? Zhivago: namely why does beos and windows take so freakin long? I'm not familiar with beos or windows' switches but are you talking about changing between applications, or just multi-tasking in general? the preemptive switch that saves the state of one process and loads that of another air: cuz they're proprietary consumer-orientated OS' dude :) whatever people will buy.... so your'e talking about multitaskig in genearl well, windows is hampered by sucking amazingly beos is hampered I suspect by its orientation towrad multimedia systems they're pushing it toward a real-time system as I see it real time shouldn't hamper it.... but beos is suppose to be pervasive multithreaded and i would think that really fast context switches would be a must unless they use really fine grained synchronization code context switches are hampered in a multiple address space system y vm overheads but how are you noticing this? linux switches every 10ms and a 250ms context switch would kill it it may not be what you think it is is it just me or is pervasive multithreading a buzz term Be invented? eihrul: yup :) hmm, well, not quite just you yup which? pervasive multithreading means to use threads for too many things imho it just seems pointless... Zhivago: ya thats what it means but be was the first to use the term it would be just as effective to say the system is multithreaded the pervasive is redundant ei: well, that's the capacity for it, as opposed to the pervasive use of it eihrul: no cuz too many systems say they are multithreaded and then they dont take advantage of threads eihrul: beos does at what level... for example, in my own process model, I use 'pervasive threading' atleast 6 per apps you you can't really take advantage of threading at the microkernel level but I only use a few threads, for example 5-6 for the entire system microkernels imho are a bad idea the threading comes solely from the fact that you're forced to use threads in user level processes.... indeed they are.... they are easier to make though :) i use the term pervasive multithreading for brix but hey brix uses a crap load more than beos could even dream of avoids putting effort into making the rest of the OS :) as you're not making a whole OS, just a small kernel upon which one can be built using a lot of threads is a bad idea I use a handful between hundreds of applications 09:30pm indeed... or atleast kernel level threads is a very bad idea i use a crap load between no apps Zhivago: yer still using the term "apps" cooperative threading would be more favorable for a big single server Zhivago: u want to make some kinda unified os but u still have apps or atleast for some parts of it air: apps aren't processes air: they're functional/conceptional groupings that's cheating with terminology :) with brix/tunes everything is integrated into the whole and u have no apps hmm, the terminology doesn't apply well to my system how so? air: well, I have everything integrated into the whole, but I'm still going to have apps such as a word processor :) there are adequate buzz words for everything in computer science Zhivago: thats bad air: ok, but say something more useful and if there aren't, you can atleast have the decency to avoid buzz word collisions and pick unused ones Zhivago: kill apps we dont need em the words mean approximate the same things threads are threads, apps are apps apps exist at a user-level apps != processes threads are not threads, apps are not apps ya apps can be fatter than a single process wihrul: you might want to rephrase that to contain some information Zhivago: why must i be forced to choose a word processor? Zhivago: there are multiple definitions for many phrases and you indeed are contributing to the problem :) air: the words 'force' and 'choose' don' make much sense together Zhivago: what if word processor A has features that word processor B dont and so on... air: this is why having apps is a good idae :) no -:- SignOff hcf: #TUNES (Leaving) air: it lets you choose, but more than anything it is a way to interact with something eihrul: no :) when u break the app down into components and integrate those into the OS then the user only needs to choose wht components to use Zhivago: no is not no :) -:- td [x@1Cust189.tnt3.wilmington.nc.da.uu.net] has joined #tunes eihrul: threads are threads of execution in the general sense of the word, they provide multiple execution contexts within an address space eihrul: do you have a problem with that definition? yes... eihrul: spell it out then there is that definition and then you have more recent concepts that a thread is merely a right to execution and not a context of execution :) eihrul: that's by no means a concentional definition eihrul: do u use that concept in yer OS? eihrul: I think your'e going stupid now :) air: yeah, thread migration haha eihrul: you should invent a word like 'qrfss' to denote that sense i completely got rid of threads in the first sense and replaced them with threads in the latter sense first sense being zhivago's definition eihrul: uhh whatever air: hahaha i use thread migration according to u and i dont use yer second sense 09:40pm a right to execution isn't particularly interesting since it doesn't hold state there are varying degrees of thread migration as well :) which is the important sense of a thread ie, the ability to continue Zhivago: a right to execution can hold multiple contexts of execution and if im correct yer form of thread migration also doesnt use yer second sense ei: then you'd better define what a 'right to execution' means since it doesnt' seem to have much in common with a thread yes it does... i see a thread as a thread of execution... the state of execution isn't necessarilt tied with the thread ei: no you don't :) you see it as a right of execution thread == right in the way i'm using it... i will use them synonymously henceforth :) eihrul: where do u hold the state? you can't do that if you're defining the difference in continuations/activations eihrul: after thread A migrates to thread B and a thread can have many of them thread A doesn't migrate to another thread it migrates from one activation to another so, why bother with the concept of 'rights of execution'? eihrul: and after thread B migrates to thread C and so on... Zhivago: because of how it's implemented... Zhivago: i don't have to block/unblock threads in the scheduler just change the thread's context of execution to do IPC and such eihrul: i want to know how yer storing this stuff eihrul: dont give me buzz words without changing it's actual right to execution (priority and such) hey, i didn't make these buzz-words i skimmed them from essays core pointed me to :) and the buzz words have simplified my IPC implementation immensely :) i want to know what yer structures will look like ei: sounds like you're taking a thread, and just continuing different continuations implementation details Zhivago: a thread has a stack of continuations ei: so, your threads actually are threads-of-execution to do ipc, you push a new continuation onto it's stack and when that stack overflows? ei: and this 'rights' stuff is just your scheduler's info about it to return from IPC, you just pop it off air: there is no one stack air: i have a linked list of activations in that thread ei: why would you want to push a continuation in order to do IPC? it's like a call you can enter an activation and return from it ok, so you're effectively blocking the thread in the kernel, assuming that this has a kernel effectively and then re-using this thread somewhere else while its effectively blocked but not semantically it's not blocking at all but it proivides much the same effect yes I understand that I have a simpler method :) also because the previous activation is always below the current in the stack you can query the state of the previous activation i.e. the message it sent to the current one I use a thread while it has something to do, then I throw it away and I optmise this by re-using dead threads well mine is faster :) hmm, I doubt it :) because it doesn't have to harvest threads no it isnt u have to harvest activation activations no you don't.... activations are allocated and managed by the 'receiver' and mine is faster since I don't have processes so there's no IPC they are not allocated by the kernel implicitlt thus it takes 0 time and I leave out the kernel as well, so I save time there too umm, i have threads running in the same address space as well no big deal -:- SignOff Zhivago: #TUNES (Leaving) air: so i don't harvest activations :) heh u scared him off i just keep a list of user supplied activations sure :) i do... call it what u want to reduce the cost of doing that i keep a circular list -:- Zhivago [brian@th.merddin.com.au] has joined #tunes oops and just make the iterator point to the next activation that way i don't even have to unlike it from the list :) the big deal is that having just one address space and no kernel means that there's no IPC to overhead 09:50pm again, that's very novel but it takes a lot more work :) and it makes your context switches extremely cheap you have to provide a lot of support at the language level Zhivago: ya u gotta stop pushing the quit button when u mean to push the "slaps $nick with a trout" button air: button? and i don't have enough time to build a super-compiler-thingy :) ei: in any case my system avoids continuations where possible what are you using as your language? i have no ipc in brix -:- _ruiner_ [nate@ppp175.wi.centurytel.net] has joined #tunes i use a very powerful scriping language i said, zhivago and i said I i've heard your schpiels before air :) :) hmm, oh, a scheme dialect which is currently relatively useless since I don't have 1st class functions have to fix that after I get the inline assembly working lisp-style ah, mine is very simple... i'm just going to have an assembler, probably nothing more since i'm not trying to make my system for general use fair enough for the most case, I don't intend to hold significant state in threads so it should not be necessary to hold continuations much s/hold/hold much the idea at the application level is to make them event driven a timer interrupt is an event.... so applications normally hold no threads, when they receive an event/task to do they acquire a thread from the graveyard and process it unless they already have one in which case they can either get another one and handle it in parallel, or just queue it a and return the event-giver which means that apps tend to grab a thread for a very short period, so something, and then get rid of it again unless they need to do something incrementally constructive in which case continuations are the go <_ruiner_> nasm? nasm is at http://www.cryogen.com/nasm or at http://www.erols.com/johnfine/ <_ruiner_> quakec? i don't maintain too much state in my activations anyway though and since getting a thread is an atomic pop, and register assign and stack pointer reset, its extremely cheap just the general purpose registers and segment registers eihrul: you also need to retain the stack eirhul: otherwise you can't continue that is the stack.... ok, so you don't have a stack just the registers which is ok I guess if you have trivial programs which don't spill user level stacks are handled at the user level 10:00pm so this doesn't apply to in-process threads then eh? all it needs to maintain is the ESP register if the thread wants to do sophisticated stack management with it, that's its job right, so you're maintaining the stack in the process which is effectively saving the stack, its just already saved for you just the stack pointer which is a general purpose register i just do a pushad :) yes, that's all I need to do for a context switch, and a restore yah, that's all i do well, aside from the segment registers :) you'll need to do more if you have more than one address space you'll need to instruct the VM er MMU okay, so maybe CR3 :) but otherwise, nothing else don't have to do CR3 if threads are in same address space yes or activations i should say although you'll need to pop up to a higher ring and do the switch from kenrel-space yes eihrul: ipc = inter process communication eihrul: that means they ARENT in the same address space yeah and indeed i do IPC which can double as ITC as well :) Zhivago: i think multiple address spaces have some benefits though.... but perhaps not enough to outweight the performance advantages of removing them... hrmmm eihrul: what benefits apart from conservative security? helps page frame fragmentation :) hmm if some apps all want large collections of pages they don't need to be linear in memory just mapped linear in memory :) and then even if you only have one address space virtual memory still let's you do disk swapping 10:10pm yes I intend to make full use of that for a persistent virtual memory layer with journalling :) and that would aid somewhat with fragmentation as well if you carved up the address space 10:20pm hmm, I'm not sure why that's an issue why do I care how the pages are physically layed out? I care about how they're layed in store for latency issues and I care about page boundary crossings somewhat but apart from that, I'm not aware of any issues...? if some app wants a so-and-so-length run of pages it might not be able to get it oh, well, that's not the application's problem that's the allocator, and gc's problem and since I'll be looking at a defragmenting gc, and that should be easy to fix so basically at this point allocation involves just grabbing memory from the top of the image later I'll need a more interesting allocator, since that makes defragmentation a bit expensive but I can move my objects around safely so fragmentation is easy to deal with I just pick the objects up, and change their addresses :) which is moderately expensive, so you save this kind of stuffing around for dead-time -:- SignOff _ruiner_: #TUNES (Leaving) 10:30pm a generational system reduces the expensive since you tend to have relatively few inter-generational references hrmm, you releasing the source to this when it's all done? especially in the emphemera which you don't bother defragmenting since you can promote them in a defragmenting fashion well, ths system needs its source to run so presumably how are you bootstrapping? s/run/be useful hmm, I stripped down the retro booter, and I prepend it to my image the retro booter's job is now to load the non-paging area er... n'm and get into pmode your statement above sounded like the OS was written in your language after that we're running happily the OS is written in this langauge well then how does it "compile" it's source with the compiler also written in this langauge what is the initial interpreter/compiler/whatever in hmm, the compiler is written in itself onec its self-hosting currently its written in portable scheme so once it compiles portable scheme, it will compile itself, and we're smiling ah fair enough of course we'll have to make it non-portable to work the way we want but that's the way it goes getting it to produce code-objects/modules 'we'? yeah, there's a couple of us demoncrat, alycat, voidptr a couple of interested people, just need to get over this next critical step but demoncrat is doing some commercial work at the moment, and I've just moved house, and aly is busy :) so this last week or so has been zero production I'm working on getting access to the op-code layer as though they were lisp functions at the moment which will get rid of the current primitive code and make writing drivers much more efficient. hrmm... falling asleep, must go... but interesting idea i suppose need to be able to get the address of a function, and use the asm layer to determine the calling convention of a function then I can do signals and isr's heh, later -:- eihrul [eihrul@usr5-ppp79.lvdi.net] has left #tunes [] 10:40pm YES brix is working 11:30pm i spent 2-3 stinking weeks working on BFE so it could find a single faulty line in my code and it found it fast 11:40pm [msg(TUNES)] newlog 1999.1001 IRC log ended Fri Oct 1 00:00:00 1999