Re: [9fans] A simple experiment
But then I start to wonder why we feel we want to compete with HTTP when it already works, and is still fairly simple. Nothing wrong with improving 9P I suppose, but what's so wrong with HTTP transfers that it warrants changing our beloved resource sharing protocol? Maybe I'm being too practical, and not feeling adventurous or something :-) See the op papers for their justification. Dave Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] A simple experiment
I admit I am surprised by how much a difference there is, it should be just Tread and Rread headers shouldn't it? If you have high latency or high bandwidth, the maximum message size for the 9p messages will be too small to keep the pipe full if you're using read serially. Did you take a look at how much bandwith was actually in use during your tests? -Steve Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] A simple experiment
My apologies, I didn't notice you had used fcp as well. Oops. On Wed, 28 Apr 2010, Tim Newsham wrote: I admit I am surprised by how much a difference there is, it should be just Tread and Rread headers shouldn't it? If you have high latency or high bandwidth, the maximum message size for the 9p messages will be too small to keep the pipe full if you're using read serially. Did you take a look at how much bandwith was actually in use during your tests? -Steve Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] three sets of windows
Sorry for the nitpicking, but isn't the scroll wheel usually button 2? It has been on all of my mice. Right, but left and right click are 1 and 3, no? Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] three sets of windows
I'm curious about the 3-button mouse... (haven't seen one for a long while, but seems like it might be worth getting one.) you might have seen one and not even known it. Many mice with a scroll wheel support pressing the scroll wheel as a 3rd button. its not nearly as pleasant as a real button, but it works. K Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Distributed Pipelines
What about some mounting/binding hackery where you replace /dev/cons so that the original cpu command works? Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Mars Needs Women (was Re: TeX: hurrah!)
Unless you have something constructive to say, rather than make up some fantastic problem in what I say, I'm done here. Yay? Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Spook/Glenda image use restrictions?
So, what's *your* definition of fairness then? I think you confused the phrase fair use, which has a specific legal meaning, with the meaning of the word fair, which is not to be found anywhere in the law. :) Bothering about such nonsense is definitely unfair if you think of all the starving children in the third world. Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Introduction of a New 9fan from Toronto, Canada
Also, Kudos to http://gsoc.cat-v.org/projects/OLP9C/blog/ If there is still any progress towards this, I'm happy to do tests on mine. I've played around a bit with it and gotten a little further. Check out the 9fans archives for my various posts. Basically I have it booting using a forth script from ofw, using a new console, and I have made some progress on getting usb working (it works when I netboot, but not when I boot from local media). Big missing pieces are draw device and networking. Files are at http://www.thenewsh.com/~newsham/x/9/olpc/ http://www.thenewsh.com/~newsham/x/9/olpc-2010feb/ Scott Sullivan Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Man pages for add-ons
enough. We say we deal with it with namespaces, but the bindings on a freshly-installed Plan 9 box already make a much longer list than any $PATH I can imagine! but you don't have a LD_LIBRARY_PATH, a MANPTH, or any number of other search paths. Or symlinks. What is the total length of all of your paths plus symlinks? Also, is the size of the namespace list an issue? I'm thinking over the idea that we're bumping up against the practical limits of hierarchal file systems as a means for organising stuff, but I've no idea what else might work. Google's approach is not to bother sorting things out. Use searches to find data you want. You can still do some sorting in things like gmail, but you don't need to. Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Man pages for add-ons
worth learning, but compiling stuff isn't in the same class, it's a means to an end and more of a chore. I take the perspective that computers should reduce chores as much as they possibly can. ;) You're saying this on the mailing list for an operating system intended to support programmers and programming. -- Alan Perlis Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Man pages for add-ons
Also, is the size of the namespace list an issue? how does history(1) work in the face of a complicated namespace? we get buy now because the rules are pretty simple. Hmm.. your scripts to setup your namespace also exist in the wayback machine, no? Perhaps this is a good argument for http://pdos.csail.mit.edu/~baford/vxa/ ? what google uses for its search tables or custom applications might not be that interesting in the context of a general purpose operating system. I'm just pointing out that searching unorganized files is another alternative. I'm not sold on this approach, myself. - erik Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] quote o' the day
http://code.google.com/p/unix-jun72/source/browse/trunk/src/cmd/cat.s Which returns 1062 lines of HTML+Javascript, completely unreadable in Abaco. The irony is stunning. URL to the raw file; 50% less irony: http://unix-jun72.googlecode.com/svn/trunk/src/cmd/cat.s --lyndon Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] float overflow
But I don't actually have a good answer. It just felt wrong to let the program crash. Wrong answer for many cases. This is like saying you're happy with undetected memory corruption which might change data or break pointers. Would you accept that too? You're being a little extreme. In this particular case, it keeps carrying around infinities. It's not silently reducing it modulo some number or replacing values with other undistinguished values (that does happen with integer arithmetic, though, *guh*!). At the end, you know that you got an answer or that you got an unrepresentable value. Yah, you could have known that with a lot less computation if you stopped earlier, but you're not exactly left computing with garbage. ron Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Man pages for add-ons
i vote for putting the binaries in /$objtype/bin or /$objtype/bin/tex. in the latter case, it would be tex/tex or tex/mf. Ideal most of the time, but I have this gut feeling that one ought to keep utilities distinct if they are not part of the distribution. At minimum they make it easier when rebuilding the system to remember what one has added. It's easy enough to bind /386/pub to /bin, but it would be nice if there was a firm convention; /386/bin is pretty firm. Bind your own directory on /bin with the creation flag set? I don't see why the package system or package author should choose where to put the files if they can let the user choose for themselves. ++L Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] quote o' the day
As a example for our students we use http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob;f=src/cat.c;hb=HEAD versus http://plan9.bell-labs.com/sources/plan9/sys/src/cmd/cat.c In fact, we have both printed on paper hanging from the wall of the corridor near our office. Let's hope they learn. You should also add: http://code.google.com/p/unix-jun72/source/browse/trunk/src/cmd/cat.s Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] more little hardware
However, there is one smart feature that for me would be useful enough that carrying a big chunky thing that lives for a quarter of a day on battery might actually be worth it, and the feature is so damn trivial to do with Plan 9 - setting/unsetting the ring tone to/from silent in a cron job. I would like my ringtone volume to adjust periodically to the ambient noise, which also seems fairly trivial. This is getting a little off-topic, but: http://www.androlib.com/android.application.com-strazz-nightringerfree-qpzD.aspx http://www.androlib.com/android.application.com-levelup-foxyringtrial-qxwE.aspx I imagine these are fairly easy to do in other smart phone platforms, too... -Jack Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] more little hardware
android on top of L4. If only p9 was running on top of L4 :) Get cracking Tim! how hard can it be? :-) Honestly, I think it would loads of fun to do, but I probably wouldn't use it myself once done, I don't have the free time to do it, and I don't know of a way to do it for work... ron Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] more little hardware
Shame it doesn't have a cell phone radio built in, or Ron and I might have just what we needed for the 9phone. 9phone? John Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] more little hardware
9phone? Just an idea to run Plan 9 on phone hardware, son of bitsy. Looks like there's a lot of very cheap Android devices coming from China in the near future, so we may be in luck there. Hmm.. There's the OK-labs android stuff which virtualizes android on top of L4. If only p9 was running on top of L4 :) John Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] plan9 on qemu and 9vx
9vx crashes on me quite often, and qemu doesn't. That's the only reason I use qemu, otherwise I'd also be stuck with 9vx too :-) Are you running the latest from sources, or are you using the prebuilt binary? There are important stability fixes in the sources that aren't in the binary (unless its been updated recently). Hugo Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] 9P on android
Hi Eric! I know this thread is a little old now, but I wanted to take a look into the same thing. 9P on Android!! Its something that could turn out to be an asset to my project here, that I intend to do.. what's the latest update on it? Can Google Android be used as a 9P server too, instead of just a java or php or javascript-based client that connects to a Plan 9 Styx server? There is this project called npfs ( http://sourceforge.net/projects/npfs/ ) but I have never tried running a 9P fileserver and so have not a clear idea on the details here. Npfs is in C. You could make java bindings to it, but it would probably be more work than it's worth. I've been using a few 9p servers from android. I have a java library that does 9p service that I'm using. Here's some code I published that includes the library: http://9fans.net/archive/2009/10/269 Let me know if you have any questions. Rahul Murmuria On Thu, Feb 4, 2010 at 6:53 PM, Eric Van Hensbergen eri...@gmail.com wrote: Is source to your application available anywhere? I'm getting a Android tablet and wanted to do some 9P/Plan9 hacking for it and it sounds like you have a good starting point. -eric On Thu, Aug 27, 2009 at 1:41 PM, David du Colombier 0in...@gmail.com wrote: I used Charles Forsyth's 9P implementation in Java (styx-n-9p) to start a small 9P graphical browser on Android, some weeks ago, and it seems to work very well. -- David du Colombier Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] How 'bout a 9 USER site?
To Tim; Why do you suppose I use a wysiwyg editor to begin with? I don't know squat about writing webpages, also, I don't know how to set up or configure a web server. My webspace is thru Yahoo's paid services, and I chose them because they give you alot for cheap, and they are a no nonsense provider. They don't interfere in anything I choose to do. *shrug* that makes sense I guess, but... If you were to use plan9 for this, it would give you an excuse to learn how to do it in plan9, and along the way to become more familiar and comfortable with plan9. Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] How 'bout a 9 USER site?
$10 and about a half an hour in my WYSIWYG editor and i've got a site up. If you believe in Plan9, why not make the site using plan9? If you can't eat the dogfood, why try to sell it to others? Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Plan9 ezine
On Wed, 17 Feb 2010, EBo wrote: Ethan Grammatikidis eeke...@fastmail.fm said: approach is. Unix was made with the idea of getting away from the overburdened, ridiculously bloated operating systems of the past. Actually, explaining that in an ezine would make a wonderful article. Actually if I had time I think we could post a half dozen or more references which basically explain this as why Plan 9 was designed and developed in the first place. Here's a great example from unix: http://man.cat-v.org/unix-1st/1/cat http://code.google.com/p/unix-jun72/source/browse/trunk/src/cmd/cat.s simple, understandable, useful, composable. EBo -- Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Speed of 9pfuse on Linux
Convince the Linux community to fix ls - I think the kernel supports Plan 9 style dirread now (there were some bug reports against v9fs suggesting a plan 9 style dirread was possible) but tools haven't yet been updated. Any idea how 9 ls does in p9p? -Eric Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] In case anyone worries about block hash collision in venti
Sorry, this is all bunk. You shouldn't be worried about an accidental collision. You should be worried about an intentional collision. Especially if your filesystem stores data that is under the attackers control such as email messages, web page caches, etc. So what you need to analyze isn't how often an accidental collision happens but how hard it is to create an intentional collision. All the popular hash algorithms have been losing ground to attackers lately. can you make this a little more concrete? i'm having trouble understanding how a email that an attacker controls is a problem. assuming the attacker can predict the headers add well enough, this implies that the attacker, given access to your venti, can retrieve an email said attacker sent. where's the problem? i don't see it yet. OK, lets assume that the attacker has the most powerful attack against a hash available in which he can construct a garbage block of data (perhaps with some control of its content) that hashes to a value of his choosing. Now he predicts some data that is likely to be written to your filesystem soon (say a brand knew pull update that you havent pulled yet), makes an email that has a data block in it that collides with that block, sends that email to you. Your filesystem stores it. Later you do a pull and venti notices that you don't have to store one of the blocks because it already has a block stored with that same hash. Now one of your files is corrupt. Now in actuality an attacker probably doesn't have this strong of an attack against your hash right now. But he might have much weaker attacks that he can use creatively to cause some collisions that lead to corruption of data. These attacks would be much harder, but with enough creativity you can do some intersting things. For example, see: http://www.win.tue.nl/hashclash/rogue-ca/ - erik Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] In case anyone worries about block hash collision in venti
http://www.c0t0d0s0.org/archives/6349-Perceived-Risk.html Sorry, this is all bunk. You shouldn't be worried about an accidental collision. You should be worried about an intentional collision. Especially if your filesystem stores data that is under the attackers control such as email messages, web page caches, etc. So what you need to analyze isn't how often an accidental collision happens but how hard it is to create an intentional collision. All the popular hash algorithms have been losing ground to attackers lately. The simple solution is to use a keyed hash rather than an unkeyed one and keep the key secret from potential attackers. Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] vmware fusion 3.0.1 and VESA
hangs the virtual machine. The biggest screen size I can get to, without VESA, is monitor=multisync135 vgasize=1024x768x32 and anything bigger causes kernel panic. See http://9fans.net/archive/2009/08/627 What monitor/vgasize combination works for you, preferably bigger one than above? I have used 1280x1024 and 1680x1050 a lot. You may have to add lines to your vga db. Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Coraid funded
Oh, and by the way, we need more people. Send resumes please. Any of you google guys board with a huge company yet? :) Congratulations! I'm somewhat interested in what you guys are doing, but also on the opposite side of the country and unable to relocate. Do you guys ever farm out work or hire off-site? I've also been busy working on my own thing using 9p to allow sharing of resources between some of the commodity operating systems. For proof-of-concept I've done audio sharing between windows, android and linux. It's all prototype stuff at the moment but I'm working on putting some polish on it. I'm more of a technical person than a business person and have been trying to learn more about next steps. If you have any great advice for tech people working on a software startup, I'd love to hear some. Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Coraid funded
oops, that wasnt supposed to go to 9fans.. sorry guys. On Sat, 30 Jan 2010, Tim Newsham wrote: Oh, and by the way, we need more people. Send resumes please. Any of you google guys board with a huge company yet? :) Congratulations! I'm somewhat interested in what you guys are doing, Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Shall we fix the use of Up/Dn arrows?
1. We use Lf/Rt arrows to move the cursor, don't we? Then use Up/Dn to do the same kind of task is symmetric, and thus more reasonable. Wasn't this a concession? That slope is pretty slippery, isn't it? DAY Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] find command reloaded
I have never felt the need for tools like these, I use the mouse to edit the text on the screen (changing history), I then double click to the right of the line and click send which resubmits the text. The idea that any text on the screen may be used to form a new command is very powerful, but takes some getting used to. the command works with the grain here. It brings text on the screen that may be further away closer. -Steve Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Are we ready for DNSSEC ?
dns is a non-issue if the rest of ssl is working. dns is irrelevant if it isn't. Except when SSL has chinks in its armor. Like incidents of certificate authorities being convinced to give out certs for domains that don't belong to the requestor. Or bugs in SSL cert validation that compares names only up to the NUL character and certificate authorities willing to make CERTs with NULs in the cert name. Or certificate authorities giving out unqalified local certificates that can be repurposed as non-local certs. Or simply the fact that the majority of the SSL using population has been trained to disreguard SSL mismatches by clicking through any dialog box that appears while browsing. At any rate, it would be nice having a certificate system that was more closely tied to the DNS heirarchy... russ Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Are we ready for DNSSEC ?
you are changing the topic. your original mail claimed to be worried about man-in-the-middle attacks. that means the attacker can respond to arbitrary traffic; the fact that you can verify the dns response is irrelevant if when you try to connect to the correct ip address the attacker handles it and you don't take advantage of ssl certificates to catch that. True, unless DNS provides a certificate that is bound to the session in some way. russ Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] find command reloaded
the only time I ever wanted this kind of feature is for grepping through sourcecode. ron's modified grep is now installed on my boxes; there is a precident (diff -r). If you're like me, you often have a bunch of object files in your source tree and you usually want to enumerate files, filter out some of the names and then grep the resulting list... ie. recursive grep will grep a bunch of files you dont want to grep... something like: grep -n foo `{f|grep '\.c'} will go much faster (assuming /bin/f enumerates filenames). -Steve Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Now with authentication
The OpenSSL DLL is necessary to run the executable. Off hand I couldnt tell you why you got the botch message. If you could provide more details on what traffic you see, or a way to reproduce, I can look into it. You just need to have the proper openssl DLL in your path. The windows installer copies it into your windows system32 directory. You don't really need the rest of the stuff that it puts into c:\openssl, so it doesnt matter where you have it. On Fri, Jan 22, 2010 at 12:51 PM, Akshat Kumar aku...@mail.nanosouffle.netwrote: Hi Newsham, Is OpenSSL necessary for authenticating to 9P servers? Currently, I get a failed to mount ...: 22 botch error when trying to authenticate. Also, is it necessary to compile ninefs with OpenSSL, or will the pre-compiled binary find and use c:\openssl if it's there? Thanks, ak On Thu, Jan 21, 2010 at 1:50 PM, Tim Newsham tim.news...@gmail.com wrote: The Jan5 binaries were broken, thanks for those who reported the problem. I've uploaded new binaries and updated the README to include instructions on installing OpenSSL binaries. On Jan 5, 10:16 am, Tim Newsham tim.news...@gmail.com wrote: I added p9sk1/p9any authentication support to npfs and added support for authentication to ninefs. The README has been updated with new build instructions (OpenSSL is now a dependency) and an updated binary has been put in the downloads area. -- Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Now with authentication
The Jan5 binaries were broken, thanks for those who reported the problem. I've uploaded new binaries and updated the README to include instructions on installing OpenSSL binaries. On Jan 5, 10:16 am, Tim Newsham tim.news...@gmail.com wrote: I added p9sk1/p9any authentication support to npfs and added support for authentication to ninefs. The README has been updated with new build instructions (OpenSSL is now a dependency) and an updated binary has been put in the downloads area.
Re: [9fans] Independent study topic
Hello Justin You might pick-up something interesting from [0]. Also general advice: use the system, find out what you like an don't like, pick something about the system you wish was different and make it so. Make sure its something you actually want to use. If its useful to you, chance are it is useful and interesting to someone else, too. Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] dataflow programming from shell interpreter
This is always somthing I have wanted to do for video stream processing, writeing a limited proceedural language which can be refactored as a dataflow graph for efficent implementation (of video processing). I'm sure you could do some stuff, but lots of interesting video and audio processing involves a graph thats not linear, sometimes even with cycles in it. There are lots of systems out there that let you hook up arbitrary graphs of video or audio processing modules. Many of em are gui based, but some are command language based. -Steve Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
[9fans] more videos
I put up some videos demonstrating Acme: http://thenewsh.blogspot.com/2010/01/acme-environment-in-plan9.html There are some other videos already on youtube, too. Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Plan 9 on L4
Any reason why they prefer to rewrite large portions of code to use gcc rather than making use of different toolchains for the L4 kernel and the plan9 subsystems? It seems like the latter would be a lot less effort and result in a system that was easier to track the original sources going forward. On Wed, Jan 6, 2010 at 10:14 PM, YAMANASHI Takeshi 9.na...@gmail.comwrote: As I heard, the largest work in porting Plan 9 to L4 enviroment is rewriting Plan 9's C code base to be compiled on gcc as L4 uses the compiler for its development. The developers of LP49 themselves could chime in, but here is the link to the project. You might be surprised how much of Plan 9 has been rewritten in LP49. http://research.nii.ac.jp/H2O/LP49/LP49-e.html -- On Thu, Jan 7, 2010 at 3:48 PM, David Leimbach leim...@gmail.com wrote: Recently found a paper (again) documenting some work going on here. I've lately sort of had a resurrected interest in OKL4, and I'm always interested in Plan 9 stuff, so I was wondering what's happened here or if there's any code to show for it. It seems like an effort that would take more than one person, but I'm spending some of my spare time investigating L4 a little more in depth than I had previously, and trying to understand what it would take to port Plan 9 to this platform. I'm not announcing this as a project at this point, as I don't know what the heck kind of time I'm going to have. Dave -- YAMANASHI Takeshi -- Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Plan 9 on L4
I might be having a hard time with the Japanese, but my impression is that the plan 9 processes are now also L4 userspace servers. This makes me think they're not running a paravirtualized Plan 9 on L4, but put L4 INTO Plan 9. The paper I found online said they're currently implementing plan9 as a single server and eventually plan to split it off into multiple servers. Either way, the plan 9 services sit on top of L4. I still dont understand why they necessarily have to be built with the same toolchain that builds the L4 kernel itself. Even if its embedded into the kernel as a root server, shouldn't it be possible to compile it separately and embed the resulting binary? fwiw I haven't peekd at the code. Dave Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] parallels
The thing that none of the VM monitors seem to offer (though I'd love to be proven wrong) is debugging tools for the guest operating systems. This is odd, as it was one of the major uses of VM/370. So if a guest kernel goes off into space, the VM monitor shuts down the virtual machine or resets it, but provides no means to find out what happened, though it's in a perfect position to easily do so. There's a debugger built into qemu. VMWare lets you attach to it using the gdb protocol to debug the system. Is this what you had in mind? Or something more integrated and possibly intrusive to the guest? Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] parallels
bochs offers you that to some extent. Bochs not only has a built in debugger, but it has a mechanism to define new CPU instrumentations (via bochs source code, recompile required) that you can enable and disable from the debugger. Very cool feature if you need to investigate some code or some performance issue. Hoewever bochs is quite slow and supports some old ia32 system. Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] 9vx access from Drawterm/cpu: patch and how-to
of cpu.c makes use of the kernel cap device via a call to the auth_chuid function, and the cap device is not available in 9vx, probably due to the single-user nature of it as a hosted environment. I dont understand. Why can't the capability device be put directly into 9vx? Doesn't the 9vx kernel have its own notion of user id for each of the processes it hosts independant of the underlying unix user id? I thought only select parts of the system such as the unix file server cared about the unix user id. ~Mycroftiv 9gridchan.org Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
[9fans] breadth first walking
someone mentioned in the thread that it would be nice to be able to walk directory trees in breadth-first manner: http://www.thenewsh.com/~newsham/x/9/walk.c Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] JVC Netbook works fine, except PCMCIA
The following resolutions work with the VESA driver: 800x600x32 800x600x16 800x600x8 I tried using 1024x600x8 but it didn't work, rio complains about something with the vgadb. Is there a way how I can nevertheless use this resolution? Try editing /lib/vgadb and adding xga=1024x600 Best regards, F. Caulier Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] du and find
It is suggested to use du -a | awk '{print $2}' instead of find. But what if filename contains spaces? For example if file is named foo bar then awk will output foo only. What about du -a | sed 's/^[0-9]*tab//g' no loss on spaces in filenames. no loss on tabs in filenames. Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] small doc bug
looks correct with man -P. i believe troff -N is not rendering this indeed. quite pretty with man -P. I also noticed that http://plan9.bell-labs.com/magic/man2html/6/authsrv is rendered more-or-less correctly (spacing could be nicer, but thats hardly worth complaining about). so just the text rendered pages and uriel's website have the rendering issue. - erik Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] plan9port, drawterm cvs deprecated - use mercurial
Sorry for the inconvenience. Thank you for all the effort! Russ Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] 9p resource sharing [was: Scanners]
we found it's a lot easier doing it like in the octopus. we'll be happy to discuss any of it. Did you find 9p adequate for the resource sharing you did or did you have to alter the protocol or augment it with other protocols? Did you use the normal plan9 authentication mechanisms or did you explore other authentication alternatives? Were all machines in a shared authentication domain or did you support multiple authentication domains? What did you do about machine or resource discovery? Is there a mechanism to discover when machines or resources are added or removed from the network? What papers do you recommend looking at? Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] ideas for helpful system io functions
I can see two possible solutions for this, both of which would be useful in my opinion: - an unread function, like ungetc, which allows a program to put back some data that was already read to the OS stdin buffer (not the stdio buffer). This might be problematic if there is a limit to the size of the buffers. Wouldn't it be a lot easier to change the convention of the program you're forking and execing to take 1) a buffer of data (passed via cmd line, or fd, or whatever) and 2) the fd with the unconsumed part of the data? The only data that would have to be copied would be the preconsumed data that you would have wanted to unget. Sam Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] ideas for helpful system io functions
I can see two possible solutions for this, both of which would be useful in my opinion: - an unread function, like ungetc, which allows a program to put back some data that was already read to the OS stdin buffer (not the stdio buffer). This might be problematic if there is a limit to the size of the buffers. Wouldn't it be a lot easier to change the convention of the program you're forking and execing to take 1) a buffer of data (passed via cmd line, or fd, or whatever) and 2) the fd with the unconsumed part of the data? The only data that would have to be copied would be the preconsumed data that you would have wanted to unget. ps. if you wanted to hide this ugliness of passing a buffer and fd to a child process instead of just passing an fd, you could still solve it in userland without a syscall. Write a library that does buffered IO. Include unget() if you like. Write the library in a way that you can initialize it after a fork/exec to pick up state from the parent (ie. by taking two fds, reading the buffer from the first, and continuing on with the 2nd when it is exhausted). Is there much benefit in doing this in the kernel instead? Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
[9fans] 9p resource sharing [was: Scanners]
it isn't plumbing, but export/import, and it's useful. i had a usable sound system on my r3000 indigo, but my PC had none. on the pc, i imported the indigo's /dev and played sounds that way. i could imagine uses even a continent away (alarm system imports remote /dev and announces trouble). next door might be more useful. I personally would like to see a lot more in the way of remote resource access using 9p and I'm working towards that by writing software for windows, linux and android. Its a slightly different use case than typical plan9 setup: ie my terminal has some devices and I push them to a cpu server so programs run there can access local resources. Instead you have resources on several machines that you own (and who doesnt own several machines these days, heck even my non-tech relatives do) and you import them to use them as necessary. I've been playing around with sound a lot as a starting point but I am hoping to move on to other devices soon. In my current prototypes I can import sound devices from (android, windows, linux oss) onto another (android, windows, linux oss) machine and either replace the current audio subsystem or offer the remote audio as an additional audio device. Why should all of your machines need a dvd drive, sound card, sdcard reader, etc.? Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] 9p resource sharing [was: Scanners]
or the cannonical example, a hard drive. I intentionally avoided this one because two things that modern OSs do know how to share (at least a little) are: - filesystems - printers Its just all the other stuff that they haven bothered to tackle yet, except in very specific applications (ie. remote desktop access). - erik Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] 9p resource sharing [was: Scanners]
I've been playing around with sound a lot as a starting point but I am hoping to move on to other devices soon. Great! Do you have any (maybe usable) code yet ? I have lots of code, but its unpublished proprietary at this point (aside from the bits that I've released on this mailing list). cu Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] usb disks in plan9
Usb disks don't know how to handle partitions. You have to use partfs IIRC or some other tool to partition it. Hmm.. Here is what I would like to do. I would like to put a FAT32 and a fossil (or kfs) filesystem on a usb flash drive and use the FAT32 for botting and the fossil as my root filesystem. Lets say that the usb disk did support partitioning, or I used the entire usb disk as a single filesystem, is there any way to specify to mount /srv/usb's sdU4.0/data (or whatever name) as root? Or would I have to hack a mount of /srv/usb into /sys/src/9/boot and specify something like local!/dev/sdU4.0/data? If I use something like partfs, I would have to hack this into the /sys/src/9/boot stuff, right? Is there any long term desire to allow booting off of USB drives? Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] usb disks in plan9
i haven't written a sdorion 9load driver, so i cheat in a similar way. replace sda0 with the appropriate. I'm not using 9load, anyway. This machine has OFW and I'm using a small forth script in place of 9load. - erik Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] usb disks in plan9
I'm talking to nemo about what we should do to partition USB devices. fwiw, I'm using the attached patch to /sys/src/9/pc/boot to mount my usb drive as root partition, now. The rootspec I'm using is local!/dev/sdXX/fossil. It relies on adding yet more binaries to the ramdisk: partfs, fdisk and prep. It calls partfs to get a partitionable device, then runs fdisk and prep to read the existing partitions and write them back, forcing partfs to see them. Finally I had to patch the local connect method to not replace the existing /dev, since thats where /dev/sdXX appears. oh yah, my simple hack just guesses two possible locations for the USB disk to appear... Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.combinary files boot/libboot.a8 bootpatch/libboot.a8 differ diff -c boot/boot.c bootpatch/boot.c boot/boot.c:306,313 - bootpatch/boot.c:306,318 static char usbd[] = /boot/usbd; if(access(#u/usb/ctl, 0) = 0 bind(#u, /dev, MAFTER) = 0 - access(usbd, AEXIST) = 0) + access(usbd, AEXIST) = 0) { run(usbd, nil); + run(/boot/partfs, /dev/sdU4.0/data, nil); // XXX guessing dev here + run(/boot/partfs, /dev/sdU5.0/data, nil); // XXX guessing dev here + run(/boot/fdisk, -w, /dev/sdXX/data, nil); + run(/boot/prep, -w, /dev/sdXX/plan9, nil); + } } static void diff -c boot/local.c bootpatch/local.c boot/local.c:260,266 - bootpatch/local.c:260,266 { int fd; - if(bind(#c, /dev, MREPL) 0) + if(bind(#c, /dev, MAFTER) 0) fatal(bind #c); if(bind(#p, /proc, MREPL) 0) fatal(bind #p);
[9fans] usb disks in plan9
I'm trying to partition a usb thumb drive in plan9: % disk/fdisk -baw /dev/sdU4.0/data adding part failed: plan9: permission denied ?warning: partitions could not be updated in devsd I get similar issues when trying to use prep. If I rerun fdisk or prep it seems to read the previously configured data back, and other systems (ie. winxp) see the partitions I edited in plan9, but my /dev/sdU4.0 directory does not get plan9 or other partition files (just ctl, data, raw). What gives? Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
[9fans] geode / geode companion CS5536
) [size=4K] Capabilities: access denied Kernel driver in use: ohci_hcd Kernel modules: ohci-hcd 00: 22 10 94 20 06 00 30 02 02 10 03 0c 00 00 00 00 10: 00 a0 01 fe 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 22 10 94 20 30: 00 00 00 00 40 00 00 00 00 00 00 00 0a 04 00 00 00:0f.5 USB Controller [0c03]: Advanced Micro Devices [AMD] CS5536 [Geode companion] EHC [1022:2095] (rev 02) (prog-if 20 [EHCI]) Subsystem: Advanced Micro Devices [AMD] CS5536 [Geode companion] EHC [1022:2095] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium TAbort- TAbort- MAbort- SERR- PERR- INTx- Latency: 0 Interrupt: pin D routed to IRQ 10 Region 0: Memory at fe01b000 (32-bit, non-prefetchable) [size=4K] Capabilities: access denied Kernel driver in use: ehci_hcd Kernel modules: ehci-hcd 00: 22 10 95 20 06 00 30 02 02 20 03 0c 00 00 00 00 10: 00 b0 01 fe 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 22 10 95 20 30: 00 00 00 00 40 00 00 00 00 00 00 00 0a 04 00 00 Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] MIPS LSB compiler
* A ducktyping of sorts with interfaces and such. On the surface it just saves you a bunch of extends XXX, but it actually seems to bridge the gap between dynamically typed world and a statically typed one to an extent that makes me rethink whether static typed languages are as devoid of fun as a Principia Mathematica is. The type system is more restrictive than duck typing. Thats sort of the point of any static type system. But there are useful constructs that you can express in a dynamically typed language or a language with a more complex type system that you cannot express in go. A good, simple example is map. Go would need generics to support it. Roman. Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] MIPS LSB compiler
with a more complex type system that you cannot express in go. A good, simple example is map. Go would need generics to support it. $GOOROOT/src/pkg/bytes/bytes.go:248 func ToLower(s []byte) []byte { return Map(unicode.ToLower, s) } I should have been more clear. I mean a generic map of over a container of an arbitrary type. You can definitely define maps over specific types. The bytes.Map function maps a function from int to int over an array (or slice? I'm not yet that familiar with go) of bytes. If you wanted a function that maps a function from int to float over an array of ints you would need to write another function. Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Practical issue on using rc shell
Hi, I'm new to plan9 from user space. I've started using rc shell for scripts and, for daily use, I would like to solve a problem. I see that rc isn't built with readline or similar. So, do you use some alternative? Or do you think I can live without it? For scripting it shouldn't be an issue. For interactive use it can be a pain if you are using a normal terminal environment. In plan9 you'd usually run rc in a rio window or in acme where the environment lets you edit and reuse commands from the scrollback. Thanks, Maurício Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
[9fans] Booting plan9 kernel on olpc
I've played with booting the plan9 kernel on OLPC a little and simplified the boot process and the kernel changes needed. Here are the patches and instructions: http://www.thenewsh.com/~newsham/x/9/olpc/ And a question -- is it possible to use a usb key as a root filesystem? What's involved? Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Issue 9 ;-)
http://code.google.com/p/go/issues/detail?id=9 more entertaining (imo): http://code.google.com/p/go/source/list?r=0be68ce1d89d9b633329f806a6d074514a563b83 see names and dates on first four commits. Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
[9fans] usbd and boot
How does usbd interact with the boot process? I noticed that #u gets mounted on /dev and usbd gets run by the boot process. I don't see /srv/usb getting mounted on /dev (thats where the devices appear, right?). If I plug in a usb keyboard during boot, would I get to use it? If so, how does it get accessed? If I plug in a usb disk, can I use it as the root filesystem? If so, what kind of root spec would I need to use? Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
[9fans] Announcing ninefs for win32
I'd like to announce ninefs for win32. This is a Dokan based 9p filesystem driver for win32 systems built with npfs. This is an early release intended for the bolder user. I've set up a mailing list for the project so please direct feedback there. http://code.google.com/p/ninefs/ http://ninefs.googlecode.com/files/README.txt http://groups.google.com/group/ninefs Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
Re: [9fans] Announcing ninefs for win32
I just downloaded the binaries and tried: ninefs -cDd sources.lsub.org z This resulted in: Tversion tag 65535 msize 8216 version '9P2000.u' Rversion tag 65535 msize 8216 version '9P2000' Tattach tag 0 fid 0 afid -1 uname nobody aname Rattach tag 0 qid (0002 5cabc3 'd') Dokan: debug mode on Dokan: use stderr Dokan Error: CreatFile Failed : 2 dokan main: fffd What am I doing wrong? :( This is prob best done on the ninefs mailing list to save the 9fans who aren't interested in windows stuff. Most likely when you ran dokan /i a (if you did, at all) it failed. If you're running on windows xp x64, you will need a dokan.sys that is compiled for your platform. The prebuilt one is for the 32-bit kernel. Tim Newsham | www.thenewsh.com/~newsham | thenewsh.blogspot.com
[9fans] npfs list dead?
Hi, I'm doing some work w/ npfs. There's a mailing list but it appears dead. Is anyone actively using and maintaining npfs? Is the mailing list the appropriate forum to discuss bugs and fixes? Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] sed question (OT) (OT) (OT)
Call me a Dinosaur, but - so long as it is ASCII or EBCDIC it is relatively trivial to implement that in hardware AND NOT have the issue of altering any but the first two words AND NOT have issues where there is only one word or a numeral or punctuation or hidden/control character rather than alpha. You should have added an extra (OT) to the subject line. I'm adding a few more just to be fair. Could have built it in less time than this thread has been running... then what have you been doing all this time? Bill Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] android hacking?
We're currently designing a new (9p-based) interface for these kind of vector devices @gpm-dev. What's gpm-dev? Can you provide more info? cu Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] Two suggestions for ape (was: egrep for Plan9)
Wasn't there an OS kit or something like that with drivers derived from Linux one's at some moment? Found this some years ago when I was searching doc. about OSes---I seem to remember this was when looking for Mach (!) documentation, so could be CMU. yes, utah (also did mach work) made oskit: http://www.cs.utah.edu/flux/oskit/ the purpose of which was to borrow some of the hard parts to make writing research OSes easier. Thierry Laronde (Alceste) tlaronde +AT+ polynum +dot+ com http://www.kergis.com/ Tim Newsham http://www.thenewsh.com/~newsham/
[9fans] olpc + plan9
How do I get in touch with whoever worked on the OLP9C project? Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] Two suggestions for ape (was: egrep for Plan9)
Jason: I understand your reasoning. However if two small fixes would unblock execution of many projects' configure on Plan9 IMHO they are worth making; they won't break anything. What if you just made a command gnuconfig which rewrote the configure script, fixing the minor defects, and ran the result? Or bound in a dummy ls and egrep before executing the real configure script? Lets keep the infection contained. Thanks. Dmitry Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] Barrelfish
it sounds like the kernel (L4-like, supposedly tuned to the specific hardware) and the monitor (userland, portable) are shared, from the paper. I'm confused what you mean by shared. ugh, I completely botched that.. I meant replicated not shared. -eric Tim Newsham http://www.thenewsh.com/~newsham/
[9fans] Barrelfish
Rethinking multi-core systems as distributed heterogeneous systems. Thoughts? http://www.sigops.org/sosp/sosp09/papers/baumann-sosp09.pdf Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] Barrelfish
Somehow this feels related to the work that came out of Berkeley a year or so ago. I'm still not convinced what is the benefits of multiple kernels. If you are managing a couple of 100s of cores a single kernel would do just fine, once the industry is ready for a couple dozen of thousands PUs -- the kernel is most likely to be dispensed with anyway. I'm not familiar with the berkeley work. Did you find any ideas there particularly engaging? I'm still digesting it. My first thoughts were that if my pc is a distributed heterogeneous computer, what lessons it can borrow from earlier work on distributed heterogeneous computing (ie. plan9). I found the discussion on cache coherency, message passing and optimization to be enlightening. The fact that you may want to organize your core OS quite a bit differently depending on which model cpus in the same family you use is kind of scary. The mention that ... the overhead of cache coherence restricts the ability to scale up to even 80 cores is also eye openeing. If we're at aprox 8 cores today, thats only 5 yrs away (if we double cores every 1.5 yrs). Roman. Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] android hacking?
What would be amazing would be attaching it via USB and importing its /net (or some other way of turning it into a 3G modem for plan9) Is there more about it than compiling inferno and simply exporting that device? That would probably be enough, but keep in mind that while you have linux, you dont have X. so you'd have to deal with inferno's graphics some other way (or just go text mode?) Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] android hacking?
i think the idea of getting at the various devices these things export would be great. this was part of the GSoC proposal for getting drawterm on the iPhone/iPod Touch. doing it for android would be just as neat (especially personally, since Verizon has said they're getting android phones soon). in either case, it should be possible to do the export in the proper environment without too much hassle. for android, i'd start by figuring out which of the java styx libraries use the subset closest to what android offers. The java subset is fairly large. I havent tried the existing styx libs much except to check out that the com.vitanuova.styx client code works (I dont think it supports server stuff though). I have my own server 9p code right now so it would be fairly easy for me to export a simple device like gps or the accelerometer in pure java. Drawterm would be a lot more work. ps: running native C code on the existing phones is fairly easy to do, although its probably not really android and may not be guaranteed to work on future phones. Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] android hacking?
Is the usb port speaking the standard usb storage language? I dont really know the details. If you plug it in you can talk to it over a debugging interface over the usb (adb). But you can also set it up so that the sdcard in the phone appears to be a drive over the usb port. The usb connector on the ADP1/htc dream/t-mobile g1 also has some extra pins that have a serial port thats usually used for a kernel debugger. You can turn that off and use it as another tty device. Some model phones by other manufacturers dont have this serial port. Mostly only my phone I talk to it using the adb link and over tcp/ip to the wifi. Tim Newsham http://www.thenewsh.com/~newsham/
[9fans] Sensor filesystem for android
I put together a small example 9p server for android that streams data from the orientation sensor: http://www.thenewsh.com/~newsham/x/droid/SensorFS-debug.apk prebuilt apk file http://www.thenewsh.com/~newsham/x/droid/SensorFS.tgz wrapped up sources and built classes http://www.thenewsh.com/~newsham/x/droid/SensorFS/ browsable sources I'm not really using this for anything other than an exercise in 9p and android coding, so its not well tested or documented at the moment. If people are interested in this or other functionality I can put some more serious effort into maintaining it. Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] IWP9 hack session
Me, I see us sitting in the hotel lobby one evening surrounded by pitchers and wires and boards and maybe soldering irons. I already almost got thrown out a nice hotel for doing that sort of thing ... that's all it takes nowadays I guess. http://www.thenewsh.com/~newsham/paranoia.jpg ron Tim Newsham http://www.thenewsh.com/~newsham/
[9fans] android hacking?
Anyone playing with android phones? There's a lot of devices on it that might be interesting to export. Would be pretty easy to make a 9p server that gives you access to the GPS positioning, the accelerometer, or processed position (compass, pitch, roll), etc.. Are any of these of interest to people? Any other features of interest that I didnt mention? Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] inferno from hg does not build out of the box
It's a bit sad when a modern OS (inferno) from one of the best labs in the world does not build (from hg), due to a error that could be avoided with a tiny patch. You are losing new users because of this (or aggrevating them). Why not commit the list of empty directories and add mkdir -p `empty-dirs` to makemk.sh or something like that? It's a 1 minute fix, and could be removed if anyone fixes hg. Also there is a standard utility uname which could be used to write a short configure script (for unix; would mean plan 9!). I'm happy to do this if someone is willing to review and commit it. committing a .emptydir file in each directory would be easier. Sam Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] 9vx as a perfect proto environment
I'm using 9vx as my primary development platform, and even though it's fantastic to have a Plan 9 environment so easily setup and integrated to the host OS, it has its limits. For example it will crash if your badly written program tries to read on a hanged up connection, or it will freeze if you run a buggy program in acid with truss. is this with the latest 9vx or the bin snapshot? I know the snapshot didnt ignore SIGPIPE which would cause the whole vm to shutdown when writing to a socket that shut down. However, that should be fixed in the latest sources. Mathieu Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] linux stats in last year from linuxcon
this was a direct response to ast many years ago. it was hard to dig up when i did so in 2006. perhaps someone has a better link: - Microkernels are the way to go False unless your only goal is to get papers published. Plan 9's kernel is a fraction of the size of any microkernel we know and offers more functionality and comparable or often better performance. not intending to pour gas on the flames, but there have been a number of ukernels since that are a fraction of the size of p9 (and less functional, by design). Some with very good performance. - erik Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] linux stats in last year from linuxcon
not intending to pour gas on the flames, but there have been a number of ukernels since that are a fraction of the size of p9 (and less functional, by design). Some with very good performance. i'm not sure what good performance means. is there enough functionality in current µkernels to even benchmark real work against plan 9? you can microbenchmark the ukernel itself and run macrobenchmarks on operating systems sitting atop the ukernel. btw, there's even been one ukernel recently that has a formal proof of correctness (against its specification and some containment properties). Roughly a 10 man-year effort for about 7.5kloc. Not something you'd likely be able to do yet against something linux- sized. the original problem posed was the scalability of linux development. how does l4 help with linux' development problems? no idea. - erik Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] linux stats in last year from linuxcon
i'm not clear on what all functional correctness entails. can a functionally correct program suffer from deadlock or livelock? Yes. It depends on if that property was stated as part of the specification of what correctness means. That is definitely something that can be stated and proven. I'm not sure if their spec stated that correctness means no deadlocks or if they explicitely stated that as a property and then proved it. The spec is publically available but I havent studied it. The proofs are not yet available. There are some papers that talk about some of what they have done. - erik Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] linux stats in last year from linuxcon
i'm not clear on what all functional correctness entails. can I thought I'd go into a little more detail about what they did since my last email probably doesnt clear it up very much. They wrote a model of their operating system in a high level language (Haskell). They then translated the model into a language suitable for theorem proving (Isabelle/HOL) and they proved certain properties about the model. I don't know specifics on what all was proven, but they did mention that they processes are properly isolated (one process cannot write to the memory of another process except through certain specific and controlled message passing primitives). They then manually translated the spec into C and made proofs that the model and the C implementation behave the same way. There were no proofs about the behavior of the C compiler or the underlying cpu. So there should be no defects relating to the properties they proved unless they are hardware or compiler bugs. There can still be bugs for properties which they did not prove. Also the proof is over the microkernel only, its obviously still possible to write an OS on top of the kernel that has its own bugs. You can find out a lot more from their papers and websites: http://ertos.nicta.com.au/research/sel4/ http://ertos.nicta.com.au/research/l4.verified/ http://ertos.nicta.com.au/research/l4.verified/proof.pml Tim Newsham http://www.thenewsh.com/~newsham/
[9fans] v9fs on android
Just built the kernel modules and tested them out, seems to work fine. For those who don't want to build their own, here are the modules I built for the 2.6.27 kernel: http://www.thenewsh.com/~newsham/x/9/9p.ko http://www.thenewsh.com/~newsham/x/9/9pnet.ko To use do something like: devbox$ adb shell android# mount -o remount,rw /system android# ^D devbox$ adb push 9p*.ko /system/lib/modules devbox$ adb shell android# insmod /system/lib/modules/9pnet.ko android# insmod /system/lib/modules/9p.ko android# mkdir /data/9 android# mount -t 9p trans=tcp,uname=yourname,port=1234 1.2.3.4 /data/9 android# ls /data/9 Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] Netbooting from Qemu
store located on kfs. Please share with the list if you are aware, or use a different method to store your nvram data, either in virtualized machines or physical hardware. Preferably without the use of disk/floppy storage. If its an emulated environment, just put it on an emulated disk. Its really not much different than an emulated nvram. Jerome Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] nice quote
anyone written any software recently? some prototypes for audio servers over 9p for and shim audio device drivers for various platforms to redirect local audio device requests to audio servers... Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] nice quote
I would like to see Haskell fill C's niche: it's close to C's execution speed now, and pure functions and a terse style gives real advantages in coding speed (higher-order functions abstract common patterns without tedious framework implementations), maintainability (typeclasses of parameters in utility functions means you don't write different implementations of the same function for different types, yet preserve type compatibility and checking), and reliability (pure functions don't depend on state, so have fewer moving parts to go wrong). Do you know of any garbage collectors written in Haskell? Do you know of any thread/process schedulers written in Haskell that can schedule arbitrary code (ie. not just code that is written in a continuation monad)? I would like to see a language that lets you write low level code (like memcpy) efficiently, in a style that makes reasoning about the code easy, and which doesnt require (but can coexist and support) garbage collection. while(n--) *p++ = *q++; is still quite elegant compared to many other expressive langauges. setjmp and longjmp are still quite powerful. Jason Catena Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] nice quote
Well I can think of 3 operating systems written in Haskell now. One was an executable specification for validating a secure L4 implementation. One is hOp, and then there's also House, based on hOp. Keep in mind that House and hOp both used the ghc runtime (written in C) as a base. I would argue that this is most of the OS. The seL4 spec is more like an operating system simulation than an operating system (or more accurately it is a spec that can be executed). I'm not familiar with the other projects you mention. Thank you, I'll check em out... I've been writing a good bit of Haskell these days at work as well, mainly due to the fact that it's possible to write some fairly sophisticated code quickly, and even get pretty darned good performance out of it. I'm a big fan. Just want to make sure the hype isn't overblown. Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] new 9atom.iso
I could achieve the same as I did by doing copy 9load E: on windows with this new approach, but I'd need to boot some linux live CD and dd my way out to put the new loader there which I'll be too hacky and I'd probably need a version of prepdisk for linux on that live cd as well, if I got it right. You could just dd or rawrite from windows, as well. Federico G. Benavento Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] new 9atom.iso
for the ones interested, the code is at http://src.oitobits.net/9null. i'm writing a README explaining how to compile and install. Are there plans for this to get folded into the mainline? iru Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] 9P on android
On Thu, Aug 27, 2009 at 8:59 AM, C H Forsyth fors...@vitanuova.com wrote: has javascript finally got support for binary data? I haven't been following. I find a lot of web stuff to be off-putting, so I've not been keeping up. base64 encoding stuff is crap but could suffice in a pinch. Did Javascript not support binary data in the past? It seems to support it fine in my browser at least. Here's a transcript from a javascript shell session in my browser (note, top line is most recent, bottom line is oldest): http://www.thenewsh.com/shell.html Eval: for(var i = 0; i x.length; i++) _print(x.charCodeAt(i) + \n); Return: undefined 255 254 3 2 1 0 Eval: x = \x00\x01\x02\x03\xfe\xff Return: Dave Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] new 9atom.iso
It has not been a problem for anyone I know. It might not be perfect or beautiful, but I have yet to hear any suggestion for a replacement that has all the advantages of 9fat (simple, reliable, easily accessible from other systems, etc.) I think easily accessible from other systems should be removed from the list. There are alternatives, such as booting a live cd. Many other operating systems also keep their kernels on native filesystems and do not suffer because of it. uriel Tim Newsham http://www.thenewsh.com/~newsham/