IRC log started Thu May 13 00:00:00 1999 unless for example i ported the application shell to windows.... true [msg(TUNES)] permlog 1999.0513 not the whole shell/gui... just the section that interfaces with plugins... but that would slow things down quite a bit even so.... yeah... but it would provide the same apps in windows... and kinda make windows look shitty.... how would it make windows look shittier? since an app that would run fine under my os would drag ass in windows... the only way I think you could get it to run faster in your os is if you had superior memory management..... yeah... i'm working on the memory manager.... still need to write an IDE driver though.. how are you booting your os up? off a second HD.. scsi? scsi is really one completely different driver per chipset. my bios allows me to switch a setting to tell it which drive to boot off... no.. eide ah scsi is too much $$$ i have my dos/win98 HD is the primary slave, and my os is on the primary master... I think any gains you'd get through mem management you'd lose back right away so i just set it to boot off the C: if i want to test my os, and set it to D: when my os crashes and i need to reprogram something... how do you figure? you're going to be emulating windows.... no i'm not only thing i said about emulating is maybe writing a windows app that would allow my plugins to run in windows.... ahhhhhhhhh well then hell yeah, they'll drag ass in windows yeah... i was woundering where we stopped making sense to eachother... now does what i was saying make sense? :) 12:10am only thing that's going to be anything like ms windows is it will have windows... and toolbars... and menus... :) ohh... and icons.... yeah but then again so does macos mine will have windows.....sort of.... it'll have expanding/contracting menu bars yeah... i like that idea.... you know how ie5 has the search panel come in to the left hand side of the window? no hmmmm..... I avoid ie like the plague haahhahaha well in windows explorer... you know how it has the left panel w/ the dir tree? internet exploiter yeah ok... i'm going to use things like that instead of dialog boxes... just create another panel on the side... kinda like a dialog except docked to the window... ah I'm going to have a command line in my gui yep... same here.... it'll be semi-transparent, right over the wallpaper actually you can have one in win98 I really wonder about the people at ms...... it's shitty though.... any gui from them is just a fucking memory hog no.... any program from them is a fuckin memhog damn keyboard... spacebar doesn't work all the time love it even more when it doesn't work and i'm coding... lol oh ... the win95 keys are just extended keys... kinda like the arrow keys and shit... how are you programming your os? I mean....how are you getting it onto your other drive? ok.. it's on the win98 computer, so the bootsector makefile runs LOCK, then does an INT 13h... for the other code, i made the bootsector load from the root dir of a FAT drive, so i just COPY.. :) not going to keep fat, but it makes things very easy for right now... i have the makefile for the kernel compiling to D:\PMCOM.COM right, I understand how the bios points to that address on the drive and that your bootsector has to be smaller than........512? 12:20am no.. bootsector has to be 512 bytes exactly.... bios loads it into 0:7c00h, then does a jmp far 0:7c00h... only if the last two bytes of the sector are 0AA55h otherwise it says that the drive isn't bootable... hmmmmmm....... to make the drive compatable with MS and FAT, you need a bunch of shit in it too... such as? well ms defines from the 4th as FAT data... hold on a sec.. basicly your bootcode starts at 7C1Eh it has stuff such as OEMString bytes per sector sectors per cluster reserved sectors number of fat's # of root entries # of sectors media desc. sectors per fat sectors per track # of heads # of hidden sectors 9 bytes of nothing volume serial # and all that is only needed by ms fat tables? volume name at creation... fat desc... umm... some of it's good to have in there.... other stuff is useless as a mofo heh heh and 64bytes at the end are used for partition tables well....I guess what I want to know is whats used by the os exclusively basicly you have around 390 bytes to work with.... plenty of space to find a file on disk, load it to memory, and do a jump to it.. i have about 80 bytes free in my bootsector... even with the "Nonsystem disk.",13,10 string in it.... and my bootcode swaps to protected mode... 12:30am you know how to switch to pmode? nope I'm pretty new actually still learning asm or trying to anyhow hehehe if you want i can send you some source.. but I don't claim to be awesome or have any great knowledge just yet that'd be great! i'll send you the one that stay's in realmode... cause pmode is a whole other story... ie wicked bitch lol tell me if the dcc send works should what is your os gonna be called? btw this is written for tasm ah umm... not really sure .. :) I'll be using nasm free.....yay! will use nasm for the rest.. bootsector was written with tasm... hmmm... doesn't seem to be working... try sending another http://pages.cthome.net/consultant/boot.asm sorry... or mail it ruiner@centuryinter.net but my dcc doesn't work from this computer... I got my nick on time... are you getting it off the web addr? no how long have you been working on your os? couple months... with reading up.... ah 12:40am just now saw you had the addy up there oh... ehehehe.. i just sent it to your email too.... plz don't reply to the email i sent to you, that's not my address... heh heh are you planning to release this as open source and/or commercially? umm... both terms are kind of extremes.... not open source... more like cheapware... you know like $30/ea copy not $99.95 or some shit like windows... I'd sell mine for a hundred bucks....but sell apps cheap or go with my original plan....give the os out for free, sell the apps actually i might just put the normal price at $50 so i can do competitive upgrades... $30 to replace windows... good idea not what I had in mind, but decent nonetheless but at this point i don't see it ever being possible to "upgrade" from windows..... it's so fucked up and so different from what i want, i don't know if i could do it... don't put your os out until you're ready for MS to try to steal your ideas they're already stealing some of what linux has been doing for a few years 12:50am don't put it out under some copyrights are well in place... actually i'm not too worried cause they can't change windows into what i'm making... gradiated titlebar, animated backgrounds, the way the pop up menus behave.... they can steal ideas though and I'm not even telling what I'm calling mine until I've got some copyrights in place mostly i'm looking to make a more refined, more organized, less bloated windows.... not too many idea's too steal.... nothing they have the ability to copy... ;) hmmmmmmm I know they'll start stealing my ideas right away hahhaahah I suppose I could make it harder to use.....that might scare them off well.....I guess windows is hard to use too....its pretty fucking stupid.... dos was way easier but they tell you windows is easy is your drive fat12? for right now... doesn't matter though... it doesn't even look at the fat tables.. oh... i guess i should tell you... this will choke if the file is fragmented.. and it won't give an error... it'll just crash... cripes so in other words if the file takes 2 clusters, cluster 2 MUST be immediately after cluster 1... which isn't that big of a deal since this will be going on an empty drive.... btw ms-dos is the same way.... if there was a way to fragment io.sys, ms-dos would crash.. only difference is that i just haven't gotten a chance to make mine do the checks... they just didn't bother.... and i think i can fit that into the bootsector... maybe.. ;) it is getting tight though... heh heh heh 01:00am so what does your os do so far? just boot and say "I booted" then hang? no... boots loads PMCOM.COM i use a different bootsector then i sent you btw.. that was before i got protected mode working.. I thought you said you don't have any mem management yet the bootsector i have actually has enough to get it into protected mode... i don't... so basically......you can't do much of anything..... i'm working on it though...pmode != mem management not really.. .right now it's just a demo... runs 4 tasks.... which just throw shit on the screen in specified places... and the keyboard input gets put on the screen starting col,row=0,0 heh heh heh I've actually got a few books on asm i've got a book on turbo asm, and i've got 3 books from intel... i'm far beyond the "I booted" stage though :P a tutor.....a guide to the x86 family of processors...which doubles as an asm tutor, and one on graphics in asm cool.... i wish that SVGA wasn't such a lil bitch.... heh heh heh oh .. that is one thing i'm going to do to spit on MS... the part that scares me is the monitor actually get the frequency or something wrong and you can fry it i'm going to implement Windows drivers... hehehe.... yeah.. heh heh heh not emulate... implement... me too....for a while at least nope.. not for a while.... that's all i'm going to do.... yeah, me too you shoulda been here when I was arguing with alonzo about what? drivers he was for full hardware abstraction....which he seems to think would save him time drivers=major detail/major bitch I was for layering drivers on top of drivers, making the lower level ones invisible to the higher level ones oh.. actually here's one thing that i forgot to mention... so that things from other os's could be ported easier for the filesystem.... yeah..... if this system i'm on was in workgroup SUCKIT and was named BILLYBOOF depending on how you had a setting, the root dir to this computer would be /billyboof/ or /suckit/billyboof/ 01:10am hmmmm..... that way it you had it set to not use the workgroup, no matter what computer you went on in the workgroup, you're files would be in the same place... so if you went on the computer JOEBLOW, you're files would still be in the dir /billyboof/ networking....ergh and if joeblow went to you're computer, his stuff would still be on /joeblow/ I'm not gonna mess with connectivity until I'm getting ready to release it i'm not going to mess with it for a little while... will be a really helpful developement tool though... since i have two computers.. true i'd be able to write/compile on 1 computer, send the binary over the network, and run it.... without having to reboot twice... I'm hoping to get a second or possibly a second and third computer this summer that is until i get a compiler running... thats another question I had......how are you going to port a programming language to your new os? gnu compilers for now... i'm going to be using flat binaries.. so far for assemblers, nasm seems to be best... I'm thinking once I get mem management, a filesystem, a few drivers, .....you know....a base system.....that I'll want to start coding in my own os all the time yeah... same here.. once i get it to that point... the order i'm going to be working things at this point: mem management whats your projected timeline? filesystem filesystem is the only entity aware of the existance of object code... I have 5 bucks riding on me getting an operating system made I have a decade to do it though no timeline.... timeline=when i feel like it I'm thinking 3 years tops for mine which has been very often lately.... then i want to get the ethernet card working.... thats just the Bare bones of it too....at which point I get 5 bucks and my friend is forced to help out so i can have one computer in windows coding shit, and the other just running the os.... cool until i can get a good editor & a compiler running in mine that would be pretty sweet actually do you have a homepage? no... i told you i'm not bothing with shit like that ... :) no reason to spend all my time writing a page advertizing what hasn't been done yet.. I'll be keeping some vague updates on a site with my other interests...a typical bullshit personal page 01:20am i've never really bothered with my own personal bullshit page either, so i guess that's why i'm not really interested in writing about my os.. do you have a staff lined up? I've got my eye on some people already for once I really get going nope... not unless someone gives me mad $$$... this is a one man thing... i don't know anyone that's a good enough coder... heh heh the os proper is all me.....but I've got some friends I really want to talk into doing some apps I really really don't want to have to fart around with coding a cd player or something hahahaha have you done anything with GUI coding? .. like mode 13h shit... modeX? modex works too... but i was just talking about 320x200 256color mode... which isn't modex... it's a normal bios mode.. nope but modeX is all that my graphics book deals with I really don't want to have to do stupid stuff like cd players, calculators, character maps.....etc etc yeah.... i'm not interested in that either.... nothing i have to worry about yet though...:) true hey... check out http://pages.cthome.net/consultant/gui3.exe no virus i promiss.... that was just my little experiment to kind prove to myself that it wasn't hard at all... like 8k err 6.8k 01:30am heh heh pretty grainy yeah... that's vga mode... :P btw ... left mouse button drags, or creates new window when you click open area.... right mouse button closes a window... I noticed do you have icq? yea would it be ok if I added you? you know what you're talking about and (surprise) have actually started working on yours i have to add you first.... i put on ignore unless in contact list 897330 as soon as I get my base system in, I'm getting the open source code for java and compiling it....that'll let me run icq and aol instant messenger through the java vm yep.. 01:40am ack! i know about that already too... :) it doesn't seem to want to open your message hahahaha i just said hey serious i'm serious too.... when I asked for authorization you disappeared from the list completely, but your message is still flashing in the system tray ack! its still blinking! and I never got your first message stupid icq.... i'm undecided about if i should go to bed or not... same here it's 4:44am here, and i have to be at work at 5:15pm.... I have to be to school in under 7 hours what year in school? who's counting anymore? ;-P I'm in my first full year oh college? yeah cool.. i start college next spring... next spring I hope to have transferred to a university i'm going to uconn next spring, and by fall of 2001 i hope to transfer to UBC cool 01:50am I'm hoping for UW Eau Claire this coming year, and UW Madison the next year like 30minutes away from seatle... but still... it's in canada... not the u.s. whats wrong with the us? i hate it here... its not so bad plus i like up north better... oh yes it is I'm in wisconsin...up north is canada for me ahh.... north is mass, then vt/nh/maine/canada... i love snowboarding too... so i don't wanna stay here too long.. it's north enough to get cold, not north enough to go riding though... heh heh how were you planning on implementing your file system btw? haven't given it too much thought... I'm thinking of treating it all as a huge multidimensional array two basic ways i'm thinking of doing it... first way is most likely the one.... basicly going two have two root directories... one for apps one for docs... and kinda run it like a normal filesystem... or... the otehr way would take a major ass overhaul on the memory management system... require use of PAE which you haven't written yet anyhow... yeah pretty much basicly memory map the entire HD... work it all on demand paging... normally ring0 gets read/write access.... ring3 apps make a call to procedure asking for access to file.... how does the gui in windows work....do you know? what do you mean? 02:00am I'm thinking with how hoggish it is, it must just draw everything from back to front no... when it needs to redraw a pixil, it checks a double linked list to see what is the top window, and gets the color of the pixil from that window... the window may have to check with components within to find out what color it should be too... that's how that gui3.exe worked, but the major difference being that was 320x200... windows is minimum 640x480.... what do you think about the filesystem thing though? you want my opinion on yours? yeah given the choices.... I'd say do the extra work and go with option #2 that's kinda what i'm thinking too..... that way as the system runs, it'd get faster..... dividing your system up into file types won't speed it up huh? the 2 root directories, one for apps, one for docs, run like a normal file system oh.... that's just to keep the docs seperated from programs... if I'm understanding you correctly whats the purpose of that? better organization, easier to put a layer between the user and the applications directories applications won't be directories... ever... not in my os... heh heh heh also easier for security ... no way to run programs from desktop.... must be installed.... which is an administrator thing of course.... I'm having a hard time seeing that......no directories..... directories however you want, but for docs only... 02:10am I guess I'm just stuck with the win/dos/*nix style..... actually directories for apps too, but not that any user would ever see.. yeah... i hate that style... I'm striving for as little interdependence by programs as possible I hate how you can't just go and delete a directory in windows like you could in dos everything is using everything else's dll's and crap.....bah! i'm the opposit... interdependence=integration.... i hate dll's going to have libraries, but not like that... going to be more like a class saved to a file... and they aren't going into the os/system directory... hmmmm..... ok... programs aren't going to be displayed in dir's... more like a bubble chart... bubble chat? which will show dependencies.... chart even haha actually nevermind yeah.. like a bubble for this program, and an arrow pointing to any other program that requires it I didn't get it until you said that it'd show dependencies ok... bubble chart is the only word i could think of....:) i guess kinda like a flow chart/idea chart... perhaps a dependency web yeah that's it... but deleting a program you would just delete the icon/bubble... and it'd prompt about dependencies/or disable those apps interesting.....I like it kinda like deleting a dir in dos... even though I'm still going the other way cept easier... and more informative better code reuse encouraged... only problem I see (for the moment) is that you'd have to have some way of identifying what needed what like a giant log of what depends on what just a list that goes with each app.... 02:20am I dunno I'm still not sold on the idea when you write something you know what other stuff your program uses... you include that list in a specified format.... the more i think about it the more i like the idea of having the entire filesystem memory mapped... that would make it *easy* to implement a hibernate shutdown.. where it would save the system state to disk and let you turn the computer off, and restart in the same place you were.... hmmmmmmm what do you think of binary space partitioning the windows in the gui? or a z buffer? binary space partitioning? is that another term for zbuffer? they did it in quake no....not relaly really even haah what is it then? never heard of that... its kinda like....ummmmm like a tree sorta i dunno i was actually thinking of writing this for like 3dfx or whatever.... 02:30am just use real 3d gfx... it subdivides space -:- Morphing [mirc-hisp@infon319.jet.es] has joined #Tunes -:- Morphing [mirc-hisp@infon319.jet.es] has left #Tunes [] hmmmmm...... 02:40am actually... tutally memory mapping the filesystem wouldn't work not until we have processors with 64bit addressing would be nice though... I need some books on software engineering and operating systems actually even 48bit addressing would work... that'd allow for 256tb what are going to be the first things you work on? after the bare bones stuff I mean i dunno.. :) getting funding to hire people lol depends on when i'm happy with it being "barebones" I'm thinking maybe dial up and java and an irc client i started writing an irc client at one point... it was kind of a pain in the ass... I don't doubt it actually i'm going to write a plugin to do rich text display/edit first.... heh heh heh are you going to do switching like linux? you know....the f1-f12 then a plugin to do HTML->Rich text and rich text -> html no not sure how i want to do the keyboard shortcut for that.. actually i think i might use the win95 key+f* or have the win95 key programmable... I was thinking of having that key be the key for shutdown one button shutdown... so one task would be activated with win95+a, another with win95+b .. etc no... that isn't a good idea... too easy to fuck up like that... something like win95+esc would be good... 02:50am true actually i think i'll just have it where if you hold down the win95 key, it'll pop-up a diagram where you can use the arrow keys / mouse to select a task... or even it you just press and release the win95 key... have the windows key bring up a fake blue screen of death ahhahaa i just know i'm going to exploit the shit outta that key or have an old picture of billy gates pop up when you hit it have you ever seen his mug-shot? way back when he was still pals with some of the apple folk.....he was really really dorky then mug shot? yeah no i wish i remembered the url... some place was selling t-shirts w/ his mug shot... from like 1970... no shit? lmao must find! yeah ... i'm trying right now.. :) mugshots.org http://www.magpage.com/~path/mugshot.html heh heh heh 03:00am the side view is better http://www.mugshots.org/misc/bill-gates.html reminds me of my chemistry teacher mrs moffet gotta go see you around -:- SignOff ruiner: #TUNES (Leaving) -:- SignOff billyboof: #TUNES (hatefull@antisocial.com) 03:10am -:- SignOff abi: #TUNES (Ping timeout for abi[bespin.dhs.org]) -:- abi [nef@bespin.dhs.org] has joined #tunes -:- SignOff abi: #TUNES (Ping timeout for abi[bespin.dhs.org]) -:- abi [nef@bespin.dhs.org] has joined #tunes -:- Closing Link: TUNES[bespin.dhs.org] by bear.openprojects.net (Ping timeout for TUNES[bespin.dhs.org]) -:- Connection closed from irc.us.openprojects.net: Success -:- Use /Server to connect to a server -:- Connecting to port 6667 of server irc.us.openprojects.net [refnum 0] -:- BitchX+Deb1an: For more information about BitchX type /about -:- Welcome to the Internet Relay Network TUNES (from vinge.openprojects.net) -:- Your host is vinge.openprojects.net, running version u2.10.05.18.(ipcheck4-5) (from vinge.openprojects.net) -:- This server was cobbled together Wed Apr 28 1999 at 13 24:47 EDT(from vinge.openprojects.net) -:- vinge.openprojects.net u2.10.05.18.(ipcheck4-5) dioswkfcg biklmnopstv -:- [local users on irc(3)] 1% -:- [global users on irc(88)] 35% -:- [invisible users on irc(164)] 65% -:- [ircops on irc(17)] 7% -:- [total users on irc(252)] -:- [unknown connections(0)] -:- [total servers on irc(33)] (avg. 7 users per server) -:- [total channels created(69)] (avg. 3 users per channel) !vinge.openprojects.net Highest connection count: 10 (9 clients) !vinge.openprojects.net Welcome to Open Projects! You are on 2 ca 1(2) ft 14(14). -:- Mode change [+f] for user TUNES -:- Mode change [+iws] for user TUNES -:- JOIN activated by "TUNES #tunes tunes@bespin.dhs.org " -:- TUNES [tunes@bespin.dhs.org] has joined #tunes -:- Topic for #TUNES: http://www.tunes.org - Free Reflective Computing System | AlonzoTG's OS specs http://atc.peon.net/~cyborg/OS/docs/specs.txt -:- topic set by iStormy [Wed May 12 19:51:53 1999] -:- [Users(#Tunes:4)] [ TUNES ] [ abi ] [ core ] [ timestamp ] -:- Channel #Tunes was created at Sun Feb 28 08:48:06 1999 -:- BitchX+Deb1an: Join to #tunes was synced in 6.815 secs!! -:- Mode change [-s] for user TUNES -:- Fare [rideau@quatramaran.ens.fr] has joined #Tunes core: ??? 06:40am -:- smoke [smoke@195.96.122.240] has joined #tunes hi lo I still don't understand what the TUNES project is about - could someone decribe it briefly for me, please? :) -:- SignOff Fare: #TUNES (Connection reset by pear) -:- Fare [rideau@quatramaran.ens.fr] has joined #Tunes 07:00am fare: how's the hll coming along? 07:40am smoke: hum, to begin with, we'll basically take scheme interesting but actually, what I'm planning to do is to integrate it into a logic system I've finally formalized correctly the notion of a language but I'm wondering how to integrate it _into a language 'correctly' ? :) yup. The Right Thing(TM) hehe. what is the formulation like then ? eh - formalization i mean it's a triple , where E and C are categories, and R is a functor R:C->E->2 and what does the '2' mean there? E is the category whose objects are valid expressions, and arrows are reductions C is the category whose objects are valid observable types through which we look at programs, and whose arrows are interactions we are allowed to do on programs R is the realization functor, mapping abstract types to actual sets of expressions in a way that fulfills the subject reduction principle. 2 is the usual category with two points linked by a unique arrow so that E->2 is the category of "cuts" in E (sets that satisfy subject reduction) 07:50am that's all a bit rough, but it gives exactly what you expect, to generalize the notions of operational and denotational semantics, of execution contexts, or type systems, etc -:- evan [hjh@infomed3.med.ub.es] has joined #Tunes hola -:- SignOff evan: #TUNES (Read error to evan[infomed3.med.ub.es]: Connection reset by peer) 08:00am fare: hmm fare: this formalization is based on existing computer languages? it is based on category theory, but can effectively describe all existing computer languages actually, denotational and operational semantics as used for usual languages can be readily used fare: I have to admit that I don't really understand the TUNES project still.. Is the idea to rethink software for existing hardware, or just to rethink the complete concept of instructing machines? Or even broader? it's to rethink the way we use and design machines fare: So it is all about machines that 'help' or 'assist' humans? to refound OSes in a robust way that will allow for high-level manipulation of meaning by machines, and ultimately, AI, if possible. it's about unleashing the potential of machines to automatize conceptual tasks in a coherent way. Hmm. And what about tasks like entertaining and researching without clear goals ? s/and/or today, machines just can't do it, because the only common languages between two machines (and/or to programmers) are much too low-level once we allow machines to manipulate high-level concepts, it becomes possible to slowly grow an AI by world-wide construction. * core/#tunes returns core!!!!! salut fare :) j'allais te telephoner. hey smoke, ltns :) fare: je suis aux US en ce moment : :) Le cable est de retour apres 7 jours de panne hello Core. core: ah! core: tu t'amuses bien? core: ca t'amuse, l'informatique theorique? fare: oui, c'est plus drole de voir les missiles partir de leur source plutot que de les voir passer dans le ciel :P fare: pourquoi? pour savoir si je te spamme avec mon dernier message (en francais) sur la notion de language et celle d'implementation smoke: entertaining? researching? 08:10am si tu veux, tes documents sont tj interessants :) smoke: these are general tasks, not specific to Tunes (or specific not to Tunes). * core/#tunes wonders if smoke remembers me :P s/me/him/ fare: well, it seemed to me that Tunes was meant as a base for automating things that humans understand, not for 'fuzzy' things -- or am i wrong here? core: you're the ggi Core ? :) smoke: yeah :) core: long time no see ! smoke: what i said :) core: si tu decroches des que ca devient formel, c'est pas grave -- le mel a ete envoye sur le coup de l'emotion, et je prepare un article (en angliche) pour expliquer tout ca en details comprehensibles core: nice to meet you here :) - are you still working for the ggi project? fare: ok, si je decroche je prendrai ma respiration et relirai calmement, d'habitude ca marche :) smoke: Tunes is to lay out a basis on which understood things can be manipulated smoke: although the way these things are manipulated need not be themselves understood. smoke: i'm maintaining the cvs repository and doing a few things here and there, but not as much.. andreas ported ggi to my current project tho a few months ago :) smoke: that is, we need a common language to express clear concepts. core: what's that project then ? no sh*t, implementing reflexion in C is fun. core: I saw you logged on bespin. What's up? what about clementine??? * smoke/#tunes doesn't understand the word reflection yet retro boots on many of my computers, but not on my DELL latitude :( fare: oh, was giving an xcom updated tarball to tcn.. and clementine, well, i still work on it 24/7.. multithreaded now :) fare: What about the (huge) field of things we don't yet understand ? smoke: before you understand "reflection", you need understand "metaprogramming". smoke: did you read my article on reflection? the more i write clementine, the more i crave for metaprogramming/reflection. I mean, http://tunes.org/~fare/articles/ll99/index.en.html fare: i read parts of the tunes webpage, mostly introductions and the requirements * Fare/#Tunes is reminded to send email to a guy in the south doing his PhD on a building a reflective OS... smoke: i've been working on a kernelless, componentized OS for ~1 year now.. andreas did some bits :) core: sounds cool - what platform? fare: mostly i'm only missing to protect some critical sections against concurrent access, and implement physical storage, and most of what an application needs will be around smoke: currently runs on x86, but porting to a new one shouldn't be painful smoke: it's not one of the 350 OS projects on the web; i've been past the bootstrapping stage for ~8 months :) fare: i can send you a new tarball, but as usual some things are in the middle of being finished core: do you have write access to disk? core: sure, do send! now that cable is back, I do not fear big downloads anymore fare: no, i miss physical storage. i want to finish proper parallelization first, or i'd have to heavily tweak it core: any ftp/http address? (for big email, use rideau@quatramaran.ens.fr) fare: i'll put it on bespin, hold on a sec core: or maybe serial line driver? fare: you'll need to recompile binutils as usual core: what about read-only CVS access??? fare: yeah, there's a serial driver and gdb source level debugging fare: oh, i suppose that works core: hum; is it compatible with latestest nasm? 08:20am fare: i guess; i still use 0.97 as i don't want to spend time wondering if nasm OR clementine are buggy :) (that's 'cause retro requires the latestest nasm) (and I'd prefer not to have 36 nasm binaries around) fare: yeah, retro doesn't assemble w/ 0.97, that's annoying fare: well you can always try to patch 0.98pre6 or whatnot, if it works let me know :) I will fare: clem has preemptive multitasking/multithreading, gdb source level debugging, syslogging, debug and assert macros, serial driver code, a synthetic FS, can run components in usermode.. core: what's your task/thread model? damn i have to go :( fare: vt100 compatible xterm on top of ggi, evstack-ish scrollers for the console, ggi drivers.. smoke: bye! i'll check in later - pretty interesting stuff here :) bye smoke, see you soon :) bye! core: hum, what about the CVS, again? it'd be sooo much easy for everyone of us... fare: well, the scheduler is a component so that can completely be replaced.. processes can run in any cpu mode, in a seperate address space or not; threads are visible from the scheduler (as opposed to only from the process) fare: stacked interrupts are supported; supervisor ("kernel") code can be preempted of course; the scheduler uses multi-level feedback queues; multithreaded processes take as much quantum time as single threaded processes so they don't starve others.. what worries me now is how to integrate modified memory models in such a beast... there shouldn't be a problem to be done consistently, requires metaprogramming. the scheduler asks for address spaces to the memory component it imports; they don't have to be different the depmgr builds gates on the fly if usermode code is to call supervisor mode code too linus said that interrupts were faster than call gates for changing mode. Or was there an implicit assumption there about the task model, too? oh, it uses interrupts although that can be replaced if needed :) core: maybe you should send a bug report to bochs.com? 08:30am fare: kevin lawton has merged my keyboard patches (and other stuff, like whatever you write to port 0xE9 shows up on the console, very useful sometimes for low-level debugging :) c'est quoi, le nom du bidule? cvs checkout os? pourquoi pas cvs checkout clementine? 08:40am y a-t-il moyen de differencier toutes les fonctions C "mechantes"? 08:50am -:- smkl [sami@MCXII.rdyn.saunalahti.fi] has joined #tunes smkl: gakuk! 09:20am hello Fare what's up with TUNES? the internet is back after one week -- lots of things to keep up with (to me) with TUNES: I've finally found the right formalization for the notion of an implementation. So I may begin to write a compiler that could be proven correct core is back with clementine tcn is writing retro -:- AlonzoTG [Alonzo@client-151-200-127-216.bellatlantic.net] has joined #tunes * Fare/#Tunes goes get some f00d 09:30am -:- SignOff AlonzoTG: #TUNES (Have Nice Day :)) * core/#tunes returns fare: around? 09:50am yup at my side is Tux the (plush) pengui and his girlfriend do (tux et do) hehe did you get a chance to compile clementine yet? not yet. I'm trying to find the sources for binutils they're on sunsite.. you're the one who found binutils 2.9.0.19a last time :) s/2.9.0/2.9.1.0/ yes, yes, but I'm doing lotsa stuf in parallel 10:00am ahh ok fwprc is br0ken ever since I installed debian I think debian's telnet is br0ken as of 8-bit-cleanness probably misconfigured binutils has moved, obviously has it? yes no more in GCC/ not much is left in GCC/ I guess the egcs site is richer... YYYEEEEEEEEEEEESSSSSS!!!!!!!! YEEEEEEEEEEEEEES!!!!!!!! Canada loses!!!! yeah, that's what i was looking at.. smkl: uh?? hockey? * Fare/#Tunes tries to guess a sport common to canada and finland Fare: yeah, but it losed against Czhech -:- AlonzoTG [Alonzo@client-151-200-121-139.bellatlantic.net] has joined #tunes * Fare/#Tunes likes the Czech republic -- and its Great President perhaps the greatest man ever elected president in the whole world (except G. Washington and early US Prez?) (I prefer V. Havel, anyway) 10:10am -:- SignOff core: #TUNES (Read error to core[mcp.suntech.fr]: EOF from client) -:- SignOff AlonzoTG: #TUNES (Have Nice Day :)) -:- iStormy [stormy@rain.futuresouth.com] has joined #Tunes -:- core [core@mcp.suntech.fr] has joined #tunes netscape suqx0rs. yup (tm)(c) am i stating the obvious? :) yup wtf is that message..? 439 core : Target change too fast. Please wait 29 seconds. 'feature' of openprojects? core: I'd use gzilla if I could change the font size I'd use MMM if it were up to date with ocaml fare: i have too much memory in this laptop, netscape uses it gzilla...what's that, mozilla? fare: did you find binutils yet? 10:20am no, it's low in the scheduler queue :( fare: seems like it disappeared from gnu mirrors in the egcs->gcc transition, but.. fare: you can find it here ftp://ftp.varesearch.com/pub/support/hjl/binutils/ I'm cleaning up my disks's download areas guess h.j. lu works for VA is it the same version? yep there's even a newer one (.24) but i haven't tested with it yet so you better get .19a * iStormy/#Tunes twiddles his thumbs. fare: it'll produce 386 code and vm behaviour unless you change arch/ia32/Rules.make .. so that by default it can be ran in Bochs * core/#tunes twiddles his ears. -:- toddg [toddg@ts001d42.har-pa.concentric.net] has joined #Tunes hi everyone hi toddg found binutils in my download area hi core 10:30am uh, what are the alternatives to 386 and vm behaviour??? -:- SignOff smoke: #TUNES (Ping timeout for smoke[195.96.122.240]) fare: i mean, it'll produce 386 code and won't use the 486+ invlpg instruction for flushing pages, by default fare: uncomment the proper line in arch/ia32/Rules.make so it makes pentium code and uses invlpg, it's faster. fare: but you won't be able to boot the image into bochs then. can you explain me the invlpg instruction I never quite understood it when do you need flush pages? it flushes references to a single page in the TLB and why isn't there an argument to invlpg? the cpu caches logical->physical translation in the tlb so that you don't need 3 indirections every time you look an address up that I know so you need invlpg after you modify the page table in memory? when you change a PTE, like mapping it in or out, you need to flush references from the tlb yeah and there is one argument to it, the virtual address you want to discard but what's better with invlpg as compared to accessing the crN registers? invlpg only flushes one page.. changing cr3 flushes the entire tlb oh, ok, so there _is_ an argument yeah, otherwise it's quite pointless :) ok ok ok not even in 486? no, 486 has invlpg
too. can't bochs be easily updated to grok invlpg or at least count it as nop? i suppose intel realized after the 386 that flushing the entire tlb is costly. fare: counting it as nop will crash the system fare: but i suppose it could be added I mean, bochs counting it as nop since I presume bochs doesn't emulate the cache, but accesses the page table every time i don't know.. maybe it does emulate the cache it's pretty close to a 386 there are TRx registers to play with the tlb directly, it has to emulate them, unless they are 486+ 10:40am -:- SignOff toddg: #TUNES (Read error to toddg[ts001d42.har-pa.concentric.net]: EOF from client) grrr what? the cable was down again oh.. :) france telecom :P no, the cable is NOT france telecom, it's lyonnaise cable and the problem seems to be theirs if FT brings xDSL home, I'll get a look at it lyonnaise cable == FT nope thought as much they rent the actual lines to FT, but they are lyonnaise des eaux i thought FT bought them.. hmm no that's a very complicated story weird :) are you irc'ing inside a screened VT or what? the cable lines were demanded by the gov, that that FT had to lay them down at a time it was a public service but then, FT did not have the right to exploit them for anything. lyonnaise cable had the exploitation license for TV and then they wanted to do internet which requires a hardware upgrade at the nodes of the network FT, that didn't exploit the lines, didn't want to upgrade, least it was paid accordingly, and proposed that lyonnaise bought the lines lyonnaise did not agree to FT's price, and did not want to buy the line either, so they went before the relevant authority that decided a price for the rental and guarantees of service from FT heh typical french business :) 11:10am -:- ruiner [blah@ppp123.wi.centuryinter.net] has joined #tunes meanwhile, upgrade of the nodes was retarded, so that the internet deployment schedule was put back by one year and now that internet cable is here, we find that lyonnaise cable guys are mostly incompetent oops, my patching nasm-0.98p6 isn't correct yet are you trying to apply my patch to 0.98p6? yup, only there are a few additional fixes to make... ahh.. i'll appreciate if you roll up a patch and commit it, whenever you have time :) wait i didn't mean right now :) is there a "debug array" in the xcom format??? what's asking that? * this is a pointer to the first element of the debug information struct dfmt **debug_formats; modifying struct ofmt with added fields... xcom supports stabs debug info, but i don't know how nasm implements it.. also need a "set_info" function... * This procedure is called to pass generic information to the * object file. The first parameter gives the information type * (currently only command line switches) * and the second parameter gives the value. This function returns * 1 if recognized, 0 if unrecognized */ int (*setinfo)(enum geninfo type, char **string); no clue what that is either i suppose returning 0 will do? ok, will just return 0 right yeah, that's what aout does, anyway i'll look into it when h. peter anvin and jules release nasm 0.98 next week or so.. 11:20am cleanup has changed, too wonderful :P it now takes a struct debuginfo as a parameter... * This procedure is called after assembly finishes, to allow * the output driver to clean itself up and free its memory. * Typically, it will also be the point at which the object * file actually gets _written_. * * One thing the cleanup routine should always do is to close * the output file pointer. */ void (*cleanup) (int debuginfo); does aout or elf use the debuginfo thing? yes: aout does: (void) debuginfo; :) heheh that'll do ok, plug and pray, now :) oh, gotta compile binutils, now and no, I won't try .24 enough patching for today hehe -:- SignOff ruiner: #TUNES (Ping timeout for ruiner[ppp123.wi.centuryinter.net]) thanks.. i'll look into binutils .24 and nasm 0.98 RSN also gdb 4.18 and i'll probably give a spin to egcs 1.1.2 + pgcc 1.1.3 didn't want tools to interfere while i was testing code is all.. I hope there won't be a problem with recompiling binutils under debian should be, but who knows ? i use debian ok, then oh, what did you say about compiling kgi first? it'll install in /usr/local, so that you still have your original binutils if something goes wrong shouldn't you modify INSTALL, then? yeah, once you're done w/ binutils, nasm and all tools i should probably modify the makefiles, instead. ok compiling binutils... did you send the patch to hjlu? no.. i need to extract a few things into other files first and to fix something so that images are smaller 11:30am btw, even in the .97 patch, your outxcom.c deps are br0ken probably :/ -:- hcf [nef@me-portland-us303.javanet.com] has joined #tunes 11:40am -:- SignOff timestamp: #TUNES (Restarting) -:- timestamp [dancer2@207.16.36.12] has joined #Tunes -:- Tril [dem@sloth.wcug.wwu.edu] has joined #TUNES -:- mode/#Tunes [+o Tril] by ChanServ hey tril hello what's up, Tril 12:00pm what's the clementine situation? Are you still waiting for your company to let you release it under the GPL? tril: code is going very well, and yeah.. they said they will, and i'm still waiting for a document ok where's Kazz? I still don't see a web page.. tril: i don't really mind, that gives me time to finish a few things before massive public review :) tril: i'll put it up RSN :) i'm sure. is the web page waiting for the code too? tril: Kazz made an excellent page tril: that too, and me writing some content.. code is documented a lot, but i need to extract that what new features have you added ? since the prehistoric version i sent you? :) yup let's see preemptive multitasking/multithreading, independent of the memory model, allowing processes to run in seperate address spaces or not.. using multi level feedback queues.. usermode components, that can transparently gate to supervisor mode components, and be run indifferently in the two modes depending on what memory model you want to use.. hum before to compile the drivers, you must make some links on top level... ! ! synthetic files.. serial driver code.. proper keyboard driver code.. gdb source level debugging.. syslogging.. console scroller.. xterm (vt100) .. core: I sent you my nasm patch -- UAYOR fare: you forgot to attach the patch :) fare: what do you mean, making links? logging? that mean it can use disks? oops :) tril: not yet, there is no storage yet, so you can log to screen or to the bochs console, but the interface is there, so logging to disk won't require changing other components I don't know what a synthetic file is tril: think of a decentralized /proc .. like arch/target also, fare: the top level make file makes that synthetic XCOM modules would be more useful :) it all ain't compile tril: you can have files inside files, so you can refer to /sys/components/vmm/icon for example (well, whenever there is storage) first error in loader.c not really files anymore, then.. tril: not that there _is_ a need to have a filesystem; synthetic files are just a way of having data streams so that you can report properties better that with simple types.. that's it fare: what does it say? 12:10pm fare: deps compilation failed? I did "make", as in the INSTALL fare: you wrote the INSTALL file ;) at the time I wrote it, it was correct! (and the top level Makefile for that matter) fare: it hasn't changed.. fare: old parsedep around maybe? not afaik what does parsedep say? it has to have failed for that error to happen I started with a clean cvs copy of clementine how do I invoke parsedep? oh i mean, you saw its input just before it attempted to compile loader.c s/input/output/ -:- AlonzoTG [Alonzo@client-151-200-127-12.bellatlantic.net] has joined #tunes =\ atg get my mail? hum no message from parsedep that I see checking... no "syntax error" or such? no nothing this is a flash session I'll be gone in 3 minutes wtf do ask *me* what compiler do you use? forgot to put something on cvs? Reading specs from /usr/lib/gcc-lib/i486-linux/2.7.2.3/specs gcc version 2.7.2.3 no.. i don't think so.. i can check.. oh.. hmm.. i use egcs, but that shouldn't make a big difference (I got it from plain slink) i'll try checking out a fresh copy and compiling it now.. unrelated, but also make sure your binutils path is right :) ie. that /usr/local/bin comes before /usr/bin :) sure it is! o hum.. compiles fine here btw, this happens long before link stage... yeah, that's why i said "unrelated".. i just thought about it now what commands do you run? cvs checkout os, cd os, make hum. parsedep is not in my path, you know (well of course it misses the kgi driver but that's all) I mv'ed os clementine shouldn't be an issue (?) :) yeah, parsedep is called from tools/parsedep hopefully 12:20pm parsedep doesn't look like it's invoked that could be a problem ;) do you have it, in tools/parsedep/parsedep ? hmm i should fix that parsedep looks like it works, when invoked i hope renaming os to clementine isn't confusing cvs hum no, it isn't why isn't parsedep called? :/ don't ask *me* why should it be called, rather? so that it can compile the dependencies into the .h and .o and not produce those errors :) no, I mean, what mechanism is supposed to invoke it? the makefile Rules.make in the top level dir specifically GNU make version 3.77 Rules.make says how to make .dep.h same version here yeah, that's what is missing? do you have, say, components/shuttle/shuttle.dep.h ? yeah, defines empty struct components and empty compidx looks like parsedep is buggy... did you make from scratch? maybe *you* didn't remake the .dep.h ... i checked out and built from scratch dep.h's are rebuilt every time i change dependencies ok, cd components/shuttle, rm shuttle.dep.h, make shuttle.dep.h, what does it say? -:- AlonzoTG [Alonzo@client-151-200-127-12.bellatlantic.net] has left #tunes [] 12:30pm same 'same' ? no output at all? what did this particular make command do, i mean wait now there's some output ../..//tools/parsedep/parsedep shuttle.dep -s clementine -m pis -c "-I . -I ../..//include -DMAKING_DEPS" shuttle.dep:18:parse error:parse error. there we go do you have cpp in your path? /usr/bin/cpp, as under debian ok, so it's in the path oh "oh, no, you mean, I needed to have /usr/bin in the PATH?" i smell a rat no, not that if you just type "yacc", what does it say? (forgot if it's flex or yacc that's the problem, but ..) bison: no grammar file given ah, there you need to install byacc :/ shouldn't a zoologist explain GNU people the difference between a yacc and a bison? byacc??? it stinks! well, tell andreas he managed not to make the LALR rules work fine with bison for some reason fare main/binary-i386/devel/byacc_1.9-11.6.deb sorry, i should have known. i should document that or figure out why bison doesn't like it debian installs bison by default; redhat installs byacc i encountered that when i ditched redhat yes, I have a slink mirror at home 12:40pm does it work now? :) me too, mostly (it didn't quite fit on 1.2 gigs) dunno, I must retry dpkg is not done installing byacc ah ok Tril: I edited my lftp script so as to only get the stuff necessary for i386 sorry for the trouble discarding m68k, alpha, etc i downloaded slink cd's, you can consider that a mirror :) how did they arrange the cd so you don't need to swap cd's every other package? made my own slink cd images fare: all the required ones and most common ones are on the first binary cd anyone know a translator that'll take an url and do chinese->english? I haven't got the cds burned yet so I haven't tried installing off them.. fare: they exiled non-free and stuff looks mucho better lotsa warnings, tho tril: there's some package to make bootable images IIRC, i didn't use it though as i just grabbed the isos fare: andreas' code :P the standard iso images are bootable afaik I mean, the Official images ok, booting on my uncle's toshiba yeah, that's what i downloaded, tril unknown error at 00002109C. ca commence bien multilevel: init.c:122: dummy_a: wait() on sigmask 0x1.. (same for dummy_b) # help <- unkonwn command did it get into the debugger? ok, i assume it did heh, that's not a bug ;) your qqwerty keymap is br0ken, too looks like a mac or british qwerty, or something like that not us qwerty, anyway what did you boot it on? 12:50pm core: cd#1 boots a normal kernel that should work for most people and contains many drivers. CD#2 is a smaller kernel with fewer drivers compiled in to avoid a known problem with large kernels on laptops, especially Toshiba Tecra series. -:- SignOff core: #TUNES (Read error to core[mcp.suntech.fr]: EOF from client) -:- core_ [core@mcp.suntech.fr] has joined #tunes -:- core_ is now known as core agr pcmcia sucks uh? anyway, andreas wrote a proper keymap parser, and put qwertz by default.. i know i'm blaming it all on him today, but :) i moved my pcmcia ethernet board by accident :P * core/#tunes is on a laptop right now it took me hours to boot linux on my uncle's cd-less toshiba laptop indeed, it's qwertz, not qwerty!!! ok, so it boots what did you successfully boot it on? the toshiba? the toshiba, indeed hm, i wonder what thread the error stopped. or did you see that in the debugger? debugger? rumour has it debugger is part of the kernel and is hooked to all exception handlers the ism with such an address i would assume so dunno. I saw it at boot weird well, it boots, the ISM you see runs in usermode, transparently gates into supervisor mode, is contained in a thread that itself is contained in a process, and such now trying on my dad's older toshiba (one that didn't like your previous clementine's keyboard driver) oh ok, good idea no error this time congratz! same message multilevel: init.c:122: dummy_[ab]: wait() on sigmask 0x1.. yeah, that's not an error F10 to switch keymaps? not that's the processes called dummy_a and dummy_b saying they are blocking on signal 1 (some inane info message, they'll go away) yeah, the keymap toggling needs to be reimplemented apart from that, I know no useful command sh cpu 0 ? sh mem caches.. things like that.. not much useful commands now that the system is bootstrapped 01:00pm back on the recent toshiba... Unknown error at 0x000290DC\nHalting thread... right after loading ism version 0.1 not even a command line this time it booted into the command line last time? while showing this error? yup -:- tcn [tcn@cci-209150250104.clarityconnect.net] has joined #tunes it displayed that *and* booted? not exactly the same error yup heh last time, was error at 0x2109C or such, now at 0x000290DC i see.. must be a H/W issue, and the thread that happens to run at that time is blamed * Tril/#TUNES is away: (lunch for a bit) [BX-MsgLog Off] so the first time it killed a different thread and this time you were unlucky and it killed the debugger :) hehe unknown error means the toshiba triggered an exception that isn't among the ones I know apm interrupts or such? yeah, probably something of that kind tcn: gakuk! hi tom btw :) tcn: retro still doesn't boot on my dell... does clem boot on the dell? ;) Fare: I'm not done with college yet :) * Fare/#Tunes goes try clementine on the dell wait a min core: Put in some code to say which interrupt # you get, when it's unknown tcn: i know.. i was just lazy when i wrote that :) tcn: i guess i better implement it now it'll help a lot tcn: no shit :) first I did it, then QZ did it cause I told him to.. well, my 68K kernel did it :) I got sick of those "Unknown Interrupt" messages i can't get unknown h/w interrupts, but i can get unknown exceptions John Fine had a nice little trick to report interrupt numbers.. by putting the IDT in an unmapped page, and having the pagefault handler figure out the interrupt # 01:10pm heh, that's a nice trick, but it's insanely slow well it adds a few extra instructions to the pagefault handler usually people just make a table with calls at the same address, then the called code pops the address from the stack, substracts the start of the table, divides by four, and voila, interrupt# which I wanted to avoid no, a pagefault is insanely slow oh :) * Fare/#Tunes is back hum, it booted on the dell for every interrupt, it'd mean interrupt->trying to access the IDT->pagefault->looking up pagefault handler->pagefault handler->figuring out it's an interrupt->invoking the handler tcn: and that wouldn't help me much, the pagefault handler must be mapped, and i'm getting unknown exceptions here, not interrupts, they aren't far enough in the IDT so i can safely put them on two different pages oh yeah, it was easy in John's demo program because there weren't any "normal" ints fare: woo! tcn: ahh :) core: I once proposed (in real mode) to have the same physical address with different segment numbers core: dunno why dosemu doesn't do it you did give me an idea though.. my current unknown interrupt handler is a little bigger than what you suggested fare: that could be a good technique bad technique in prot mode tcn: what extra work do you do? fare: obviously :) fare: although you could make 48 selectors or so that all map to the same place push #imm8 ; jmp short is 4 bytes, btw core: Each ISR is: push IRQ#; jmp unknown_int_handler tcn: that's what I just said hmm you beat me to it :) isn't that what tunes 0.0.0.25 did? anyway, I could never get interrupts rights (or keyboard, either) I dunno my 68K kernel did jsr exception_handler well, I guess what I have now works fine.. if it ain't broke don't fix it XCOM and IDE support are more important and then move.l d0,-(a7) mov.l 8(a7),d0 sub.l #start_table,d0 shr.l #2,d0 wow.... it's been a long while since i wrote that kind of code :) Tril: after we talked, I modified my formalization of languages, and now it's both simpler, and able to express arbitrary logic static types (not just static disjoint types) s/8(/4(/ core: that was possible because jsr had a short 16-bit offset fare: yeah, so, if it's bigger, align on 8 with nops, and shift by 3 :) * Fare/#Tunes just compiled nasm-0.98p3.6 with xcom tcn: if you need any help with xcom.. let me know. fare wrapped up a patch for nasm-0.98p3.6 01:20pm core: that patch you sent me is for 0.97? tcn: yup tcn: yeah sorry.. that's what i used so far (was waiting for final 0.98) .. fare has the 0.9_ patch s/_/8/ tcn: well i have it too now core: bounce the mail if you have it fare: that works tcn: i'll mail it right now to your address cool what do you prefer, bespin or clarityconnect? :) bespin ok should be there now :) got it okay :) whoa, big IRC log today yeah, i talk a lot :-) or is that yesterday's? not yesterday yet at least, not in france well, US yesterday what are you doing in the US, anyway? developing in peace :) visiting girlfriend's family with her, and working while not feeling like working .. :) 01:30pm oh american gf? yeah, nobody's perfect :) heh yes, ? ok, nasm-xcom works.. now for the xcom loader.. piece of cake :) yeah 01:40pm core, do you have an IDE driver? no, i don't have storage yet do you have a vm86 or rm86 driver? planning to start from scratch or use something like OSkit? fare: neither, but i'm going to write vm86 support for threads really soon tcn: i don't know, the current drivers are so bloated that i'd like to write one from scratch that can import bugfixes in other components if needed or so, but i don't know yet.. i have ltos to do s/ltos/lots/ good plan :) smoke: it's not one of the 350 OS projects on the web; i've been past the bootstrapping stag e for ~8 months :) hehe hehe i'm just referring to most of the contents of the OS review :) "OS Developer's web site!!!" tells you how to make a boot sector & nothing else :) exactly :) message board: "h0w d0 u maKE a b00t Se] lol c'mon, it also covers pr0t3kt3d m0d3 * Tril/#TUNES is back from the dead. Gone 20 hrs 24 min 5 secs hey tril Tril!!!! hi hoy, Tril i'm back re again tril Tril: my formalization for languages is now both simpler and more powerful the first data is just a category (with the important structure about it being the induced partial order) 01:50pm that embodies programs and their implicit evolution. The second data is a category of types&contexts that embody valid interactions with programs. The third data is a functor that relates the second to the first. fare: does clem report the right info on your 6x86 now btw? it should (not that it matters in the least bit..) core: dunno. Would have to boot the beast. fare: oh, that's the one you're on? nope, it's the one my sister is on oh.. nevermind then :) -:- AlonzoTG [Alonzo@client-151-200-127-201.bellatlantic.net] has joined #tunes -:- SignOff AlonzoTG: #TUNES (Have Nice Day :)) tried while she was away at first, it hung at 0x290DC argh the second time, it worked, and recognized a 6x86 (M1) which looks fine ok.. i just need to fix that pesky problem then :) 02:00pm Later guys.. bye Tom :) I'm writing that xcom loader -:- SignOff tcn: #TUNES (tcn has no reason) cool! -:- ruiner [blah@ppp183.wi.centuryinter.net] has joined #tunes lo, ruiner if carlito shows up tell him I'll be right back -:- SignOff ruiner: #TUNES (Leaving) I'm left front i'll take the middle -:- szfhdjk [zsfz@ppp-c2168-infovia.accesosis.es] has joined #Tunes guenas necesito un nº de serie, me podria ayudar alguien? guenas? numero de serie de que aparato? no de un programa el page marke 6.0 eres un pirata? 02:10pm jajajaj, si fuese un pirata lo tendria eso no es #warez si fare: can you cvs update and try again on the toshiba? it should say something like "illegal sysgate" instead of "unknown error".. if yes i think i know where it comes from -:- carlito [sabanmr@137.28.141.10] has joined #tunes anyone seen ruiner? * Fare/#Tunes tries to guess what program's name is "el page marke" in spanish or nater? he said he'll be right back ruiner came as said he'd be right back thanks de donde eres fare? soy de Paris * core/#tunes tries his spanish yo españa chupame la poya? jajajaja buen español * Fare/#Tunes traye el espanol de core chupar? poya? que significan esas palabras? you don't want to know :) chupar=succionar, lamer poya=pene o hacer un frances mamarla * core/#tunes is also french but reads ralf koenig hacer un frances? timestamp where are you from? si asi se dice aqui core: pas d'erruer cette fois carlito: timestamp is lilo's bot je reboote thanks yup, second time, I get an Illegal sysgate at 0x000290DC Tril: how do you know ruiner? problemas fare? fare: cool fare: merci :) core: que era? ?¿ necesito un nº de serie, me podria ayudar alguien? sz: core esta escribiendo un sistema operativo :0 sz: no conozco un programa llamado "el page marke 6.0" oki * core/#tunes takes a wild guess at pagemaker merÇi carlito: I met him in this channel months ago ah... who's ruiner? i guess ruiner is me * core/#tunes enters update mode abi: I don't think so... ruiner = Nater1464 abi: you guess bad yup bueno os dejo seguire buscando he said "os" un saludo a todos/as salud! tril: oh, the thing NOT to say in here if you're not planning to stay :) core: huh? core: sorry I'm slow, I don't get it -:- szfhdjk [zsfz@ppp-c2168-infovia.accesosis.es] has left #Tunes [] 02:20pm double negatives are bad English grammar, I don't blame you it's confusing to me, too :) * Fare/#Tunes ha olvidado la quasi totalidad de su espanol good I'm not the only one. well, how would you formulate it? suppressing both 'not's doesn't work Tril: I have to to leave, can you tell ruiner that I'll be back on around 8:00 carlito, you are both in the same time zone? yeah ok good question. thanks. core I'm not sure what you were trying to say :) If he says "os", we'll make him stay?? I think he means..."os" will get you kicked out? well anyways bye all. bye! -:- SignOff carlito: #TUNES (Leaving) tril: right :) fare: damn, i can't reproduce the problem here core: what's the illegal sysgate all about??? core: even at my home, it's not 100% reproducible fare: that's a program fault that's generated if trying to enter an user->supervisor gate that doesn't exist and where in clem could that happen? not 100% reproducible means it's interrupt dependent fare: in the generated code that an user component goes through (or multi* dependent) (when it imports supervisor calls) i think it's cache dependent 02:30pm ouch if it were merely cache dependent, it would always be the same on a given machine must *also* be interrupt dependent no.. multitasking randomizes how the cache is used oh if you flush the cache at right times, you won't have problems, tho yeah.. thought i did -:- ruiner [blah@ppp075.wi.centuryinter.net] has joined #tunes ruiner: carlito will be back around 8:00 your time ok thanks sooo...whats up? * Tril/#TUNES is working on adding functions of some sort to tunes.lsp recommend any good books on file systems or kernel hacking or perhaps writing drivers? ruiner: there are a lot of links on the OS review.. where's that? ruiner: http://www.tunes.org/Review/OSes.html thanx! who's the head honcho as far as tunes goes? do we have a head honcho? we don't have heads :) but i suppose you could point at fare and tril grumble my formalization did not correctly account for interactions, only for types and type inclusions. I'll be head honcho, now somebody tell me what I have to do. ruiner: for file systems hacking, see the OS faq; also see the docs for persistent stores in general (start at the grasshopper project) 02:40pm what's a honcho? gotta go -:- SignOff ruiner: #TUNES (Leaving) Fare: chief Etymology: Japanese hanchO squad leader, from han squad + chO head, chief [m-w.com] Tril: if your the chief, it's you who give orders, not who's told what you have to do!!! I know, that statement was an oxymoron i was trying to be funny FARE: GET TO WORK! CORE: KEEP UP THE GOOD WORK! lol ALL: Read the Arrow paper ! i understand "the" and "object" in it. hmm, that's less than average. okay, maybe "is" and "them" too. -:- SignOff hcf: #TUNES (Leaving) 02:50pm -:- Nathan [blah@ppp262.wi.centuryinter.net] has joined #tunes back now... you were saying....? btw, next person that tells me they want to use the phone dies a horrible death Nathan: you mean to answer your question? who is the leader of tunes? I want to use the phone. core: what prevents your bosses to accept the GPL now? Fare: you seem very cheery lately, been getting less depressed? even to sign a paper according to which it will be GPL at date D in the future? Tril: I guess I'm in the high part of the curve it mightn't last curve? maybe it's also because I've dpkg -r nethack :) the curve of maniacal vs depressed mood its just a downward slope for me nethack is a downward curve, yes... Nathan: even a downward slope is a curve I mean an uphill battle. It's very hard. ack! Tril: I was buiding a grobill w/ nethack you may die by anything -- even a sigfpu No, I don't know what a grobill is, I haven't played nethack very much they have enemies named after UNIX signals? How mean. grobill, that's a french word by RPG players. Literally "big bill", from the name of a particular RPG character of old who was hyperduperpowerful 03:00pm becomes a generic name for superduperpowerful RPG characters Tril: also SIGSEGV (if you write to much on the ground -- nethack prevents me from writing software) s/sigfpu/SIGFPE/ * Tril/#TUNES is cconfused your nethack keeps crashing and losing your character? not "keeps", but often enough to spoil a looooong game can somebody explain to me how aegis has no runtime kernel? and building a grobill _does_ require a looooong game that's an exokernel system right? right yeah I don't understand at all I'm on my way to their site now I can't exlpain it, I don't remember much about exokernels. its wierd as all hell Nathan: they basically allow you to link code into system space so their "kernel" is actually only a pool of system services as little abstracted from hardware as can be, well, at least, that's the original idea aegis has since evolved into something very different 03:10pm speaking of aegis, my rsync of the debian ftp archiev just downloaded it. uh??? aegis, part of debian???? is it the same aegis? aegiis_3.8 is a slink package, aegis_3.12 is a potato package aegis_3.8 I'll look -:- SignOff Nathan: #TUNES (Ping timeout for Nathan[ppp262.wi.centuryinter.net]) Probably not. "Aegis integrates the standard softawre tools such as gcc and cvs into an easy to use, extensible software management system. Aegis simplifies to problems associate dwith multiple developrs and development tree using a transaction-based approach to version control, along with a web-browsable repository and an integrated testing mechanism." maybe we should use it, then ? It's a CASE tool. hum not sure it will help much 03:20pm -:- _QZ [brand@p0wer.qzx.com] has joined #tunes hum. LGPL 2.1 is out. looks good, except for the name. personally, I prefer it over GPL. didnt read it yet -:- Nathan [blah@ppp413.wi.centuryinter.net] has joined #tunes I might be able to stay on for a whole ten minutes this time you need another line yeah I know I think I need a T1 run into my house... that'd be ok with me...I guess A/DSL is more practical oops, filled up the ftp drive time to use rsync --delete probably 03:30pm dammit! -:- SignOff Nathan: #TUNES (Ping timeout for Nathan[ppp413.wi.centuryinter.net]) *GPL is not applicable to TUNES, because it talks about "files" among other reasons. yes, I know the LGPL also makes a difference between runtime linking and static linking, etc it should more be about reversibility of things. when Tunes' bootstrapped, it's time to write a better license 03:40pm (or to convince law makers of the necessity to end those stupid intellectual property laws) law makers? I think programmers need to be convinced, first. People need to stop claiming their IP before it wlil go away there were excellent articles on the subject on /. recently * Fare/#Tunes is keeping up w/ several weeks of not reading /. yeah.. reading all of it takes too long * Fare/#Tunes only reads a few articles, and no comments sometimes I read the high scored comments 03:50pm what do you do at cnet? just work on writing papers? or ft is it cnet is part of ft (which was a bad move from ft officials and french government alike) yes, mostly writing papers, and sometimes giving courses (but seldom) 04:00pm so are you doing your formal notion of impl. paper for your employer? Is it their property when you write it? or do you write other papers for them yes, it's their property but if it does not contain critical secret technology, I can freely publish it, with their consent even more so if I'm accepted at a conference or another if you start programming do they fund that too? only if it's either so small/unrelated that they can't sue me, or if they give consent and that's a catch well, that's during daytime right? You could write papers all day, then program after work and they would have nothing to say. however, free software is _beginning_ to be understood as a Good Thing (TM) among even FT officials no, my contract doesn't make a difference between day and night neither do my work habits. I guess if your program is about the same thing you are researching, then it is related 04:10pm yes it is now I am entitled free speech in giving people hints as to what to program, as long as I dont reveal trade secrets if you contributed to some GPL'd software you would have to rleease your changes under the GPL. Would your employer force you to stop working on it? * Fare/#Tunes looks at rebel.com 's netwinder -- my, I *hate* commercial sites that don't list price! Tril: my employer could stop me from working on it but it's not like it will -- unless I work at a competitor's product FT is a company with *lots* of internal contradictions all in all, I'm mostly safe with Tunes hum downloading pdf killed netscape! time to try moz5? it seems to work except entering text in the url field doesn't. you have to File, Open can I have it use big fonts? 04:20pm * Fare/#Tunes would take any browser, as long as it can use big fonts as well as inline graphics -:- AlonzoTG [Alonzo@client-151-200-125-22.bellatlantic.net] has joined #tunes i just changed my font from 14 to 18, it had a few error boxes when opening Preferences, then messed up the browser window after hitting OK, but Reload fixed it (if possible, the latter being disablable) big fonts worked * Fare/#Tunes hates gpm or rather, I have gpm clients gpm works great for me clients? gpm does. but programs like xemacs or jed or lynx that are linked to gpm, and prevent cut&paste, are EVIL. console apps that use the mouse? haven't seen any of those. which ones? first thing I do is rm /var/run/gpmctl only they also catch xterm events, and prevent cut&paste within xterm that's EVIL <_QZ> does /. email news or do they just have it on their page? I thiought the reason I can't paste in xterm is that I dont have emulate3 turned on. ctrl-insert works I mean highlight , then shift-insert _QZ if you can get it emailed it will be somewhere in the user preferences, but they don't have that AFAIK QZ: I think there is a subscription service, too I hate having to join and part within 4 minutes... :(((( _QZ if there is a subscription service it might be provided by someone else... using their UltraMode back-end -:- Nathan [blah@ppp392.wi.centuryinter.net] has joined #tunes you could easily program one yourself.. -:- SignOff AlonzoTG: #TUNES (Have Nice Day :)) 04:30pm what's the deal w/ alonzo and his 4 mins? I think he used up all his hours for the month now they are billing him by the hour oh.. hehe or by the minute that'll teach him to use bell atlantic <_QZ> haha l33t pr0vi3r i guess s/i3r/id3r/ even fare: do you mind trying something out for me? * Fare/#Tunes has his phone bill paid by FT... core: if it's your gf, I'm ready fare: bwahah.. don't talk too quickly.. but anyway, no, it's for clementine oh fare: i just emailed you an altered copy of a file that i don't want to commit to cvs since it's a test.. Tril: I see no README as to how to install mozilla :( fare: can you put it where i said in the mail, recompile and test on the toshiba .. then tell me the contents of EAX and ECX when it happens fare: oops, file is wrong.. Fare: apt-get install mozilla_19981008 fare: sending the right one now that's the one I have, anyway. Maybe not the latest ouch - I can *hear* mozilla drawing windows! fare: did you get the file, do you mind trying? :) looks like fetchmail is bugged at one of my mails 04:40pm oops :P shall I keep the second mail? the second mail has the right file (it says so :) works now reboot :) something filled my HD mozilla :) might be did it fault already? :) hey, couldn't download it -- no space left on device oh binutils source & .o take 45 MB i know.. count another 30 MB for gdb I didn't recompile gdb you have to patch gdb to debug clementine? I'm not a gdb kind of guy or is gdb a XCOM module already :) ok, a bit of rm -rf later, here's space which directory, already? ok, found it -:- SignOff core: #TUNES (Hey! Where'd my controlling terminal go?) 04:50pm it's still illegal sysgate at 0x000290DC but now, it looks like it's more reproducible than ever :) -:- core [core@mcp.suntech.fr] has joined #tunes pcmcia. hum, on the 6x86 (no pcmcia), it occasionally hangs, too Core: Fare was talking to you while you were gone, might ask him to repeat it in private maybe it's time to remove a few debian packages? fare: what does, the ethernet? tril: he did, thanks :) fare: or get an FT-sponsored harddisk fare: that wasn't supposed to fix the fault, but i just realized that it's not going to dump the info i want :P harddisks for laptops are expensive not only didn't it fix the fault; it made it systematic! why doesn't it hang on the other laptop i use for testing #@@! welcome to the wonderful world of PC hardware! what's the toshiba like? 486? more like a PMMX266 hmm.. that's a pmmx in the other laptop too.. 150 tho my, it boots *fast* this one is a PMMX 233, i should try, but i can't be bothered to reboot what does? can't you suspend-to-disk and resume afterwards, or such? will linux let me do that? * core/#tunes is clueless about laptops I want my desktop to suspend-to-disk and resume in software i want clementine to do that. Tril: that's the principle of orthogonal persistence a feature put in the Tunes specs since day one I have updated the glossary entry about it, recently orthogonal persistence will be even more fun it'll let you shutdown and resume your work on a different computer :) 05:00pm that too I called it migration. But it wasn't in the specs until a few months later well, that's one of the nice things about persistence :) /usr/doc is 227MB -- who said linux wasn't documented? if you start abstracting how code saves its state, you can do all sorts of fun things. Tril: looks like my formalization will havta get complicated again, I fear. For orthogonal persistence? tril: can i access tunes' cvs via pserver? (or any other remote method) no, because I realized that what I did to successfully formalize arbitrary type systems didn't formalize contexts anonymous pserver, yes, login "anonymous", blank password. Or use "ext" with your userid/pass I need yet another category cvs.tunes.org tril: ext ? (and I can skip the type category altogether) CVSROOT=:ext:core@cvs.tunes.org:/cvs core: why not open your cvs more openly? why not ask your both a written promise of GPL? tril: oh :) fare: i did, i'm waiting on it instead of a promise of a written GPL? a written promise is better than a promise of writing get it signed in blood fare: that's the only thing i miss (that, and cleanup :) to make it fully open Core: You know how to use CVS, I thought tril: i do tril: i use pserver for everything Core: that works, as long as you don't try to checkin tril: commit? i don't have any trouble committing via pserver using ext with SSH is better than setting up pserver accounts for users (very secure vs. very unsecure) oh, security. yeah, ext is better for that core: Oh, maybe the debian pserver is using the global passwd. I'm thinking of my cvs setup from slackware. tril: i don't know, i run debian and i have a passwd file in the CVSROOT, along with a readers file :) hum. M5 edit/preferences won't get me anything else than size 10 fonts (and its own faces are tiny) 05:10pm Fare: maybe you need install some more fonts uh? I have much too many fonts is M5 different from mozilla_19981008? and that buggy xemacs won't scroll its window or anything I thought M5 was recent, this month or something Tril: looks like it is a lot M5 is a few days ago it's much too buggy. I'm rm -rf'ing it fare: can you send me the fdimage that does the error? just to cut down possible problem soruces s/soru/sour/ Fare: why wuold they put a 1998 October date on something rleeased a few days ago... i won't use mozilla until you can, like, surf the web with it. Fare go to ftp.mozilla.org/pub/mozilla/nightly for binaries Tril: no thanks can I return a setf location and use it, in a function of my own definition? m5 is hardly less buggy than m4 I need something simpler damn. I can't compile closures! fare? well, fare is the one to ask fare: can you send me the fdimage that does the error? just to cut down possible problem sources oh, nevermind, thanks abi, no, fare is the one to ask about emacs okay, Tril. Apparently I have to do sometihng special to return setf locations. any idea what? Tril: I don't understand wow, 285 sectors for your image, 210 for mine is egcs doing a much better job or what Tril: you can (defun (setf (foo x y)) (z) (evil-things-with x y z)) Tril: or such oh hum, netscape is stupid Fare: (defun blah() (gethash t a)) Tril: is that what you mean? Fare: (setf (blah) t) <-- undefined ufnction (SETF BLAH) (defun (setf (blah)) (val) (puthash t val)) puthash?? or is it (defun (setf blah) (val) (...)) ? 05:20pm well, whatever the converse of gethash is its (setf (gethash key hashtable) value) yeah, duh! I ain't got my lisp reference handy, except for the hyperspec crap, your image won't fault either i'll try on this one i guess -:- SignOff core: #TUNES (bbs) "...and I say to myself... what a wonderful world!..." hyperspec is what I use.. wow! got closure to run! back 05:30pm hmmmmmmm....... hum. Maybe grab a more recent copy... except that there ain't one :( all right, that worked what's closure? a band the dual of cl-http: a web browser written in common lisp correction, a sucky band -:- SignOff smkl: #TUNES (sleeping ...) Fare: What is common lisp equivalent of ncurses? Or does it have a GUI? 05:40pm !NickServ:*! lilo used GETPASS on n2iko shit 05:50pm !NickServ:*! lilo used GETPASS on n2iko Tril: it has a GUI no ncurses equivalent that I know although clisp might have something how do I program GUI in common lisp I know nothing more than what's on the c.l.lisp faq ok I'll read it closure uses a package named CLUE built atop CLX mozilla died closure didn't although the user interface is quite minimalistic :) know what i like about the open source community? tell us! 06:00pm heck, I don't know....why do you think I asked you? heh heh the closure rendering engine is the best I saw up to now the fact that all source code is freely distributed mean you can port....even if its for a commercial os... but the user interface is non-existent :) Nathan: don't say swear-words, please plus, don't confuse "commercial" and "proprietary" "proprietary" is EVIL even if not commercial. "commercial" as such is ok, and even good. -:- carlito [sabanmr@137.28.139.27] has joined #tunes <_QZ> dont buy mgc monitors I meant what I said anyine one seen ruiner or nater? <_QZ> i have an mgc 14" and it just went up in smoke uhhh....yo selling slaves isn't evil because it's sale, but because it supposes that people can be owned. carlito...over here nate? yeah what's up with the name? ehh...nevermind QZ: don't buy monitors -- buy laptops :) craptops -:- Nathan is now known as ruiner better? yeah. how do I know it's you? *paranoid* there is no GNU emulator for TUNES (no TUNES, even), but the emulator has a name already - PIG I want my damned braveheart tapes back ok it's settled you are the one Tril: did you read David Madore's page on TUNES? yes, a long time ago. Did he update it? how do you read the cd audio format? POSIX Is Good? PIG IS GNU I think he did update it, once ruiner: in what, a dos program? ok, so closure is great. sure, dos works at least, it has a great potential. dos "works" ?????? not it ain't dos successfully _gets in the way_ alright then....in tunes....how would one read/play a cd? so if you consider _getting in the way_ as "working", yes, it does work not data, audio ruiner: uh? much like in any other OS. personally, I'd type something like "cdplay" under linux but other people would click on an icon somewhere, or tell the computer to autoplay when a cd is detected 06:10pm I'm talking about having to write code to interface the cd rom ruiner are you trying to interface a cd rom right now or is this just something you want to talk about talk about gramps would kill me if I had anything going on on his computer generally you would have a group of commands like play, stop, next track, and eject, and you could connect these commands to buttons on the screen graphically or you could type them at a command line ruiner: well, there would be a low-level driver to abstract the hardware, whence you could get events when a cd is inserted/ejected or when it is reported that a track is finished/etc then you could program in lisp whatever function you want I figured it'd be done through the driver...what a rip off that is the driver uh? the driver would drive the thing; the interface would be done outside isn't that what we just said? 06:20pm hum. In what package can I find djpeg? Tril: who are you talking to? fare /join #debian, !find djpeg Fare no one duh! thanks. or use "locate djpeg" on bespin if you think it's in a package name I was thinking that perhaps it would read it as data though, and just pump it through the sound card instead of acting on it, just pass it along the Cpu doesn't see cd audio. The cdrom sends it straight to the sound card , and the suond card sends it straight out the speakers. k All the programmer does is tell the cdrom to start or stop playing, and adjust the volume of the sound card thats what I was *trying* to ask well, ok. that's true in any OS, though. ruiner: reading audio from CD is done in hardware because 1) going through the bus would not be reliable and 2) believing that the sound card crystal and the CD speed are synchronized is presumptuous no. In Tunes you can *also* listen at events so as when a track is ended, etc in linux, you can't. heh heh heh...here we go so how does the software tell when a track is ended if it doesn't pass through the cpu?? the data doesn't pass thru the cpu. The control does. (duh) Fare: In DOS, you can't, because the driver interface has you tell it how many seconds to play, and when that time is up, it just stops. I think it's part of th redbook audio , on the cd rom firmware Fare: Maybe the dos cdrom driver does that, but probably not if Linux can't do it either. Fare: Maybe you have to keep track of the time in software Well, then, you tell it to play for the length of the track, and have a timer wake you up when it's done Fare: but if you know how the low level cd driver works, you know more than me. I don't know much. It would unhappily not be surprising if you get not "stop" event from the hardware. 06:30pm I only know why the data doesn't go through the bus, and why instead there is a D/A in every ATA CD-ROM... 06:40pm hilo Ok, I now have functions which map objects to objects, and I can apply them. Now the system is getting too complex to remember all the numbers, so I have to add symbols next. * Tril/#TUNES greets stormy read through 1100 lines of scrollback * Fare/#Tunes is back -- X problems Fare: I'm not going to check in my changes until I document them, but you can read the tunes.lsp from the web /~dem/tunes/lisp/tunes.lsp dunno if it's netscape or closure that killed it I'm going to go take the bus home now, but I'll be back or if it was a sheer scwm bug Tril: bye! check it out so you can comment when I rturn :) * Tril/#TUNES is away: (afk) [BX-MsgLog Off] smalltalk sure is neat. now, how to use the message-passing paradigm without using that icky syntax...something more readable and writable for newbies message passing is mostly EVIL unless it's with real concurrent agents, as in jocaml (or as in actor languages, in general) 06:50pm i'd hate to program in smalltalk...but the cohesiveness and simplicity is astonishing. makes languages like c, pascal, python, etc, seem tacky. * iStormy/#Tunes can't wait till his dream language is written so fare can insult it too. (c: -:- SignOff ruiner: #TUNES (Leaving) that will be a happy day ls 07:00pm -:- ruiner [nate@ppp342.wi.centuryinter.net] has joined #tunes -:- iStormy_ [stormy@rain.futuresouth.com] has joined #Tunes -:- SignOff iStormy: #TUNES (iStormy has no reason) -:- iStormy_ is now known as iStormy -:- billyboof [hatefull@nrwc-sh2-port159.snet.net] has joined #tunes hey whats up everyone billy! whats up dude? does anyone know asm? nothing much... carlito: yeah... ido great! what does "nop" do? nothing hmmmmm...... thanks... it's like a place holder... hmmm so it could be used to program a delay? no.... it's a really fast instruction... doh! for delay, your better doing something like thanks billy hmmmm...... jmp $+2 or pushad / popad pair... what is all that? I know jmp its a jump I know heh heh but what is $+2 the $+2 makes it so it jumps to right after the jmp instruction... cause the near jmp takes 2 bytes ... so what good is that? 07:30pm the $ is the current offset in the file, +2 clears over the instruction... it's good for small delays... I must be stupid cause I don't understand. like if you do a read/write to ports .. sometimes you need to wait before what the port command did is valid... yeah jmp $+2 twice is a good amount of delay for that... so if you looped that... ah.... I understand yeah... you can build a good delay with that looped, but problem is that it would be a different delay for a 200mhz than a 75mhz... thats not a concern at the moment good point though. so how would you make the delay the same on all machines? hook to the system time... make it so it wouldn't resume running until the time to whatever you needed.... like if we wanted a delay of 2 minutes...how would you do it? going for 2 minutes huh? he's gonna kill you lol check the system time, store it to a variable, and just loop until the new system time = the old +2mins how would you check the system time? if I were you I'd set it by the number of characters that had been typed depends.... if you're talking about in dos/real mode, just use the bios interrupt... if your in some other os then there'd be a call to the os.... what do you mena ruiner? alias the process list... if you're running your own pmode then you have to code it.... so when he types 5 characters, it disables...then wait 10 seconds....then enable......then after the next 5 characters.... too much input man. if he can get to the process list he'll see the program running and kill it again, how do we determine seconds? right. whats the deal with delays... ? hmmmm.... should we tell him? in a chat invite him in I got him in a seperate chat carlito: you have to get into the system time... dunno how you'd do that in pmode... in realmode you do it with a bios int... ah ruiner how do I invite him in? can't 07:40pm need another chat room create a channel called delays * Tril/#TUNES is back from the dead. Gone 0 hrs 53 min 5 secs * Fare/#Tunes is back too ok Fare, did you look at it? ruiner: ever heard about bogomips? Tril: "it": the arrow paper? Fare: tunes.lsp oh, yes since I went away an hour ago? no before that. did you update it? why don't you use symbols? You mean instead of numbers, for object IDs? for instance. I thought of using (make-symbol) but there's no way to distinguish them by printing, they all say :|foo|: assuming I said (make-symbol 'foo). Any read-only value could serve as an id why need distinguish? So I can print out the contents of the system? and recognize what I am looking at? I want to list what objects are in a type, this doesn't help if it just prints "x x x x x" meaning 5 different objects are there There is no way in a lisp command line to "point" at a particular x and pass it as an argument, so numbers have to do for now. 1) with *print-circular* or such, you can differentiate 07:50pm 2) since you control ID generation, you can make so that a symbol isn't used twice as an id Still, you haven't explained why not to use integers well, you can use them, but they are not practical for either low-level or high-level mappings Hmm, *print-circle* is useful for printing *types*, thanks what would be practical for a low-level mapping? and a high-level mapping? not sure what mapping you mean for a low-level mapping, use memory addresses. But then lisp is not the right language for a high-level mapping, you mostly don't need an ID - objects are their own ID. or if you really do need an ID, you may accept *anything* as an ID as long as you can compare IDs with your favorite predicate (eq, eql, equal, or whatever) I don't want a low-level mapping.. and yes, the numbers aren't for high-level mappings. I intend to eliminate the numbering ...eventually why eventually? you can do it now. anyway, that's not the important thing the important thing is: what is all that infrastructure for? 08:00pm -:- AlonzoTG [Alonzo@client-151-200-121-220.bellatlantic.net] has joined #tunes reflective framework? =\ that's not what I mean. whats up al.. Do you have a specific application, problem, problem domain, etc, that you want to solve or exemplify with that particular infrastructure? have no time left. :(((( What part of tunes.lsp do you call the infrastructure? brb back Fare: I think the answer to your question is, "No." To clarify: The word "specific" makes the statement false then there's something wrong, I think. because it's more important to understand the thing you have to implement (since the implementation technique themselves are already mostly well-known in literature) Fare: well, mostly I want to implement an abstract idea-connecting system, with both computations and non-computations as ideas. 08:10pm Unifying declarative, functional, and object oriented language paradigms and implementing the basics of mathematics and logic in the shared framework Fare: I already do understand what I am implementing, but there is no way to verbalize it. That's why I told Brian to go ahead and implement the Arrow system, because trying to explain it is just getting nowhere. My motto is, it's easier to show it than to tell it -:- SignOff AlonzoTG: #TUNES (Have Nice Day :)) You should get an idae of where I'm going from looking at the code. I try to make everything as possible an object, and keep adding things, making sure they become objects too. 08:20pm qz, so whatd'ya do, lose the brix code, so you have to start over and wait til 2000 to release it? -:- core [core@mcp.suntech.fr] has joined #tunes If you give out your code then you won't lose it! people hi hey core wb core. I think Fare feel asleep heh, it'd be like 4:20 M there :) s/M/AM/ that's really obnoxious, there's a minor problem w/ clementine that happens on fare's boxes but that i can't reproduce here :) 08:30pm did you send him a compiled image to try? no, he compiled it, but he sent me his compiled image and i can't reproduce the problem with his image i suppose i could send him my image to see if the other way around still makes the problem appear :) -:- SignOff billyboof: #TUNES (Read error to billyboof[nrwc-sh2-port159.snet.net]: Connection reset by peer) -:- billyboof [hatefull@nrwc-sh2-port159.snet.net] has joined #tunes -:- carlito [sabanmr@137.28.139.27] has left #tunes [] wb billy god damned connection what was my quit message? Connection reset by peer read error.....blah blah blah hi again billyboof btw :) what a little bitch... i hate my isp... hello core lol core: do you know much about memory management? billy: i don't know what you consider much, but some, yeah. hmm .. that's what i'm working on figuring out right now... looking to write my malloc/free funcs... 08:40pm that's highly dependent on your memory model and allocation strategy yeah i know.... :) if you use paging you'll have to have underlying functions for getting and freeing pages yeah.. going to be paging.... those functions will have to take fun stuff into account like allowing for allocation of multiple contiguous pages, for instance for isa dma then you can build your actual memory allocation functions on top of them should i have a bitmap of allocated pages seperate from the MRU list? you'll have to keep track of the pages somehow a bitmap or buddy lists are usually the popular methods.. both don't touch the actual memory so it's good for locality like a straight bit-list of pages... 1=alloc, 0=free.. then seperate mru buddy lists? yeah, say, deciding your memory is made out of 128K blocks (for instance). if you want a 4K page, you split a 128K block into two 64K ones, four 32K ones, etc until you have 32 4K pages.. the point is to quickly allocate a 8K, 16K, 32K etc contiguous block or 4K pages in the same areas but basically it has the same results as a bitmap hmmm.. never thought of using multible pages for allocation... was kinda wondering how i would do contiguous allocation though... well, you'll need to if you intend to use dma what is dma good for? you can search through your bitmap for contiguous free bits but that's inefficient it transfers data from devices to memory without cpu intervention, back and forth.. it unloads the cpu from that job if i remember correctly, dma memory has to be 64k aligned? say for a floppy driver you have two choices 1) you busy wait for each byte to arrive, read it and store it 2) you ask the drive for a sector, it gets transferred via dma, and then the floppy notifies you by an interrupt that the entire thing has been read or written yep.. that's the nice thing about buddy allocation, since you can only get, say, 64K by splitting a 128K block in two, or 32K by splitting a 64K block in two, every block is always aligned on a multiple of its size.. so 64K is aligned on 64K :) and 32K on 32K inside a 64K block, so it doesn't cross a 64K boundary either.. etc how big are the DMA chunks? 08:50pm on isa, 2 bytes to 128K i guess pci? don't know about pci, i suppose usually you use on-board memory that you just need to map in.. actually for that i wouldn't really need to worry about the really searching the bitmap...since 32k is 8 pages, that'd be 1 byte in the bitmap i don't really understand the buddy lists though billy: you have one linked list for each size of block or is it one linked list total, for all sizes of blocks? billy: yeah but you could end up allocating 4K pages all over your bitmap and not have room for a 32K block anymore billy: with buddy lists you deplete partially allocated blocks first tril: no, there is usually a linked list per size per top-level block tril: say every 128K block will hold a list of 64K, 32K... 4K blocks do you have an example of this? or atleast a .txt about it? what's a top level block? tril: the maximum contiguous size you can allocate billyboof: /usr/src/linux/mm/slab.c :) what is that in linux? i don't have linux... tril: 128K on x86 (maximum dmaable size, no need to have more) billyboof: you can probably still see the source online o'er sorry, that's the source to the slab allocator (jeff bonswick.. was thinking about it for some reason) mm/page_alloc.c is what you need billy: if you carefully design your bitmap you can eventually get to the same results.. i don't know, i didn't investigate bitmaps damn... that file is huge .. :) which one? which one is better? shut up abi :) mm/page_alloc.c mm/page_alloc.c is what you need oops, i defined a new rule in abi :) yeah i'm reading it right now 09:00pm huh? oh ok, so you found it after all billy: abi is a bot, it sort of learns things like that clementine? clementine is a modular OS at http://www.core.netnation.org/ heh fare? somebody said fare was the one to ask about emacs billyboof? billy: it looks huge but there's actually not much to it.. just the buddy allocator system.. pretty simple that could be fixed :) core? rumour has it core is back with clementine do you have the .c file? or do you know of some place that i could download the source in .zip? right now i'm looking at a webpage .. linux source navigator... billyboof: yeah, i have the c file all the color coding shit is starting to annoy me.. core: actually i'd be interested in getting the entire source... just as a reference.. billyboof: sending.. billyboof: there and yeah, i hate LXR aso s/aso/also/ (linux cross reference sourcecode or whatever it stands for) billy: http://www.linuxhq.com/guides/TLK/tlk.html has a good explanation of the buddy system in the memory management chapter pegasus? thanks tril there's also a reasonable explanation on rik van riel's homepage http://humbolt.geo.uu.nl/Linux-MM/ billyboof: ftp.us.kernel.org/pub/linux/kernel/ higher levels of linux mm suck bad though (buddy allocator is ok) that's if you want to download the entire kernel source how long has v2.3 been out? billyboof: 24 hours ahhh... hehehe 2.3.1 is out now too i'm forced to run 2.0.36 on this laptop though, my ethernet pcmcia driver doesn't work on 2.2.x so far linux is retarded with its mapping of all physical ram into kernel ram though. 09:10pm *ping* anyone home? yeah... i'm reading... yeah oh ... this is one idea i had for mm too... in addition to the least recently used list a list of most used pages... just checking :) like a list of pages get hit the most... not just a time since last access list... * Tril/#TUNES is away: (afk) [BX-MsgLog Off] 09:20pm core: you still here? billy: yeah billy: sorry, sending email. why do you want that list for? a second way to select pages for erasing...... why would you want to erase the most used pages? you know what i mean... which pages not to erase.... :) oh cause i'm going to have memory mapped disk io... basicly set it so that maps a region of memory to a file.... well, if you start with the least recently used ones, hopefully you will only hit the most used ones when there is no other page you can swap pout s/pout/out/ well i was thinking for file io... it's if you went to read a file straight though... then it's going to allocate the pages in physical memory, but for some files, you'd be reading/writing from the same places a lot... well file or memory if the algorithm goes from least to most recently used you'll hit them last anyway hmmm.... so you don't think that'd be that useful? well, i just don't see right now what it would add to the algorithm but that's just me, maybe you'll implement it and show its purpose :) i'm thinking of trying it... should be too hard to write so i can just change a define so it's compiled in or not.... this is going to be a lot of code though probably not really.. a simple list cause it's all going to .asm well a list is just walking pointers, and that amounts to about the same amount of work in asm or C 09:30pm i guess.. i don't really know cause i don't know C too well... you can mostly use it as a portable assembler sometimes :) i know C well enough were it'd be easier to write, but not well enough to make the code close as tight as asm i'm not really thinking about portability at all... some of my C code compiles almost 1:1 to assembly, opcode-wise :) not really interested in making shit for other kinds of computers at this point.. hmm, 32-bit x86 probably has something like 5 years to live tho :) and even then, code optimization rules might change a lot yeah... my C code definately wouldn't ... be like 2:1 well for some low-level code that I wrote in C for portability, i monitored the compiler output until it got what i would have written in assembler.. of course i don't do that for all code, but for some. -:- SignOff iStormy: #TUNES (bedtime says my wife) -:- carlito [sabanmr@137.28.142.238] has joined #tunes wb carlito did you get my mail? that I sent 2 seconds ago 09:40pm hmmmmm 09:50pm <_QZ> have u guys downlaoded seti@home? _qz: no, considered it but didn't get around to yet what is it? aliens exist anyway, they write tunes in lisp :) <_QZ> heh <_QZ> http://setiathome.ssl.berkeley.edu aliens are too advanced for that, core ruiner: not true, they buy powermacs and get them infested with viruses heh heh heh 10:00pm personally, I like to think that aliens are using win98...just in case they're hostile <_QZ> damn, i cant download this stupid setiathome. it gets to 97% and stalls <_QZ> ah kewl got it ruiner: yeah, you'd just have to get them to detect a scanner peripheral to take their entire information systems down that or have them run netscape and word and cd player all at the same time 10:10pm automatic blue screen <_QZ> hahaha this 13 year old spent $3.2 million on ebay ruiner: or have netscape display a java applet.. qz: where did he get them from? <_QZ> what thats old news qz qz: where did a 13 year old get $3.2M? core, the point is the kid thought it was a game <_QZ> he didnt have the money he didn't know it was an actual auction heh <_QZ> yes he did did his family have to pay? <_QZ> nope not what I heard <_QZ> they found out when this guy wanted to deliver a $400,000 bed ebay is the MS of online auctions people use it because its the only one they know about...or they're FUDded into staying away from others 10:20pm <_QZ> kewl im processing radio signals <_QZ> i feel special :) 10:30pm <_QZ> we gotta figure out the format this setathome uses and send back some bogus data hey core.... thanks for telling me about that buddy list system... that's going to work out great.... <_QZ> i cant believe those bastards didnt email me i'm going to do it differently than linux does though.... linux annoys me instead of using a linked list per free block, i'm going to just use straight arrays of 1022 32bit values, and double link pages of lists.. at the worst it'll use an empty page for each block size, but then again it's using 4bytes per free block, instead of 12... 10:40pm core: are you here? * Tril/#TUNES is back from the dead. Gone 1 hrs 26 min 24 secs i'm coming back to tell yo all i'm going away again or anyone else here know about buddy lists? buddy lists are for speed, looks like you are trying to save memory <_QZ> geez Tril: huh? <_QZ> the linux version of seti@home is 60 and the windows version is 700k <_QZ> s/60/60k/ i'm trying not to waste memory if that's what you're saying... the point is every time you free a block you check its neighbor to see if it is also free, and if it is, you combine them to form a bigger block. that's fast. I dont know how you would combine blocks if it was just an array or whatever. it would take longer qz how much ram does it take when running QZ: The windows version is a screen saver. hmmm... good point .. :( 10:50pm billy: in memory mgt the important thing is to be as fast as possible, because you do it a lot. even if it takes a bit of memory to handle overhead. sounds ironic, but ... <_QZ> it requires 32meg <_QZ> it says that if u run it in the background u should have 64meg yes but how much does it use ps or top <_QZ> 17624 brand 18 1 14096 14096 408 R N 0 95.6 7.3 32:46 setiathome <_QZ> not sure howto tell how much ram its using on windows quite a bit , i'd need more ram before running that sucker do you have devstudio? use process viewer <_QZ> huh in the Devstudio start menu folder it has a prog called procses viewer with all its other tools. Or, use wintop from the power tools. (power tools are downloadable from MS homepage) err, powertoys Tril: around how much does a buddy list actually take up with say 32mb of ram doing it as a double linked list b, i don't know :) nor do I know how to debug my kernel and look ask on linux-kernel it's a good question, and they always have interesting answers.. <_QZ> damnit, my win98 machine is still running at 375mhz, i forgot to clock it back up _QZ: Do it while it's on. <_QZ> :) <_QZ> i could be putting another 100mhz into seti ever wonder what MHz your motherboard runs at with one of those jumpers completely OFF? at the invalid jumper settings you have to go through while changing them.. <_QZ> huh? <_QZ> oh [* *]* -> * * * -> *[* *] <_QZ> it would default to 66mhz _QZ: It is impossible to fake the results of Seti. It says in the FAQ. <_QZ> 12 minutes and im .7% done 11:00pm <_QZ> ya with their program i dont think thats what they meant.. <_QZ> but if we can figure out the format of the return data... I quit distributed.net because they wont give me full source for the client. Who knows what code they have running on my system? Tril: so say for the 128k list.... would that be a list of free blocks, or all blocks? The reason to not give source (they leave out the network part so you CANT find format of return data) so no one can spoof data... but I also don't trust them, so I won't run it. <_QZ> 28 hours to complete each unit of data <_QZ> damn billy: uhh..if the buddy list is called the free list, then its free blocks. ok bye all * Tril/#TUNES is away: (afk) [BX-MsgLog Off] <_QZ> at 463mhz i will be able to complete a unit in 23hours <_QZ> thats 2 units per day with 2 machines 11:10pm -:- SignOff _QZ: #TUNES (BRiX [http://www.qzx.com/brix] :: sleep) billy? yea did we ever figure out what to use the windows key for? I like the blue screen idea i like what i thought oh personally... but then again i could be bias... 11:30pm if you're going to have different window managers you could use that to switch between them basicly putting up a window which would be kinda like a really nicely organized task manager... or layouts or whatever hey were you paying attention to what core/Tril where saying about buddy lists? ruiner? ruiner is Nater1464 nope ohh.... thanks abi hahaa what were they saying? i figured out a better/faster/smaller way to do it than the double linked list... ruiner? i guess ruiner is Nater1464 heh heh ok... for memory management, instead of having a bitmap Nater1464? thought so... which would be one bit per page, on=allocated, off=free and I don't understand you don't understand a memory bitmap? not really I'm still really new to this remember ok.. lets say you have 32mb of ram..... ok if you do that math that's 8192 pages... <4k*8192 = 32mb ok? ruiner I GOT IT!!!!!!!!!!!!!!!!!!!!!!!!!!! basicly you would have 1024 bytes for the bitmap..... ok in each byte, you have 8 bits, so in the first byte, basicly you would represent pages 0-7 bit 0 = page 0, bit1=page1 ... etc right if the bit is on, then the page is in use... if the bit is off, the page is not in use and that's all there is to bitmaps... ok....gimme a sec to let this soak in and reread and stuff it's not that important to understand, cause it isn't the best way to do it... ok the other way they told me about, is called buddy lists... 11:40pm the way they explained it, you would have double linked lists of free blocks.... basicly if you say you're largest block is 4MB, and your system has 32MB, you would start with 8 blocks of 4mb each.... in a double linked list... ok but then, say you wanted to allocate 64k.... the memory manager would break down a 4mb block into 2 blocks of 2mb... then one of those 2mb blocks into 2 blocks of 1mb each... all the way down until it got to having 2 blocks of 64k * billyboof/#tunes pausing for ruiner to say he's soaked it.. :) whoa whoa whoa what? isn't that kinda slow? no.... actually faster... cause you're not reading bits..... and in some cases you actually need to have for example 64k of memory aligned to a 64k boundry... imposible with a bitmap... and it makes it so once you break things down a bit, say you allocate a 4k chunk... that'll leave you with a 4k chunk free.... hmmmmmm..... so next time you go to take 4k... it'll put it in that 4k chunk that's free... not in the middle of a 64k chunk... so why double linked lists? cause no one has come up with a better way to do it... :) basicly it's a double linked list of with a dword in each.... why doesn't it just alocate 4k of memory? why does it have to allocate a 4k, and a free 4k what if you never use the free 4k? big deal... with a bitmap, when you allocate 4k, it'll just put it were there is 4k free... you're gonna have to explain it to me at a later date, when I have a drink with caffine in it but I think I kinda get it which may be in the middle of a free 64k... ok... but i thought of a better way than the double linked list... basicly the linked list is of free blocks.. hmmmm.......I'm wondering if this would be a more efficient file system than a multidimensional array yeah... i'm thinking about the same thing... would allow for multible sized clusters.. much better than the current system... but anyways... 11:50pm my thought is to use an array ... so for the array of 4MB blocks, if you had 32mb total, and the first one was split, you would have this array: 1,3,3,3 1=second block free, 2=first block free, 3=both blocks free... so in that case the first 4mb chunk would not be free, but the last 7 would be basicly 2 blocks per byte.... hmmmmmm.... I swear, 90% of the people on the net are retarded then the array for 2mb blocks would be twice as big... since there are twice as many blocks.... ??? is that supposed to mean me? except of course everyone in this room.....since qz isn't here no, not you ok so for the array of 2mb blocks, lets say the first was free, and the rest weren't... you'd have: 2,0,0,0, 0,0,0,0 hey I'm not retarded!!!! I know! and so on down the line till you hit the 4k blocks <1 page> I said EXCEPT everyone in this room ruiner: understand what i'm saying? so 0 means they're both being used? not always.... hmmmmmm...... just means that it isn't available as that size block reuiner: what are you sayin...am I retarded? crud ohhhhhhh depends carlito, do you pick your nose? no...but I pick yours does that count? if it's 0 in the 2mb block array then it may be avail as a 4mb block just kidding... or it may be partially available as smaller blocks... don't you gave that backwards? wouldn't it be 0 in the 4mb block but avail to the 2mb block? it'd be partially available in a 2mb block.... right say the first page in memory is available... if the second page is used, then the first 4k block is avail, the second isn't... but if the first two pages in memory are available... then the first two 4k blocks are not available, but the first 8k block is available... [notice(TUNES)] newlog 1999.0514 -TUNES(tunes@bespin.dhs.org)- newlog 1999.0514 argh! i know it's hard to visualize but makes sense doesn't it? I pretty much need to visualize it [msg(TUNES)] permlog 1999.0514 chmod: 1999.0514: No such file or directory argh! the point is that each page of memory will be available in one of the blocks someplace, or it'll be used... as much as possible, bigger blocks will be available... this makes it so if you ask for 8k, the system will look through the list of 8k blocks... and if it finds one then it'll give it to the app.... and that 8k block is always going to be aligned to an 8k address.... sooo......the bigger chunks are in the front of physical memory...? huh? i don't understand what you're asking.... nevermind.... basicly if something can be called a bigger chunk of free mem, that's what it'll be listed as... I'll take another shot tomorrow....I don't think I can get it tonight hahahaha.... well here's the basic idea.... the way i was told by core/tril to do it would take 12bytes per free block.... so the whole thing would be dynamicly sized, depending on how many free blocks there were... the way i'm saying to do it will take a set amount of memory depending on how much memory the system has... for 32mb, it'll take 8k for the entire table... for 4gb, it'd take 1mb... -:- SignOff Tril: #TUNES (Ping timeout for Tril[sloth.wcug.wwu.edu]) I understand how you split it into halves ok.. what don't you understand? but I'm not seeing where you're placing the things in memory at what location ok... lets make this simpler.... i have a system with 256k of memory.... and i'm going to use 4k, 8k, and 16k blocks ok basicly i'd have 3 arrays ok one for each type gotcha yep 12:10am the array for the 16k blocks would be 8 bytes long.... <16 blocks divided by 2> the array for the 8k blocks would be 16 bytes long <32 blocks divided by 2> ok and the array of 4k blocks would be 32bytes long.... <64 blocks / 2> I understand that aprt part ok... basicly if you looked at the array for 16k blocks and found that the first and third block was available... then you know that in linear memory, you have 0-15k, and 48k-63k available as 16k blocks does that make sense? ok... yes ok.... if you had the 3rd 8k block free, then that would be from 16k-23k if the 7th 4k block was free, that'd give you 24k-27k ... ok if you had allocated 0-3k as a 4k block, and allocated 4-7k as a 4k block... then deallocated the 0-3k... when you deallocate the 4k-7k, it would see that 0-3k was also free... it would then set the first 8k block free <0-7k> and set the first two 4k blocks as unavail so its kinda like a memory map equivalent of a BSP tree? i don't know what a BSP tree is ... :( binary space partitioning used in doom and quake for determining distance and what should be drawn on screen it kinda works the same way I think.... then again, I'm kinda out of it tell you what....I'll explain BSP trees to you tomorrow if you'll run me through this again right afterwards ok cool right now i'm trying to think of a way to initialized my memory management.. 12:20am