Re: [9fans] audio standards -- too many to choose from
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Devon H. O'Dell wrote: This is starting to remind me of two things: 1) The case where this guy did a review of two different audio processors, and labeled the DAC of one as inferior to the other. He posted audio files of the resulting output from one and the other. Except he posted the exact same link for both of them. People commented about how right he was, after allegedly listening to both files. They were the same file. I'm an audiophile, but I know when to quit. 2) A la Tim Newsham and Federico Benavento, less talk more code. I have a mixerfs implementation from several years ago that Kris and I worked on. I'll fix it up once I get AC'97 on my laptop to demonstrate what I mean mixer-wise. Tim said he was working on an interface that resembles what I've discussed publicly here. I don't know if this has been fixed yet: http://jtomaschke.blogspot.com/2009/02/plan9-ac97-driver-bug.html AC97 covers a wide range of chipsets and you might experience the same problems. This leads to: 3) James, if you don't like it, make your own, and kick our asses. I have already changed the audio and other interfaces such as keyboard input to provide more access to the hardware. I have no desire to develop these things other than getting the program to work. So when someone brings up the subject I'm more than happy to try and get them to do the work for me. -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkqE/JkACgkQl3JZTBu3/9kZ8ACgjX0ialxITK+V9QvLn2vrJ0y5 qw8AnRH0Y8iRtkcKVFVT/ccpnyMS7/kg =ql0O -END PGP SIGNATURE-
Re: [9fans] file server?
This is what we do at Sandia. We have one machine which serves cpu/auth/file, but the actual Venti disks are in a Coraid connected via GigE. The fossil disk is in the server, but if it dies we can just build a new one. Which reminds me of an often overlooked but important point: Save your fossil vac scores on another machine! Without them, your seperate venti server is JBOD :-P Well, not quite. You can eventually find the right vac score, but you have to manually mount each and every score in the venti until you find the right one. See /sys/src/cmd/venti/words/dumpvacroots. You could probably semi-automate the process by writing a script that mounted each of the scores in turn, checking the mtime of something like /sys/log/timesync in each, and sorting the vac scores accordingly. On my setup I aux/clog the fileserver console to a u9fs mounted directory on a UNIX server. You could also cobble something up that scans the fossil console for vac scores and emails them to an offsite address. --lyndon
Re: [9fans] audio standards -- too many to choose from
sorry, i did realise. i'm afraid i just couldn't resist slightly misquoting Flanders and Swann's `Song of Reproduction' (High Fidelity). http://www.amazon.com/Complete-Flanders-Swann-Georges-Brassens/dp/B06T4S/ref=pd_sim_b_1---BeginMessage--- Charles Forsyth wrote: Hardware 24...@192khz. the human ear can't hear as high as that still, it ought to please any passing bat! Hi-fi, hi-fi, ... So if i instead said 24...@44.1khz would it make any difference on my argument? please. You are right, however 192kHz means the DAC bandwidth could support 4x 48kHz buffers, which is what it's used for. ---End Message---
Re: [9fans] Using proportional fonts in Acme for Programming
On Fri, Aug 14, 2009 at 3:58 AM, Roman V. Shaposhnik r...@sun.com wrote: On Thu, 2009-08-13 at 11:55 -0600, Daniel Lyons wrote: I'd love it if Acme or Plan 9 had good support for some kind of Lisp variant. Speaking of which (or may be not ;-)) is there anybody using Lua on Plan9? Thanks, Roman. P.S. The more I look into Lua (as a way to help C refuge start doing some functional stuff) the more it seems that the two have a lot in common when it comes to software architecture. Last time I tried, the standard Lua compiled out of the box under the APE. Great little language. I use it in my day job (together with Erlang). It's implementation is indeed just as enlightening as the Plan 9 code. An exercise in doing exactly what is required and no more. Very elegant in my eyes. Robby
Re: [9fans] file server?
On Fri, Aug 14, 2009 at 7:14 AM, Lyndon Nerenberg lyn...@orthanc.ca wrote: This is what we do at Sandia. We have one machine which serves cpu/auth/file, but the actual Venti disks are in a Coraid connected via GigE. The fossil disk is in the server, but if it dies we can just build a new one. Which reminds me of an often overlooked but important point: Save your fossil vac scores on another machine! I have a nightly cron job that sends the latest output of the fossil console as an email. In cpurc of the fileserver I setup a aux/clog /srv/fscmd /sys/log/fossil and my nightly batch just does this: who = (myself fos...@some.other.place) today = `{date} tail -20 /sys/log/fossil |mail -s 'Fossil output of ' ^ $today $who The last 20 lines is probably overkill, but who cares. The venti archive starts at 2AM, and my cron job is at 4AM. So far, I've not yet had an archive take longer than 2 hours. But that's partly due to triggering one explicitly after a pull that's just replaced all my executables ;-) Robby
Re: [9fans] Using proportional fonts in Acme for Programming
Speaking of which (or may be not ;-)) is there anybody using Lua on Plan9? I am playing with Lua on my Plan9 computer... BTW I have found a difference between Linux and Plan9 version: - Linux version can handle dividing by 0 without crash of Lua interpretter, - Plan9 version cannot. ;-) Pavel
Re: [9fans] audio standards -- too many to choose from
fors...@terzarima.net (Charles Forsyth) writes: Hardware 24...@192khz. the human ear can't hear as high as that still, it ought to please any passing bat! Hi-fi, hi-fi, ... If you're recording doing it at 24-bit will pay off in the mixing stage.
Re: [9fans] Using proportional fonts in Acme for Programming
On Thu, 13 Aug 2009 13:58:39 -0400, Daniel Lyons fus...@storytotell.org wrote: I'd love it if Acme or Plan 9 had good support for some kind of Lisp variant. Maybe that should be my next side project. Aaron W. Hsu -- Of all tyrannies, a tyranny sincerely exercised for the good of its victims may be the most oppressive. -- C. S. Lewis
[9fans] HP: Printing with the Illiterate
Wonderful, yes, it would be to print papers from my HP Officejet 5610 through my Plan 9 computers. However, the printer reads only HP's (proprietary?) PDL, called PCL (Printer Command Language)[1][2]. Viz., it does not understand Postscript. Any suggestions on getting Plan 9 to print on this? Best, ak P.S.: Linux has some PPDs for this printer. P.P.S: I don't know anything about PPDs. [1] HP PCL Level 3 - http://ln-s.net/3ufe (hp.com - see Additional specifications) [2] http://en.wikipedia.org/wiki/Printer_Command_Language
Re: [9fans] HP: Printing with the Illiterate
It seems the product specs page previously mentioned is out-of-date. This[1][2] one mentions LIDIL as the standard language, not PCL 3. Which perhaps makes things even more difficult. dying hopes of young lads, ak P.S.: I don't know anything about LIDIL. [1] http://ln-s.net/3uhn Print drivers, standard under Connectivity [2] http://en.wikipedia.org/wiki/Lightweight_Imaging_Device_Interface_Language
Re: [9fans] file server?
The venti archive starts at 2AM, and my cron job is at 4AM. So far, I've not yet had an archive take longer than 2 hours. But that's partly due to triggering one explicitly after a pull that's just replaced all my executables ;-) that's surprising to me that it would take that long. is that typical? just on the back of the proverbial envelope ... a completely seek-bound disk with 8k blocks gets ~3mb/s even when diabolicly seek bound, lets take something way more pessimistic like 0.5mb/s for 1 hr = 1800mb. 180mb dumps would still be large, so you must be getting on the order of 50kb/s dumps? i'm not a venti expert, but i find it hard to believe that venti would be that slow normally. do you need to resize memory or your bloom filter? hope my display of ignorance here doesn't seem like criticism. - erik
Re: [9fans] file server?
Without them, your seperate venti server is JBOD :-P Well, not quite. You can eventually find the right vac score, but you have to manually mount each and every score in the venti until you find the right one. See /sys/src/cmd/venti/words/dumpvacroots. You could probably semi-automate the process by writing a script that mounted each of the scores in turn, checking the mtime of something like /sys/log/timesync in each, and sorting the vac scores accordingly. any reason fossil can't haul its own water? - erik
Re: [9fans] file server?
On Fri, Aug 14, 2009 at 1:07 PM, erik quanstrom quans...@quanstro.netwrote: The venti archive starts at 2AM, and my cron job is at 4AM. So far, I've not yet had an archive take longer than 2 hours. But that's partly due to triggering one explicitly after a pull that's just replaced all my executables ;-) that's surprising to me that it would take that long. is that typical? just on the back of the proverbial envelope ... a completely seek-bound disk with 8k blocks gets ~3mb/s even when diabolicly seek bound, lets take something way more pessimistic like 0.5mb/s for 1 hr = 1800mb. 180mb dumps would still be large, so you must be getting on the order of 50kb/s dumps? i'm not a venti expert, but i find it hard to believe that venti would be that slow normally. do you need to resize memory or your bloom filter? hope my display of ignorance here doesn't seem like criticism. - erik I am running an old (pre bloom) venti on a 500MHz VIA with some crappy no-name 30GB PATA drive. But, yes, I would be surprised if an archival dump took longer than a few minutes (from looking at my logs anything from 45sec to 4.5min is typical, but I haven't looked at the amounts of data). Saying that, those pulls from a while ago, where pretty much the whole file tree got replaced did lead to a dump taking almost an hour. Robby
Re: [9fans] audio standards -- too many to choose from
Charles Forsyth wrote: Hardware 24...@192khz. the human ear can't hear as high as that still, it ought to please any passing bat! Hi-fi, hi-fi, ... Personally I can't hear over 9119 hz (audio), but I might want to record 1s of 192Khz (samples I presume) and stretch them by 100x to 9600 hz (audio) and have a (possibly) interesting time listening to the results without interpolating.
Re: [9fans] Thrift RPC
I have not been able to convince coworkers that filesystem namespaces are the way to go. I think they think it is too hard. *shrug* you can lead a horse... Funny, the problem I usually have is that people think file systems are *too simple*, oh, no data types other than *byte stream* and *drectory*, and no type checking! We are all going to die! People seem to have trouble believing something simple can do a job that they have convinced themselves needs to be very complicated. uriel The point being that for most people, writing the FS is the hard part no ? The java 9p server was interesting in that it served functions as files. I think we need a few more thinga like that where we can begin to stop thinking about the 9p part when designing a service
Re: [9fans] audio standards -- too many to choose from
If you're recording doing it at 24-bit will pay off in the mixing stage. Thanks. And there can be some other kinds of stages, too.
Re: [9fans] audio standards -- too many to choose from
I think I can consider myself lucky, that my equipment doesn't know how to do AC-3 or DTS :) Although my soundcard does have some other interfaces i.e. for a S/PDIF clock source. On Fri, Aug 14, 2009 at 4:45 AM, Roman V. Shaposhnikr...@sun.com wrote: On Wed, 2009-08-12 at 17:36 +0200, hiro wrote: This sounds like exactly the kind of thing one wants from an audio driver for playback. For recording things get slightly more complicated. What exactly do you mean? Now that I understand what Tim is trying to do my original concern makes no sense. Sorry for this little bit of noise. Even for playback if you want to do passthrough (via SPDIF or some such) things get slightly more complicated. Of course, one can disregard passthrough as not being an audio at all, but rather a datalink issue. What's so special about things like SPDIF? Two things: the data traveling over the link can be any data, not just some form of PCM (it can be AC-3, it can be DTS, it can even be MP3). In that respect the audio card acts as a pass-through device. It is not really supposed to do anything with the data. And that brings us to the second point -- the pass-through APIs can be as ugly as hell, depending on the type of the device (follow the link to the MPlayer docs I provided in this thread). Why would it be not suitible for the kernel audio driver? Because it has very little to do with the PCM audio, and that's what the driver discussed in this thread was supposed to be all about. Now, I'm not saying that there's shouldn't be a special driver just for pass-through type of functionality, all I'm saying is that lumping this functionality together with the PCM one would confuse things. For me it's clearly an audio and not a datalink issue, but perhaps I have only limited use cases. Perhaps, everywhere in this thread I should've prefixed the word audio with some form of PCM. Thanks, Roman.
Re: [9fans] audio standards -- too many to choose from
2009/8/14 James Tomaschke ja...@orcasystems.com: Devon H. O'Dell wrote: If hardware is 2...@192, #A is 2...@192 I am not aware that #A allows for 24bit samples, I only see an option speed to set sampling rates. The man page says: Each sample is a 16 bit little-endian two's complement integer. I was only going by what the manpage said, perhaps it's out of date. Aha, this is where the misunderstanding comes in. We are talking about a theoretical new interface to #A that can be created, not what exists currently. I think we are all in agreement that #A needs changing to move forward with modern hardware. --dho
Re: [9fans] Using proportional fonts in Acme for Programming
On Aug 14, 2009, at 3:15 AM, Aaron W. Hsu wrote: On Thu, 13 Aug 2009 13:58:39 -0400, Daniel Lyons fus...@storytotell.org wrote: I'd love it if Acme or Plan 9 had good support for some kind of Lisp variant. Maybe that should be my next side project. If that's something you're thinking about doing, let me suggest you take a look at Clojure. The Java aspect aside, it is a good compromise in design between Scheme and Lisp and introduces lots of good ideas. This is something I would want to do but I have a long way to go with Plan 9 before I think I could be serious about it. — Daniel Lyons
Re: [9fans] HP: Printing with the Illiterate
If there is a Ghostscript output device for a printer, then you just need to edit /sys/lib/lp/devices to add an appropriate line giving the output device name and the file where the output goes. ; grep 'gs!' devices hpdeskjet - - /dev/lpt1data - gs!cdj670+nohead generic nospool - - - - canonbjc240l- - /dev/lpt1data - gs!bjc600+nohead generic nospool - - - - ; Those two are writing to /dev/lpt1data using the cdj670 and bjc600 drivers. However, I think you need the ijs driver, which is not built by default (it probably should be). To enable it, edit /sys/src/cmd/gs/mkfile to add ijs to the device list and then rebuild using the instructions in the mkfile. Then you'll have to compile hpijs and add a line to your /sys/lib/lp/devices that says gsijs!model+number instead of gs!dev. See /sys/lib/lp/process/gspipeijs for the exact syntax and how it interacts with the hpijs program. Also http://pages.cs.wisc.edu/~ghost/doc/cvs/Devices.htm#IJS I don't know how/where you get the hpijs program. Perhaps someone else who is using it could speak up. It was originally ported in 2004 by Kenji Okamoto but I expect you'll need a newer one than that. Russ
Re: [9fans] Using Guide Files
2009/8/12 6o205z...@sneakemail.com: Given how useful and important it is to have Edit in the tag of text windows, is there some reason that it isn't there automatically? After this discussion, I wrote a little patch, which somebody else might find useful: ; diff /sys/src/cmd/acme/exec.c src/acme/exec.c 70a71 { L|, edit, FALSE, XXX,XXX }, 149c150,152 e = lookup(r, q1-q0); --- e = nil; if(runestrncmp(r, L|, 1) != 0 || q1-q0 == 1) e = lookup(r, q1-q0); What it does is to interpret the pipe symbol '|' like the Edit command when that is the only selection. That way, you can make the 2-1 chord with Edit commands in every text window. I know it is a bit too obscure, but very convenient, since the symbol is *always* in the window - around the middle of the tag bar surrounded by spaces - and it does not have any other use (you won't be using it to name executable files). Maybe somebody else wants to give it a try. -- - yiyus || JGL . 4l77.com
[9fans] Lua on Plan9
On Fri, 2009-08-14 at 09:16 +, Pavel Klinkovsky wrote: Speaking of which (or may be not ;-)) is there anybody using Lua on Plan9? I am playing with Lua on my Plan9 computer... What do you use it for? Any kind of fun projects? My idea is to try and see whether Plan9+Lua would be a more useful combination for building Web service environment than werc. Thanks, Roman.
[9fans] Lua on Plan9
On Fri, 2009-08-14 at 09:27 +0100, Robert Raschke wrote: Last time I tried, the standard Lua compiled out of the box under the APE. That is good to know. Still, I'd rather see it run without APE. Great little language. I use it in my day job (together with Erlang). *together* with Erlang?!?! That I have to know more about. Perhaps off-list. It's implementation is indeed just as enlightening as the Plan 9 code. An exercise in doing exactly what is required and no more. Very elegant in my eyes. Couldn't agree more! Thanks, Roman.
Re: [9fans] Using proportional fonts in Acme for Programming
On Fri, 2009-08-14 at 10:49 -0600, Daniel Lyons wrote: On Aug 14, 2009, at 3:15 AM, Aaron W. Hsu wrote: On Thu, 13 Aug 2009 13:58:39 -0400, Daniel Lyons fus...@storytotell.org wrote: I'd love it if Acme or Plan 9 had good support for some kind of Lisp variant. Maybe that should be my next side project. If that's something you're thinking about doing, let me suggest you take a look at Clojure. The Java aspect aside, it is a good compromise in design between Scheme and Lisp and introduces lots of good ideas. This is something I would want to do but I have a long way to go with Plan 9 before I think I could be serious about it. I looked at it for a while and came with a realization that it could be just a tad heavier than what I need for most of the stuff I do. Plus I'm not sure how to port it to Plan9 without first porting the JVM. Thanks, Roman.
Re: [9fans] Thrift RPC
On Thu, 2009-08-13 at 09:42 +0100, roger peppe wrote: 2009/8/13 Roman Shaposhnik r...@sun.com: Am I totally missing something or hasn't been the binary RPC of that style been dead ever since SUNRPC? Hasn't the eulogy been delivered by CORBA? Haven't folks realized that S-exprs are really quite good for data serialization in the heterogeneous environments (especially when they are called JSON) i'm not familiar with Thrift, but i've done some stuff with google protobufs, from which i think Thrift is inspired. I'd be very curious to know the details of the project where you did find protobufs useful. Can you share, please? speaking of protobufs, i don't think they're a bad idea. they're specifically designed to deal with forward- and backward-compatibility, which is something you don't automatically get with s-expressions, Not unless you can make transport protocol take care of that for you. HTTP most certainly can and same can be said about 9P. I truly believe that such a division of labor is a good thing. Thrift and protobufs are doing RPC, I think we can agree on that. So if we were to look at how local procedure calls are dealing with the compatibility issue we get dynamic linker symbol versioning. I don't like those, but at least they are implemented in the right place -- the dynamic linker. What Thrift feels like would be analogous to pushing that machinery into my library. And since we are on this subject of dynamic linking -- one of the fallacies of introducing versioning was that it would somehow make compatibility seamless. It didn't. In all practical cases it made things much, much, much worse. Perhaps web services are different, but I can't really pinpoint what makes them so: you are doing calls to the symbols, the symbols are versioned and they also happen to be remote. Not much difference from calling your trustworthy r...@version1 ;-) and if you're dealing with many identically-typed records, the fact that each field in each record is not string-tagged counts saves a lot of bandwidth (and makes them more compressible, too). That's really a type of YMMV argument. I can only speak from my personal experience where the latency is much more a problem than bandwidth. we don't use text for 9p, do we? No we don't. But, as erik pointed out we use 9P as a transport protocol. My biggest beef with how Thrift was positioned (and that's why I'm so curious to know the details of your project) is the fact that they seem to be pushing it as a better JSON. At that level -- you already have a transport protocol, and it just doesn't make a lot of sense to represent data in such an unfriendly manner. And representation is important. After all, REST stands for *representational* state transfer, doesn't it? I certainly wouldn't object to Thrift use as a poorman's way of implementing an equivalent of 9P (or any kind of protocol for that matter) cheaply. Hm. Now that I've mentioned it, perhaps trying Thrift out as an implementation mechanism for 9P and comparing the result with the handwritten stuff would be a good way for me to really see how useful it might be in practice. and you really shouldn't be made to figure out how large is the integer on a host foo? I firmly believe in self-descriptive data. If you have an integer you have an integer. You shouldn't burden the representation layer with encoding issues. Thus: { integer: 12312321...very long stream of digits...123123 } is a perfectly good way to send the data. You might unpack it into whatever makes sense on the receiving end, but please don't make me suffer at the data representation layer. Thanks, Roman.
Re: [9fans] audio standards -- too many to choose from
By this logic, I need to have my application to convert CDROM-XA ADPCM audio from a device into PCM just to talk to an interface, which in turn must convert it back into ADPCM to play it back because the DMA transfers to the audio hardware buffer require ADPCM. the problem with supporting everything the hardware will do is that it's quite expensive in terms of development time. and that is the scarce resource that needs to be optimized. It can be, but in this case you're literally talking about the ability to parse enc format type, a table mapping format names to numbers, code to poke that into some card-specific register, and possibly the ability to list out all of the supported formats... More code, to be sure, but not a lot of it. it also will make the interfaces much bulkier because you have to make accomidations for the quirks of n formats. I haven't been able to think of any. Perhaps just my lack of imagination. - erik Tim Newsham http://www.thenewsh.com/~newsham/
Re: [9fans] audio standards -- too many to choose from
Charles Forsyth wrote: sorry, i did realise. i'm afraid i just couldn't resist slightly misquoting Flanders and Swann's `Song of Reproduction' (High Fidelity). http://www.amazon.com/Complete-Flanders-Swann-Georges-Brassens/dp/B06T4S/ref=pd_sim_b_1 Yes, marketing in general feeds on more is better. I don't have a complex audio chain, but there are some with multiple devices mixing audio and digital. I believe their argument for higher sampling rates is because the analog filters have to cut frequencies higher than Nyquist, so the higher the sampling frequency the less of of a slope the filter has to work on which reduces the noise from the analog side. Or this can be interpreted as being able to use cheaper analog filters for the same noise requirement. However, this field is beyond my competence. From a hardware perspective, I could see how a single 192kHz DAC is cheaper to use than four 48kHz ones. Smaller chip die area or less components to attach. Either way I believe it has to do more with manufacturing costs.
Re: [9fans] audio standards -- too many to choose from
On 12/08/2009, Tim Newsham news...@lava.net wrote: Draw the line at what the hardware can be told to decode with a flip of a register? The driver interface can easily accomodate arbitrary encoding names (see inferno's driver for an example). One thing I haven't seen mentioned (perhaps because I misunderstand) is the added state that comes from allowing multiple formats. Actually, I think this problem exists with the current interface already - say I have a program playing music at 44kHz and then I get an email or something that I've set up to cause an aural alert, but the program that does that wants to work at 22kHz. This sort of interaction sounds bad enough to me, I don't even want to think about what it would sound like if the music was in mp3 and the alert changed the kernel format to wav. I guess this is where mixerfs and the like enter the picture, but I've come to think of the kernel as a hardware multiplexer so I'm liking the idea of having the kernel support multiple formats. Then again, I also respect the argument that the kernel is not a hardware multiplexer but a hardware abstractor - doesn't matter what's down there the kernel provides the same interface. From this point of view the simple approach is compelling, have /dev/audio exclusive write to avoid the above sort of interaction and mix in userspace (or is there still playback/recording sample rate interaction?). I think everyone agrees it doesn't make sense to have an mp3 decoder in-kernel... -sqweek
Re: [9fans] Using proportional fonts in Acme for Programming
Speaking of which (or may be not ;-)) is there anybody using Lua on Plan9? Roman. Kenji has written a webdav server for pegasus (Kenji's httpd branch) using lua.
Re: [9fans] Lua on Plan9
What do you use it for? Any kind of fun projects? My idea is to try and see whether Plan9+Lua would be a more useful combination for building Web service environment than werc. Thanks, Roman. Kenji has written a webdav server for pegasus (Kenji's httpd branch) using lua.
Re: [9fans] Lua on Plan9
On Fri, Aug 14, 2009 at 11:27 AM, Roman V. Shaposhnikr...@sun.com wrote: On Fri, 2009-08-14 at 09:27 +0100, Robert Raschke wrote: Last time I tried, the standard Lua compiled out of the box under the APE. Just fetched the tarball for lua-5.1.4, changed the CC=gcc to CC=cc and tried make posix. After lots of complaining about the -O2 option, I see: /usr/john/lua-5.1.4/src/liolib.c:178[stdin:2686] incompatible types: IND STRUCT _1_ and INT for op AS I'm going to poke around and look into things, also try compiling with different targets (make linux etc.), but can I get a description of exactly how you compiled it, Robert? John -- Object-oriented design is the roman numerals of computing -- Rob Pike
Re: [9fans] Lua on Plan9
Just fetched the tarball for lua-5.1.4, changed the CC=gcc to CC=cc and tried make posix. After lots of complaining about the -O2 option, I see: /usr/john/lua-5.1.4/src/liolib.c:178[stdin:2686] incompatible types: IND STRUCT _1_ and INT for op AS I'm going to poke around and look into things, also try compiling with different targets (make linux etc.), but can I get a description of exactly how you compiled it, Robert? make ansi -Josh
Re: [9fans] audio standards -- too many to choose from
an old interview with some relevance http://www.wired.com/wired/archive/3.08/thompson.html
Re: [9fans] Lua on Plan9
On Fri, Aug 14, 2009 at 2:52 PM, Josh Woodj...@utopian.net wrote: Just fetched the tarball for lua-5.1.4, changed the CC=gcc to CC=cc and tried make posix. After lots of complaining about the -O2 option, I see: /usr/john/lua-5.1.4/src/liolib.c:178[stdin:2686] incompatible types: IND STRUCT _1_ and INT for op AS I'm going to poke around and look into things, also try compiling with different targets (make linux etc.), but can I get a description of exactly how you compiled it, Robert? make ansi -Josh Yeah, I'm kinda dumb... I tried make generic and make ansi without doing a make clean (after trying a make posix) so I had some old crap lying around. Thanks John -- Object-oriented design is the roman numerals of computing -- Rob Pike
Re: [9fans] audio standards -- too many to choose from
On Sat, 15 Aug 2009 05:24:01 +0800 sqweek sqw...@gmail.com wrote: On 12/08/2009, Tim Newsham news...@lava.net wrote: Draw the line at what the hardware can be told to decode with a flip of a register? The driver interface can easily accomodate arbitrary encoding names (see inferno's driver for an example). One thing I haven't seen mentioned (perhaps because I misunderstand) is the added state that comes from allowing multiple formats. Actually, I think this problem exists with the current interface already - say I have a program playing music at 44kHz and then I get an email or something that I've set up to cause an aural alert, but the program that does that wants to work at 22kHz. This sort of interaction sounds bad enough to me, I don't even want to think about what it would sound like if the music was in mp3 and the alert changed the kernel format to wav. The mixer would have to be smart. I guess this is where mixerfs and the like enter the picture, but I've come to think of the kernel as a hardware multiplexer so I'm liking the idea of having the kernel support multiple formats. Then again, I also respect the argument that the kernel is not a hardware multiplexer but a hardware abstractor - doesn't matter what's down there the kernel provides the same interface. From this point of view the simple approach is compelling, have /dev/audio exclusive write to avoid the above sort of interaction and mix in userspace (or is there still playback/recording sample rate interaction?). I think everyone agrees it doesn't make sense to have an mp3 decoder in-kernel... -sqweek A decoder is just a resource (like a mouse, keyboard, disk, network interface etc.). If h/w provides an mp3 decoder it would be nice to be able to use it. One idea is to have a devicename for each format/samplerate. Some would be backed by h/w, some provided solely by s/w. Basically you need an ability to interpose some sort of stream module to create a network.
Re: [9fans] Using proportional fonts in Acme for Programming
For Lisp variants ask Alex Shinn(alexsh...@gmail.com), he's got an interesting scheme implementation mostly working. It's a summer of code project this year. On Thu, Aug 13, 2009 at 7:55 PM, Daniel Lyonsfus...@storytotell.org wrote: On Aug 13, 2009, at 3:14 AM, Aaron W. Hsu wrote: So, I was browsing around the other day looking at Acme resources, and I discovered an old post from 1995 wherein someone advocated the use of proportional fonts for programming in Acme. This surprised me, to say the least. He even went as far as to mention that SML was the language they were using, and had managed to get a decent indenting pattern for it that was just as readable, without messing things up for proportional font users. I have to admit that I'm a bit skeptical about whether such a technique actually works, and so, I thought I would pose some questions to you. Bjarne Stroustrup actually advocates this style in The C++ Programming Language. This discussion reminds me of this elastic tab stops concept: http://nickgravgaard.com/elastictabstops/ I don't think it made it into any editors, but it would support the kind of fancy alignment I like to have in my code while also supporting real fonts, which I would prefer to use. Thirdly, would you continue using proportional width fonts in cases like Lisp code, where you very often see something like the following indentation scheme, and how would you resolve these indentation problems with proportional width fonts if you did continue to use them? (let ([foo bar] [something else]) (some-func (called again) (with fun indentation) (and yet) (another))) I bet you could set up Emacs to use a proportional font. It can do anything, right? :) I'd love it if Acme or Plan 9 had good support for some kind of Lisp variant. — Daniel Lyons
Re: [9fans] audio standards -- too many to choose from
Personally I can't hear over 9119 hz (audio), but I might want to record 1s of 192Khz (samples I presume) and stretch them by 100x to 9600 hz (audio) and have a (possibly) interesting time listening to the results without interpolating. perfect customer for the Phone Company! ☺ - erik
Re: [9fans] HP: Printing with the Illiterate
IJS is probably it; that's the PCL driver for the home-office class printers. Akshat: PCL is proprietary but not closed; you can find references to it online. I would highly recommend never looking at PCL since it will make your eyes bleed. Hopefully the Ghostscript drivers will work for you. On Fri, Aug 14, 2009 at 1:15 PM, Russ Coxr...@swtch.com wrote: If there is a Ghostscript output device for a printer, then you just need to edit /sys/lib/lp/devices to add an appropriate line giving the output device name and the file where the output goes. ; grep 'gs!' devices hpdeskjet - - /dev/lpt1data - gs!cdj670+nohead generic nospool - - - - canonbjc240l - - /dev/lpt1data - gs!bjc600+nohead generic nospool - - - - ; Those two are writing to /dev/lpt1data using the cdj670 and bjc600 drivers. However, I think you need the ijs driver, which is not built by default (it probably should be). To enable it, edit /sys/src/cmd/gs/mkfile to add ijs to the device list and then rebuild using the instructions in the mkfile. Then you'll have to compile hpijs and add a line to your /sys/lib/lp/devices that says gsijs!model+number instead of gs!dev. See /sys/lib/lp/process/gspipeijs for the exact syntax and how it interacts with the hpijs program. Also http://pages.cs.wisc.edu/~ghost/doc/cvs/Devices.htm#IJS I don't know how/where you get the hpijs program. Perhaps someone else who is using it could speak up. It was originally ported in 2004 by Kenji Okamoto but I expect you'll need a newer one than that. Russ
Re: [9fans] HP: Printing with the Illiterate
On Fri, Aug 14, 2009 at 5:37 PM, J.R. Maurojrm8...@gmail.com wrote: IJS is probably it; that's the PCL driver for the home-office class printers. IJS is not PCL. IJS is a custom protocol that is spoken between a bitmap-producing program like Ghostscript and a bitmap-printing program like /usr/bin/hpijs http://svn.ghostscript.com/ghostscript/branches/mtrender/ijs/ijs_spec.pdf /usr/bin/hpijs speaks IJS to Ghostscript (or whatever is on standard input/output) and speaks a new HP protocol called LIDIL to the printer on the other end. Rather than commit to a full specification of LIDIL and have to worry about backwards compatibility in the future, HP chose to use IJS as a shim protocol and distribute a binary that talks to the printer (source is available but it's still a binary). PCL is not in the picture. Getting PCL out of the picture is exactly the reason that IJS and LIDIL were introduced, because LIDIL is basically here is a bitmap whereas PCL is a real language that requires actual memory and computing power inside the printer. LIDIL moves the memory and computing requirements out of the printer into the computer proper. Russ
Re: [9fans] HP: Printing with the Illiterate
On Fri, Aug 14, 2009 at 9:06 PM, Russ Coxr...@swtch.com wrote: On Fri, Aug 14, 2009 at 5:37 PM, J.R. Maurojrm8...@gmail.com wrote: IJS is probably it; that's the PCL driver for the home-office class printers. IJS is not PCL. IJS is a custom protocol that is spoken between a bitmap-producing program like Ghostscript and a bitmap-printing program like /usr/bin/hpijs http://svn.ghostscript.com/ghostscript/branches/mtrender/ijs/ijs_spec.pdf /usr/bin/hpijs speaks IJS to Ghostscript (or whatever is on standard input/output) and speaks a new HP protocol called LIDIL to the printer on the other end. Rather than commit to a full specification of LIDIL and have to worry about backwards compatibility in the future, HP chose to use IJS as a shim protocol and distribute a binary that talks to the printer (source is available but it's still a binary). PCL is not in the picture. Getting PCL out of the picture is exactly the reason that IJS and LIDIL were introduced, because LIDIL is basically here is a bitmap whereas PCL is a real language that requires actual memory and computing power inside the printer. LIDIL moves the memory and computing requirements out of the printer into the computer proper. Russ I thought IJS was also used to turn a raster into PCL, since IIRC some non-business-class HP printers come with a stripped-down PCL 5e or some such. I'm probably wrong again, though. I try to not think about the HP PDLs too much. Probably it's not IJS I'm thinking of and some other cruft from HP -- it's been a long time.
Re: [9fans] HP: Printing with the Illiterate
I thought IJS was also used to turn a raster into PCL, since IIRC some non-business-class HP printers come with a stripped-down PCL 5e or some such. I'm probably wrong again, though. I try to not think about the HP PDLs too much. Probably it's not IJS I'm thinking of and some other cruft from HP -- it's been a long time. there are some quite nice looking printers from other manufactuers that accept pdf directly at a pricepoint 1/2 to 2/3 that of a comparable hp printer. pdf is a spec. thus no shim required. - erik
Re: [9fans] HP: Printing with the Illiterate
gs(1) compiled fine with ijs driver - I hope it doesn't need to be updated as well. Thanks for the information, Russ. I found Prof. Okamoto's page on HPIJS 1.5 port: http://basalt.cias.osakafu-u.ac.jp/plan9/s54.html (binaries linked). I'll look into the degree of changes made for the port. If it's just a mkfile, I'll try the same with newer versions. Otherwise, well, that means quite a bit of work. there are some quite nice looking printers from other manufactuers that accept pdf directly at a pricepoint 1/2 to 2/3 that of a comparable hp printer. pdf is a spec. thus no shim required. Suggestions (model, company, etc.) welcome. Although, this thing can do photoscanning, copying, and faxing. I make great use of the former two, along with printing (of course). ak
Re: [9fans] Using proportional fonts in Acme for Programming
For Lisp variants ask Alex Shinn(alexsh...@gmail.com), he's got an interesting scheme implementation mostly working. It's a summer of code project this year. See also my post: http://ninetimes.cat-v.org/news/2009/07/19/0/ and the included link to setting it up on Plan 9. Best, ak
Re: [9fans] HP: Printing with the Illiterate
Suggestions (model, company, etc.) welcome. Although, this thing can do photoscanning, copying, and faxing. I make great use of the former two, along with printing (of course). this isn't a recommendation. i don't have one. but i was thinking about getting something along the lines of this lexmark. it's got - network - pdf - duplex http://www.newegg.com/Product/Product.aspx?Item=N82E16828106625 and if you just gotta have a hp, this hp doesn't do pdf, but it does emulate postscript http://www.newegg.com/Product/Product.aspx?Item=N82E16828115365 - erik