Re: [9fans] GCC/G++: some stress testing
On Mar 9, 2008, at 1:53 PM, Aharon Robbins wrote: capabilities. Just looking at "binutils" and "bfd", without having the slightest idea what their real intent might be and how to apply it to P9GCC, then finding wonderful snippets such as Binutils are the things for dealing with binaries: as, ld, nm are the primary ones. They're built on top of BFD (Binary File Descriptor) which is essentially an object-oriented way of looking at object file formats; the tools can be configured to be cross platform and even convert an object file in say, a.out format to COFF or from COFF to ELF, and so on. Just out of curiosity, what is the Plan 9 executable format?
Re: [9fans] Hi and, plan9-native abaco sources?
You're going to the right place with contrib/fgb, but it's a bit trickier. Federico G. Benavento (fgb) created a system called contrib. contrib allows you to install and maintain /n/sources/ contrib systems based on replica(1). To install contrib: /n/sources/contrib/fgb/root/rc/bin/contrib/install fgb/contrib When that is done, you get abaco and its sources with contrib/install fgb/abaco To invoke abaco: abaco absolute-site That is, abaco plan9.bell-labs.com won't work; you need abaco http://plan9.bell-labs.com/ The source is in /sys/src/cmd/abaco after installation. There's quite a bit of software on the contrib system so far. You find out what with contrib/list username To find which usernames have the contrib system, try this: du -a /n/sources/contrib | awk '{$1 = ""; print}' | grep '(replica| root)' | awk -F/ '{ print $3 }' | sort -u or something like that. Happy Plan 9-ing! PS - Please use [EMAIL PROTECTED] now, as we just changed today. You don't need to re-register. On Mar 7, 2008, at 10:00 PM, Sean Caron wrote: Hi all, Just wanted to introduce myself as a new Plan 9 user; I have been wanting to play with it for years but always resisted polluting my network with x86 equipment.. but now that I took the plunge, I am really enjoying the hell out of it. The simplicity of Plan 9 makes getting my C chops back up to speed honestly a lot of fun; you can actually accomplish something without wasting a lot of time wading through a bunch of crap. That is cool. Now that I have a supported wireless NIC in my laptop (Compaq Evo n410C - perfectly supported, btw) I have been browsing sources/ contrib and checking out some of the apps - abaco and ssh2 in particular. They work pretty well for my purposes (thanks for your work, guys!) I was wondering, though, if there was someplace where I could get the most recent (not plan9ports) abaco sources to peek at? The server, plan9.kicks-ass.org seems to always be down, and all I can find in contrib/fgb is the binary. I'm curious to see how it all goes together. Regards, -Sean Caron (scaron at umich.edu)
Re: [9fans] attention - new list address
We sign up the usual way? On Mar 7, 2008, at 6:49 PM, Scott Schwartz wrote: Friends, the address for this mailing list is going to be changing. Thanks to Russ, we now have 9fans at 9fans.net set up, and current subscriptions migrated. Please give it a try, and bear with us if there are any problems. Thanks also to the psu computer science department for hosting us these many years.
Re: [9fans] GCC/G++: some stress testing
There was a time when you said template instead of template (Was it TC++PL 2nd edition?) The former is still allowed. It is also used when the context that a variable declaration is in is ambiguous, such as this: http://publib.boulder.ibm.com/infocenter/ pseries/v5r3/index.jsp?topic=/com.ibm.xlcpp8a.doc/language/ref/ keyword_typename.htm On Mar 7, 2008, at 5:21 AM, Russ Cox wrote: PPS: Why is "typename" a G++ reserved word? [now safely off-topic; sorry] Because it is a C++ reserved word. It gets used in contexts (templates, in particular) where the parser needs extra help deciding that a name is going to be used as a type. Russ
Re: [9fans] New user question
Why are you running from a live CD? On Mar 6, 2008, at 7:46 PM, andrey mirtchovski wrote: or, you can try "-c 'srv -AWP fossil'" on the command line. change 'fossil' to something else (and as the argument to mount) if it complains that 'fossil' is already used.
Re: [9fans] New user question
You need to add yourself to the group sys. 1) Reboot: fshalt -r 2) Log in as user sys. 3) Type con -l /srv/fscons 4) There, type uname sys +(your user name) For example, if your user name is philo: uname sys +philo 5) Hit ctrl+\ and type q 6) Reboot and log in and try again. On Mar 6, 2008, at 6:55 PM, philo wrote: --- [EMAIL PROTECTED] wrote: From: "andrey mirtchovski" <[EMAIL PROTECTED]> To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu> Subject: Re: [9fans] New user question Date: Thu, 6 Mar 2008 14:45:12 -0700 the following should do it from the live cd: fossil/fossil -c 'srv fossil' –f /dev/sdC0/fossil mount /srv/fossil /n/fossil if your fossil was configured correctly during install, you can skip the '-c 'srv fossil'' part. This is the exact error I rcvd when trying as you have suggested above; attach main as glenda: connection not authenticated, not console mount /n/fossil cannot attach as none before authenticated _ -. www.tuol.org .-
Re: [9fans] Another new user question
On Mar 2, 2008, at 2:32 PM, Phil Kassner wrote: I've been using Plan 9 for one week now and have gotten FTP working. Installed Abaco and gotten that working, plus have Inferno installed but have more questions of course. 1) Is there a way one can write to a mounted filesystem? You usually mount a filesystem to a folder in /n. Just use that folder as you would do the rest of the filesystem. Just for example, if I wanted to put an executable in /bin ...how would that be done? /bin is NOT a mounted directory. It is a bound directory. /bin would be bound to four places: - /$objtype/bin - system executables - /rc/bin - system shell scripts - $home/bin/$objtype - user executables - $home/bin/rc - user shell scripts You choose. See bind(1) for details. 2) To mount a cdrom I know I can start 9660srv... but how would I mount another HD? I did not see any other filesystem servers. Depends on the filesystem. If it's fossil, see fossil(4). If it's FAT on USB, use usbfat: The choices are endless, if you know how. Thanks -. www.tuol.org .-
Re: [9fans] GCC/G++: some stress testing
Caldera (now SCO) released the source code a while ago. It has since been mirrored. The direct links to the f77 and Ratfor are: http://minnie.tuhs.org/UnixTree/V7/usr/src/cmd/f77 http://minnie.tuhs.org/UnixTree/V7/usr/src/cmd/ratfor I can get started with it later today. On Mar 1, 2008, at 10:17 AM, [EMAIL PROTECTED] wrote: Why not just port Version 7 f77 and Version 7 Ratfor? Sounds like an idea. Where do I find the source code? Mind you, it's been tens of years since I programmed in Fortran IV, it's going to be hard for me to do any testing. ++L
Re: [9fans] GCC/G++: some stress testing
Why not just port Version 7 f77 and Version 7 Ratfor? On Mar 1, 2008, at 9:45 AM, [EMAIL PROTECTED] wrote: Hello, At work, most of the users need a fortran compiler (although almost none of them actually use gfortran, they prefer ifort) and some of them do parallel computation so they need MPI. If I could have at least those two items thanks to P9GCC, maybe I could convince some of them to work on the plan9 servers I'm slowly setting up there. As for me, I'd be pretty happy if I could have a bittorrent client (especially libtorrent/rtorrent, written in c++) on plan9 so it'd be rather nice if your P9GCC could achieve building that. But yeah, that one relies on auto*, configure, etc.. Mathieu. On Sat, Mar 01, 2008 at 06:55:06AM +0200, [EMAIL PROTECTED] wrote: Before I apply some serious effort to bring P9GCC in line with the latest release, I'd like to convince myself that the effort is worth it. I'm keen to catch two birds with one stone: (a) make sure that version 3.0 is sufficiently functional and (b) determine how useful it really is. Please will anybody who has a Plan 9 objective that can only be attained using GCC/G++ please drop me a line to let me know briefly what it is? If the whole exercise gets a lot of support, I'll happily set up more infrastructure to deal with it (wiki, blog, remote access, whatever Bell Labs would rather not do themselves). ++L PS: I prefer if you use the 9fans list, I may miss your mail if I haven't already have entered your sender address in my whitelist. Use your discretion. -- GPG key on subkeys.pgp.net: KeyID: | Fingerprint: 683DE5F3 | 4324 5818 39AA 9545 95C6 09AF B0A4 DFEA 683D E5F3 --
Re: [9fans] today's quiz
The bleeding-edge, then, would be around 1095600 kilobytes. However, I don't have subversion on Plan 9, and I'm using my Mac OS X, so directory sizes may be different. How could one stand to get the whole damn thing? I needed to modify one, in a zip, to get gcc built for ELF binaries so I could compile kernels on Mac OS X. I don't want to risk the nightmare of building GCC on Plan 9 anymore! :-P On Feb 26, 2008, at 5:01 PM, ron minnich wrote: On Tue, Feb 26, 2008 at 1:06 PM, Pietro Gagliardi <[EMAIL PROTECTED]> wrote: And which repository - the trunk? sure ron
Re: [9fans] awk, not utf aware...
(which I have sitting next to me) On Feb 26, 2008, at 4:40 PM, Pietro Gagliardi wrote: Yes. I'm too lazy to pick up my copy of the standard. On Feb 26, 2008, at 4:32 PM, Steven Vormwald wrote: On Tue, 2008-02-26 at 16:21 -0500, Pietro Gagliardi wrote: And it's wonderful that the C standard defines a character literal as so: char-literal: ' characters ' characters: character characters character (or something like that) Question, then: why do we need wchar_t/Rune? The definitions are (<> used to indicate non-terminals in the grammar...): (6.4.4.4) character-constant: ' ' L' ' (6.4.4.4) c-char-sequence: (6.4.4.4) c-char: any member of the source character set except the single-quote ', backslash \, or new-line character Steven Vormwald [EMAIL PROTECTED]
Re: [9fans] awk, not utf aware...
Yes. I'm too lazy to pick up my copy of the standard. On Feb 26, 2008, at 4:32 PM, Steven Vormwald wrote: On Tue, 2008-02-26 at 16:21 -0500, Pietro Gagliardi wrote: And it's wonderful that the C standard defines a character literal as so: char-literal: ' characters ' characters: character characters character (or something like that) Question, then: why do we need wchar_t/Rune? The definitions are (<> used to indicate non-terminals in the grammar...): (6.4.4.4) character-constant: ' ' L' ' (6.4.4.4) c-char-sequence: (6.4.4.4) c-char: any member of the source character set except the single-quote ', backslash \, or new-line character Steven Vormwald [EMAIL PROTECTED]
Re: [9fans] awk, not utf aware...
And it's wonderful that the C standard defines a character literal as so: char-literal: ' characters ' characters: character characters character (or something like that) Question, then: why do we need wchar_t/Rune? On Feb 26, 2008, at 4:08 PM, [EMAIL PROTECTED] wrote: Plan 9 awk is an APE program, so it uses the unpronounceable ANSI mbtowc/wctomb functions to deal with UTF. Thus it uses mblen rather than utflen or utf8len.
Re: [9fans] today's quiz
And which repository - the trunk? On Feb 26, 2008, at 3:59 PM, ron minnich wrote: On Tue, Feb 26, 2008 at 12:57 PM, Pietro Gagliardi <[EMAIL PROTECTED]> wrote: Explain what you mean by it - the source code, the binaries, or both? source only. ron
Re: [9fans] today's quiz
Explain what you mean by it - the source code, the binaries, or both? On Feb 26, 2008, at 3:51 PM, ron minnich wrote: well you all did very well on the 'why bash doesn't run with setuid bit' so I thought some more fun was in order . I svn clone the gcc compiler tree. how big is it? ron
Re: [9fans] New User (Experimentor only, non-programmer)
A note: the Plan 9 philosophy is to subdivide all tasks into namespaces that are part of the file system. The mail system upas, the USB system usbd, the print sytem lp, the FTP system ftpfs, the web site access system webfs - all of them mount information to the file system. In fact, the /proc directory, where your processes are stored, made its way into other operating systems, and makes the who command very short... On Feb 24, 2008, at 7:57 AM, Pietro Gagliardi wrote: ftpfs -m /n/yourftp domain.com You will be asked for a username and password. cd /n/yourftp Your files are now there. On Feb 24, 2008, at 7:54 AM, philo wrote: I just installed Plan 9 yesterday on a machine I've setup with removable drives. My machine is setup simply to experiment with different OS's and I've got drives with several dozen different systems: Windows, Linux, FreeBSD, OS/2, BeOs , Solaris, etc. Plan 9 is now my latest experiment. The main thing I wanted to do with Plan 9 was just use it to FTP data up to my website. Though I've got the network configured and can Ping out... I was not able to find any FTP. ( I did find "ftpd" though) If I get that working, about the only other question I have is if there is a text-based news reader available for accessing Usenet. I read over the Wikipedia info but was not able to ascertain anything to help me. Thanks
Re: [9fans] New User (Experimentor only, non-programmer)
ftpfs -m /n/yourftp domain.com You will be asked for a username and password. cd /n/yourftp Your files are now there. On Feb 24, 2008, at 7:54 AM, philo wrote: I just installed Plan 9 yesterday on a machine I've setup with removable drives. My machine is setup simply to experiment with different OS's and I've got drives with several dozen different systems: Windows, Linux, FreeBSD, OS/2, BeOs , Solaris, etc. Plan 9 is now my latest experiment. The main thing I wanted to do with Plan 9 was just use it to FTP data up to my website. Though I've got the network configured and can Ping out... I was not able to find any FTP. ( I did find "ftpd" though) If I get that working, about the only other question I have is if there is a text-based news reader available for accessing Usenet. I read over the Wikipedia info but was not able to ascertain anything to help me. Thanks
Re: [9fans] a challenge
Nope. On Feb 22, 2008, at 12:57 PM, Pietro Gagliardi wrote: I don't have Linux, but I'll see if Mac OS X has that vulnerability. On Feb 22, 2008, at 12:53 PM, ron minnich wrote: here is a challenge. I realize it's linux but I think this is the right group to ask anyway; I think you'll appreciate the humor in it. So far few I have talked to have gotten it. There is a file, called /bin/bash. You are allowed to do this as root. cp this file to /tmp. Do something to it to make it so that, when you are not root, you can run the file in /tmp and get a root shell. Don't assume the obvious. And please don't post "that's trivial" until you have actually done it. ron
Re: [9fans] a challenge
I don't have Linux, but I'll see if Mac OS X has that vulnerability. On Feb 22, 2008, at 12:53 PM, ron minnich wrote: here is a challenge. I realize it's linux but I think this is the right group to ask anyway; I think you'll appreciate the humor in it. So far few I have talked to have gotten it. There is a file, called /bin/bash. You are allowed to do this as root. cp this file to /tmp. Do something to it to make it so that, when you are not root, you can run the file in /tmp and get a root shell. Don't assume the obvious. And please don't post "that's trivial" until you have actually done it. ron
Re: [9fans] New to plan 9: what next?
Okay, not the reaction I expected, and not one of my better ideas. Time to walk away and go improve pico... On Feb 20, 2008, at 1:13 PM, Russ Cox wrote: unsubscribe [EMAIL PROTECTED] Or perhaps someone should write a book aimed at newbies on using Plan 9 from Bell Labs. It would be called "Using Plan 9 from Bell Labs," typeset in troff, and not go into technical details.
Re: [9fans] Improving programs like doc2txt
Yes, however try reading the C struct for FIB. It's confusing. What is FC? I expected a pure struct definition, like in Appendix A of the PowerPoint specification. On Feb 20, 2008, at 9:55 AM, maht wrote: Never mind. Don't try to convert a Microsoft specification to C! That's odd because the binary formats are basically C structs in an FAT32 file system with some headers. http://www.joelonsoftware.com/items/2008/02/19.html Next time announce it when you've got it going :) -- 'Do you ever think anything you don't say?' -- Jessica Lovejoy
Re: [9fans] New to plan 9: what next?
Most of /sys/doc is technical and programmer-friendly. I was thinking something more like the Lomutos' "A UNIX Primer." On Feb 20, 2008, at 4:39 AM, Kernel Panic wrote: devrin talen wrote: On Feb 19, 2008 7:40 PM, Iruata Souza <[EMAIL PROTECTED]> wrote: have you finished it [rc, rio, acme] already? I've learned what the intro tutorials offered. I still feel like there's a lot to learn! i would suggest you just to play arround and have fun... :-) all that reading is for nothing if you dont USE it... what you play depends on what you are interested in... for me, one of the most interesting things about plan9 is the development enviroment... so maybe start some hacking... find something that *YOU* actually need and is missing on plan9 and program it yourself. (by stealing from similar code of course ;-)) good luck! cinap
Re: [9fans] New to plan 9: what next?
Or perhaps someone should write a book aimed at newbies on using Plan 9 from Bell Labs. It would be called "Using Plan 9 from Bell Labs," typeset in troff, and not go into technical details. On Feb 19, 2008, at 11:56 PM, Lorenzo Fernando Bivens de la Fuente wrote: Perhaps there could be an "autoanswer" mail account... [EMAIL PROTECTED] or something... :P On Feb 20, 2008 4:44 AM, <[EMAIL PROTECTED]> wrote: On Feb 19, 2008 9:50 PM, <[EMAIL PROTECTED]> wrote: Maybe somebody should set up a script that looks for emails with subjects similar to "new to Plan 9", "Plan 9 newbie", etc. and sends a message with links to the wiki. I'm only half joking. John first that. iru We used to have FAQs in the good old days. The Plan 9 one has been deceased a while, maybe we should distil the wiki knowledge into it for a shorter, more static document? I'm not volunteering, but if others think it's worthwhile I'll certainly be willing to assist. ++L
Re: [9fans] New to plan 9: what next?
First off, finish learning to use rc, rio, and acme. You'll need both of them :-) If you are using QEMU, I am assuming you already use another OS. Therefore, just a bit of translation: in your OS, you say "Copy." In Plan 9, you say "Snarf." Next, to turn off Plan 9, issue the fshalt command. When it is done, turn off your computer - Plan 9 doesn't (yet) turn off itself. The -r option to fshalt reboots the system. Next, log in as user glenda or boot the Live CD and read the rio and acme tutorials from that location. Next, read the wiki (http://plan9.bell-labs.com/wiki/plan9) for more familiarization. Next, go to http://www.troff.org/ to learn how to use troff, the word processor. troff.org is a (dead?) community-based website. Finally, check back here if you have any questions. On Feb 19, 2008, at 5:58 PM, devrin talen wrote: I've been interested in Plan 9 for a little while now and finally got around to setting up a virtual plan 9 installation via qemu. As someone completely new to the operating system I've been reading the man pages, getting familiar with sam and acme, randomly clicking around, etc. What would you suggest for some next (baby) steps?
Re: [9fans] Non-stack-based calling conventions
So there is no definite answer to that question. Perhaps even I, who has not fully published anything well-programmed (my pico is still a mess), could be considered this way. Both "important" and "to date" are relative. On Feb 18, 2008, at 10:29 PM, Michaelian Ennis wrote: On Feb 18, 2008 10:18 PM, Michaelian Ennis <[EMAIL PROTECTED]> wrote: On Feb 18, 2008 8:06 PM, Pietro Gagliardi <[EMAIL PROTECTED]> wrote: Name the most important person/people in the computer field to date. WHAT YOU MIGHT HEAR: - Bill Gates - Steve Jobs CORRECT: - Thompson & Ritchie, all the way! :-) - Alan Turing - The great Structured Programming trio: Hoare, Dijkstra, and Dahl - Knuth Oh and if you like using transistors for compution, Pingala had an interserting contribution.
Re: [9fans] Non-stack-based calling conventions
On Feb 18, 2008, at 7:52 PM, Uriel wrote: While we are at it... lets remember that young people don't know any history. Everyone knows that the first language with garbage collection was Visual Basic. When, in reality, it was Lisp. Who knew? I actually know a bit more about the Bell Labs-rooted history of the computer than about 99% people my age. Some more questions: What was the first object-oriented language? WHAT YOU MIGHT HEAR: - C++ - Java CORRECT: - Simula What was the first high-level programming language? WHAT YOU MIGHT HEAR: - BASIC - Pascal - C CORRECT: - FORTRAN I First microprocessor? WHAT YOU MIGHT HEAR: - 8086 - 68000 CORRECT: - 4004 Microsoft's *other* operating system, besides OS/2: WHAT YOU MIGHT HEAR: - I doubt there was one. CORRECT: - XENIX Name the most important person/people in the computer field to date. WHAT YOU MIGHT HEAR: - Bill Gates - Steve Jobs CORRECT: - Thompson & Ritchie, all the way! :-) - Alan Turing - The great Structured Programming trio: Hoare, Dijkstra, and Dahl - Knuth Name the computer that started it all. WHAT YOU MIGHT HEAR: - The first IBM PC CORRECT: - The DEC PDP-11 What other thing, besides Unix, was the PDP-11 famous for? WHAT YOU MIGHT HEAR: - ??? CORRECT: - Tetris!
Re: [9fans] Non-stack-based calling conventions
Sorry, intended that to be private. On Feb 18, 2008, at 5:14 PM, Pietro Gagliardi wrote: On Feb 18, 2008, at 1:50 PM, Federico G. Benavento wrote: wtf is linus? Vivete sotto una roccia?
Re: [9fans] Non-stack-based calling conventions
On Feb 18, 2008, at 1:50 PM, Federico G. Benavento wrote: wtf is linus? Vivete sotto una roccia?
Re: [9fans] Non-stack-based calling conventions
It says here that setjmp can be used to make coroutines: http://my.execpc.com/~geezer/osd/tasks/index.htm On Feb 16, 2008, at 3:29 AM, Lluís Batlle wrote: Talking about The Art of Computer Programming... this non-stack based calling convention made me think of Knuth's Coroutines. I'm quite interested on them, but although I've seen libraries for managing them, I've never seen a real useful program based on them. I think they could be used with advantages over the thread or normal function call abstractions. Maybe someone in this list can provide a good example of coroutines use? 2008/2/16, Paweł Lasek <[EMAIL PROTECTED]>: I don't have latest version of fascicle one (MMIX processor architecture and MMIXAL assembler language, from new version of The Art of Computer Programming) at hand, so I can't confirm it, but I remember that MMIX had a special register which implemented a "border", shifting register numbers to use them for procedure data separation. And as in all RISC architectures, storing as many parameters in the call stack is the way to go. Especially when you have 256 64-bit general purpose registers :-) (Now if only someone implemented a sane architecture using MMIX as main processor...) On 2/16/08, Pietro Gagliardi <[EMAIL PROTECTED]> wrote: - DOS interrupt function calls use the registers, not the stack. - SPARC and MIPS registers are provided to pass parameters. On Feb 15, 2008, at 6:37 PM, Lyndon Nerenberg wrote: The calling conventions I have seen are the ccall, stdcall (Windows' slightly modified version of the ccall), and pascal. All of them push parameters on the stack. Take a look at the R-call and S-call conventions used on the IBM System 360 architecture. These machines didn't even have a stack. --lyndon -- Paul Lasek
Re: [9fans] Non-stack-based calling conventions
And if you're going to rebut and say that limbo needs dis, then check this out: /n/sources/contrib/andrey/dis.tar.gz (or something) Also works with the Plan 9 toolchain, but you may need to change some files now. On Feb 17, 2008, at 11:44 PM, Pietro Gagliardi wrote: One more thing: On Feb 17, 2008, at 6:58 PM, erik quanstrom wrote: porting limbo to a new architecture requires porting ken's toolchain and the inferno kernel. /n/sources/contrib/pietro/limbo.tgz The only thing ported was the source code and mkfiles.
Re: [9fans] Non-stack-based calling conventions
One more thing: On Feb 17, 2008, at 6:58 PM, erik quanstrom wrote: porting limbo to a new architecture requires porting ken's toolchain and the inferno kernel. /n/sources/contrib/pietro/limbo.tgz The only thing ported was the source code and mkfiles.
Re: [9fans] Non-stack-based calling conventions
New question: can Limbo be compiled to raw binary to run on native hardware? Yes. Will I do it? No. Next question: can C be interpreted like Limbo? Yes. (10th edition Unix has such a program.) Will I do it? No. Someone's ideas on a programming language should not be "forced" onto another's state of mind. I don't like some of the features of Limbo (sys := load Sys Sys->PATH) and I don't think Limbo can be used to write a system kernel without an abundant amount of reductions or compiler hacks (http://www.osdev.org/wiki/C_PlusPlus discusses enough of them for C++ to make one puke). If someone defies those odds, good for them. Also, C can be a pain in the neck at so many times (pointer arithmetic multiplies the difficulty of porting Assembly to C). C can be made to type-check at runtime, but will I do it to C itself? Not when I'm porting about 30 Assembly files to C. I fear I've fallen victim to the complications of Duff's device and the alt construct, so I'll stop. Flame extinguished. On Feb 17, 2008, at 11:31 PM, Bruce Ellis wrote: you've changed your claims! it says elephant! 1) no, limbo is not good for everything. my doorbell is better without it. in the context of the original thread you just dismissed it because you wanted to argue. 2) porting limbo does not require ken's tool chain. have you had experience with this? anything "self-containted" can only blame itself for its blemishes. 3) the performance gain of having a fixed tlb with no context switch penalty is amazing. have you had experience with this? 4) if you are hacking the kernel then you aren't hacking limbo so what is the point of #4. after 41 messages in this thread you'll ask for references. brucee On Feb 18, 2008 2:43 PM, erik quanstrom <[EMAIL PROTECTED]> wrote: how did this get past my erik filter? wrong, wrong, wrong, wrong. four out of four as expected. brucee 100% whinage. 0 justification. 0 information. par for the course. ☺ since you disagree, i assume you claim that limbo's the hammer and all computing problems are nails. i'd like to know why limbo's the right thing to run, e.g., on a freescale hc08 microcontroller. i'd also like to know why there is no performance penalty for running dis code over c. do you claim the garbage collection doesn't take any appreciable time? and the there is no overhead dealing with limbo's runtime typechecking? the inferno kernel i know about is written in c. where's the limbo version? how does one run a limbo program on a new architecture without porting the runtime or jit? - erik
[9fans] Plan 9 featured in virtualizer review
http://www.thinkmac.net/review/review-q-free-virtualizer A review I wrote of Q, the open-source QEMU front-end for Mac OS X. The first screenshot contains games/sudoku and proof showing the words "Plan 9 from Bell Labs" in Lucida Sans. Sorry for the noise.
Re: [9fans] Improving programs like doc2txt
Never mind. Don't try to convert a Microsoft specification to C! On Feb 16, 2008, at 10:20 PM, Lyndon Nerenberg wrote: On 2008-Feb-16, at 19:14 , Pietro Gagliardi wrote: I'm planning to write ms2doc, a program to convert troff -ms to .doc files I think you have the sign inverted, there.
[9fans] Improving programs like doc2txt
Microsoft just released the Word, Excel, and PowerPoint .doc/.xls/.ppt file format specifications: http://www.microsoft.com/interop/docs/OfficeBinaryFormats.mspx I'm planning to write ms2doc, a program to convert troff -ms to .doc files for easier collaboration between Plan 9 and Windows.
Re: [9fans] Non-stack-based calling conventions
On Feb 16, 2008, at 6:32 PM, Eris Discordia wrote: Using the stack there would create re-entry problems Under very specific conditions you can do PUSH Param1 PUSH Param2 PUSH Param3 INT 80h What are those conditions? - Pascal calling convention - You save the registers before PUSHing the first argument For now, my OS does this as a temporary method of avoiding the necessity of managing different numbers of registers. This will change in due time!
Re: [9fans] Non-stack-based calling conventions
- DOS interrupt function calls use the registers, not the stack. - SPARC and MIPS registers are provided to pass parameters. On Feb 15, 2008, at 6:37 PM, Lyndon Nerenberg wrote: The calling conventions I have seen are the ccall, stdcall (Windows' slightly modified version of the ccall), and pascal. All of them push parameters on the stack. Take a look at the R-call and S-call conventions used on the IBM System 360 architecture. These machines didn't even have a stack. --lyndon
Re: [9fans] Google search of the day
Let's get back to humor. Here's from ReactOS 0.3.4's shutdown screen: The End . Try the sequel, hit the reset button right now! You can switch off your computer now
Re: [9fans] Google search of the day
Here's what I think is the best solution: statically allocate the maximum number of tasks per process: struct JobControlBlock { /* the name my OS uses for the info field of a process (job) */ Task *mainTask; /* task == thread */ Task *jobTasks[400]; /* pointers to entry in an array of statically allocated tasks */ }; A Task runs a function; it does not continue executing at the current point. Returning from that function halts the task. Returning from the main task halts all tasks. Now a SpawnTask() (fork()) can only be done to create up to 400 tasks with the exception of the main task.
Re: [9fans] Google search of the day
That is exactly how that shell attack works. At one point, however, I think that the number of dynamically allocated task objects should run out, and the program should just wind about in an infinite loop of erroneous calls to fork(). What a shame. I'm happy the OS I'm writing does so. It isn't a UNIX-like one, but the semantics are similar. On Feb 13, 2008, at 6:59 PM, [EMAIL PROTECTED] wrote: In most /bin/sh variants (I'm not sure about original): :(){:|:};: Quick denial of service. This just in: Repeated forks can bring down a system. Story at 11. #include #include int main() { for (;;) fork(); } Look ma! John
Re: [9fans] Google search of the day
So I think only in bash. How it works? http://www.cyberciti.biz/faq/understanding-bash-fork-bomb/ It does use :(){ :|: &};:, but I have tried :(){:|:};: and it worked. On Feb 13, 2008, at 6:41 PM, erik quanstrom wrote: On Wed Feb 13 18:32:19 EST 2008, [EMAIL PROTECTED] wrote: In most /bin/sh variants (I'm not sure about original): :(){:|:};: Quick denial of service. iirc, there were not functions in the orginal. - erik
Re: [9fans] Google search of the day
In most /bin/sh variants (I'm not sure about original): :(){:|:};: Quick denial of service. On Feb 13, 2008, at 6:24 PM, [EMAIL PROTECTED] wrote: On 13 Feb 2008, at 22:03, erik quanstrom wrote: bootsplash: silent mode. :-). (In case anyone hasn't seen this yet ...) In a different part of the that strange dimension known as The Linux Zone, someone cryptically pointed me at a hideous exploit via: http://www.google.com/search?q=jessica_biel_naked_in_my_bed.c which I found amusing in a sick way. DaveL
Re: [9fans] quote of the day
Freenode.net just netsplitted. Here is from the ##c chat room: saparok 17:59 wow. I didnt' realize that dd command could take down all of freenode. On Feb 13, 2008, at 5:03 PM, erik quanstrom wrote: from the linux kernel: bootsplash: silent mode. - erik
Re: [9fans] How to move to rc from sh/bash
The only advantage to getflags is that we can say rcsrcipt -xy instead of rcscript -x -y which is why I use it in my 12 script. On Feb 11, 2008, at 6:03 PM, Martin Neubauer wrote: * erik quanstrom ([EMAIL PROTECTED]) wrote: i would think that the reason to do this would be for consistency. i don't know that that's a compelling argument. but i can see the attraction of all or nothing; it would be nice if either none of the scripts used getflags or all of them did. - erik That's actually quite compelling to me. I'd be just in favour of some kind of `lazy evaluation' (if some script needs to be changed, put in getflags; ditto for new ones.) And I admit that if one is really tght pressed on space (which might still happen nowadays, if not nearly as often than a couple of years ago) it won't really matter havin to put in some effort to customise what's in /bin/rc. I'm still amused by the argument that getflags is faster, though. Martin
Re: [9fans] Hello Assembly
It's also that x86 segments memory into code, data, and stack, so you can have .code OR EAX, EAX // produces less binary than CMP EAX, 0; JE X JZ X JMP Y Y: .data str DB 'less\z' .code // ... .data .code .stack .code .data On Feb 11, 2008, at 2:41 PM, Jon Snader wrote: On Mon, Feb 11, 2008 at 11:43:08AM -0500, erik quanstrom wrote: I've always thought variables and such went at the bottom... or is that just m68k asm? you can put them anywhere. there's no typechecking in assembly and the linker doesn't care. When I started programming (so long ago that assembly and Fortran were basically the only games in town) we always put the data at the end--it just seemed fitting somehow. Later, the best practice became to put them at the beginning on the grounds that the data wouldn't move as changes where made to the program; in those days, all manner of strange things happened like programs that knew where the data portion of other programs lived. If nothing else, it made the (very crude) dumps easier to work with. jcs
Re: [9fans] Can't find CD-ROM
What are you doing when you attempt to find the CD-ROM? On Feb 11, 2008, at 4:31 AM, Chris Saunders wrote: I am attempting to install Plan9 on Virtual PC. I boots fine but later when I attempt to find the CD-ROM I cannot. Could anyone help? Regards Chris Saunders
Re: [9fans] Hello Assembly
One more thing. Does anyone know if, in raw x86 assembly, RET implies STI? Thanks.
Re: [9fans] Hello Assembly
Oh, and I can't wait to see those two have GUI support. When I finish making my OS C- and portability-friendly, I'm going to start with graphics. On Feb 10, 2008, at 9:36 PM, Adrian Tritschler wrote: Anant Narayanan <[EMAIL PROTECTED]> writes: I am working on rewriting an operating system that avoids this philosophy for the purpose of teaching assembly language. So far, I have 2% of the code (I started a rewrite), and I don't know if my code is 100% right. There's an OS (complete with a Window Manager, IDE, Web Browser, and even some games) written entirely in assembly: http:// www.menuetos.net/ Or, if you want something at the other end of the spectrum, there's an OS "with modular microkernels using the C# programming language." http://arstechnica.com/news.ars/post/20080208-developers-create- open-source-os-kernels-using-net-tools.html Everyone has 24 hours in a day, but some use it more than others ;) Indeed Anant Adrian
Re: [9fans] Hello Assembly
On Feb 10, 2008, at 9:36 PM, Adrian Tritschler wrote: OS "with modular microkernels using the C# programming language." Microsoft has too, and it outdates the other two. Unfortunately, it's only available in Microsoft and a select few universities. http://research.microsoft.com/os/singularity/
Re: [9fans] Hello Assembly
In C, it could look like Write(char *filename, void *data, uvlong number_of_bytes); so I don't think it has an Open syscall, or probably you read everything into memory, modify the memory, then write it back. 64-bit systems can store quite a bit, but this philosophy will get old almost immediately: $ sed2c '1s/^/@/' # given sed2c is a program that converts sed commands to C char *buffer; buffer = malloc(FileLen("f")); Read("f", buffer, FileLen("f")); b[0] = '@'; Write("f", buffer, strlen(buffer)); Does that seem like a bit much? On Feb 10, 2008, at 1:01 PM, erik quanstrom wrote: There's an OS (complete with a Window Manager, IDE, Web Browser, and even some games) written entirely in assembly: http:// www.menuetos.net/ Everyone has 24 hours in a day, but some use it more than others ;) i can see from their documentation, that i have been using my time quite a bit more effectively: "Menuet has no roots within UNIX or the POSIX standards, nor is it based on any particular operating system. The design goal has been to remove the extra layers between different parts of an OS, which normally complicate programming and create bugs. here's their write system call: rbx - 1 Write rcx - Ignored rdx - Bytes to save rex - Pointer to data rfx - Filename pointer !? - erik
Re: [9fans] How to move to rc from sh/bash
On Feb 10, 2008, at 11:59 AM, Gorka Guardiola wrote: On Feb 9, 2008 8:53 AM, Hongzheng Wang <[EMAIL PROTECTED]> wrote: Hi all, 2. In non-interactive use (script programming), what's the main advantages of rc over sh/bash? Things I like of rc: In both interactive and non-interactive, spaces do not bite you in rc. in bash if [ $bla -eq $otherbla ] ; fi endif... ahhh, I can´t remember the syntax and get the spaces wrong, The proper is if [ $bla -eq $otherbla ]; then : fi The advantage of rc is that that : is not necessary! Oh, and let's not forget what happens when bla or otherbla is nil! In rc, if (~ $bla $otherbla) { } is all that is needed - no hooks. Someone else said it, only one quoting simbol (what does " bla \$e'o" do on bash?, I just invented it, but every time I see double qoutes I start trembling) It produces the string ' bla$e''o' in rc syntax. The one thing I like about two quoting styles in the Bourne shell is that I can use escape sequences. The one thing I dislike about bash is that bash fucks up this quote system. And here is my 2 cents: - List objects are STANDARD (bash/kornshell arrays are not) x=(a b c) - The seq statement is standard for (i in `{seq 1 10}) echo $i - Removable functions fn x { echo 4 } fn x x=4 - >[] piping syntax is much more intuitive - |[2] to pipe arbitrary file descriptors. One time, to skim through errors from gcc to find out if I had mistyped a member of a struct, I had to do gcc a_file_in_my_os.c 2>&1 | grep member In rc: 8c a_file_in_my_os.c |[2] grep member - Empty condition bodies! while(){echo y} is the yes command. It's much more terse. - aux/getflags is faster than while getopt (no loop involved) My next plan is to rewrite all of /rc/bin to use aux/getflags. Any objections? - The trap statement is gone - goodbye confusing hooks and no way of telling signal 1 from a command/function called 1 Instead, you define functions sigterm and sigkill (I think) And what I dislike: - >[2=] is not the same as >[2]/dev/null (some programs crash with the former
Re: [9fans] Hello Assembly
On Feb 10, 2008, at 3:56 AM, Martin Neubauer wrote: (Research) Unix was influential in that regard and showed that those parts are really small (and should be). Martin I am working on rewriting an operating system that avoids this philosophy for the purpose of teaching assembly language. So far, I have 2% of the code (I started a rewrite), and I don't know if my code is 100% right.
Re: [9fans] Flash
Better yet, disconnect your Internet connection and go to Multics. On Feb 9, 2008, at 7:04 PM, Paul Lalonde wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 If time is the constraint, then just uninstall all your web browsers, or just run native plan9. Paul On 9-Feb-08, at 2:08 PM, Richard Uhtenwoldt wrote: Steve Simon writes: I turn flash off on all the browsers I use, I find it irritating and slows things down. I go further. I uninstall flash, as follows: rm ~/.mozilla/plugins/{flashplayer.xpt,libflashplayer.so} Why do I uninstall flash? To remove the temptation to visit a flash web site to play chess. (I was unhappy with the amount of time I wasted playing chess when I had flash installed.) -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.5 (Darwin) iD8DBQFHrj92pJeHo/Fbu1wRAoPWAJ0VQpZ5Mfg4LKGhocgAvMx3hOeTygCfXmhU oKSovEHHlmjv2Tyc363AMVw= =YEYw -END PGP SIGNATURE-
Re: [9fans] Hello Assembly
On Feb 9, 2008, at 4:15 PM, Anant Narayanan wrote: DATAstring<>+0(SB)/8, $"Hello\n\z\z" Why are there two \zs? Shouldn't one be enough?
Re: [9fans] Questions on setting up CPU server
Okay, so if I do this right, it should be something 255.255.255.0 12.0.2.2 However, the something - the regular IP address, is something that I don't know about. I use Q, a frontend to QEMU for Mac OS X. On Feb 8, 2008, at 3:27 PM, [EMAIL PROTECTED] wrote: Pietro Gagliardi wrote: Hello. In CPU Warlock, it asks me for the following: - enter ip netmask gateway as dotted quads i.e. 192.168.1.9 255.255.255.0 192.168.1.1 - echo enter ip of dns for /lib/ndb/local - enter ipnet and authdom i.e, zero zero.dom What does all this mean and what values are best for QEMU? Thanks. it means what is says it's asking for the IP netmask & gateway as dotted quads i.e. 192.168.1.9 255.255.255.0 192.168.1.1 such that 192.168.1.9 is your desired ip, 255.255.255.0 is the netmask and 192.168.1.1 is the gateway ip of dns for /lib/ndb/local adds a dns=ip in to /lib/ndb/local enter ipnet and authdom i.e, zero zero.domis asking you for the names of your ipnet and the authdom you wish to use they are just names of your choosing best for QEMU by default QEMU issues IP addresses through DHCP from the QEMU instance and uses 10.0.2.2 as the gateway iirc see http://fabrice.bellard.free.fr/qemu/qemu-doc.html personally I use vdeq http://www.slackware.com/~alien/slackbuilds/ vde/build/Using_VDE_with_QEMU_HOWTO.txt In that way the running Plan 9 CPU server will be available to drawterm, otherwise you have to play games with QEMU command line options My QEMU lives on 192.168.254.254 I run # vde_switch -tap tap0 # ifconfig tap0 192.168.254.254 # chown root:maht /tmp/vde.ctl # chmod g+w /tmp/vde.ctl and then vdeq qemu QEMUOPTIONS and then I can assign IPs to Qemu running instances that get routed on their own subnet and I can ping 192.168.254.1 from 10.0.0.2
[9fans] Questions on setting up CPU server
Hello. In CPU Warlock, it asks me for the following: - enter ip netmask gateway as dotted quads i.e. 192.168.1.9 255.255.255.0 192.168.1.1 - echo enter ip of dns for /lib/ndb/local - enter ipnet and authdom i.e, zero zero.dom What does all this mean and what values are best for QEMU? Thanks.
Re: [9fans] A newbie question...
The recent flame I mean, discussion on GCC was started with my futile attempts to compile that bloke. However, I no longer think we need anything POSIX, GNU, or X11, as Plan 9 already comes with most, if not all, of the libraries we need: - rio(1) replaces readline (especially hold mode) - libdraw, etc. replaces libX/liboldX/etc. - libcontrol replaces GTK+ - libthread replaces pthreads and countless more. However, I doubt other systems will want these libraries, or use plan9ports internally, so GCC will still be victorious in most situations. The stab it with their steely knives, But they just can’t kill the beast. Either Don Henley, Glenn Frey or Don Felder On Feb 6, 2008, at 8:32 PM, Uriel wrote: On Feb 6, 2008 8:11 PM, Joel C. Salomon <[EMAIL PROTECTED]> wrote: On Feb 6, 2008 4:53 AM, Greg Comeau <[EMAIL PROTECTED]> wrote: And my question remains about gcc, either there is or there isn't a port for Plan 9, but it seems clear to me that there is one, so why do people keep saying not? There is a port of GCC, but it's not maintained much and reports vary on how stable it is. Also, 9c-produced 'object files' (basically compressed assembler code) are incompatible with GCC's object files, so any libraries that must be shared need to be recompiled. I have yet to see that anyone (that is not dead) has ever got the GCC port to work at all. (Fgb spent lots of time trying to get it to go, but to no avail). That it is (was?) linked from the website seems to add more confusion than anything else. uriel P.S.: I want to make clear that I have a deep respect for dhog and his work, it is quite impressive what he managed to do, specially having in mind hideousness and painfulness of the task in question.
Re: [9fans] killer htmlfmt
I added the vertical padding/spacing to bordered tables, and everything is up there (including a test page). Unbordered tables still do not have vertical spacing; I intend to fix that before sending it up to patch. On Feb 5, 2008, at 4:03 PM, Pietro Gagliardi wrote: In response to erik's killer faces, I have a killer htmlfmt. It fixes the bug in which htmlfmt doesn't have table support. Table support in htmlfmt is still extremely basic - no colspan/rowspan/ nested tables and the amount of border is ignored. I also only have horizontal cellpadding (no vertical cellpadding yet) and cellpadding/cellspacing is only horizontal if a border is specified. When all this is fixed, I'll submit to patch. /n/sources/contrib/pietro/htmlfmt.tgz - Pietro
[9fans] killer htmlfmt
In response to erik's killer faces, I have a killer htmlfmt. It fixes the bug in which htmlfmt doesn't have table support. Table support in htmlfmt is still extremely basic - no colspan/rowspan/nested tables and the amount of border is ignored. I also only have horizontal cellpadding (no vertical cellpadding yet) and cellpadding/cellspacing is only horizontal if a border is specified. When all this is fixed, I'll submit to patch. /n/sources/contrib/pietro/htmlfmt.tgz - Pietro
Re: [9fans] pico
Okay, I got everything fixed a few days ago and added some more features (simple arrays, r "long/file/name.1", etc.). The new pico is in the usual place. I'm redesigning my website, so I'm going to have my software available from there too when that's done. On Jan 31, 2008, at 2:41 AM, Bruce Ellis wrote: more debugging, please tell us about it. yawn. On Jan 31, 2008 10:55 AM, Pietro Gagliardi <[EMAIL PROTECTED]> wrote: Well, I got the memory tampering bugs fixed, but a black and white image now does not show correctly. Gonna go back and check and fix. Will report when I put a new version up. On Jan 30, 2008, at 6:42 PM, Pietro Gagliardi wrote: What do you think I've been doing? :-) The problem seems to be in run(), because after run() returns, poolcheck fails. I'll go check it out. On Jan 30, 2008, at 1:53 AM, Bruce Ellis wrote: work it out. it's called debugging. brucee
Re: [9fans] A newbie question...
On Feb 4, 2008, at 9:38 PM, erik quanstrom wrote: Some other reasons: - Some systems (read: Linux) do not have pthreads incorrect. http://en.wikipedia.org/wiki/Native_POSIX_Thread_Library Is that integrated into the Linux source code tree or an add-on? - C99 is still new and although it's in POSIX, not many systems have it (Plan 9 doesn't have complete C99) c99 is 9 years old! Yes, but do all compilers implement 100% of that standard? - erik
Re: [9fans] A newbie question...
Some other reasons: - Some systems (read: Linux) do not have pthreads - What if I said I'm running GCC on Microsoft Xenix? Is that POSIX- compliant? - Curses is not POSIX. It's Single Unix Spec, though. - C99 is still new and although it's in POSIX, not many systems have it (Plan 9 doesn't have complete C99) On Feb 4, 2008, at 9:23 PM, David Arnold wrote: On 03/02/2008, at 8:29 PM, Lyndon Nerenberg wrote: Autoconf is nothing but a stinking rotten corpse that lives only because the cult of GNU adherents cannot (no, refuse to) grok the concept of POSIX. the problem with POSIX is that it doesn't specify enough. for instance, if you have to write some code to list the network interfaces on a (*nix) machine, you have some that provide a specific function to do so (getifaddrs), some where you should use SIOCGIFCONF, another where SIOCGLIFCONF is better and one where your best bet is to hope the /proc filesystem is mounted and read from that. POSIX doesn't help for things like this. and autoconf, for all its failings, does. d
Re: [9fans] Plan 9 wireless how-to...
On Feb 4, 2008, at 8:44 PM, Pietro Gagliardi wrote: For USB, add this to the TOP of /usr/$user/lib/profile, above the switch but below the other bind lines: bind -a '#U' /dev usbd Scratch that. There is a line in /usr/$user/lib/profile that reads switch($terminal){ Above that, add bind -a '#U' /dev usbstart usbstart sets up everything, including USB-based audio and the mouse.
Re: [9fans] Plan 9 wireless how-to...
9fat: cd /n/9fat acme plan9.ini For USB, add this to the TOP of /usr/$user/lib/profile, above the switch but below the other bind lines: bind -a '#U' /dev usbd Type man -t usb usbd usbdisk | page for more information on all you can do with USB. On Feb 4, 2008, at 8:23 PM, Michael Andronov wrote: Thanks a lot! It's answering a lot of questions. Now I have only to find plan9.ini on my machine... :) Another question is about USB... I have 'an old machine', where USB is provided as separate PCI card... Unfortunately, 'man plan9.ini' does not provide too much 'options'/ examples about USB card drivers... Any useful trick here? Michael. On Feb 4, 2008 7:14 PM, Pietro Gagliardi <[EMAIL PROTECTED]> wrote: man -P plan9.ini and see if your wireless device is listed in the ETHERNET section. On Feb 4, 2008, at 7:12 PM, Michael Andronov wrote: > Hi, > As I'm moving slowly via installing/configuring Plan 9 node... > another question appeared: > > Can somebody navigate towards document describing installation/ > configuration of wireless card under Plan 9? > > (I guess I have seen something briefly why checking archives, but > lost it > Network Configuration article provides some briefs on network > installation itself, but not wireless in particular... ) > > Thanks for your advice and kind attention to this matter. > > Michael. >
Re: [9fans] Plan 9 wireless how-to...
man -P plan9.ini and see if your wireless device is listed in the ETHERNET section. On Feb 4, 2008, at 7:12 PM, Michael Andronov wrote: Hi, As I'm moving slowly via installing/configuring Plan 9 node... another question appeared: Can somebody navigate towards document describing installation/ configuration of wireless card under Plan 9? (I guess I have seen something briefly why checking archives, but lost it Network Configuration article provides some briefs on network installation itself, but not wireless in particular... ) Thanks for your advice and kind attention to this matter. Michael.
Re: [9fans] A newbie question...
When I started Plan 9, I was actually happy that some of the tools I wanted (grap, prof) were already available. I wanted to try GCC to try to port a web browser, but Abaco is growing fast, and I'll stick with that. I'm already porting pico, and that's in my contrib directory. On Feb 4, 2008, at 11:06 AM, Filipp Andronov wrote: If you (not *we*) want to port something port it and let us know when it's done. sorry, it my mistake, i do not mean that all community should go and port GCC :) The pattern of "I've just downloaded Plan9 and I want my old tools" is very common and we just kind of ignore them :) except for the anti- GNU troll responses. Ok, i already figure out this. I was not right(?) when start this discussion if there is no C++ in Plan9, that there are some reasons for that :) Thanks to all, i'm really sorry if i disturb anyone with this discasion )) 2008/2/4, Alf <[EMAIL PROTECTED]>: Hi, if we couldn't port GCC because it very big job (any other reason?), maybe we could port some other compiler with liberal enough licence? If you (not *we*) want to port something port it and let us know when it's done. The process goes like this : "I've done some working code for my C++ port, it's in my contrib directory if someone wants to have a go with it" I'm asking because C++ is very popular language, This is Plan 9, popularity isn't very high on the list. The reason there is no native C++ compiler is because of it's *lack* of popularity in the Plan 9 community, both historically and currently. The pattern of "I've just downloaded Plan9 and I want my old tools" is very common and we just kind of ignore them :) except for the anti- GNU troll responses. You'll (eventually) notice that *most* of the long time Plan 9 users don't even join in the discussion, no doubt smiling a "seen it all before" smile before pressing Del
Re: [9fans] A newbie question...
A perfect example: Windows security! :-) On Feb 3, 2008, at 8:02 PM, Enrico Weigelt wrote: * Uriel <[EMAIL PROTECTED]> wrote: Autotools badness is way beyond most peoples wildest imagination... Actually, It helped me enlarging my imagination capabilities ;-P BTW: there are even far worse things out there ;-O cu -- - Enrico Weigelt== metux IT service - http://www.metux.de/ - Please visit the OpenSource QM Taskforce: http://wiki.metux.de/public/OpenSource_QM_Taskforce Patches / Fixes for a lot dozens of packages in dozens of versions: http://patches.metux.de/ -
Re: [9fans] A newbie question...
Okay, that's fine. What I'm saying is that you don't have to write something from scratch to get something else working. If you actually do get one of the other OpenGL implementations to work, then porting Gallium3D is a lot easier. Either way, you won't need direct hardware manipulation on Plan 9. Just run it from a virtual machine and see where you go from there. On Feb 3, 2008, at 11:33 AM, Filipp Andronov wrote: There were many attempts to port OpenGL to Plan 9, none of which I got to work. I started working on a ground-up 3D library but lost it to a faulty Plan 9 partition. I have no plan to start serious works about OpenGL porting. I just want to play with Plan9, if i port Gallium3D if will be great success. Actually i have no working Plan9 yet (!), so i just looking around, reading documentation and asking about some questions that i have in my mind :) So my plans is not something serious, i just looking for somethings for fun :) 2008/2/3, Pietro Gagliardi <[EMAIL PROTECTED]>: There were many attempts to port OpenGL to Plan 9, none of which I got to work. I started working on a ground-up 3D library but lost it to a faulty Plan 9 partition. On Feb 3, 2008, at 10:56 AM, Filipp Andronov wrote: Some graphics chip, actually i want port OpenGL to Plan9, but DRI has ugly architecture and Mesa with X11 are overload by unnecessary code, as far as i know it is because of historical reasons. I have experience with X11 and OpenGL specifications and device driver development, so my plan was port general parts of mesa (not all of course), but with out DRI on Intel graphics chip (i have that card) with hardware acceleration. When i start dig problem i have found DRI replacement known as Gallium3D, it is completely new project (from Mesa community as far as i know) and it small enough for try to port it. Intel chips has very good documentation and linux driver what i know very well. So plan was: 1. Port Gallium3D, pieces by piece 2. Port some features from Linux Intel driver to Plan9 if necessary 3. Try to port some pieces Mesa Of course it is a very big work, and i know that, but it is interesting enough to be fun. I have no target to create completely OpenGL implementation or port of Mesa, i just want to play with Plan9 kernel, Mesa and Intel card :)) 2008/2/3, Pietro Gagliardi <[EMAIL PROTECTED]>: Out of curiosity, what hardware do you need to get working? On Feb 3, 2008, at 10:28 AM, Filipp Andronov wrote: I'm not sure that "project fork" is a best way. Because hardware problem is a little piece of work and it's lays it separate module. The biggest part of application is a some computations and some algorithms implementation...As far, as application was port in many different Linux platforms, it's almost impossible to find some function with out #ifdef :)) Ok, any way, it looks like "project fork" is simplest way to do port, so any other waysis not very interesting. I think that this way is most correct, because in that case i could redesign many parts of this application in "plan9 style", do some soft services like, files for example :) Thanks to all for your help :) 2008/2/3, Pietro Gagliardi <[EMAIL PROTECTED]>: You need to do direct hardware manipulation? Then "project fork" is probably best. On Feb 3, 2008, at 10:13 AM, Filipp Andronov wrote: Heh, i try to "port" my program, and it's really not possible in my point of view :) Actually, i don't have working Plan9 right now, reason is quite simple, on my hardware plan9 does do not work (PC emulators couldn't help because my program should work with some special hardware), so i try to create PC from "supported hardware" list, but it take some time to get all pieces, put they together, install, configure plan9 and so on )) Ok, i have no Plan9, but i have my application that i want to port, so i try to remove all autotools macros from it and try to do some preparations, like new abstraction layer for threads creation...and i'm completely failed, just because too much autotools stuff in sources. And it too complicated to figure out what exactly i should remove in every case... And my application much smaller that mesa for example. Or X11 (by the way, how X11 was ported?), and i do not touсh such problems like different library, kernel interfaces and so, and so... So it looks like "project fork" is only way :( 2008/2/3, Paweł Lasek <[EMAIL PROTECTED]>: On Feb 3, 2008 2:55 AM, Pietro Gagliardi <[EMAIL PROTECTED]> wrote: Circular cause and consequence is funny. Let me add to this list: - jpg - png - tiff - PostScript - TeX (tpic) - HTML - Mahjongg, sokoban, sudoku, tetris (games/4s) - SPARC, MIPS, x64 - MP3, PCM, OGG (PAC was made at Bell Labs) - SoundBlaster 16 Let me put it this way: GNU software is good, except
Re: [9fans] A newbie question...
There were many attempts to port OpenGL to Plan 9, none of which I got to work. I started working on a ground-up 3D library but lost it to a faulty Plan 9 partition. On Feb 3, 2008, at 10:56 AM, Filipp Andronov wrote: Some graphics chip, actually i want port OpenGL to Plan9, but DRI has ugly architecture and Mesa with X11 are overload by unnecessary code, as far as i know it is because of historical reasons. I have experience with X11 and OpenGL specifications and device driver development, so my plan was port general parts of mesa (not all of course), but with out DRI on Intel graphics chip (i have that card) with hardware acceleration. When i start dig problem i have found DRI replacement known as Gallium3D, it is completely new project (from Mesa community as far as i know) and it small enough for try to port it. Intel chips has very good documentation and linux driver what i know very well. So plan was: 1. Port Gallium3D, pieces by piece 2. Port some features from Linux Intel driver to Plan9 if necessary 3. Try to port some pieces Mesa Of course it is a very big work, and i know that, but it is interesting enough to be fun. I have no target to create completely OpenGL implementation or port of Mesa, i just want to play with Plan9 kernel, Mesa and Intel card :)) 2008/2/3, Pietro Gagliardi <[EMAIL PROTECTED]>: Out of curiosity, what hardware do you need to get working? On Feb 3, 2008, at 10:28 AM, Filipp Andronov wrote: I'm not sure that "project fork" is a best way. Because hardware problem is a little piece of work and it's lays it separate module. The biggest part of application is a some computations and some algorithms implementation...As far, as application was port in many different Linux platforms, it's almost impossible to find some function with out #ifdef :)) Ok, any way, it looks like "project fork" is simplest way to do port, so any other waysis not very interesting. I think that this way is most correct, because in that case i could redesign many parts of this application in "plan9 style", do some soft services like, files for example :) Thanks to all for your help :) 2008/2/3, Pietro Gagliardi <[EMAIL PROTECTED]>: You need to do direct hardware manipulation? Then "project fork" is probably best. On Feb 3, 2008, at 10:13 AM, Filipp Andronov wrote: Heh, i try to "port" my program, and it's really not possible in my point of view :) Actually, i don't have working Plan9 right now, reason is quite simple, on my hardware plan9 does do not work (PC emulators couldn't help because my program should work with some special hardware), so i try to create PC from "supported hardware" list, but it take some time to get all pieces, put they together, install, configure plan9 and so on )) Ok, i have no Plan9, but i have my application that i want to port, so i try to remove all autotools macros from it and try to do some preparations, like new abstraction layer for threads creation...and i'm completely failed, just because too much autotools stuff in sources. And it too complicated to figure out what exactly i should remove in every case... And my application much smaller that mesa for example. Or X11 (by the way, how X11 was ported?), and i do not touсh such problems like different library, kernel interfaces and so, and so... So it looks like "project fork" is only way :( 2008/2/3, Paweł Lasek <[EMAIL PROTECTED]>: On Feb 3, 2008 2:55 AM, Pietro Gagliardi <[EMAIL PROTECTED]> wrote: Circular cause and consequence is funny. Let me add to this list: - jpg - png - tiff - PostScript - TeX (tpic) - HTML - Mahjongg, sokoban, sudoku, tetris (games/4s) - SPARC, MIPS, x64 - MP3, PCM, OGG (PAC was made at Bell Labs) - SoundBlaster 16 Let me put it this way: GNU software is good, except for GNU development tools, which, except for the gcc program itself, are mediocre and break compatibility (try using a Bell Labs makefile with GNU make). I'd add to it the fact that autotools source files are hard to make, so many people who are to lazy to do it properly just put the famous (in)sanity check and checks for libs they use. The effect? A simple C program that doesn't rely on anything except for example libpng will check for C, C++, FORTRAN 77 compilers, check if those are from GCC and various other things. Imagine my surprise when I had seen a configure script (for EmacsLisp utility) that only checked for Emacs version and few EmacsLisp files it used - a rare thing IMHO, when >80% of configure running time is for checking for not used software. "CPU cycles are cheap, programmer time is expensive" <--- This doesn't mean that total laziness is appropriate. The best thing about autotools is I think the scheme of running configure - AFAIK mplayer doesn't even use configure for it's script, instead they use their own, which looks the same to end user. And saves a lot of time :-) -- Paul Lasek
Re: [9fans] A newbie question...
Out of curiosity, what hardware do you need to get working? On Feb 3, 2008, at 10:28 AM, Filipp Andronov wrote: I'm not sure that "project fork" is a best way. Because hardware problem is a little piece of work and it's lays it separate module. The biggest part of application is a some computations and some algorithms implementation...As far, as application was port in many different Linux platforms, it's almost impossible to find some function with out #ifdef :)) Ok, any way, it looks like "project fork" is simplest way to do port, so any other waysis not very interesting. I think that this way is most correct, because in that case i could redesign many parts of this application in "plan9 style", do some soft services like, files for example :) Thanks to all for your help :) 2008/2/3, Pietro Gagliardi <[EMAIL PROTECTED]>: You need to do direct hardware manipulation? Then "project fork" is probably best. On Feb 3, 2008, at 10:13 AM, Filipp Andronov wrote: Heh, i try to "port" my program, and it's really not possible in my point of view :) Actually, i don't have working Plan9 right now, reason is quite simple, on my hardware plan9 does do not work (PC emulators couldn't help because my program should work with some special hardware), so i try to create PC from "supported hardware" list, but it take some time to get all pieces, put they together, install, configure plan9 and so on )) Ok, i have no Plan9, but i have my application that i want to port, so i try to remove all autotools macros from it and try to do some preparations, like new abstraction layer for threads creation...and i'm completely failed, just because too much autotools stuff in sources. And it too complicated to figure out what exactly i should remove in every case... And my application much smaller that mesa for example. Or X11 (by the way, how X11 was ported?), and i do not touсh such problems like different library, kernel interfaces and so, and so... So it looks like "project fork" is only way :( 2008/2/3, Paweł Lasek <[EMAIL PROTECTED]>: On Feb 3, 2008 2:55 AM, Pietro Gagliardi <[EMAIL PROTECTED]> wrote: Circular cause and consequence is funny. Let me add to this list: - jpg - png - tiff - PostScript - TeX (tpic) - HTML - Mahjongg, sokoban, sudoku, tetris (games/4s) - SPARC, MIPS, x64 - MP3, PCM, OGG (PAC was made at Bell Labs) - SoundBlaster 16 Let me put it this way: GNU software is good, except for GNU development tools, which, except for the gcc program itself, are mediocre and break compatibility (try using a Bell Labs makefile with GNU make). I'd add to it the fact that autotools source files are hard to make, so many people who are to lazy to do it properly just put the famous (in)sanity check and checks for libs they use. The effect? A simple C program that doesn't rely on anything except for example libpng will check for C, C++, FORTRAN 77 compilers, check if those are from GCC and various other things. Imagine my surprise when I had seen a configure script (for EmacsLisp utility) that only checked for Emacs version and few EmacsLisp files it used - a rare thing IMHO, when >80% of configure running time is for checking for not used software. "CPU cycles are cheap, programmer time is expensive" <--- This doesn't mean that total laziness is appropriate. The best thing about autotools is I think the scheme of running configure - AFAIK mplayer doesn't even use configure for it's script, instead they use their own, which looks the same to end user. And saves a lot of time :-) -- Paul Lasek
Re: [9fans] A newbie question...
You need to do direct hardware manipulation? Then "project fork" is probably best. On Feb 3, 2008, at 10:13 AM, Filipp Andronov wrote: Heh, i try to "port" my program, and it's really not possible in my point of view :) Actually, i don't have working Plan9 right now, reason is quite simple, on my hardware plan9 does do not work (PC emulators couldn't help because my program should work with some special hardware), so i try to create PC from "supported hardware" list, but it take some time to get all pieces, put they together, install, configure plan9 and so on )) Ok, i have no Plan9, but i have my application that i want to port, so i try to remove all autotools macros from it and try to do some preparations, like new abstraction layer for threads creation...and i'm completely failed, just because too much autotools stuff in sources. And it too complicated to figure out what exactly i should remove in every case... And my application much smaller that mesa for example. Or X11 (by the way, how X11 was ported?), and i do not touсh such problems like different library, kernel interfaces and so, and so... So it looks like "project fork" is only way :( 2008/2/3, Paweł Lasek <[EMAIL PROTECTED]>: On Feb 3, 2008 2:55 AM, Pietro Gagliardi <[EMAIL PROTECTED]> wrote: Circular cause and consequence is funny. Let me add to this list: - jpg - png - tiff - PostScript - TeX (tpic) - HTML - Mahjongg, sokoban, sudoku, tetris (games/4s) - SPARC, MIPS, x64 - MP3, PCM, OGG (PAC was made at Bell Labs) - SoundBlaster 16 Let me put it this way: GNU software is good, except for GNU development tools, which, except for the gcc program itself, are mediocre and break compatibility (try using a Bell Labs makefile with GNU make). I'd add to it the fact that autotools source files are hard to make, so many people who are to lazy to do it properly just put the famous (in)sanity check and checks for libs they use. The effect? A simple C program that doesn't rely on anything except for example libpng will check for C, C++, FORTRAN 77 compilers, check if those are from GCC and various other things. Imagine my surprise when I had seen a configure script (for EmacsLisp utility) that only checked for Emacs version and few EmacsLisp files it used - a rare thing IMHO, when >80% of configure running time is for checking for not used software. "CPU cycles are cheap, programmer time is expensive" <--- This doesn't mean that total laziness is appropriate. The best thing about autotools is I think the scheme of running configure - AFAIK mplayer doesn't even use configure for it's script, instead they use their own, which looks the same to end user. And saves a lot of time :-) -- Paul Lasek
Re: [9fans] A newbie question...
That someone had the time and the will to do something like this? On Feb 3, 2008, at 10:01 AM, [EMAIL PROTECTED] wrote: On 3 Feb 2008, at 00:17, Robert William Fuller wrote: An alternative interpretation is that the facts are skewed by the Bell Labs reality distortion field. The syllogism goes something like this: All things not made at Bell Labs are bad GNU is not made at Bell Labs Therefore, GNU is bad Hello children. Today's word is "ad hominem". Can you say "ad hominem"? "We are the knights who say 'NIH'". Not. Nobody's mentioned the antecedents of autoconf&co. other than genealogically. The criticism has been (IMO) well-reasoned. If the appraisals appear somewhat vituperative at times, that is probably because the writers thereof constitute some of the sorry band of unfortunates (myself included) who have been persuaded by circumstance to engage in bootless battle with the autoconf hydra. We eagerly await ingenious and novel counter-arguments explicating the intrinsic intellectual beauty and universal utility of a so-called portability system consisting of 10K+SLOCs of convoluted, inscrutable and non-portable configuration scripts intertwined with a twisty maze of twisted #ifdefs. DaveL
Re: [9fans] A newbie question...
No one remembers the Windows development tools! Actually, I have a clear memory of Visual Studio 2005 Express, as I used to develop in C#. That system was one of the (cough - only - cough) good things Microsoft made. On Feb 3, 2008, at 7:49 AM, [EMAIL PROTECTED] wrote: So if i want port some big linux application to Plan9 i need start new project and copy parts of code from original one. From one side it is sad, because it's very ugly development model (for example if original project will be update, i need update my project too, so there are two "targets" for every update). On another hand i could concentrate on new Pla9 techniques and create more powerful analogous of linux software. Eventually, you'd think the autotools will fade, but reality sometimes turns out illogical. I think the "Plan 9 Way" will only become dominant if there is a major change to the present status. Strangely, no one criticises the Windows development tools... ++L
Re: [9fans] A newbie question...
You don't need to do all that if you know what libraries your program depends on. Libraries like pdcurses, libtiff, zlib, etc. have been ported to APE, so once you have them installed, all you need to do is run the configure file and then make from within ape/psh. However, if you need autoconf/automake before a configure file, you're out of luck. On Feb 3, 2008, at 3:44 AM, Filipp Andronov wrote: Hmmm, my question was not about new ideological war "GNU vs Plan9". )) I think that my bad English does not allow me to ask my question in correct form, so i will show some sample :) For example, in Linux i have some big application. This application using autotools, so if a want to port it, for example on different OS (of course if this OS has autotools) or hardware all i need is go throw sources and put something like: #ifdef RUN_IN_CYGWIN // some specific code #endif After that i need to add extra tests in configure and autotools will do all magic for me :) The main trouble is that all sources has really many pieces of #ifdef code, so it could be very painful to drop out "portability in GNU way". But it's ok, until that is a only way. Ok, for me "porting" to plan9 looks like: 1. Drop out autotools from project 2. Replace all OS specific code to Plan9 equivalent 3. Replace all libs to it's equivalent for plan9 4. and so on Main trouble in 1 step. Because after that i couldn't post in project mail list, "Hey gays, i have create Plan9 port of your application, please check it out and put in CVS trunk". If i "port" some application in that way, that mean that I've start new one, "from scratch" and just copy & paste some code from original project :(( I hope that i have logical mistakes in my example, and you show me that, because if not it could be very sad :)) 2008/2/3, Eris Discordia <[EMAIL PROTECTED]>: On Sun, 03 Feb 2008 00:30:38 -, Rob Pike <[EMAIL PROTECTED]> wrote: An alternative interpretation is that the facts are skewed by the Bell Labs reality distortion field. The syllogism goes something like this: All things not made at Bell Labs are bad GNU is not made at Bell Labs Therefore, GNU is bad If you think about what the letters of GNU stand for, you might appreciate that the forms are in mutual opposition. They provide completely different approaches to software. "Good" and "Bad" are value judgments. If you think GNU is the right way to build things, Plan 9 is probably not for you, and vice versa. -rob Is that "the" Rob Pike? "The R?" If so, please accept me humble reverence, sire! Hallowed be thy practice (of programming)! P. S. Down here in my country, Iran, we have this tradition of inventing sacred things out of thin air. A considerable proportion of "the divine and the sacred" spilled all over the globe began with that frailty of ours :-D -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Re: [9fans] Plan9 Trademark ?
Plan 9 is an incomplete name. That company refers to themselves as PLAN9, which is not trademarked. "Plan 9 from Bell Labs" is the full name of the OS, and it is copyrighted. I don't know if "Plan 9 from Outer Space" is copyrighted. On Feb 2, 2008, at 8:37 PM, [EMAIL PROTECTED] wrote: Is "Plan 9" trademarked? IANAL but there could be a problem http://www.plan9software.com/
Re: [9fans] A newbie question...
Circular cause and consequence is funny. Let me add to this list: - jpg - png - tiff - PostScript - TeX (tpic) - HTML - Mahjongg, sokoban, sudoku, tetris (games/4s) - SPARC, MIPS, x64 - MP3, PCM, OGG (PAC was made at Bell Labs) - SoundBlaster 16 Let me put it this way: GNU software is good, except for GNU development tools, which, except for the gcc program itself, are mediocre and break compatibility (try using a Bell Labs makefile with GNU make). On Feb 2, 2008, at 8:42 PM, erik quanstrom wrote: An alternative interpretation is that the facts are skewed by the Bell Labs reality distortion field. The syllogism goes something like this: All things not made at Bell Labs are bad GNU is not made at Bell Labs Therefore, GNU is bad if this holds, then plan 9 uses ip, smtp, dns, ntp, ethernet, x86, &c. these were not invented at bell labs thus using plan 9 is bad. - erik
[9fans] Color change?
Hello. I just went up from a 24-bit display to a 32-bit display in QEMU, and I noticed that rio, acme, and games/mahjongg had different colors. Is this normal/expected/in the source or images? Thanks.
Re: [9fans] CUPS printing
Plan 9 uses neither CUPS nor CIFS (the protocol used by Samba). 1) Find your printer in Parallels. You might need it connected to USB. 2) Read http://plan9.bell-labs.com/wiki/plan9/Printer_configuration/ index.html 3) Once you have your device ID, set it to LPDEST by adding the line LPDEST = to the TOP of /usr/$user/lib/profile. 4) Test it out: lp /sys/doc/title.ps On Feb 2, 2008, at 7:49 PM, Keith Poole wrote: Hi, I've got a question that you might be able to answer - I've just installed Plan9 on Parallels and I've got the networking set up OK. Now I want to set up a printer - I've got a HP deskjet printer attached to an OSX server (so I could connect to it via CUPS or SAMBA) - is there anyway to get Plan9 to print to it Thanks Keith
Re: [9fans] A newbie question...
Autotools increases portability by 57%, but then decreases portability by 75% (mv -f, ls -i not available in Plan 9), decreases usability by 750%, and decreases sanity by 7500%. I wanted to contribute to AbIWord but it took me a long time before I got it built. :-( Then I discovered troff in the back of Kernighan/Pike and am much happier :-) On Feb 2, 2008, at 1:27 PM, Martin Neubauer wrote: * Uriel ([EMAIL PROTECTED]) wrote: Autotools badness is way beyond most peoples wildest imagination... Unfortunately, you don't have to imagine.
Re: [9fans] A newbie question...
An implementation of Kaffe, a FOSS Java virtual machine, is available for Plan 9. I have never gotten it to work. http://plan9.aichi-u.ac.jp/netlib/kaffe/ On Feb 2, 2008, at 10:48 AM, Filipp Andronov wrote: Thanks, it is great news. Actually i have been shocked, may first point of view was that it is too much for me, try to port some software without gnu autotools support. But if autotools could "fly" under Plan9 it is not so bad as i think :)) I have forgot, another one question: what about Java under Plan9? Is it possible to have JVM? Or no suitable package available? )) 2008/2/2, Pietro Gagliardi <[EMAIL PROTECTED]>: If the archive actually has a configure script, the best way to start configuring is with: % ape/psh # ./configure --prefix=$home --build=i386 --bindir=$home/bin/ $objtype --lib=$home/lib On Feb 2, 2008, at 10:30 AM, Filipp Andronov wrote: Thanks for a fast reply ) I'll check out documents about APE, if my questions will be actual after that, i will post thous here. 2008/2/2, Pietro Gagliardi <[EMAIL PROTECTED]>: Autotools is in the GCC package. However, there is a nice and clean way to port alien software using APE: page /sys/doc/ape.ps On Feb 2, 2008, at 2:12 AM, Filipp Andronov wrote: Hello everyone :) I'm newbie in Plan9 system, so i have a couple of questions about it :) And the first one looks like this: does GNU build system (autoconf, automake, e.t.c) has been ported in Plan9? Or maybe there is some alternative? :) I want port some software from linux to Plan9, but couldn't find any documentation about how i should do this in "plan9 style" ) PS: sorry for my horrible English :) 2008/2/2, Pietro Gagliardi <[EMAIL PROTECTED]>: And yes, gcc has been ported. I have never gotten it to work, though. On Feb 1, 2008, at 11:43 PM, Michael Andronov wrote: Another question from newbie : I have noticed some discussion(s) on Internet about C++ language for Plan9; I'm wondering what is a bottom line of the story: - is there a C++ compiler? Any plans for it? - has it been 'banned' from Plan9? - has gcc been ported to Plan9? ( as was suggested in one of the messages I saw)... Thank for your attention. Michael.
Re: [9fans] A newbie question...
If the archive actually has a configure script, the best way to start configuring is with: % ape/psh # ./configure --prefix=$home --build=i386 --bindir=$home/bin/ $objtype --lib=$home/lib On Feb 2, 2008, at 10:30 AM, Filipp Andronov wrote: Thanks for a fast reply ) I'll check out documents about APE, if my questions will be actual after that, i will post thous here. 2008/2/2, Pietro Gagliardi <[EMAIL PROTECTED]>: Autotools is in the GCC package. However, there is a nice and clean way to port alien software using APE: page /sys/doc/ape.ps On Feb 2, 2008, at 2:12 AM, Filipp Andronov wrote: Hello everyone :) I'm newbie in Plan9 system, so i have a couple of questions about it :) And the first one looks like this: does GNU build system (autoconf, automake, e.t.c) has been ported in Plan9? Or maybe there is some alternative? :) I want port some software from linux to Plan9, but couldn't find any documentation about how i should do this in "plan9 style" ) PS: sorry for my horrible English :) 2008/2/2, Pietro Gagliardi <[EMAIL PROTECTED]>: And yes, gcc has been ported. I have never gotten it to work, though. On Feb 1, 2008, at 11:43 PM, Michael Andronov wrote: Another question from newbie : I have noticed some discussion(s) on Internet about C++ language for Plan9; I'm wondering what is a bottom line of the story: - is there a C++ compiler? Any plans for it? - has it been 'banned' from Plan9? - has gcc been ported to Plan9? ( as was suggested in one of the messages I saw)... Thank for your attention. Michael.
Re: [9fans] A newbie question...
Autotools is in the GCC package. However, there is a nice and clean way to port alien software using APE: page /sys/doc/ape.ps On Feb 2, 2008, at 2:12 AM, Filipp Andronov wrote: Hello everyone :) I'm newbie in Plan9 system, so i have a couple of questions about it :) And the first one looks like this: does GNU build system (autoconf, automake, e.t.c) has been ported in Plan9? Or maybe there is some alternative? :) I want port some software from linux to Plan9, but couldn't find any documentation about how i should do this in "plan9 style" ) PS: sorry for my horrible English :) 2008/2/2, Pietro Gagliardi <[EMAIL PROTECTED]>: And yes, gcc has been ported. I have never gotten it to work, though. On Feb 1, 2008, at 11:43 PM, Michael Andronov wrote: Another question from newbie : I have noticed some discussion(s) on Internet about C++ language for Plan9; I'm wondering what is a bottom line of the story: - is there a C++ compiler? Any plans for it? - has it been 'banned' from Plan9? - has gcc been ported to Plan9? ( as was suggested in one of the messages I saw)... Thank for your attention. Michael.
Re: [9fans] A newbie question...
And yes, gcc has been ported. I have never gotten it to work, though. On Feb 1, 2008, at 11:43 PM, Michael Andronov wrote: Another question from newbie : I have noticed some discussion(s) on Internet about C++ language for Plan9; I'm wondering what is a bottom line of the story: - is there a C++ compiler? Any plans for it? - has it been 'banned' from Plan9? - has gcc been ported to Plan9? ( as was suggested in one of the messages I saw)... Thank for your attention. Michael.
Re: [9fans] A newbie question...
C++ has not been included in Plan 9 since the third edition, but the source code is available, and Steve Simon has made some updates. Once you have abaco the way I said to get it, you also have Federico Benavento's contrib system. With it, all you need is contrib/install steve/cfront Otherwise, get contrib with /n/sources/contrib/fgb/root/rc/bin/contrib/install fgb/contrib and then do the above. Then, to compile a C++ program: c++/8c x.C # considering .C is the C++ extension c++/8l -o x x.8 The one thing: don't use #include using namespace std; You will need #include which does that for you. On Feb 1, 2008, at 11:43 PM, Michael Andronov wrote: Another question from newbie : I have noticed some discussion(s) on Internet about C++ language for Plan9; I'm wondering what is a bottom line of the story: - is there a C++ compiler? Any plans for it? - has it been 'banned' from Plan9? - has gcc been ported to Plan9? ( as was suggested in one of the messages I saw)... Thank for your attention. Michael.
Re: [9fans] (rstat 0x0)importb(0x000e): permission denied
Never mind that. I got it to work. Sorry for the noise. On Jan 31, 2008, at 10:09 PM, Pietro Gagliardi wrote: Hello. I repeatedly get this error every time I start up, then some other errors, then rio doesn't start. I got this the first time during a rio run when I asked for the plan9.ini man page. I don't know the source. Does anyone know what is going on? Thanks.
Re: [9fans] The $200 walmart "gPC"
Strange, I looked at the manufacturer's website - not a mention of Plan 9. On Feb 1, 2008, at 12:47 AM, John Barham wrote: Seems like a nice fast little machine for Plan 9. Dirt cheap too. Even w/ Fry's specials it would be hard to put together a comparable machine for that amount. Given that it has VIA's C7 chip which has extra instructions for crypto, including SHA1 (http://www.via.com.tw/en/initiatives/padlock/), it should make a nice venti server--although you would probably need to upgrade the 80 GB drive... What would be involved in patching Plan 9's libsec to use the C7's crypto instructions? John
[9fans] (rstat 0x0)importb(0x000e): permission denied
Hello. I repeatedly get this error every time I start up, then some other errors, then rio doesn't start. I got this the first time during a rio run when I asked for the plan9.ini man page. I don't know the source. Does anyone know what is going on? Thanks.
Re: [9fans] A newbie question...
Do you know how to use the Acme editor? You use abaco in a similar fashion. If you mean a full office suite like Microsoft Word/Excel/PowerPoint with a GUI interface, then no. But troff is easy to learn. Here's a rough tutorial for troff: troff documents are text files sent through the troff program and its preprocessors to get a document. For example, if you have a file named mydoc, the command troff mydoc | page lets you preview your document, and troff mydoc | lp -dmyprinter sends it to your printer, replacing myprinter with the device name, troff is commonly used with a macro set, which defines formatting. The most common macro set is ms, created by Mike Lesk. To format a document with ms support: troff -ms mydoc | [output command] Here is the structure of an ms document: .TL Title .AU Author .AB Abstract .AE .NH Numbered heading .PP Paragraph .IP \(bu Bulleted paragraph .IP 1. Numbered paragraph .IP 2. List item number 2 .LP Left-aligned paragraph .SH Section heading .NH 2 Level 2 numbered heading (1.1) .PP Text in .B bold and .I italic . Lines beginning with a . are troff/ms commands. If your document has no abstract, use .AB no .AE A preprocessor is filtered through before troff. For example, a document with tables, equations, and pictures uses the command line pic mydoc | tbl | eqn | troff -ms | [output program] tbl, also by Mike Lesk, creates tables. .TS center, box; c s r l. Title of table _ A B C D E F .TE The line center, box; is obvious - it affects the whole table. c s tells the first row to be centered and all columns spanned, and r l. tells the rest of the rows to have a right-adjusted column and a left- adjusted column. Column data is separated by tabs. If a line is _ then a horizontal line is placed. eqn formats equations. .EQ sum from n=1 to infinity { x sup 2 } ~ -> ~ { infinity sub n sup 2 } over 4n .EN The ~ gives an explicit space, and { } perform grouping. Embedded equations are also supported: .EQ delim @@ .EN .PP ... the conversion factor from radians to degrees is @180 / pi@ pic is a simple picture language. .PS box "hello" arrow box "how" "are you?" box wid 2 "widths are" "in inches" arrow <-> ellipse .PE pic and eqn are by Brian Kernighan, and eqn was co-written by Lorinda Cherry. The official documentation for many of these tools can be found at: - http://cm.bell-labs.com/cm/cs/cstr.html - http://cm.bell-labs.com/cm/cs/papers.html And again, see troff.org for more information: abaco http://www.troff.org/ To download a paper from the above, 1) Snarf the link. Snarf is to Plan 9 as copy is to Windows/Mac OS X/ Linux. 2) In a command line, type "hget " without hitting Enter. 3) Middle-click and choose "paste". 4) If the file is .ps.gz, type "| gunzip > x.ps" replacing x with the document's intended name. Otherwise, just say "> x.ps" or "> x.pdf". 5) Run page on the ps/pdf file. On Jan 31, 2008, at 7:22 PM, Michael Andronov wrote: Hi, I'm a new to Plan9, and I am trying to understand the current status of the system. In particular, I am wondering about the list of application available= - is there email reader? - Web browser? - office like suite = document editor, spreadsheet? - is it possible to run Linux software under plan9? In other words, I am wondering if it is possible to switch to Plan 9 system, and to use it as 'everyday machine'? Thank you for your kind attention to this matter. have a great day, Michael.
Re: [9fans] A newbie question...
On Jan 31, 2008, at 7:22 PM, Michael Andronov wrote: Hi, I'm a new to Plan9, and I am trying to understand the current status of the system. In particular, I am wondering about the list of application available= - is there email reader? Several ways to do this, but to set up: http://plan9.bell-labs.com/wiki/plan9/Mail_configuration/index.html - Web browser? The most actively developed is abaco. Type, on the command line: 9fs sources /n/sources/contrib/fgb/root/rc/contrib/install fgb/contrib contrib/install fgb/abaco Then type abaco http://website.com/ You will need the http://. - office like suite = document editor, spreadsheet? Document editor is troff. There is no built-in spreadsheet, just maintain a text database. There are resources for learning troff; http://www.troff.org/ is a good place to start. - is it possible to run Linux software under plan9? Yes, there is an in-development program called linuxemu. I don't have much info on it, though. In other words, I am wondering if it is possible to switch to Plan 9 system, and to use it as 'everyday machine'? Thank you for your kind attention to this matter. have a great day, Michael.
Re: [9fans] pico
Well, I got the memory tampering bugs fixed, but a black and white image now does not show correctly. Gonna go back and check and fix. Will report when I put a new version up. On Jan 30, 2008, at 6:42 PM, Pietro Gagliardi wrote: What do you think I've been doing? :-) The problem seems to be in run(), because after run() returns, poolcheck fails. I'll go check it out. On Jan 30, 2008, at 1:53 AM, Bruce Ellis wrote: work it out. it's called debugging. brucee
Re: [9fans] pico
What do you think I've been doing? :-) The problem seems to be in run(), because after run() returns, poolcheck fails. I'll go check it out. On Jan 30, 2008, at 1:53 AM, Bruce Ellis wrote: work it out. it's called debugging. brucee
Re: [9fans] pico
In this case, it only told me where the program crashed, which told me nothing on why (because a different line or a color image worked). On Jan 29, 2008, at 5:46 PM, Russ Cox wrote: I get something that ends in "(double-free?)" and then the program crashes, but something like This usually means you have freed the same pointer twice or you are passing a pointer to free that was not returned by malloc. If you run acid to get a stack trace to see the context of the free, that is often enough to identify the problem. % acid pid acid: stk() ... ^D % Russ
Re: [9fans] I like this one
I don't get it... But why would you control how constructors are run? On Jan 29, 2008, at 4:57 PM, andrey mirtchovski wrote: the optional argument is obviously a text description of the desired priority level (e.g., "superbad!", or "not in a big hurry, care for a spot of tea?") accompanied by an optional justification in 150 words or less. support for interpretive dance descriptions to follow in the next release :p
Re: [9fans] pico
This only happens with black/white images, I ran a color image (boyd) through and it worked fine. I think it's with the run function... On Jan 29, 2008, at 3:33 PM, Pietro Gagliardi wrote: In the latest update, I tried adding differentiating between color and b/w images. However, I can't test anything because every time I try a line like x new = dennis I get something that ends in "(double-free?)" and then the program crashes, but something like x new x new = do call the error() function. The lexer did not change since I started this update, but it did change when I improved symbol handling. On Jan 29, 2008, at 12:30 AM, Bruce Ellis wrote: well i agree that russ did a good job but JITs are fun and often make things 10 times faster. brucee On Jan 29, 2008 11:30 AM, Pietro Gagliardi <[EMAIL PROTECTED]> wrote: Wow, that's very impressive! open: /tmp/something does not exist (2x) no image lerp no image doug But you have a preview, which I was going to add soon. I am sticking with my code interpreter because I know how to use one (I toiled over hoc. and fossil ate my code up last December) and it doesn't require hooking to a C compiler. I do like the preprocessor idea though. On Jan 28, 2008, at 6:36 PM, Russ Cox wrote: Byron Rakitzis (of posix rc fame) produced a version popi with the JIT compiler, though sadly his where for cpus which are common cpus these days. Computers and compilers are fast enough now that you can get away with just feeding code into a C compiler instead of writing a full JIT. And there's no porting to do! I just put a pico on sources that does this - 738 lines, not many of which are the "JIT". 9fs sources cd /n/sources/contrib/rsc/pico mk demo Russ
Re: [9fans] pico
In the latest update, I tried adding differentiating between color and b/w images. However, I can't test anything because every time I try a line like x new = dennis I get something that ends in "(double-free?)" and then the program crashes, but something like x new x new = do call the error() function. The lexer did not change since I started this update, but it did change when I improved symbol handling. On Jan 29, 2008, at 12:30 AM, Bruce Ellis wrote: well i agree that russ did a good job but JITs are fun and often make things 10 times faster. brucee On Jan 29, 2008 11:30 AM, Pietro Gagliardi <[EMAIL PROTECTED]> wrote: Wow, that's very impressive! open: /tmp/something does not exist (2x) no image lerp no image doug But you have a preview, which I was going to add soon. I am sticking with my code interpreter because I know how to use one (I toiled over hoc. and fossil ate my code up last December) and it doesn't require hooking to a C compiler. I do like the preprocessor idea though. On Jan 28, 2008, at 6:36 PM, Russ Cox wrote: Byron Rakitzis (of posix rc fame) produced a version popi with the JIT compiler, though sadly his where for cpus which are common cpus these days. Computers and compilers are fast enough now that you can get away with just feeding code into a C compiler instead of writing a full JIT. And there's no porting to do! I just put a pico on sources that does this - 738 lines, not many of which are the "JIT". 9fs sources cd /n/sources/contrib/rsc/pico mk demo Russ
Re: [9fans] pico
Wow, that's very impressive! open: /tmp/something does not exist (2x) no image lerp no image doug But you have a preview, which I was going to add soon. I am sticking with my code interpreter because I know how to use one (I toiled over hoc. and fossil ate my code up last December) and it doesn't require hooking to a C compiler. I do like the preprocessor idea though. On Jan 28, 2008, at 6:36 PM, Russ Cox wrote: Byron Rakitzis (of posix rc fame) produced a version popi with the JIT compiler, though sadly his where for cpus which are common cpus these days. Computers and compilers are fast enough now that you can get away with just feeding code into a C compiler instead of writing a full JIT. And there's no porting to do! I just put a pico on sources that does this - 738 lines, not many of which are the "JIT". 9fs sources cd /n/sources/contrib/rsc/pico mk demo Russ
Re: [9fans] I would like to use plan9, but...
As for internet using ethernet, 1) Find out what type of Ethernet card you have 2) Look at plan9.ini(8) to see how to change plan9.ini to do so. % man -P plan9.ini Use the arrow keys to go through pages and q to quit. 3) Type: % 9fat: % cd /n/9fat % acme plan9.ini 4) Add the necessary line to the end of the file 5) Hold down Shift and right-click the word Put at the top. Do the same with Exit. This saves and quits. 6) Type % cd % cd lib/ % acme profile 7) At the top, add the lines ndb/dns -r ip/ipconfig Save and quit as above. 8) Type % fshalt -r This will reboot your system safely, and when you get back up you should have your Internet configured. Other places for tutorials: - the Plan 9 wiki (http://plan9.bell-labs.com/wiki/plan9/) - type: % cd /sys/doc % lc Find a document you might like to read, and then % page .ps For example, - lp.ps Describes how to use the printer - rc.ps Describes how to use rc, the Plan 9 shell - comp.ps Describes how to use the Plan 9 compilers - troff.ps Describes how to use troff, the text formatter - ape.psDescribes how to port alien software to Plan 9 using APE - type man -P 1 to see info on a program To compile C programs, it depends on how you wrote them: - Compiling programs written exclusively for Plan 9 in the Plan 9 system: 8c file.c 8l -o programname file.8 - Compiling ANSI C/POSIX programs: pcc -o programname file.c On Jan 28, 2008, at 5:04 AM, [EMAIL PROTECTED] wrote: I would like very much to use plan9, but there are some things i am unsure of. this is a list of things i need to know how to do: 1)write to newsgroups, and use internet using ethernet 2)use a c compiler 3)a good tutorial site for commands, programming etc. Thanks -nolan
Re: [9fans] How to read/write pixels from Memimage
On Jan 27, 2008, at 8:22 PM, erik quanstrom wrote: (you likely want an alpha channel in your image, so that each pixel is 4 bytes.) Apparently, my RGB24 manipulation was wrong, and now it works like a charm. The next step is to support a construct like new.red and to eliminate the use of undocumented stuff (I peeked in /sys/include/ draw.h and /sys/src/libbio/brdstr.c for some hacks).
Re: [9fans] How to read/write pixels from Memimage
Another question: in RGB24, how are colors composited: 0x00RRGGBB or 0xRRGGBB00? I can't seem to get a picture that is solid red; just a wacky line art picture. On Jan 27, 2008, at 7:18 PM, Pietro Gagliardi wrote: It's up. On Jan 27, 2008, at 6:44 PM, Pietro Gagliardi wrote: Okay, I just found out that division by zero meant a black pixel would be placed, so I am going to add that and upload a new version. On Jan 27, 2008, at 1:05 PM, Skip Tavakkolian wrote: The code led me to confusion, so I just decided to use wordaddr. It works properly now, and my Pico is now up at /n/sources/contrib/ pietro/pico9.tgz (note the 9). Details are in README.Plan9, test files are in /lib/face/. some book examples are failing: cpu% 8.out 1: new[x,y] = x % y 8.out 181613: suicide: sys: trap: divide error pc=0x23fd
Re: [9fans] How to read/write pixels from Memimage
It's up. On Jan 27, 2008, at 6:44 PM, Pietro Gagliardi wrote: Okay, I just found out that division by zero meant a black pixel would be placed, so I am going to add that and upload a new version. On Jan 27, 2008, at 1:05 PM, Skip Tavakkolian wrote: The code led me to confusion, so I just decided to use wordaddr. It works properly now, and my Pico is now up at /n/sources/contrib/ pietro/pico9.tgz (note the 9). Details are in README.Plan9, test files are in /lib/face/. some book examples are failing: cpu% 8.out 1: new[x,y] = x % y 8.out 181613: suicide: sys: trap: divide error pc=0x23fd