IRC log started Mon Apr 5 00:00:01 1999 [msg(TUNES)] permlog 1999.0405 [openprojects]!clarke.openprojects.net Net break: sterling.openprojects.net lu.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: koontz.openprojects.net lu.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from lu.openprojects.net. [openprojects]!clarke.openprojects.net lu.openprojects.net acknowledged end of net.burst. -:- SignOff Fare: #TUNES (Ping timeout for Fare[quatramaran.ens.fr]) [openprojects]!clarke.openprojects.net Net break: koontz.openprojects.net lu.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: sterling.openprojects.net lu.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from lu.openprojects.net. [openprojects]!clarke.openprojects.net lu.openprojects.net acknowledged end of net.burst. [openprojects]!clarke.openprojects.net Net break: sterling.openprojects.net lu.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: koontz.openprojects.net lu.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from lu.openprojects.net. [openprojects]!clarke.openprojects.net lu.openprojects.net acknowledged end of net.burst. [openprojects]!clarke.openprojects.net Net break: koontz.openprojects.net lu.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: sterling.openprojects.net lu.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from lu.openprojects.net. [openprojects]!clarke.openprojects.net lu.openprojects.net acknowledged end of net.burst. [openprojects]!clarke.openprojects.net Net break: sterling.openprojects.net lu.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: koontz.openprojects.net lu.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from lu.openprojects.net. [openprojects]!clarke.openprojects.net lu.openprojects.net acknowledged end of net.burst. [openprojects]!clarke.openprojects.net Net break: koontz.openprojects.net lu.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: sterling.openprojects.net lu.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from lu.openprojects.net. [openprojects]!clarke.openprojects.net lu.openprojects.net acknowledged end of net.burst. [openprojects]!clarke.openprojects.net Net break: varley.openprojects.net dickson.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net break: sterling.openprojects.net lu.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: varley.openprojects.net dickson.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from dickson.openprojects.net. [openprojects]!clarke.openprojects.net dickson.openprojects.net acknowledged end of net.burst. [openprojects]!clarke.openprojects.net Net junction: koontz.openprojects.net lu.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from lu.openprojects.net. [openprojects]!clarke.openprojects.net lu.openprojects.net acknowledged end of net.burst. -:- semo [semolic@212.30.66.188] has joined #Tunes [openprojects]!clarke.openprojects.net Net break: varley.openprojects.net dickson.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: varley.openprojects.net dickson.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from dickson.openprojects.net. [openprojects]!clarke.openprojects.net dickson.openprojects.net acknowledged end of net.burst. -:- semo [semolic@212.30.66.188] has left #Tunes [] [openprojects]!clarke.openprojects.net Net break: varley.openprojects.net dickson.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: varley.openprojects.net dickson.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from dickson.openprojects.net. [openprojects]!clarke.openprojects.net dickson.openprojects.net acknowledged end of net.burst. [openprojects]!clarke.openprojects.net Net break: varley.openprojects.net dickson.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: tolkien.openprojects.net dickson.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from dickson.openprojects.net. [openprojects]!clarke.openprojects.net dickson.openprojects.net acknowledged end of net.burst. [openprojects]!clarke.openprojects.net Net break: tolkien.openprojects.net asprin.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: varley.openprojects.net asprin.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from asprin.openprojects.net. [openprojects]!clarke.openprojects.net asprin.openprojects.net acknowledged end of net.burst. -:- pfft [ville@t1o8p23.telia.com] has joined #tunes -:- pfft [ville@t1o8p23.telia.com] has left #tunes [] -:- Fare [rideau@quatramaran.ens.fr] has joined #Tunes [openprojects]!clarke.openprojects.net Net break: koontz.openprojects.net moore.openprojects.net (Ping timeout) -:- smkl [sami@MCII.rdyn.saunalahti.fi] has joined #tunes our irc logs are full of server notices 07:00am [openprojects]!clarke.openprojects.net Net junction: forward.openprojects.net moore.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from moore.openprojects.net. [openprojects]!clarke.openprojects.net moore.openprojects.net acknowledged end of net.burst. [openprojects]!clarke.openprojects.net Net break: forward.openprojects.net moore.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: koontz.openprojects.net moore.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from moore.openprojects.net. [openprojects]!clarke.openprojects.net moore.openprojects.net acknowledged end of net.burst. [openprojects]!clarke.openprojects.net Net break: varley.openprojects.net asprin.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: varley.openprojects.net asprin.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from asprin.openprojects.net. [openprojects]!clarke.openprojects.net asprin.openprojects.net acknowledged end of net.burst. -:- LHC [LHC@168.126.38.92] has joined #tunes [openprojects]!clarke.openprojects.net Net break: varley.openprojects.net asprin.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net break: koontz.openprojects.net moore.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: varley.openprojects.net asprin.openprojects.net [openprojects]!clarke.openprojects.net Net junction: koontz.openprojects.net moore.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from moore.openprojects.net. [openprojects]!clarke.openprojects.net moore.openprojects.net acknowledged end of net.burst. [openprojects]!clarke.openprojects.net Completed net.burst from asprin.openprojects.net. [openprojects]!clarke.openprojects.net asprin.openprojects.net acknowledged end of net.burst. [openprojects]!clarke.openprojects.net Net break: koontz.openprojects.net moore.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: koontz.openprojects.net moore.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from moore.openprojects.net. [openprojects]!clarke.openprojects.net moore.openprojects.net acknowledged end of net.burst. hello LHC * LHC/#tunes is away: (Auto-Away after 10 mins) [BX-MsgLog On] hi smkl good day.. are you interested in TUNES? 09:40am i'm reading about that.. 09:50am [openprojects]!clarke.openprojects.net Net break: varley.openprojects.net gibson.openprojects.net (Read error to gibson.openprojects.net[212.46.64.45]: Connection reset by peer) what programming languages do you know? i use C 10:10am [openprojects]Foreign OperKill: NickServ killed Tim_Warner (GHOST command used by Tim_W[AFK]) [openprojects]!clarke.openprojects.net Net junction: tolkien.openprojects.net gibson.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from gibson.openprojects.net. [openprojects]!clarke.openprojects.net gibson.openprojects.net acknowledged end of net.burst. -:- SignOff Tril: #TUNES (Ping timeout for Tril[sloth.wcug.wwu.edu]) -:- SignOff LHC: #TUNES (Ping timeout for LHC[168.126.38.92]) hum -:- LHC [LHC@168.126.38.92] has joined #tunes * LHC/#tunes is away: (Auto-Away after 10 mins) [BX-MsgLog On] 10:50am -:- binEng [bineng@dialup119-2-43.swipnet.se] has joined #tunes gakuk! 11:00am -:- tcn [tcn@cci-209150250087.clarityconnect.net] has joined #tunes eh? howdy hi tcn crowdy hey guys.. i'm at an impasse.. I need the collective expertise of the Tunes project :) sure? what's the prob? addressing objects in persistent storage is that a problem? gotta have persistent UIDs When the storage is spread out across thousands of computers, it is you must preallocate IDs and not use them before they be committed to disk why, you need decentralized naming decentralized is not the difficult part it's efficiency :) efficiency is an exercise in cacheing oh? hum. well, once you have the right algorithm in this case, the algorithm is rather straightforward: increment a persistent counter in what way would that be decentralized? decentralized is orthogonal to that uh, could you explain 'orthogonal'? decentralized: everyone has an ID, and an ID-dependent counter. orthogonal: the two problems can be solved independently tcn: what other problem is there? tcn: you may begin with a simple directly memory-mapped design, too What if you run out of ID's tcn: use a large enough ID space With the decentralizing I'm thinking of, I don't see that you have to preallocate IDs at all. tcn: upgrade the ID space when it's overflown Use a dynamic length ID, maybe? tcn: or recycle IDs with garbage collection (the latter is assuming you have total control on IDs) I started implementing a system where the ID is an index into an array of 'object database entries' tcn: that sucks -- committed database access is just too slow to found a system upon it! right it sucks for other reasons, which is why I stopped good practice, though :) 11:10am I'm treating each object as 2 parts: 1) The data (or code) and 2) Header information (name, location, size, child objects, linking records, etc..) How's that sound? have you read the articles about the RScheme implementation? Well worth it! tcn: that's sound tcn: sucks :) haha why not put your code on CVS? Fare: yeah, it's about time I did some major reorganizing last week cvs.tunes.org awaits you give me an hour ls 11:20am oops this isn't zsh first, back to the addressing problem now I understand why it doesn't reply "command not found" at every line I type!!! Allright.. Suppose I'm running Tunes.. in the objects on my system, there are various pointers to other objects. Each pointer starts out as the *address of the Object Header of the object it points to*. When the program tries to access that pointer, it causes a page fault. The pagefault handler loads the needed object (if it's not already loaded) and changes the pointer to point to the *address of the Object Data*. changing pointers might be tricky When an object is unloaded from RAM, any pointers to it would have to be changed to point to the header again. plus it means just every reference will have to trigger a fault! yeah so copying a non-paged in reference becomes very expensive. Now suppose the first word of the header is the object's address, or 0 if it's not loaded. why not preallocate the address space for the object? (i.e. do as in RScheme) (I mean, the RStore part of RScheme) Hmm.. what if the object is 2 gigs? -:- SignOff binEng: #TUNES (Ping timeout for binEng[dialup119-2-43.swipnet.se]) -:- binEng2 [bineng@dialup55-4-1.swipnet.se] has joined #tunes tcn: then either you have a 64 bit computer, or you use another design than memory-mapped We need to cope with the incessant improvement of technology :) which raises a conclusion to me: What are some alternatives to mem-mapped? 11:30am separate the (low-level language) mechanism from the policy (high-level to low-level language mapping) tcn: explicitly buffered I like that [openprojects]Foreign OperKill: NickServ killed Quick (GHOST command used by Quick1) Even an assembler program can cope with a high-level mechanism.. macros, subroutines.. [openprojects]Foreign OperKill: NickServ killed wichert (GHOST command used by wichert_) except that macro programming in assembler is hell (I know, I've done lots of it) it doesn't replace a high-level language (a high-level language doesn't replace assembly-level access either) So there's mem-mapped, explicitly buffered.. anything else? pointer-swizzled i.e. virtual 64-bit address space emulated on virtual 32-bit address space. Requires that the working set stays small, and/or that a moving garbage-collector be used Isn't that what Rscheme uses? When you've seen one nuclear war, you've seen them all. tcn: yes, it is, actually. I read a little of that paper 'pointer swizzling at page-fault time'.. but we've touched on that, about 40 lines up.. 11:40am Let's see if I have this right: In "explicit buffering", a program says "I need object tty:print" and the system does gets the object (somehow or other) and returns the address where it was loaded.. yup requires indirect access and/or explicit locking of addresses in memory s/addresses/objects/ Hmm.. so it could say "I need http://www.tunes.org/faq.html" note that things are much simpler when you have read-only objects. (or single-assignment objects) I saw something on tunes-lll (from 1996) about a way to avoid using GC.. still a possibility? 11:50am -:- Tril [dem@sloth.wcug.wwu.edu] has joined #TUNES hey tril >>> tcn [tcn@cci-209150250087.clarityconnect.net] requested PING 923338588 490902 from #tunes -:- SignOff Tril: #TUNES (Ping timeout for Tril[sloth.wcug.wwu.edu]) 12:00pm -:- SignOff LHC: #TUNES (Ping timeout for LHC[168.126.38.92]) bineng, you have some ideas on decentralized storage? I don't know... I'm not sure I understand the whole problem. Well, suppose you could move/copy objects to other computers on the internet or a LAN.. ok -:- binEng2 is now known as binEng You could have a huge program that needs 1 GB of RAM (not swap!), and distribute it over 10 machines with 128 MB each Or you could store some important object on several machines all over the world, for backup. mind-numbing, eh? yes well it should be possible. 12:10pm The bigger it gets, the harder it is. For example, there's no way for 1 computer to keep track of every object on every other computer. agreed There has to be decentralization.. yup Now the internet is decentralized but it's a fixed heirarchy, right? I dunno.. how you you mean, fixed hierarchy? You have to get an address from the NIS or whatever ok I get it It requires human intervention, and it puts certain people in control.. not good :) We need the kind of simplification ("high level") you get with a hierarchy, but it should be flexible and anarchistic You're right, that's not the ultimate way. Especially not when it comes to small things as objects, there's many of them Can't each node just take care of its own objects? Look at a flock of birds, or a school of fish.. who's in charge? It's always changing.. Each node takes care of itself, but it has to coordinate closely with its neighbors, less closely with more distant neighbors, and a little bit with all the nodes. that's right but you haven't addressed a problem with that yet hehe.. look at human society.. "Who's in charge? The president? The king? The mafia? Microsoft? The people?" a problem.. yes? umm, why do you bring that in? since when are ppl and computer systems the same? 12:20pm computer networks ~= biological systems ~= animal groups ~= human society uh I mean, computer networks *should* be organized like those other things don't you think its a technical issue? yeah, it's technical.. and biological systems have evolved some pretty good techniques ...which computers should use as well, right? Internet is on the right track.. it's decentralized enough to be pretty reliable.. but do you think the military would design something they couldn't control? they would accept it if it fit their use, I guess. But Internet isn't really military. It's pretty hard to control, being so huge.. but the way it's designed, control is still possible. For a democratic society, the network shouldn't really be controlled by anyone, it should just "be there".. ideally, of course :) [openprojects]!clarke.openprojects.net Net break: sterling.openprojects.net carter.openprojects.net (Read error to carter.openprojects.net[209.81.8.249]: Connection reset by peer) the network isn't the point in the long run. It's just a connection. [openprojects]!clarke.openprojects.net Net junction: koontz.openprojects.net carter.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from carter.openprojects.net. [openprojects]!clarke.openprojects.net carter.openprojects.net acknowledged end of net.burst. Off topic: How can I download something to a remote shell using the html protocol? Use lynx Hit 'g' and type the address and it downloads it? 12:30pm actually, go to the page that links what you want to download Then move the cursor to the link you want to get, and hit D oups, it shows the file :) maybe I can save it to disk from the viewer is it an html file? no... Try hitting 'p' for print, then choose 'save to local file' thanks make sure it's not corrupted 12:40pm gdfgdfg Fare corrupted? :) Fare: are you going to implement lambdaND? o you think the military can design at all? smkl: sure! and its name is... Tunes 12:50pm allright, here comes Retro Fare: help w/ CVS! tcn: yes? C-h i d g cvs RET what do I type? 'tcvs commit retro' doesn't work. emacs.. uhh.. uhh.. :) make a directory named retro cd retro/.. done export CVSROOT=:ext:tcn@cvs.tunes.org:/cvs i'm using your 'tcvs' function ok cd retro -:- Tril [dem@sloth.wcug.wwu.edu] has joined #TUNES do I have to 'init' it? [openprojects]!clarke.openprojects.net Net break: king.openprojects.net brin.openprojects.net (Ping timeout) -:- NetSplit: brin.openprojects.net split from king.openprojects.net [01:25pm] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [brin.openprojects.net] cvs -import -m 'Importing Retro into CVS' retro tunes start wait! Tril: what's the vendor tag for tunes? i'm waiting :) [openprojects]!clarke.openprojects.net Net junction: lackey.openprojects.net brin.openprojects.net -:- Netjoined: brin.openprojects.net king.openprojects.net -:- binEng [bineng@dialup55-4-1.swipnet.se] has joined #tunes [openprojects]!clarke.openprojects.net Completed net.burst from brin.openprojects.net. [openprojects]!clarke.openprojects.net brin.openprojects.net acknowledged end of net.burst. well, go for it. tcvs -import -m 'Importing Retro into CVS' retro tunes start what's "retro tunes start" for?? retro is the name of the directory under /cvs/ in which it will be stored tunes is the "vendor tag" start is the "release tag" -:- roswell [Ben@copc303.cns.keele.ac.uk] has joined #Tunes -:- roswell [Ben@copc303.cns.keele.ac.uk] has left #Tunes [] ok I should be in the parent directory, right? no, after all, you must be inside retro/ ok wait! be sure that there be no object file included yeah, I did 'make clean' create a .cvsignore in every directory and add sh patterns for every kind of file to exclude 01:30pm (see the .cvsignore in the tunes/src/ directory) and no *~ and crap yup I think *~ and several others are already included by default By default, the following are ignored already: RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS .make.state .nse_depinfo *~ #* .#* ,* _$* *$ *.old *.bak *.BAK *.orig *.rej .del-* *.a *.olb *.o *.obj *.so *.exe *.Z *.elc *.ln core hehe core ok, so I'll just exclude .rdf, .bin, image, etc.. -:- roswell [Ben@copc303.cns.keele.ac.uk] has joined #Tunes -:- roswell [Ben@copc303.cns.keele.ac.uk] has left #Tunes [] hi, ben. Do we know each other already? Can I leave out the .cvsignore for directories that don't need any other exclusions? [openprojects]!clarke.openprojects.net Net break: tolkien.openprojects.net dickson.openprojects.net (Ping timeout) yes, but if you think things might be added later to the directory, be clairvoyant and have one anyway allright, tcvs import .. what? [openprojects]!clarke.openprojects.net Net junction: varley.openprojects.net dickson.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from dickson.openprojects.net. irc log.. [openprojects]!clarke.openprojects.net dickson.openprojects.net acknowledged end of net.burst. it's going 01:40pm retro/ appeared at the right place! tcn: you gain the right to edit tunes/src/index.phtml for an announce! heh, ok. and don't you remove the UHE! that's like 4 announcements I have to do. we need a separate page for old news. UHE? so that's what that was.. :) we need a "database" system to cope with that, actually! -:- SignOff Tril: #TUNES (Ping timeout for Tril[sloth.wcug.wwu.edu]) tcn: if you don't see a UHE, than you can't remove it. If you see one, don't. what's a UGE? H parse index.phtml to know oh well I'm not removing anything :) -:- Tril [dem@sloth.wcug.wwu.edu] has joined #TUNES and send mail to tunes@tunes.org ! of course :) 01:50pm Fare: up-to-date check failed.. ?? indeed hum. Bad permissions for directory wait try again cvs server: Up-to-date check failed for `src/index.phtml' cvs [server aborted]: correct above errors first! tcn: do you use emacs? yeah, for that I did Tril: are you actually here? I'm not very good at it... did I bungle something? :) in emacs, use info, and the error is explained ok, but what's the CVS command? in emacs do a tcvs update first in emacs you C-h i d g cvs g Trouble 02:00pm [an error occurred while processing this directive] that showed up in my index.phtml oh, UHE.. :) ok, now how do I rebuild index.html on the server? just commit, I'll do it ok done (it is rebuilt nightly, or by running as user tunes: ~/bin/junk.script rebuild_tunes_doc can you su tunes or something like that? never tried it now 393KB of retro stuff at home! $ su tunes Password: Sorry. hum ok, rebuilt 02:10pm (actually, to both tcvs update AND rebuild, it was ~/bin/junk.script update_tunes type "retro" instead of "tunes" ? Well, export :ex:t:fare@cvs.retro.org:/cvs won't work ;-> tcn: maybe mail Tril about the bespin su policy? Fare: oh yeah, I hope people understand :) I'll post specific instructions on the retro page, later. won't NASM 0.97 do? no ouch why not? It needs the newer RDF stuff.. 0.97 had very early, buggy RDF support. the RDF format has changed uh? Isn't RDF the native NASM format??? yeah, they changed it :) 02:20pm fare, rebuild the web page again.. I cleared it up.. tcn: in /Hacking you confuse commercial and proprietary software. Don't. good point that's my job :) hello i'm back Tril!!!! 02:30pm * Tril/#TUNES is reading GEB and AMP err, AMOP tcn: shouldn't it be possible for people to trigger a ~/bin/junk.script update_tunes as tunes? GEB is insanely great. AMOP is quite interesting. s/tcn/Tril/ * binEng/#tunes does not understand a word Tril: maybe have a bibliography.html page? Or rather, a .bib index? what is a bib index hum. Review fodder. Tril: man bibtex ;-> abi, GEB? GEB is insanely great. a standard format for bibliography databases to be used in LaTeX documents abi: you're so great! abi: abi? well, i am the little girl borg with a big brain or #tunes' personal little whore or an infoslut or gaklosmontic or flurivostuginuous or xyvarestoplik abi: tunes? i think tunes is in my head or tunes is a useful nevertheless expedient system. or at http://tunes.org/ or a free reflective computing system lotsa alternatives :) abi, GEB? i guess GEB is _Goedel, Escher, Bach_ by Douglas Hofstadter or insanely great abi, AMOP? well, AMOP is quite interesting. or _The Art of the Metaobject Protocol_, by Kiczales, des Rivieres, and Bobrow * Fare/#Tunes pats abi on the head are those good books? worth buying maybe? bineng, yup GEB, definitely AMOP, at least read it. what is it, then? tcn: still here? AI, mainly.. with lots of stuff about computers, brains, music, math, etc.. tcn: there needs be an INSTALL file to explain the make procedure (even if simple) ok tcn: do you want the automatic tunes build to also make a retro archive? sure What's the title? bineng: the titles are surrounded by _ in abi's response aha, I thought that was the authors 02:40pm "Godel Escher Bach : An Eternal Golden Braid"? bin: http://web.cs.city.ac.uk/pgg/article/Goedel,+Escher,+Bach:+An+Eternal+Golden+Braid ok that's an attempt at a review.. sounds like a quite... vague book Fare: if a tunes member wants 'su' access to the tunes account they can just ask. That way they can modify tunes' crontab. it's not binEng: it's perhaps the bestest book I've ever read. have you ever seen "Not Knot"? no? ok, ok I'll buy it. so witty and so lofty http://www.geom.umn.edu/video/NotKnot/ no, it's neither; it's greater than that I was hoping they had a large mpeg of the video on the page what's to see on the url? s/the/that/ they just have lots of still shots from the video. and they aren't really in order, and they did not put the dialog in. :( tcn: hum, well. Allright, retro is all set.. have fun.. I gotta go tcn: the archive-making is actually done by the build.zsh script Fare: anything else? 02:50pm tcn: so either I hack tunes' build.zsh script to optionally do the same for retro, or you copy the script in retro all these Os dev'ers releasing binaries and no source. What is the world coming to. Anything else I should buy when I'm on it? bineng: well, i heard bill gates' book is awful. so don't buy that :) Tril: tcn releases source, praises go to him! where? cvs? OK Tril: I've heard that too. Wouldn't even think of it :) -:- SignOff tcn: #TUNES (Ping timeout for tcn[cci-209150250087.clarityconnect.net]) Fare:... do you know CLOS? Tril: sure Well, I admit I do not know it as intimately as I should. What is the difference between a slot and a method? I was thinking they should be unified to one construct. i.e. never actually used it to build anything great. a slot is low-level ie.. remove slots altogether a method is higher-level emulate them with methods that's what they do. basically, a slot is explicitly "stored" and a method is explicitly "calculated"? CLOS, as with LISP in general, gives you access to both high-level and low-level things without static compile-time control. Tril: yup. so how would we go about putting them together. one construct which can be stored or calculated, but we don't care You're meant to only access slots through corresponding accessing methods, unless specifically doing low-level stuff then use the method. When you declare a slot, you declare accessing/setting methods. then you are encouraged to never access the slot but through these methods a subclass might remove the slot, but provide the methods sounds complicated. Is it the long-awaited TUNES model? not quite. do you understand my question? now that you have explained proper use? While I agree with LISP for possibility to avoid stupid static checking, I resent its preventing clever static checking What question remains? tcn: what do you choose? quiestion. what IS all this? tcn is gone. oops bineng: CLOS= Common LISP Object System, an OO extension to LISP. well, it's part of the standard, isn't it? fare: you said I should not use the slot. Who should? anyone? 03:00pm Tril, good for what? bineng: if you want to have objects, and write them in the lisp language hmm, yes that of course I have to read Theory of Objects.. maybe you should buy that bin :) fare: now are you gone, too? yes, maybe? http://www.luca.demon.co.uk/TheoryOfObjects.html I'm here just editing junk.script and retro/Makefile fare; I want to modify clos to have no slots at all Tril: excellent book Tril: so how will it ultimately store data??? does it explain abstraction inversion? no, nevermind, I know where that is i have to read that too TOO doesn't explain abstraction inversion. abstraction inversion is explained in the Tunes Glossary ireally? I thought it just referred to hbaker I see, it is in there :) Fare: It will store data entirely through methods and generic functions! does that make sense? Does TOO explain lambda-calculus? bin: I think it does; bin: although if you're interested in lambda-calculus, you might prefer more focused books 03:10pm how will methods store data??? I'm not that interested in it, it's just that I'm not too sure about it You need some mechanism to ultimately associate data to individual objects. fare: a nullary (0 argument) method that returns a constant value is equvialent to a read-only slot Of course, you could use something like hash-tables for that Tril: that's called an accessor method associate to the object by making that method the specialization for that object wrt the generic function if there is a dual 'a->() setter method, you have a r/w function Tril: explain how to implement an object with an actual data field FOO, without a slot mechanism! yes sir! first of all slots will now have to be always initialized. But this is unimportant because we can just say the "secret uninitialized value" is a valid value of the slot. follow? ok I will continue there is a generic function READ for instance it takes 2 arguments, an object and a field Tril: isn't it publicly known as nil in CLOS? (I don't remember) it? the uninitialized value I don't know that. In reading AMOP, they just introduced a subset of CLOS first. I just finished the 1st section and didnt get to actual CLOS yet so anyway, you have an object you want a FOO field for. this object has a READ method, which is a specialization of the generic function READ beware that AMOP is not exactly the same as the CLOS standardized in ANSI Common LISP the CLOS described in AMOP, or the MOP in AMOP? is there a standard MOP? (also, CLOS is NOT an *extension* to ANSI CL, but a full-fledge part of it; modern ANSI CL implementation have CLOS as a primitive) i thought they were still working on that 03:20pm there is NO standard MOP, at least, no full-fledge one. s/implementation/implementations/ the second argument is specialized on the field name use a constant function as the method selected by your object together with FOO whatever that returns is the "value" of the slot then have another method off of WRITE which changes the function attached to READ. then modifying slots is done by changing which methods are attached to the generic function READ and there is no reason to have explicit slots (they will still be implicit, but can be implemented as memoizations of evaluating the generic functions.) Are there good languages for formal specification of progrtamming language semantics?? there have been for syntax for a long time, but I thought semantics was still a tough one >>> Tril [dem@sloth.wcug.wwu.edu] requested PING 923351351 358917 from #TUNES hello? I'm losing connectivity here.. what's the last thing you saw from me? >>> Tril [dem@sloth.wcug.wwu.edu] requested PING 923351458 169973 from #TUNES Tril: maybe the wilma cgi should be on http://lists.tunes.org ? OK, I have ordered those two books now. >>> Tril [dem@sloth.wcug.wwu.edu] requested PING 923351525 95296 from #TUNES Tril: ever read the formal semantics of Scheme? Tril: in the R4RS (might be messier in the R5RS) usually formal semantics are written in plain language? depends 03:30pm Centaur from INRIA is a system in which formal semantics of many languages have been specified in a "natural semantics" formalism i havent seen R4Rs, is it in plain language? Languages.html#Scheme now R5RS maybe the only non-trivial standard language with a complete formal semantics (well, I maybe Clean, Haskell, SML, OCaml, etc, have) so can we write a program to create a Scheme implementation from the spec? :-P Note: The formal semantics section was written in LaTeX which is incompatible with TeXinfo. See the Formal semantics section of the original document from which this was derived. >>> Tril [dem@sloth.wcug.wwu.edu] requested PING 923351884 842836 from #TUNES fare? Tril: a Scheme impl directly from spec would be quite inefficient, unless you have a serious lambda-calc optimizer 03:40pm he's alive Tril: you still need a basic primitive mechanism for "memoizing" stuff, and this mechanism is called: "slots" implicit memoization is not slots there could be but one global object-attached slot but that would suck a lot gimme the semantics of your memoizer -- if it ain't equivalent to slots, then what is it??? memoizing is fully transparent, solely for efficiency. there is no way to tell if a function is memoized hence, slots are fully hidden if you want writeable fields, you do need slots! oh, that. (or something equivalent) Well, can't you Un-attach a method from a generic function? oh, if you only need read-only fields, you don't need them, right! and re-attach a new one? that's what I mean by "writing".. well your "attach/reattach" mechanism *is* slots. No it's not. Because in CLOS, slots are different from methods. That means, you can't change one into the other and not notice. you must use slot notation for slots, method notation for methods, and you can't intermix them. except that it's a Scheme-ish "no separation between functions and data" way, as opposed to a CommonLISP "separation between function and data namespace" way it's the 2-lisp vs 1-lisp dichotomy how does scheme unify functions and data? Read Queinnec's LiSP book about that very enlightening LiSP in Small Pieces Scheme unifies namespace for function and data the namespace. not the implementation in Scheme object systems, functions and data are typically not secluded can the interpreter change my functions into data, and my data into functions, by itself? either if you mean that \x.x+1 != (2,3), then right they are different the CLOS slot mechanism is just another separation between function and data. well, what language uses the mechanism I described? but conceptually, it's deeply the same not that CL allows casting both ways between data and functions Tril: SELF Or the stuff in Cardelli's TOO my quest to compile self for solaris 2 (sunos 5) is made difficult, since now I have a quota of 50 mb self is bloatware nice idea, tho 03:50pm I guess some Scheme Object system or another uses your model afaik, slots and methods in self are still different types... maybe yasos.scm they just can both be in the same place hmm, that sounds contradictory the "object" system described in SICP is just like that, IIRC SICP? Languages.html#SICP another book you oughta buy! definitely! sigh I just added a link to SICP on the web page in cvs, anyway Tril: uh? The crontab is under CVS??? shouldn't be nope it's not there. what makes you think that oh, no. It's just cron :) the crontab is in ~tunes/local, not in cvs. But it is owned by user tunes and group tunes (crontab -l | diff -u - local/crontab) scared me CVSID for cron? yeah cron has its own id :) that's not my cvs 04:00pm * Fare/#Tunes unsighs binEng bineng: Try the library, it's not as expensive * Tril/#TUNES requests all authors to release their books in fulltext online * binEng/#tunes applauds Trils request * Tril/#TUNES covers ears to block out the deafening silence of authors around the world ignoring tril open source :) "but the point of writing books is to make money!" then the point of reading books is to burn money. well, TOOGAM says the purpose of money is to spend on video games. http://toogam.dhs.org hey, dhs works? yeah static DNS at dhs is stable * Fare/#Tunes wonders if there's a dyndns service that could serve his home dynip server excuse me, VIDEO games? Not even *computer* games? they started the next project either homepage redirection or dynamic dns, or both bin: he likes lots of console games and arcade games as well as computer games. video, I think, includes them all no, after all, considering I'm paying on upload traffic, I don't want people to connect to my home :) I doubt. make it an upload only site the snapshot auto-rebuild looks like it works! 04:10pm which is what fine-grain update of a compressed file? in place? nope. Nightly complete rebuild of files. what is new, that we didn't do before? Excluding files that should be excluded from within the build directory it does it for retro, too oh, the symlinks in ~tunes/html are recreated now? oops, doesn't work right. I oughta commit tunes changes first! -:- _QZ [brand@p0wer.qzx.com] has joined #tunes somebody needs to fix clocks in this room. they are still an hour behind. probably in the whole building. hi qz <_QZ> heh <_QZ> hi what's up, _QZ qz hear about freemware? <_QZ> "freemware"? QZ: tcn has released his sources. Did you release yours? http://slashdot.org/articles/99/04/03/2329232.shtml Tril: ntpd? <_QZ> Fare: not until i get 1,500,000 US$ "Bochs Author Launches VMware Clone Project" from Saturday on slashdot unlike Bochs, freemware will be open source yay! 04:20pm QZ: well, if you convince people that your program is worth it, why not? QZ: but I doubt you'll convince anyone without releasing sources *first*. QZ: before you get the dough, try to make yourself a reputation. Once the world recognizes you as a world-class OS designer and implementer, no doubt offers will abound around you to continue in customer-subventionned directions! How can I get the total size of a directory tree under UNIX? du du -s that doesn't seem to work you use df, rm -rf, then df again bin: is du found? yes, but du -s just says: "94005 ." that is the total size in kilobytes, what you asked for. which means that the current directory contains a 94005 kB tree man du for some other dir, cd to it, or type "du -s dirname" oh, so it's in kb's... 04:30pm for size in bytes, try du --bytes well, actually some du's use 512-byte blocks and you need to add a -k option <_QZ> hmm if VMware is to run multiple OSes concurrently then why is there an NT and linux version? ah, features! ;) _QZ, you need a host OS to run Vmware, it isn't an OS itself QZ: because only one OS is native; other ones are half-emulated <_QZ> uhh <_QZ> bochs already does that you mean, DOSEMU does that bochs does *more* <_QZ> no, bochs can run any OS under the native OS but it does it inefficiently <_QZ> so is he just gonna make bochs emulate only system instructions in freemware? something like that. <_QZ> s/in/and call it/ he was already working on making bochs faster by running stuff directly. VMware can't boot openbsd and bochs doesn't assign an IP address to each virtual machine IIUC, VMware doesn't fully emulate the hardware, but relies on modifying key system components in the "emulated" system, too. so you couldn't network between them fare: do you know ultrahle? <_QZ> well i must go out and buy stuff <_QZ> bbl Tril: heard the name. What about it? -:- SignOff binEng: #TUNES (Ping timeout for binEng[dialup55-4-1.swipnet.se]) It's a full-fledged emulator, like bochs, ain't it? no (but for consoles, not PC) ultrahle searches for high level graphics calls and changes them into calls to 3dfx it works because most N64 games are not written in asm, but in C it relies on the address of routines in ROM, then, ain't it? -:- SignOff smkl: #TUNES (sleeping ...) then it translates mips instructions into x86 Executor did m68k->x86 long ago MacOS does m68k->PPC, too. 04:40pm http://www.emuunlim.com/UltraHLE/techinfo.htm : For example there is no boot rom and even boot code in rom images is ignored. Common operating system routines like interrupt adjustments are intercepted and ignored. When dealing with graphics and sound, the abstraction level is high (display lists and sound lists). CPU and DMA emulation is at a lower level, but still uses some tricks to detect common operations and perform them more efficiently. what's /serv2 about? oh crap yeah! libc-level emulation so as to not have to use ROMs! yay! -:- binEng [bineng@dialup54-4-19.swipnet.se] has joined #tunes should I rather be on tunes-all or on all individual lists? Someday I'll get REALLY pissed off at win98 doesn't matter... binEng: I'm very happy at win98. As a matter of fact, I don't use it AT ALL, which makes me *quite* happy. This should make it the 5th day in a row win98 crashes on me. I use it, since it came preinstalled. fare: /serv2/ftp is the ~ftp that came with debian... * Fare/#Tunes remarks that it can be post-deinstalled i was going to move it to /serv, I guess I forgot! we're still using ancient version of 'ls' for ftp connections. Tril: a marketroid would have said "proven", not "ancient". The question is, why do ftp/bin files in debian come dynamically linked, with a ld-linux.so.2 and a libc.so.6 in ~ftp/lib? Tril: because they don't want to spend time recompiling a static version the permissions sure look securer... chmod 111 :-) 555 for pub i'm just going to leave /serv2 there. Along with /old, and /old/etc2, and everything in /old/root! Can I switch to a process that's not a job? 04:50pm bin: not usually. If you used GNU screen when you ran the process, you can get back to it, otherwise probably not bin: nope. Welcome to UNIX. great you can, however, kill the process if it's owned by you. welcome to UNIX! ok... I'll get a little fun out of it at least... there is a new member i haven't talked to him/her much * Tril/#TUNES is away: (afk ) [BX-MsgLog Off] * Fare/#Tunes is away sleep 05:00pm * Tril/#TUNES is back from the dead. Gone 0 hrs 17 min 50 secs for a few 05:20pm [openprojects]Foreign OperKill: NickServ killed wichert (GHOST command used by wichert_) * binEng/#tunes is leaving bye! cya -:- SignOff binEng: #TUNES (Gee, late again) 05:40pm -:- SignOff Fare: #TUNES (Read error to Fare[quatramaran.ens.fr]: Connection reset by peer) -:- Alex_icq_99 [alex_icq_9@sea-ts7-p51.wolfenet.com] has joined #Tunes -:- Alex_icq_99 [alex_icq_9@sea-ts7-p51.wolfenet.com] has left #Tunes [] * Tril/#TUNES is away: (afk) [BX-MsgLog Off] -:- SignOff _QZ: #TUNES (BRiX [http://www.qzx.com/brix] :: reboot) -:- _QZ [brand@p0wer.qzx.com] has joined #tunes <_QZ> ahhhh shit <_QZ> i forgot to update lilo to use my new ram -:- SignOff _QZ: #TUNES (BRiX [http://www.qzx.com/brix] :: reboot) 07:30pm -:- _QZ [brand@p0wer.qzx.com] has joined #tunes [openprojects]!clarke.openprojects.net Net break: koontz.openprojects.net lu.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: sterling.openprojects.net lu.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from lu.openprojects.net. [openprojects]!clarke.openprojects.net lu.openprojects.net acknowledged end of net.burst. <_QZ> Tril: u here? 09:00pm -:- _QZ has changed the topic on channel #tunes to: for sale: k6-200, 32meg, velocity64V 2meg, proaudio spectrum w/ scsi, ehternet, 1.3gig ide, 2.1gig scsi, 4x, monitor/mouse/keyboard, speakers -:- _QZ has changed the topic on channel #tunes to: for sale: k6-200, 32meg, velocity64V 2meg, proaudio spectrum w/ scsi, ehternet, 1.3gig ide, 2.1gig scsi, 4x, monitor/mouse/keyboard, speakers (contact _QZ) -:- _QZ has changed the topic on channel #tunes to: for sale: k6-200, 32meg, velocity64V 2meg, proaudio spectrum w/ scsi, ethernet, 1.3gig ide, 2.1gig scsi, 4x, monitor/mouse/keyboard, speakers (contact _QZ) -:- _QZ has changed the topic on channel #tunes to: computer for sale: http://www.qzx.com/hardware.php3?QZX_MACHINE=forsale (contact _QZ with price) [openprojects]Foreign OperKill: NickServ killed biffhero (GHOST command used by biffhome) [openprojects]Foreign OperKill: NickServ killed biffhero (GHOST command used by biffhero_) [openprojects]!clarke.openprojects.net Net break: forward.openprojects.net bear.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: varley.openprojects.net bear.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from bear.openprojects.net. [openprojects]!clarke.openprojects.net bear.openprojects.net acknowledged end of net.burst. -:- SignOff Tril: #TUNES (Ping timeout for Tril[sloth.wcug.wwu.edu]) [openprojects]Foreign OperKill: AlKader killed aLTeRB0y (bot problems) [openprojects]!clarke.openprojects.net Net break: sterling.openprojects.net lu.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: koontz.openprojects.net lu.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from lu.openprojects.net. [openprojects]!clarke.openprojects.net lu.openprojects.net acknowledged end of net.burst. -:- SignOff _QZ: #TUNES (BRiX [http://www.qzx.com/brix] :: sleep) [openprojects]!clarke.openprojects.net Net break: koontz.openprojects.net lu.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: sterling.openprojects.net lu.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from lu.openprojects.net. [openprojects]!clarke.openprojects.net lu.openprojects.net acknowledged end of net.burst. [openprojects]!clarke.openprojects.net Net break: sterling.openprojects.net lu.openprojects.net (Ping timeout) [openprojects]!clarke.openprojects.net Net junction: koontz.openprojects.net lu.openprojects.net [openprojects]!clarke.openprojects.net Completed net.burst from lu.openprojects.net. [openprojects]!clarke.openprojects.net lu.openprojects.net acknowledged end of net.burst. [openprojects]!clarke.openprojects.net Net break: koontz.openprojects.net carter.openprojects.net (Ping timeout) [msg(TUNES)] newlog 1999.0406 IRC log ended Tue Apr 6 00:00:00 1999