Re: [9fans] audio standards -- too many to choose from

2009-08-14 Thread James Tomaschke
-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?

2009-08-14 Thread Lyndon Nerenberg

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

2009-08-14 Thread Charles Forsyth
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

2009-08-14 Thread Robert Raschke
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?

2009-08-14 Thread Robert Raschke
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

2009-08-14 Thread Pavel Klinkovsky
 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

2009-08-14 Thread Paul Donnelly
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

2009-08-14 Thread Aaron W. Hsu
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

2009-08-14 Thread Akshat Kumar
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

2009-08-14 Thread Akshat Kumar
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?

2009-08-14 Thread erik quanstrom
 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?

2009-08-14 Thread erik quanstrom
 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?

2009-08-14 Thread Robert Raschke
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

2009-08-14 Thread matt

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

2009-08-14 Thread matt




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

2009-08-14 Thread hiro
 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

2009-08-14 Thread hiro
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-08-14 Thread Devon H. O'Dell
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

2009-08-14 Thread Daniel Lyons


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

2009-08-14 Thread Russ Cox
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-08-14 Thread yy
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

2009-08-14 Thread Roman V. Shaposhnik
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

2009-08-14 Thread Roman V. Shaposhnik
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

2009-08-14 Thread Roman V. Shaposhnik
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

2009-08-14 Thread Roman V. Shaposhnik
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

2009-08-14 Thread Tim Newsham

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

2009-08-14 Thread James Tomaschke
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

2009-08-14 Thread sqweek
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

2009-08-14 Thread Skip Tavakkolian
 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

2009-08-14 Thread Skip Tavakkolian
 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

2009-08-14 Thread John Floren
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

2009-08-14 Thread Josh Wood



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

2009-08-14 Thread Skip Tavakkolian
an old interview with some relevance

http://www.wired.com/wired/archive/3.08/thompson.html




Re: [9fans] Lua on Plan9

2009-08-14 Thread John Floren
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

2009-08-14 Thread Bakul Shah
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

2009-08-14 Thread Noah Evans
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

2009-08-14 Thread erik quanstrom
 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

2009-08-14 Thread J.R. Mauro
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

2009-08-14 Thread Russ Cox
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

2009-08-14 Thread J.R. Mauro
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

2009-08-14 Thread erik quanstrom
 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

2009-08-14 Thread Akshat Kumar
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

2009-08-14 Thread Akshat Kumar
 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

2009-08-14 Thread erik quanstrom
 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