Re: [9fans] What does your fileserver consist of?

2016-10-12 Thread Brantley Coile
:)

You would be a popular with your significant other as I was with my wife when I 
had a PDP-11 in the living room.

> On Oct 12, 2016, at 6:38 PM, James A. Robinson <j...@highwire.org> wrote:
> 
> Ha, looks familiar:
> 
> https://en.wikipedia.org/wiki/EtherDrive
> https://en.wikipedia.org/wiki/EtherDrive#/media/File:EtherDriveCluster.JPG
> 
> Very neat, thank you for the description.   But it's probably a bit
> more than I can fit into my closet. :-P
> 
> On Wed, Oct 12, 2016 at 11:31 AM Brantley Coile <brantleyco...@me.com> wrote:
> 
> SouthSuite’s production stack, plus a little.
> 
> The top box, “wrens”, is a diskless file server, work done by the Great 
> Quanstro. It’s Ken’s file server that uses ATA-over-Ethernet for its storage. 
> The bottom of the picture are two SRX storage shelves, “300” and “200”, that 
> are mirrors of each other. The machine “dmr” is our auth server, and 
> “research” is our CPU server. Eric’s 9atom setup is mixed in there as well.
> 
> They will pry IL out of my cold, dead fingers. 
> 
> Obviously this was all constructed, for the most part, out of old Coraid SRX 
> junk that was laying around. Dmr was the first equipment purchased for 
> SouthSuite proper.




[9fans] Nemo's Opus

2016-09-09 Thread Brantley Coile
I’ve been reading Nemo’s “Notes on the Plan 9 3rd edition Kernel Source” after 
a number of years. Three things struck me on this reading of what is a great 
and much appreciated work. First, is what a good job Francisco did with this 
work. Even though he never finished it, having been overtaking, I think, by the 
4th edition, it is a very good introduction to an operating system suitable for 
instruction in a undergraduate or graduate class in operating systems. I, 
fortunately, don’t have to teach, but if I did, I would certainly use the work.

Second, I’m struck by how much larger the system had grown by the time Nemo 
wrote the commentary. I had the good fortune to read John Lion’s commentary on 
Plan 9 during my brief tenure at Bell Labs in 1990. If I remember right, the 
kernel I was using was bout 25,000 lines. The first version I used outside the 
Labs was the 2nd edition it weighs in at a hefty 39,000 lines. The current 
system I’m running, the 32 bit one, not the 64 bit one, is 140,000 lines. I’m 
not sure the size of the 3rd edition, but the growth is interesting.

The third thing that struct me is the changes in the Intel architecture since 
the original PC based port. The first Plan 9 for PC ran on AT 386 machines in 
the 1990’s, if I remember right. Those were the days of ISA and EISA and before 
PCI made it’s plug-and-play appearance on the scene. It seems that while the PC 
stuff has kept up with most of the many changes in the Intel hardware platform 
over the years, there is still some cruft from the old days. 

All very interesting to think about. I highly recommend Nemo’s book. Here’s a 
link to it.

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.75.5409=rep1=pdf

  Brantley Coile
  b...@coraid.com
  http://coraid.com




Re: [9fans] Musings on Interfaces

2016-09-01 Thread Brantley Coile
Steve Bourne said it about 7th Edition.  I just asked him. He also said it 
turned out to be mostly true.
 
> On Sep 1, 2016, at 12:36 PM, Adriano Verardo <adr.vera...@gmail.com> wrote:
> 
> Brantley Coile wrote:
>> 
>> I’m very grateful to still be using these tools. It’s a very personal thing 
>> but for someone who first used 6th Edition Unix, ed and the old shell, and 
>> used all the versions of Unix that followed, these tools, both acme and sam, 
>> rio and 8 1/2, are an improvement to all that proceeded them and followed 
>> them.
> Cool.
> Who said "Unix v7 (or 6 ?) is the major improvement of all subsequent 
> releases" ?
> (or something similar, sorry for my poor spoken english)
>>   Brantley Coile
>> 
>> 
>> 
> 
> 




[9fans] Musings on Interfaces

2016-09-01 Thread Brantley Coile
I think I’ve been a member of 9fans for its entire history. The earliest saved 
9fans email in my /mail/box/bwc is dated 2001. But most of the time I have not 
said much. Given that the list isn’t very busy these days, and that I’m doing a 
lot of thinking about Plan 9, I thought I would post some of my seemingly 
random musings. 

Today I’m thinking about Plan 9’s interfaces. 

The reason for thinking about those is that I’ve just switch back to sam(1) 
from acme(1). No real reason, except for the old adage, a change is as good as 
a rest. I’ve been working 10 to 12 hour days, six days a week lately. I just 
wanted to change things a bit. Nothing against acme. I’ve been using it for 
many years and it is a great tool. 

The one time that Ken Thompson visited my office, when I had an office in 
Redwood City, he noticed that I was using acme and made a comment to the effect 
that “you are one of those.” He uses sam as do many of the folks who created 
Plan 9. Many of the original folks also use acme. I had did a poll years ago 
but can’t seem to find the results. As did I for many years, even after acme 
make its appearance. I had gotten a version of it working on my Unix using an 
Teletype 630 terminal, downloading the samterm and all. It was the main Plan 9 
editor during my very brief tenure at Bell Labs in 1990. Acme came after I left 
with the arrival of Phil Winterbottom and his Alef language. The window manager 
was 8 1/2, which is like rio(1) without the bumpers one can use to move and 
resize the window.

I must say that it is refreshing to be back with the older editor. I did have 
modify rio to look for an environmental variable that tells it not to do acme 
chording. I kept trying to use chording in sam and realized that part of the 
problem was that I could still use it in rio. So, I added a shell variable that 
turned that feature of rio off. After that subconscious chording stopped. 

I don’t think that sam is better than acme, or even the other way around. Both 
do a good job of getting the job done. They are different. And that difference 
has an affect on the way one used the system. When I use acme, I mostly stay in 
acme, using the win program for my shell access. It becomes a kind of 
integrated environment. With sam, I seem to use tools like sed and awk in the 
rio windows, like sed and awk more than when I was using acme. I had a similar 
thing happen when in the 1980’s I dropped vi for ed. I used ed until the 1990’s 
when I was able to switch to sam full time. 

But my use of edit commands in sam is the biggest difference between it and 
acme.

In sam, I think more about how to modify things using the command window rather 
than moving the mouse around and clicking on things. The command language in 
acme using the Edit command is the same, but somehow it feels different. There 
is something to be said for the convenience of the command windows in sam. 

If I thought of the change as an experiment, one result would be the time it 
took me to not have to think about which editor I was using while working. Our 
tools should be, for the most part, transparent. It took about a week to switch 
back to sam from acme. That time is certainly a function of how much I used sam 
in the past.

I’m very grateful to still be using these tools. It’s a very personal thing but 
for someone who first used 6th Edition Unix, ed and the old shell, and used all 
the versions of Unix that followed, these tools, both acme and sam, rio and 8 
1/2, are an improvement to all that proceeded them and followed them.

  Brantley Coile




Re: [9fans] Is 9Fans dead or alive

2016-08-24 Thread Brantley Coile
Nick,

Coraid, Inc sold network storage systems that consisted of our software running 
on more or less stock Supermicro hardware. We invented the ATA-over-Ethernet 
block storage network protocol. We sold almost $100,000,000 worth of stuff, 
somewhere north of 10,000 units, all running Plan 9.

I left Coraid the company in 2014 over disagreements with management on the 
direction of the company, and started SouthSuite Software. Coraid, Inc. was 
foreclosed on by the bank in 2015 and I was subsequently able to purchase the 
good parts of the old Coraid, including the brand name “Coraid.” Now, Coraid 
the brand lives on as a product of SouthSuite Software.

Now, we license that same software, or our continuing evolution of it, to run 
on Supermicro hardware our customer buys themselves at a big savings. We also 
support the existing Coraid equipment that is in the field.

You can check us out at http://www.coraid.com

Thanks for asking.

P. S. I still code exclusively in C and see no reason for me to change.

  Brantley

> On Aug 24, 2016, at 9:00 AM, Nickolas Peter <nickpeteromal...@gmail.com> 
> wrote:
> 
> Hi Brantley,
> 
> I am by no means an experienced developer or Plan 9 user, so I can hardly 
> speak from the same experience level as most (I assume) of the posters on 
> this list. I only recently found myself very interested in Plan 9, C, and 
> embedded systems. As of now, I only run 9front as a learning environment on 
> series of virtual machines.
> 
> It's really intriguing to hear that there's commercial hardware running Plan 
> 9, and very motivating to see that there are still people utilizing Plan 9 in 
> some way as a primary system.
> 
> When you mentioned using Plan 9 in your shipping software, were you referring 
> to some internal software that you use to handle shipping hardware to 
> customers, or software that you sell to customers (say, to run on your 
> hardware)? I'm interested to hear more about it, if you're at liberty to 
> share.
> 
> 
> Nick
> 
> 
> On Wednesday, August 24, 2016, Brantley Coile <brantleyco...@me.com> wrote:
> Some general comments.
> 
> It’s good to see it used in at least a few places. It’s too good a system to 
> be the only one using it. But I will until providence completely forces me to 
> do otherwise, which I don’t anticipate.
> 
> I’m really lucky to be able to use the system, especially in the way it was 
> envisioned in the 1980’s. My first knowledge of it was when I asked Dennis 
> Ritchie what was new. He said that Ken was playing around with the concept of 
> union directories. Later, during one of my visits to the Labs, in 1988 I 
> think, Dennis gave me a demonstration of the system.
> 
> One problem with most people who haven’t been as fortunate as I have, is they 
> really just need a single system, not a distributed system. While Plan 9 
> makes a better single system for some things than most OSes, it’s really not 
> supposed to have local disks at all. It really is designed to be a larger 
> distributed timesharing system. At Coraid, we had two setups, one in Athens 
> and one in Redwood City, that supported over 100 users in total. And without 
> a single dedicated system admin. It was a very part time job, mostly for 
> Erik, but Ian Ennis did some as well. It was very easy to manage because it 
> was a single machine.
> 
> As far as I know, SouthSuite is now the only company both using it as a 
> development system or shipping software based on Plan 9. Does anyone know of 
> any others?
> 
> Different people choose tools for different reasons and to satisfy different 
> requirements the world places on them. I chose to work in embedded appliances 
> so I could pick the software I use. The PIX Firewall was a bit too early for 
> Plan 9—it was not yet released when I wrote the PIX—but it was very much of 
> the spirit, as was the Cisco LocalDirector. Soon, we began using the 1995 
> Plan 9 release and I have been using it almost exclusively ever since. I use 
> it as the sole development environment and as the base of the products we 
> ship.
> 
> In spite of our early success at Coraid with the SR, after the VC investment 
> the use of Plan 9 became controversial. It’s not what others use, and in Sand 
> Land (what else can one call Silicon Valley) that makes people nervous. Over 
> my objections, the company attempted to move to Open Solaris. It’s a truism 
> that a company that changes operating system goes out of business, and 
> Coraid, Inc. again proved that to be true. The reason? A small company can’t 
> afford the retooling costs to switch to another operating system.
> 
> But things have turned out well anyway, at least for me and the traditional 
> Coraid users. Now I have everything from the trademar

Re: [9fans] Is 9Fans dead or alive

2016-08-24 Thread Brantley Coile
Some general comments.

It’s good to see it used in at least a few places. It’s too good a system to be 
the only one using it. But I will until providence completely forces me to do 
otherwise, which I don’t anticipate. 

I’m really lucky to be able to use the system, especially in the way it was 
envisioned in the 1980’s. My first knowledge of it was when I asked Dennis 
Ritchie what was new. He said that Ken was playing around with the concept of 
union directories. Later, during one of my visits to the Labs, in 1988 I think, 
Dennis gave me a demonstration of the system.

One problem with most people who haven’t been as fortunate as I have, is they 
really just need a single system, not a distributed system. While Plan 9 makes 
a better single system for some things than most OSes, it’s really not supposed 
to have local disks at all. It really is designed to be a larger distributed 
timesharing system. At Coraid, we had two setups, one in Athens and one in 
Redwood City, that supported over 100 users in total. And without a single 
dedicated system admin. It was a very part time job, mostly for Erik, but Ian 
Ennis did some as well. It was very easy to manage because it was a single 
machine.

As far as I know, SouthSuite is now the only company both using it as a 
development system or shipping software based on Plan 9. Does anyone know of 
any others? 

Different people choose tools for different reasons and to satisfy different 
requirements the world places on them. I chose to work in embedded appliances 
so I could pick the software I use. The PIX Firewall was a bit too early for 
Plan 9—it was not yet released when I wrote the PIX—but it was very much of the 
spirit, as was the Cisco LocalDirector. Soon, we began using the 1995 Plan 9 
release and I have been using it almost exclusively ever since. I use it as the 
sole development environment and as the base of the products we ship.

In spite of our early success at Coraid with the SR, after the VC investment 
the use of Plan 9 became controversial. It’s not what others use, and in Sand 
Land (what else can one call Silicon Valley) that makes people nervous. Over my 
objections, the company attempted to move to Open Solaris. It’s a truism that a 
company that changes operating system goes out of business, and Coraid, Inc. 
again proved that to be true. The reason? A small company can’t afford the 
retooling costs to switch to another operating system. 

But things have turned out well anyway, at least for me and the traditional 
Coraid users. Now I have everything from the trademark to the source code and 
now offer the Coraid product as a software product and can support existing 
Coraid users, both with software updates and with help getting their hardware 
fixed or replaced. We are helping all those folks who bought Coraid gear 
continue to get value of their purchase. One fellow sent me a note showing that 
he’s been up over 2,000 days without rebooting. There’s never a reason to 
fork-lift an SR.

I like to think we do a good job, but our performance, efficiency and low cost 
is all made possible by the superior system that was developed by the folks at 
the Labs from 1987 thru 2002. 

  Brantley


Re: [9fans] Is 9Fans dead or alive

2016-08-23 Thread Brantley Coile
We haven’t stopped using it, but then again, we don’t talk much on the list.

I’ve been using Plan 9 since 1995, before that I only used it at the Labs. I’ll 
be using it when I assume room temperature. 

We still run Ken’s file server that Erik modified into a diskless file server 
using our AoE appliances behind it. I develop on Plan 9 exclusively. And we use 
it as a distributed operating system running on about a dozen machines.

I suspect that we might the be only ones.

  Brantley

> On Aug 23, 2016, at 2:06 PM, stanley lieber  wrote:
> 
> Don Bailey  wrote:
> 
>> Plan 9 shall never die.
>> 
>> 
>> On Tue, Aug 23, 2016 at 8:21 AM, David du Colombier <0in...@gmail.com>
>> wrote:
>> 
 I see from the archive (http://marc.info/?l=9fans) there were no
>>> messages at
 all in June, maybe everyone was tired out after the 203 messages in
>> May?
>>> 
>>> The 9fans mailing list was down from approximately June 1 to July 25.
>>> 
>>> --
>>> David du Colombier
>>> 
>>> 
> 
> People just stop using it.
> 
> sl
> 
> 




Re: [9fans] Is 9Fans dead or alive

2016-08-23 Thread Brantley Coile
On Aug 22, 2016, at 10:14 PM, Staven  wrote:
> 
> We live, we die, we live again!
> 

Tell me about it!

Coraid lived, Coraid died, now Coraid lives again. 

And is shipping Plan 9 still. Over my objections the attempt to replace Plan 9 
with another OS ended Coraid, Inc. Now, SouthSuite, Inc. has the Coraid 
trademark and technology (the Plan 9 stuff). Seems Plan 9 won. http://coraid.com

  Brantley 


Re: [9fans] problem with acme on 9front

2016-05-20 Thread Brantley Coile
I purchased about a hundred of the IBM mice on Ebay, so I’m good for a while. 

HP has a nice three button mouse currently, seemingly from the European part of 
the company. I’m using one now.

http://www.laserjet.co.uk/hp-usb-optical-3-button-mouse-dy651a

Acme, of course, is based on the Oberon System by Niklaus Wirth, modified to be 
imported into the Plan 9 system, so it does have a different feel from Sam. If 
you haven’t studied Oberon, I would recommend you do. It was an amazing 
tour-de-force by Professor Wirth. 

The use of Sam vs Acme was always pretty evenly distributed. Rob uses Acme and 
Ken uses Sam still.

At SouthSuite, one of the few places still based on Plan 9, use Acme uniformly.

  Brantley Coile

> On May 20, 2016, at 7:58 AM, hiro <23h...@gmail.com> wrote:
> 
> I have bought 5 IBM mice with a real middle finger button. If someone
> needs one tell me.
> http://www.ibmfiles.com/ibmfiles/peripherals/scrollpoint_ice_blue.jpg
> location: Berlin
> 




Re: [9fans] bug in exportfs

2016-02-15 Thread Brantley Coile
Ah, my memory fails me, mostly due to too much time on Unipress machines in the 
1980's. 

Sent from my iPad

> On Feb 15, 2016, at 7:08 AM, Charles Forsyth  
> wrote:
> 
> 
>> On 15 February 2016 at 10:55,  wrote:
>> 
>> Whereas I agree that the leading-dot convention ought to be buried, in
>> reality (a) it is not going to just go away and (b) if it was so
>> readily accepted, it must have fulfilled a need.
> 
> There is no "leading dot" convention in Plan 9.
> That's in BSD-derived UNIX, and it's the result of an simplified hack in ls, 
> which was fixed in Seventh Edition.
> If you can open it, it's obviously not "hidden": it's just inconvenient to 
> use with grep *.


Re: [9fans] Compiling ken-cc on Linux

2015-11-28 Thread Brantley Coile
Not dogmatic. Just 38 years and I still believe small is beautify. 

One interesting thing is that for the past twenty years new architectures have 
been designed to run C code well. Just check out the papers a ISCA. Then why do 
we have to have such complicated compilers to generate code for it.

> On Nov 28, 2015, at 3:31 PM, Anthony Sorace  wrote:
> 
> Brantley wrote:
> 
>> One could argue that the Plan 9 C compiler lacks the modern optimizations 
>> that the other compilers have. This would be true. But I would argue that 
>> almost all of those optimizations are either not needed...
> 
> Note the "almost all" in there. It's important not to get dogmatic about such 
> things. The argument isn't that kencc is at precisely the perfect point on 
> the simplicity-vs-optimization spectrum, but that it's pretty darn close, 
> closer that known alternatives, and errs on the safer side. Likely there are 
> optimizations or features in newer chipsets that would be worth supporting, 
> but even so: we've got a long way to go before hitting gcc/clang levels.




Re: [9fans] Compiling ken-cc on Linux

2015-11-27 Thread Brantley Coile
Great point. And you actually don’t meet the minimum requirement for snarky 
messages.

You argue the the large compilers are due to the increase in the complexity of 
the specification and the complexities of generating code for the Intel 
instruction set. To some extent you are correct. A modern C compiler would be 
larger than a PDP-11 compiler. In fact, I would argue it should be about twice 
the size of the PDP compiler.

I’m kind of cheating when I say that, because I know for a fact that a ANSI C 
compiler would be that much larger because that’s about the size of the Plan 9 
C compiler compared to the PDP-11 compiler. The 7th Edition C compiler was 
about 12,000 lines. Plan9’s compiler for the 64 bit x86 instruction set is 
22,000 lines of source.

One could argue that the Plan 9 C compiler lacks the modern optimizations that 
the other compilers have. This would be true. But I would argue that almost all 
of those optimizations are either not needed because the coder could have 
optimized his code in the first place, or are way past the point of diminishing 
returns. So, I would say that those optimization fill a much needed gap.

Niklaus Wirth pointed out that the best characteristic of a language used to 
create very efficient programs is predictability. This is especially true for 
the modern architectures. We are much smarter than any compiler will ever be 
and the knowledge of the micro architecture is required to write the fastest 
code. (It doesn’t really change that fast over the years.) The programmer does 
the work. That predictability is best delivered when the compiler only 
optimized inefficiencies it generates and not try to outsmart the programmer.

I for one really enjoyed your point. 

  Brantley

> On Nov 28, 2015, at 1:42 AM, da Tyga  wrote:
> 
> I have been following this discussion about the C compiler and can no longer 
> stop myself from making a (snarky?) comment.
> 
> The K standard for C was very much written when the C language was a higher 
> than assembler language for the PDP-11 (at least that's how I became 
> acquainted with it back in 1976).  Most of us, in those days, welcomed 
> something that was more high level than macro-assembler and yet amenable to 
> writing operating systems and utilities (unlike FORTRAN, ALGOL and COBOL of 
> that era).  Many of us would use the -s switch to check the generated 
> assembler code and in some cases even modify the assembler code for selected 
> functions to get exactly the desired result.
> 
> The PDP-11 had a rather simple instruction set, thus the compiler produced 
> relatively predictable code.  The undefined behaviours in many cases meant 
> that at least on the PDP-11 we would know what to expect.  It was only once 
> code was ported to other systems that these assumptions started getting 
> sorely tested.
> 
> Fast forward to present time, we have a bloated C standard and even more 
> bloated C++ standards.  The target instruction sets are rich with lots of 
> special case instructions; out of sequence execution; multi-level caches add 
> further constraints.  So today's compilers need to analyse complex source 
> code to run with good performance on extremely complex targets.  We shouldn't 
> forget that in the case of the x86 family the compilers need to optimise for 
> an ever evolving instruction set and retain backward compatibility across 
> earlier variants.
> 
> 
> On 28 November 2015 at 12:01, erik quanstrom  wrote:
> > Funny, but actually I was wondering if there is any subtle issue in the
> > standards of the C language that makes it somehow hard to implement.
> > For example I've met a few times weird implementations of libraries and
> > frameworks dictated by broken standards: once they are in, they can never
> > be removed due to backward compatibility. I thought that Charles (that also
> > implemented the Limbo compiler) might have referenced these kind of issues
> > in his pun.
> 
> i think the simple answer is: no.  but many folks just love complexity, and 
> are
> determined to find it.  if you give such a person one problem, they'll come 
> back
> with two problems.  i call these folks complicators.  don't be a complicator.
> 
> (i have to remind myself this from time to time.)
> 
> - erik
> 
> 




Re: [9fans] Undefined Behaviour in C

2015-11-26 Thread Brantley Coile
Hi Bakul.  Long time since our Bay Area plan 9 hacking sessions. I've avoided 
the valley all together for a year and a half now. Not quite long enough yet. 

I thought the same thing, using ~0 for nil, but realized two things. First, 
that's a valid address on the PDP11 where the convention developed. It's the 
unibus space. Second, ~0 + member offest is still in page zero. 

By the way, are there any structs more than 4K in Linux? Are there any in plan 
9?

Sent from my iPad

> On Nov 26, 2015, at 2:27 AM, Bakul Shah <ba...@bitblocks.com> wrote:
> 
> Using 0xfff...f instead of 0 for a null ptr might've been less "disgusting"! 
> 
>> On Nov 25, 2015, at 6:04 PM, Prof Brucee <prof.bru...@gmail.com> wrote:
>> 
>> gcc is indeed a very sad tome. The mmap of 0 is disgusting. I like kenc. It 
>> just works. My behaviour this afternoon will be undefined but not as stupid 
>> as that of some programmers.
>> 
>>> On 26/11/2015 5:43 AM, "Brantley Coile" <brantleyco...@me.com> wrote:
>>> Align it to column 7 and it looks like all the code I saw when I started. 
>>> 
>>> iPhone email
>>> 
>>>> On Nov 25, 2015, at 12:13 PM, Ryan Gonzalez <rym...@gmail.com> wrote:
>>>> 
>>>> Neither! It's what happens when you run sed 's/^\s*//' on your whole code 
>>>> base, yielding results like (from cmd/yacc.c):
>>>> 
>>>> 
>>>> void
>>>> setup(int argc, char *argv[])
>>>> {
>>>> long c, t;
>>>> int i, j, fd, lev, ty, ytab, *p;
>>>> int vflag, dflag, stem;
>>>> char actnm[8], *stemc, *s, dirbuf[128];
>>>> Biobuf *fout;
>>>> 
>>>> ytab = 0;
>>>> vflag = 0;
>>>> dflag = 0;
>>>> stem = 0;
>>>> stemc = "y";
>>>> foutput = 0;
>>>> fdefine = 0;
>>>> fdebug = 0;
>>>> ARGBEGIN{
>>>> case 'v':
>>>> case 'V':
>>>> vflag++;
>>>> break;
>>>> case 'D':
>>>> yydebug = ARGF();
>>>> break;
>>>> case 'a':
>>>> yyarg = 1;
>>>> break;
>>>> case 'd':
>>>> dflag++;
>>>> break;
>>>> case 'l':
>>>> yyline = 0;
>>>> break;
>>>> case 'o':
>>>> ytab++;
>>>> ytabc = ARGF();
>>>> break;
>>>> case 's':
>>>> stem++;
>>>> stemc = ARGF();
>>>> break;
>>>> case 'S':
>>>> parser = PARSERS;
>>>> break;
>>>> default:
>>>> error("illegal option: %c", ARGC());
>>>> }ARGEND
>>>> openup(stemc, dflag, vflag, ytab, ytabc);
>>>> fout = dflag?fdefine:ftable;
>>>> if(yyarg){
>>>> Bprint(ftable, "#define\tYYARG\t1\n\n");
>>>> }
>>>> if((fd = mkstemp(ttempname)) >= 0){
>>>> tempname = ttempname;
>>>> ftemp = Bfdopen(fd, OWRITE);
>>>> }
>>>> if((fd = mkstemp(tactname)) >= 0){
>>>> actname = tactname;
>>>> faction = Bfdopen(fd, OWRITE);
>>>> }
>>>> if(ftemp == 0 || faction == 0)
>>>> error("cannot open temp file");
>>>> if(argc < 1)
>>>> error("no input file");
>>>> infile = argv[0];
>>>> if(infile[0] != '/' && getwd(dirbuf, sizeof dirbuf)!=nil){
>>>> i = strlen(infile)+1+strlen(dirbuf)+1+10;
>>>> s = malloc(i);
>>>> if(s != nil){
>>>> snprint(s, i, "%s/%s", dirbuf, infile);
>>>> cleanname(s);
>>>> infile = s;
>>>> }
>>>> }
>>>> finput = Bopen(infile, OREAD);
>>>> if(finput == 0)
>>>> error("cannot open '%s'", argv[0]);
>>>> cnamp = cnames;
>>>> 
>>>> defin(0, "$end");
>>>> extval = PRIVATE;  /* tokens start in unicode 'private use' */
>>>> defin(0, "error");
>>>> defin(1, "$accept");
>>>> defin(0, "$unk");
>>>> mem = mem0;
>>>> i = 0;
>>>> 
>>>> for(t = gettok(); t != MARK && t != ENDFILE;)
>>>> switch(t) {
>>>> case ';':
>>>> t = gettok();
>>>> break;
>>>> 
>>>> case START:
>>>> if(gettok() != IDENTIFIER)
>>>> error("bad %%start construction");
>>>> start = chfind(1, tokname

Re: [9fans] Undefined Behaviour in C

2015-11-26 Thread Brantley Coile
Thanks, Erik. And of those, how many don’t end with arrays or would not use 
earlier members to access those arrays? I’m still kind of dubious that there 
are any structures where one would not catch a null pointer.

Of course, this is not the original issue, which was someone fooling the kernel 
into doing something it might now have wanted to do.

> On Nov 26, 2015, at 11:31 AM, erik quanstrom  wrote:
> 
> On Thu Nov 26 03:25:34 PST 2015, brantleyco...@me.com wrote:
> 
>> Hi Bakul.  Long time since our Bay Area plan 9 hacking sessions. I've 
>> avoided the valley all together for a year and a half now. Not quite long 
>> enough yet. 
>> 
>> I thought the same thing, using ~0 for nil, but realized two things. First, 
>> that's a valid address on the PDP11 where the convention developed. It's the 
>> unibus space. Second, ~0 + member offest is still in page zero. 
>> 
>> By the way, are there any structs more than 4K in Linux? Are there any in 
>> plan 9?
> 
> since that 4k is really pagesz, on amd64 that would be 2mb.  there's no 
> compelling reason on
> 64-bit machines to start at the bottom instead of the middle.
> 
> the answer to the question is yes, yes there are.  by Biobufs are larger than 
> the original, but
> they are normally 8k.
> 
> ; cd /sys/src/cmd
> ; grep sizeof `{find .|grep acid}|sed 's/;$//g'|awk '$NF ~ /^[0-9][0-9]*$/ && 
> $NF>4096'
> ./8l/acid6:sizeofBiobuf = 8272
> ./8l/acid6:sizeof_4_ = 16384
> ./8l/acid6:sizeof_5_ = 16384
> ./acid/acid6:sizeofBiobuf = 8248
> ./aux/vga/acid6:sizeofBiobuf = 49232
> ./mk/acid:sizeofBiobuf = 8248
> ./stats.acid:sizeofAuthRpc = 8216
> ./stats.acid:sizeofEvent = 8368
> ./6l/acid6:sizeofBiobuf = 8272
> ./6l/acid6:sizeof_4_ = 16384
> ./6l/acid6:sizeof_5_ = 16384
> 
> this is not an exhaustive list.
> 
> - erik
> 




Re: [9fans] Undefined Behaviour in C

2015-11-26 Thread Brantley Coile
Hee hee.  My comment has more to do with personal experience than a judgment on 
the area in general.

> On Nov 26, 2015, at 12:48 PM, Bakul Shah  wrote:
> 
> No comment on the Bay Area :-) Especially since we are trying to hire people!



Re: [9fans] Undefined Behaviour in C

2015-11-26 Thread Brantley Coile
I did a port just like that (DTS Generic Unix) just to see what it would be 
like. It was awful. I’ll never do that again.

> On Nov 26, 2015, at 6:14 PM, Steve Simon  wrote:
> 
> 
> I don't know about the PDP but the VAX allowed access to address zero.
> 
> Even more insidious, it allowed you to dereference a null pointer and 
> guaranteed it would contain a zero, which resulted in many tiresome 
> portability issues - I used Interdatas at the time, which faulted on a read 
> at address zero.
> 
> -Steve
> 
> 
> On 26 Nov 2015, at 17:48, Bakul Shah  > wrote:
> 
>> Good points! Though 0 was a valid address on pdp11, right? 
>>  



Re: [9fans] Compiling ken-cc on Linux

2015-11-26 Thread Brantley Coile
Clearly history is wrong. It would never be able to compile C in less than 18MB 
(1/2 of clang’s text size). Therefor Unix didn’t really happen. It’s all been a 
phone company conspiracy for world domination, like the NASA  not really 
putting a man on the moon. We were just *told* they had built a system in 1973 
using a simple two pass compiler that would fit into about 28KW of memory. AT 
would have gotten away with it too, if it weren’t for their great  mistake—the 
3B20. Results: no more “One system; it works."

> On Nov 26, 2015, at 6:21 PM, Charles Forsyth  
> wrote:
> 
> 
> On 26 November 2015 at 23:08, Ryan Gonzalez  > wrote:
> Holy crap, that's crazy. I built it in debug mode on Linux, but I don't think 
> it used that much. I only have 6 GB right now!
> 
> You have to remember that a C compiler is one of the largest, most complex 
> software components that human beings have ever had to produce.
> The original C reference manual made it look deceptively easy, but really 
> there's a ton of stuff going on in there, as you can see.
> How they ever got it going on a system with 64Kbytes of address space, I'll 
> never know.



Re: [9fans] Undefined Behaviour in C

2015-11-25 Thread Brantley Coile
Bruce's law: undefined != stupid

Sent from my iPad

> On Nov 25, 2015, at 9:04 PM, Prof Brucee <prof.bru...@gmail.com> wrote:
> 
> gcc is indeed a very sad tome. The mmap of 0 is disgusting. I like kenc. It 
> just works. My behaviour this afternoon will be undefined but not as stupid 
> as that of some programmers.
> 
>> On 26/11/2015 5:43 AM, "Brantley Coile" <brantleyco...@me.com> wrote:
>> Align it to column 7 and it looks like all the code I saw when I started. 
>> 
>> iPhone email
>> 
>>> On Nov 25, 2015, at 12:13 PM, Ryan Gonzalez <rym...@gmail.com> wrote:
>>> 
>>> Neither! It's what happens when you run sed 's/^\s*//' on your whole code 
>>> base, yielding results like (from cmd/yacc.c):
>>> 
>>> 
>>> void
>>> setup(int argc, char *argv[])
>>> {
>>> long c, t;
>>> int i, j, fd, lev, ty, ytab, *p;
>>> int vflag, dflag, stem;
>>> char actnm[8], *stemc, *s, dirbuf[128];
>>> Biobuf *fout;
>>> 
>>> ytab = 0;
>>> vflag = 0;
>>> dflag = 0;
>>> stem = 0;
>>> stemc = "y";
>>> foutput = 0;
>>> fdefine = 0;
>>> fdebug = 0;
>>> ARGBEGIN{
>>> case 'v':
>>> case 'V':
>>> vflag++;
>>> break;
>>> case 'D':
>>> yydebug = ARGF();
>>> break;
>>> case 'a':
>>> yyarg = 1;
>>> break;
>>> case 'd':
>>> dflag++;
>>> break;
>>> case 'l':
>>> yyline = 0;
>>> break;
>>> case 'o':
>>> ytab++;
>>> ytabc = ARGF();
>>> break;
>>> case 's':
>>> stem++;
>>> stemc = ARGF();
>>> break;
>>> case 'S':
>>> parser = PARSERS;
>>> break;
>>> default:
>>> error("illegal option: %c", ARGC());
>>> }ARGEND
>>> openup(stemc, dflag, vflag, ytab, ytabc);
>>> fout = dflag?fdefine:ftable;
>>> if(yyarg){
>>> Bprint(ftable, "#define\tYYARG\t1\n\n");
>>> }
>>> if((fd = mkstemp(ttempname)) >= 0){
>>> tempname = ttempname;
>>> ftemp = Bfdopen(fd, OWRITE);
>>> }
>>> if((fd = mkstemp(tactname)) >= 0){
>>> actname = tactname;
>>> faction = Bfdopen(fd, OWRITE);
>>> }
>>> if(ftemp == 0 || faction == 0)
>>> error("cannot open temp file");
>>> if(argc < 1)
>>> error("no input file");
>>> infile = argv[0];
>>> if(infile[0] != '/' && getwd(dirbuf, sizeof dirbuf)!=nil){
>>> i = strlen(infile)+1+strlen(dirbuf)+1+10;
>>> s = malloc(i);
>>> if(s != nil){
>>> snprint(s, i, "%s/%s", dirbuf, infile);
>>> cleanname(s);
>>> infile = s;
>>> }
>>> }
>>> finput = Bopen(infile, OREAD);
>>> if(finput == 0)
>>> error("cannot open '%s'", argv[0]);
>>> cnamp = cnames;
>>> 
>>> defin(0, "$end");
>>> extval = PRIVATE;   /* tokens start in unicode 'private use' */
>>> defin(0, "error");
>>> defin(1, "$accept");
>>> defin(0, "$unk");
>>> mem = mem0;
>>> i = 0;
>>> 
>>> for(t = gettok(); t != MARK && t != ENDFILE;)
>>> switch(t) {
>>> case ';':
>>> t = gettok();
>>> break;
>>> 
>>> case START:
>>> if(gettok() != IDENTIFIER)
>>> error("bad %%start construction");
>>> start = chfind(1, tokname);
>>> t = gettok();
>>> continue;
>>> 
>>> case TYPEDEF:
>>> if(gettok() != TYPENAME)
>>> error("bad syntax in %%type");
>>> ty = numbval;
>>> for(;;) {
>>> t = gettok();
>>> switch(t) {
>>> case IDENTIFIER:
>>> if((t=chfind(1, tokname)) < NTBASE) {
>>> j = TYPE(toklev[t]);
>>> if(j != 0 && j != ty)
>>> error("type redeclaration of token %s",
>>> tokset[t].name);
>>> else
>>> SETTYPE(toklev[t], ty);
>>> } else {
>>> j = nontrst[t-NTBASE].value;
>>> if(j != 0 && j != ty)
>>> error("type redeclaration of nonterminal %s",
>>> nontrst[t-NTBASE].name );
>>> else
>>> nontrst[t-NTBASE].value = ty;
>>> }
>>> case ',':
>>> continue;
>>> case ';':
>>> t = gettok();
>>> default:
>>> break;
>>> }
>>> break;
>>> }

Re: [9fans] Undefined Behaviour in C

2015-11-25 Thread Brantley Coile
t; /* t is MARK */
> if(!yyarg)
> Bprint(ftable, "externint yyerrflag;\n");
> Bprint(ftable, "#ifndef   YYMAXDEPTH\n");
> Bprint(ftable, "#define   YYMAXDEPTH  150\n");
> Bprint(ftable, "#endif\n" );
> if(!ntypes) {
> Bprint(ftable, "#ifndef   YYSTYPE\n");
> Bprint(ftable, "#define   YYSTYPE int\n");
> Bprint(ftable, "#endif\n");
> }
> if(!yyarg){
> Bprint(ftable, "YYSTYPE   yylval;\n");
> Bprint(ftable, "YYSTYPE   yyval;\n");
> }else{
> if(dflag)
> Bprint(ftable, "#include \"%s.%s\"\n\n", stemc, FILED);
> Bprint(fout, "struct Yyarg {\n");
> Bprint(fout, "\tint\tyynerrs;\n");
> Bprint(fout, "\tint\tyyerrflag;\n");
> Bprint(fout, "\tvoid*\targ;\n");
> Bprint(fout, "\tYYSTYPE\tyyval;\n");
> Bprint(fout, "\tYYSTYPE\tyylval;\n");
> Bprint(fout, "};\n\n");
> }
> prdptr[0] = mem;
> 
> /* added production */
> *mem++ = NTBASE;
> 
> /* if start is 0, we will overwrite with the lhs of the first rule */
> *mem++ = start;
> *mem++ = 1;
> *mem++ = 0;
> prdptr[1] = mem;
> while((t=gettok()) == LCURLY)
> cpycode();
> if(t != IDENTCOLON)
> error("bad syntax on first rule");
> 
> if(!start)
> prdptr[0][1] = chfind(1, tokname);
> 
> /* read rules */
> while(t != MARK && t != ENDFILE) {
> /* process a rule */
> rlines[nprod] = lineno;
> if(t == '|')
> *mem++ = *prdptr[nprod-1];
> else
> if(t == IDENTCOLON) {
> *mem = chfind(1, tokname);
> if(*mem < NTBASE)
> error("token illegal on LHS of grammar rule");
> mem++;
> } else
> error("illegal rule: missing semicolon or | ?");
> /* read rule body */
> t = gettok();
> 
> more_rule:
> while(t == IDENTIFIER) {
> *mem = chfind(1, tokname);
> if(*mem < NTBASE)
> levprd[nprod] = toklev[*mem];
> mem++;
> t = gettok();
> }
> if(t == PREC) {
> if(gettok() != IDENTIFIER)
> error("illegal %%prec syntax");
> j = chfind(2, tokname);
> if(j >= NTBASE)
> error("nonterminal %s illegal after %%prec",
> nontrst[j-NTBASE].name);
> levprd[nprod] = toklev[j];
> t = gettok();
> }
> if(t == '=') {
> levprd[nprod] |= ACTFLAG;
> Bprint(faction, "\ncase %d:", nprod);
> cpyact(mem-prdptr[nprod]-1);
> Bprint(faction, " break;");
> if((t=gettok()) == IDENTIFIER) {
> 
> /* action within rule... */
> sprint(actnm, "$$%d", nprod);
> 
> /* make it a nonterminal */
> j = chfind(1, actnm);
> 
> /*
> * the current rule will become rule number nprod+1
> * move the contents down, and make room for the null
> */
> for(p = mem; p >= prdptr[nprod]; --p)
> p[2] = *p;
> mem += 2;
> 
> /* enter null production for action */
> p = prdptr[nprod];
> *p++ = j;
> *p++ = -nprod;
> 
> /* update the production information */
> levprd[nprod+1] = levprd[nprod] & ~ACTFLAG;
> levprd[nprod] = ACTFLAG;
> if(++nprod >= NPROD)
> error("more than %d rules", NPROD);
> prdptr[nprod] = p;
> 
> /* make the action appear in the original rule */
> *mem++ = j;
> 
> /* get some more of the rule */
> goto more_rule;
> }
> }
> 
> while(t == ';')
> t = gettok();
> *mem++ = -nprod;
> 
> /* check that default action is reasonable */
> if(ntypes && !(levprd[nprod]) && 
> nontrst[*prdptr[nprod]-NTBASE].value) {
> 
> /* no explicit action, LHS has value */
> int tempty;
> 
> tempty = prdptr[nprod][1];
> if(tempty < 0)
> error("must return a value, since LHS has a type");
> else
> if(tempty >= NTBASE)
> tempty = nontrst[tempty-NTBASE].value;
> else
> tempty = TYPE(toklev[tempty]);
> if(tempty != nontrst[*prdptr[nprod]-NTBASE].value)
> error("default action causes potential type clash");
> }
> nprod++;
> if(nprod >= NPROD)
> error("more than %d rules", NPROD);
> prdptr[nprod] = mem;
> levprd[nprod] = 0;
> }
> 
> /* end of all rules */
> defout(1);
> 
> finact();
> if(t == MARK) {
> Bprint(ftable, "\n");
> if(yyline)
> Bprint(ftable, "#line\t%d\t\"%s\"\n", lineno, infile);
> while((c=Bgetrune(finput)) != Beof)
> Bputrune(ftable, c);
> }
> Bterm(finput);
> }
> 
> 
>> On Wed, Nov 25, 2015 at 10:03 AM,  <plann...@sigint.cs.purdue.edu> wrote:
>> On Wed, Nov 25, 2015 at 09:25:55AM -0500, Brantley Coile wrote:
>> > unindented consequences
>> 
>> Is that a class of Python bugs or an awesome name for a Nerdcore band?
> 
> 
> 
> -- 
> Ryan
> [ERROR]: Your autotools build scripts are 200 lines longer than your program. 
> Something’s wrong.
> http://kirbyfan64.github.io/ 


Re: [9fans] Undefined Behaviour in C

2015-11-25 Thread Brantley Coile
Just curious, will Linux not panic when the kernel deterrences a nil pointer?

Sent from my iPad

> On Nov 25, 2015, at 5:27 AM, Alexandru Gheorghe  
> wrote:
> 
>> On 11/23/2015 01:20 PM, Vasudev Kamath wrote:
>> Ramakrishnan Muthukrishnan  writes:
>> 
>>> Had been reading the SOSP paper:
>>> 
>>> 
>>> and this blog post that proposes a simpler C:
>>> 
>> I started reading the paper and its interesting. I didn't knew till date
>> how optimizations really worked and why they were considered harmful.
> 
> They can be quite harmful, the dereference example of tun->sk is a popular 
> example that dates from 2009 regarding the Linux Kernel being exploited by 
> Spender (Brad Spengler): https://lwn.net/Articles/342330/
> "a NULL pointer was dereferenced before being checked, the check was 
> optimized out by the compiler, and the code used the NULL pointer in a way 
> which allowed the attacker to take over the system"
> 
> Funny because Spengler did try many times to introduce better security in the 
> Linux Kernel (see his set of patches in collaboration with the PaX Team: 
> GRSEC) but was refused many times by the community and Linus in particular 
> due to performance penalties (among other "opinions"). Which again opens the 
> question where exactly is the undefined behavior problem? Resides on the 
> programmer or on the compiler (and its programmers)? And how do you deal with 
> the performance side? Because clearly, if you introduce more security then 
> you will start having penalties on it; I guess the question is how much are 
> you willing to let go in preference of more security and stable systems?
> 
> It's a very interesting paper, I only read 7 pages but will soon finish it 
> and go ahead with the references (probably it links the example I wrote in 
> the beginning of this e-mail).
> 
> Thanks for sharing.
> 
> -- 
> ; Alexandru Gheorghe
> ;
> ;   aGlobal
> ; 


Re: [9fans] Undefined Behaviour in C

2015-11-25 Thread Brantley Coile
My apologies for my iPad's spelling correction and my lack of proof reading. 
Proof reading is impotent. :)

I meant "dereference". It's an easy matter to have page zero invalid in both 
user space and kernel space. 

Sent from my iPad

> On Nov 25, 2015, at 5:43 AM, Brantley Coile <brantleyco...@me.com> wrote:
> 
> Just curious, will Linux not panic when the kernel deterrences a nil pointer?
> 
> Sent from my iPad
> 
>> On Nov 25, 2015, at 5:27 AM, Alexandru Gheorghe <alghe.glo...@gmail.com> 
>> wrote:
>> 
>>> On 11/23/2015 01:20 PM, Vasudev Kamath wrote:
>>> Ramakrishnan Muthukrishnan <r...@rkrishnan.org> writes:
>>> 
>>>> Had been reading the SOSP paper:
>>>> <https://pdos.csail.mit.edu/papers/stack:sosp13.pdf>
>>>> 
>>>> and this blog post that proposes a simpler C:
>>>> <http://blog.regehr.org/archives/1180>
>>> I started reading the paper and its interesting. I didn't knew till date
>>> how optimizations really worked and why they were considered harmful.
>> 
>> They can be quite harmful, the dereference example of tun->sk is a popular 
>> example that dates from 2009 regarding the Linux Kernel being exploited by 
>> Spender (Brad Spengler): https://lwn.net/Articles/342330/
>> "a NULL pointer was dereferenced before being checked, the check was 
>> optimized out by the compiler, and the code used the NULL pointer in a way 
>> which allowed the attacker to take over the system"
>> 
>> Funny because Spengler did try many times to introduce better security in 
>> the Linux Kernel (see his set of patches in collaboration with the PaX Team: 
>> GRSEC) but was refused many times by the community and Linus in particular 
>> due to performance penalties (among other "opinions"). Which again opens the 
>> question where exactly is the undefined behavior problem? Resides on the 
>> programmer or on the compiler (and its programmers)? And how do you deal 
>> with the performance side? Because clearly, if you introduce more security 
>> then you will start having penalties on it; I guess the question is how much 
>> are you willing to let go in preference of more security and stable systems?
>> 
>> It's a very interesting paper, I only read 7 pages but will soon finish it 
>> and go ahead with the references (probably it links the example I wrote in 
>> the beginning of this e-mail).
>> 
>> Thanks for sharing.
>> 
>> -- 
>> ; Alexandru Gheorghe
>> ;
>> ;   aGlobal
>> ; 


Re: [9fans] Undefined Behaviour in C

2015-11-25 Thread Brantley Coile
Insert various complaints about unwise complexities and their unindented 
consequences here. 

Just my personal taste, but I didn’t like shared libraries when the Unix world 
in the 1980’s were copying Window’s DLLs, and could never see the reason for 
linking the file system and paging system. Most thought it was neat that one 
could leverage the paging code to just mmap a file into their address space and 
just read it. At the time Dennis observed that storage was still larger than 
the address space of machines. This didn’t dissuade people to do that anyway, 
forever making the file system block size linked to the paging system on 
Unix-like systems.

Interesting that it is still causing problems.

Of course Plan 9 has neither shared libraries nor mmap. That’s a good thing.


> On Nov 25, 2015, at 8:48 AM, erik quanstrom <quans...@quanstro.net> wrote:
> 
> so to answer bwc's question, no.  not always. 
> 
> On Nov 25, 2015 4:59 AM, Charles Forsyth <charles.fors...@gmail.com> wrote:
> The link to the lwn.net article explains that using mmap the naughty 
> application mapped a page to virtual 0, which was then available in kernel 
> mode in that process, and all they'd need to do is put their own "socket" 
> structure at 0 + offsetof(struct tun_struct, sk).
> 
> On 25 November 2015 at 10:43, Brantley Coile <brantleyco...@me.com> wrote:
> Just curious, will Linux not panic when the kernel deterrences a nil pointer?
> 
> Sent from my iPad
> 
> On Nov 25, 2015, at 5:27 AM, Alexandru Gheorghe <alghe.glo...@gmail.com> 
> wrote:
> 
> On 11/23/2015 01:20 PM, Vasudev Kamath wrote:
> Ramakrishnan Muthukrishnan <r...@rkrishnan.org>
>  writes:
> 
> 
> Had been reading the SOSP paper:
> 
> <https://pdos.csail.mit.edu/papers/stack:sosp13.pdf>
> 
> 
> and this blog post that proposes a simpler C:
> 
> <http://blog.regehr.org/archives/1180>
> I started reading the paper and its interesting. I didn't knew till date
> how optimizations really worked and why they were considered harmful.
> 
> 
> They can be quite harmful, the dereference example of tun->sk is a popular 
> example that dates from 2009 regarding the Linux Kernel being exploited by 
> Spender (Brad Spengler): https://lwn.net/Articles/342330/
> "a NULL pointer was dereferenced before being checked, the check was 
> optimized out by the compiler, and the code used the NULL pointer in a way 
> which allowed the attacker to take over the system"
> 
> Funny because Spengler did try many times to introduce better security in the 
> Linux Kernel (see his set of patches in collaboration with the PaX Team: 
> GRSEC) but was refused many times by the community and Linus in particular 
> due to performance penalties (among other "opinions"). Which again opens the 
> question where exactly is the undefined behavior problem? Resides on the 
> programmer or on the compiler (and its programmers)? And how do you deal with 
> the performance side? Because clearly, if you introduce more security then 
> you will start having penalties on it; I guess the question is how much are 
> you willing to let go in preference of more security and stable systems?
> 
> It's a very interesting paper, I only read 7 pages but will soon finish it 
> and go ahead with the references (probably it links the example I wrote in 
> the beginning of this e-mail).
> 
> Thanks for sharing.
> 
> -- 
> ; Alexandru Gheorghe
> ;
> ;   aGlobal
> ; 
> 
> 




Re: [9fans] Undefined Behaviour in C

2015-11-25 Thread Brantley Coile
Dang it! I basically suck at proof reading! unintended consequences!

> On Nov 25, 2015, at 9:25 AM, Brantley Coile <brantleyco...@me.com> wrote:
> 
> Insert various complaints about unwise complexities and their unindented 
> consequences here. 




Re: [9fans] Undefined Behaviour in C

2015-11-23 Thread Brantley Coile
This is an interesting issue to me because I'm becoming more and more aware of 
a fundamental misunderstanding of C which will make it difficult for people to 
write efficient code in the future. These two documents show a lack of 
understanding regarding the reason for undefined behavior and a confusion 
between undefined specification and undefined behavior. 

Efficiency is the reason for undefined specification. The objective of C was to 
replace assembler language without giving up the ability to write tight, 
efficient programs. Other languages, such as ALGOL, had defined all the 
behavior to great detail and as a result was very inefficient on some 
architectures. C avoided these inefficiencies by letting the machine do what 
was natural. Loading a character into an integer register is an example. It is 
undefined in C whether or not it sign extends or not. Some machines do it one 
way, some another. To force the language to one behavior requires more code on 
some architectures. 

Leaving these aspects to the local machine was one of the places where Dennis' 
genius shows through. And it's why they could write and operating system in C 
and have it run quite well on a tiny minicomputer while Multics with its PL/1 
language was dog slow on a huge expensive mainframe. (Okay, it's only one 
reason.)

Ken's compiler does the right amount of optimizations, limiting them mostly to 
what the programmer can't fix. The idea that a C compiler can be smarter than a 
sloppy programmer is causing compilers to be unusable for what I do. These 
bloated compilers  can never be idiot proof because idiots are so ingenious. 
The beauty of C is that one can write a simple compiler and create very fast 
code by being a good programmer. Give me smart programmers and simple compilers 
and not dumber programmers and idiot savant, and bloat, compilers. 

So C, as it is now defined, is in no need of fixing.

The MIT paper has a confusion between the undefined specification and undefined 
behavior. If you load a character into an integer, sign behavior is 
unspecified. But how many people program 8086 large model code any more, the 
reason for the comment into the standard? I

'm not an expert on gcc, in fact I know more that I really want to about it. 
But, if it tosses code like buf + len < size, because it might be wrong on some 
other architecture, it's broke. 

To write fast code one need a simple notation and a simple predictable 
compiler. Ken's C compiler fits this requirement to a tee. 

Sent from my iPad

> On Nov 23, 2015, at 5:20 AM, Ramakrishnan Muthukrishnan  
> wrote:
> 
> Had been reading the SOSP paper:
> 
> 
> and this blog post that proposes a simpler C:
> 
> 
> I wonder how Plan 9 C compiler, which is a non-ANSI compliant compiler,
> treats those parts that the ANSI C standard treats as undefined.
> 
> -- 
>  Ramakrishnan
> 



Re: [9fans] Undefined Behaviour in C

2015-11-23 Thread Brantley Coile
I've lived with the old definition so long that I didn't notice Plan 9's 
definition, which is not a problem on today's architectures because there are 
two equally efficient instructions to choose from. 

Sent from my iPad

> On Nov 23, 2015, at 7:05 AM, Charles Forsyth <charles.fors...@gmail.com> 
> wrote:
> 
> 
>> On 23 November 2015 at 11:50, Brantley Coile <brantleyco...@me.com> wrote:
>> It is undefined in C whether or not it sign extends or not. Some machines do 
>> it one way, some another. To force the language to one behavior requires 
>> more code on some architectures.
> 
> Ironically for its use as an example, that's another case where Plan 9 C 
> defines the effect: char is always signed, unsigned char is the only unsigned 
> form, on all targets, just like int/unsigned int, short/unsigned short. The 
> abbreviation "uchar" makes it relatively painless.
> It's just a pity that string literals must be char*, not uchar*, and all the 
> str* functions take char*.


Re: [9fans] copy of 9.txt.gz?

2015-10-01 Thread Brantley Coile
I saw a copy when I was at the Labs in 1990. It was very early in Plan 9’s 
evolution so it would be mostly of historic interest today. I got the 
impression that neither John nor the OS designers were particularly pleased 
with the commentary. I enjoyed reading it, but Nemo’s books closer to today’s 
systems.

To answer your question, I don’t have a copy.

Brantley

> On Oct 1, 2015, at 8:06 AM, Mark Bucciarelli  wrote:
> 
> Thanks, that worked.
> 
> By the way, is there any version of the John Lyons
> notes on Plan 9 from 1989?  They Lyons books says
> circulation was restricted to distribution Bell Labs.
> There are two books mentioned:
> Plan 9: Volume 1: Kernel Source Code
> Plan 9: Volume 2: Summaries & Commentary
> 
> Mark
> 
> On Wed, Sep 30, 2015 at 11:43 PM, Iain Watson Smith  wrote:
> https://drive.google.com/file/d/0B5JhhxXuFQPPLVBURU9iZEJhc28/view?usp=sharing
> 
> i'm sharing a word copy on google drive.
> 
> On 1 October 2015 at 13:08, Mark Bucciarelli  wrote:
> Hi,
> 
> Can someone here point me to where I can download
> the text version of the Nemo book?
> 
> Calibre's PDF2ePub isn't cutting it.
> 
> Thanks,
> 
> Mark
> 
> 




Re: [9fans] copy of 9.txt.gz?

2015-10-01 Thread Brantley Coile
I think he meant the Plan 9 Lion’s commentary, not the Sixth Edition one.

> On Oct 1, 2015, at 9:48 AM, Charles Forsyth  wrote:
> 
> 
> On 1 October 2015 at 14:43, Charles Forsyth  wrote:
> On 1 October 2015 at 13:06, Mark Bucciarelli  wrote:
> By the way, is there any version of the John Lyons
> notes on Plan 9 from 1989?  They Lyons books says
> circulation was restricted to distribution Bell Labs.
> There are two books mentioned:
> 
> It's on Amazon:
> 
> And it's also off Amazon: http://www.lemis.com/grog/Documentation/Lions/




Re: [9fans] Replacement for find

2015-09-30 Thread Brantley Coile
It is indeed a matter of taste and aesthetics. One reason I prefer Plan 9 is 
the Bell Labs aesthetics, as opposed to the so called "complete" solution 
aesthetic of other design philosophies which are slaves to some orthogonality 
or other, is the small is beautiful aesthetic. I've been using Plan 9 for 25 
years and find the du solution quite attractive. I subscribe to the ideas in 
"Cat -v considered harmful" paper by Pike and prefer to build commands out of a 
smaller number of primitives. 

http://harmful.cat-v.org/cat-v/unix_prog_design.pdf 

By the way, if your using p9p you already have find(1) on the system on which 
you're hosting the acme execution environment. 

Sent from my iPad

> On Sep 30, 2015, at 4:01 AM, Wolfgang Helbig  wrote:
> 
> Thanks for your answers!
> But I consider it ugly, to ask for the disk usage if you just want to
> recursively list all files.



Re: [9fans] off topic - a good Git reference

2015-09-30 Thread Brantley Coile
How can it be a secret 'society' if there's just one member for each secret 
society?

Sent from my iPad

> On Sep 29, 2015, at 11:11 PM, erik quanstrom  wrote:
> 
>> On Tue Sep 29 12:45:25 PDT 2015, k...@sciops.net wrote:
>>> On Tue, Sep 29, 2015 at 02:18:20PM -0300, Tiago Natel wrote:
>>> is there someone else interested in write a git tool for plan 9 ?
>>> 
>>> []'s
>> 
>> This has been written.  You just need to fill out a Secret Plan 9 Super
>> Secret Society application and find three Bilderbergs to vouch for you.
> 
> it's the super secret plan 9 society here!  we *hate* the sp9sss.
> 
> to the original question: i haven't used git on plan 9.  sorry, i don't have
> any useful info.
> 
> - erik
> 



Re: [9fans] tls and iphones and ios9 (sigh)

2015-09-18 Thread Brantley Coile
And me, now. Ask jas. 

Sent from my iPad

> On Sep 17, 2015, at 10:27 PM, erik quanstrom  wrote:
> 
>> On Thu Sep 17 12:49:37 PDT 2015, j...@corpus-callosum.com wrote:
>> 
 On Sep 17, 2015, at 12:46 PM, Skip Tavakkolian <9...@9netics.com> wrote:
 
 combover.  I see what you did there.
>>> 
>>> ha! i can trump that…
>> 
>> There’s a direct correlation to length of hair and billable rate.
> 
> lucky me.
> 
> - erik
> 



Re: [9fans] Pre-ANSI C

2015-09-13 Thread Brantley Coile
Nemo's book is excellent. He has one on the user space aide of plan 9 as well. 
http://lsub.org/who/nemo/9.intro.pdf. 

I would suggest first reading the file portdat.h and dat.h and getting some 
idea of the structures used in the system. Seeing the data structures first is 
essential to understanding Bell Labs code. Then learn the syscall path and 
start by walking through some of the familiar calls, adding new ones until you 
exhaust them. There aren't many. By that time you'll understand how the system 
works. You then can walk through the boot strap procedure.

Device drivers, dev*.c, are fun to read but for drivers interfacing to real 
hardware you'll need the vendor's hardware manual to really understand them. 
The devsd and devether with its many "mini-port" drivers are a bit of a world 
to themselves. The IP stack more so.

I would also highly recommend Ken file server as well. It's smaller in scope 
and has many of the same concepts as the later kernel. I would study as early a 
version as you can find. 

Not the only order to learn the code but one that has worked for me. 

Brantley

Sent from my iPad

> On Sep 11, 2015, at 6:48 PM, Aleksandar Kuktin  wrote:
> 
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
> 
>> On Fri, 11 Sep 2015 14:16:49 +0530
>> Ramakrishnan Muthukrishnan  wrote:
>> 
>> Not really about Plan 9, but I found this blog post and the comments
>> (there is even a comment from Rob Pike) very interesting and thought
>> of sharing here.
>> 
>> 
> 
> Which reminds me - I should read Plan 9's source. At least the kernel.
> 
> Any pointer about where to start? I tried with the boot code, but it
> jumped around a lot and I lost track of it.
> 
> - -- 
> Svi moji e-mailovi su kriptografski potpisani. Proverite ih.
> All of my e-mails are cryptographically signed. Verify them.
> - --
> You don't need an AI for a robot uprising.
> Humans will do just fine.
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1.4.15 (GNU/Linux)
> 
> iQIcBAEBAgAGBQJV81o+AAoJEKa4cgqNx31/A4AP/A6rhnkPiAcJBL6cZthN6+s8
> E3lJhHkK+QeWRJGfPuI/8wsCMGoNg7bv236oBmYK5SNIAt1htYeWPHwlPSrjMa6r
> tjaOthZrdOBrULaXtskM26V/kCJY3r6ZNoqNxJe6USTGuh7EHRis0Id6ZBwIalUi
> cTN56LjFnJHH0wLaAaXWZ/e9oSyvNxHPopwVoshF0m0gjO2wQ1UOKjNQT05YVD/L
> 9e5INAl7M0Y8vc/ks4jlGPhJTOhVNhzQtnc6+E1sqWAhLEEPs9vSaIo2Yv7IkxJ1
> CSsRbt+TAmQeM6NKbB992Luag/sGi/xzJHmk3S0iSUb4OQAMzrWzvbE3pUEZV/Mx
> 1XxSB5XsqDuhJekJ3HAJzKqTxfDGlfAHLoq2ntWL5VTap1QhnuxuJrdttORJwlYk
> iz11WCQhkhptkuaBTXweRIZVUue/2RjIMzyonm0zam9f12BKTgF7sfbKTZEhrsPC
> /ubb0kQyXLW/u3oxPM3P7VCIN+l6GzCB4VMeQpWbLSB1ZFacds+SAnWH79nCX2+o
> l9UDr43GHoGYc50WYeN8gVq+yZt0mMW1n33/R+4ltUiqBbYfd1Bll+QA7d0zBecO
> /k7vBh+B18XMwRGQkczvvlE7FAuxHjc7PEx8HnmIydyFU23sP966lbt5CczwIMA7
> epJusWqdEqmXP22vm/++
> =tRzZ
> -END PGP SIGNATURE-



Re: [9fans] How do I get a CSR CA's like?

2015-05-26 Thread Brantley Coile
UPDATE:

I now have reason to believe that they just removed MD5 from known signing 
algorithms, and that a SHA1 will work.  Anyone know anything about this?

Thanks,
bwc

 On May 25, 2015, at 3:06 PM, Brantley Coile brantleyco...@me.com wrote:
 
 Turns out the CSR wasn’t acceptable because of the MD5 signature. It seems 
 the that they should be signed as RSA and not MD5.  MD5 is not deemed secure 
 enough.  The plan 9 code is signing everything with MD5. Who owns this code? 
 Has anyone fixed this yet?
 
 On May 24, 2015, at 11:10 AM, Skip Tavakkolian 9...@9netics.com wrote:
 
 going by my notes from the last time i used plan9 tools to generate a
 CSR, the only differences i see are quoting the O attribute to handle
 spaces in organization name and dropping the word SIGNING from
 PEM header/footer.
 
 Thanks all.  It goes through sslshopper fine, but the CA still doesn’t like 
 it. I’ll call them tomorrow.  Thanks for all the help.
 
 bwc
 
 On May 23, 2015, at 1:08 PM, lu...@proxima.alt.za wrote:
 
 I then pasted the contents of ‘csr’ into the page and get “This CSR
 has an invalid signature!”
 
 It's worth playing with openssl to check the output from auth/rsa2csr.
 The diagnostics are bound to be a bit less vague.  Trying your
 instructions, the PEM encoded csr includes the seemingly unwanted word
 SIGNING in the headers.  When I remove it (and a space) openssl req
 reports a valid certificate request.
 
 Lucio.
 
 
 
 
 
 




Re: [9fans] How do I get a CSR CA's like?

2015-05-26 Thread Brantley Coile
I just changed “md5(…)” to “shall(…)” and added an object id to the table.  
Once I figured out I didn’t have to us RSA to *sign* the CSR, but had to have 
something other than md5, it was easy.

 On May 26, 2015, at 2:00 PM, lu...@proxima.alt.za wrote:
 
 I now have reason to believe that they just removed MD5 from known
 signing algorithms, and that a SHA1 will work.  Anyone know anything
 about this?
 
 There's an exploit for the MD5 version.  It looks pretty serious and
 deserves to be fixed by disabling the MD5 signing algorithm.
 
   www.phreedom.org/research/rogue-ca/
 
 What exactly did you change in /sys/src/libsec/port/x509.c?  I had a
 quick look this morning, but I didn't have the opportunity to dig deep
 enough.
 
 Lucio.
 
 




Re: [9fans] How do I get a CSR CA's like?

2015-05-26 Thread Brantley Coile
(Ducking smelling connection!) Use sha1.

 On May 26, 2015, at 10:44 AM, Brantley Coile brantleyco...@me.com wrote:
 
 Fixed.  Use shall instead of md5 and everyone is happy.
 
 On May 26, 2015, at 9:27 AM, Brantley Coile brantleyco...@me.com wrote:
 
 UPDATE:
 
 I now have reason to believe that they just removed MD5 from known signing 
 algorithms, and that a SHA1 will work.  Anyone know anything about this?
 
 Thanks,
 bwc
 
 On May 25, 2015, at 3:06 PM, Brantley Coile brantleyco...@me.com wrote:
 
 Turns out the CSR wasn’t acceptable because of the MD5 signature. It seems 
 the that they should be signed as RSA and not MD5.  MD5 is not deemed 
 secure enough.  The plan 9 code is signing everything with MD5. Who owns 
 this code? Has anyone fixed this yet?
 
 On May 24, 2015, at 11:10 AM, Skip Tavakkolian 9...@9netics.com wrote:
 
 going by my notes from the last time i used plan9 tools to generate a
 CSR, the only differences i see are quoting the O attribute to handle
 spaces in organization name and dropping the word SIGNING from
 PEM header/footer.
 
 Thanks all.  It goes through sslshopper fine, but the CA still doesn’t 
 like it. I’ll call them tomorrow.  Thanks for all the help.
 
 bwc
 
 On May 23, 2015, at 1:08 PM, lu...@proxima.alt.za wrote:
 
 I then pasted the contents of ‘csr’ into the page and get “This CSR
 has an invalid signature!”
 
 It's worth playing with openssl to check the output from auth/rsa2csr.
 The diagnostics are bound to be a bit less vague.  Trying your
 instructions, the PEM encoded csr includes the seemingly unwanted word
 SIGNING in the headers.  When I remove it (and a space) openssl req
 reports a valid certificate request.
 
 Lucio.
 
 
 
 
 
 
 
 
 




Re: [9fans] How do I get a CSR CA's like?

2015-05-25 Thread Brantley Coile
Turns out the CSR wasn’t acceptable because of the MD5 signature. It seems the 
that they should be signed as RSA and not MD5.  MD5 is not deemed secure 
enough.  The plan 9 code is signing everything with MD5. Who owns this code? 
Has anyone fixed this yet?

 On May 24, 2015, at 11:10 AM, Skip Tavakkolian 9...@9netics.com wrote:
 
 going by my notes from the last time i used plan9 tools to generate a
 CSR, the only differences i see are quoting the O attribute to handle
 spaces in organization name and dropping the word SIGNING from
 PEM header/footer.
 
 Thanks all.  It goes through sslshopper fine, but the CA still doesn’t like 
 it. I’ll call them tomorrow.  Thanks for all the help.
 
 bwc
 
 On May 23, 2015, at 1:08 PM, lu...@proxima.alt.za wrote:
 
 I then pasted the contents of ‘csr’ into the page and get “This CSR
 has an invalid signature!”
 
 It's worth playing with openssl to check the output from auth/rsa2csr.
 The diagnostics are bound to be a bit less vague.  Trying your
 instructions, the PEM encoded csr includes the seemingly unwanted word
 SIGNING in the headers.  When I remove it (and a space) openssl req
 reports a valid certificate request.
 
 Lucio.
 
 
 
 




Re: [9fans] How do I get a CSR CA's like?

2015-05-24 Thread Brantley Coile
Thanks all.  It goes through sslshopper fine, but the CA still doesn’t like it. 
I’ll call them tomorrow.  Thanks for all the help.

bwc

 On May 23, 2015, at 1:08 PM, lu...@proxima.alt.za wrote:
 
 I then pasted the contents of ‘csr’ into the page and get “This CSR
 has an invalid signature!”
 
 It's worth playing with openssl to check the output from auth/rsa2csr.
 The diagnostics are bound to be a bit less vague.  Trying your
 instructions, the PEM encoded csr includes the seemingly unwanted word
 SIGNING in the headers.  When I remove it (and a space) openssl req
 reports a valid certificate request.
 
 Lucio.
 
 




[9fans] How do I get a CSR CA's like?

2015-05-23 Thread Brantley Coile
I’m trying to buy a certificate.  Actually, I’m trying to *get* a certificate.  
They seem to already have my money.  Anyway, they want me to paste a 
Certificate Signing Request into their web page.  I have done the following:

dmr% auth/rsagen -b2048 key 
dmr% auth/rsa2csr 'C=US ST=Georgia L=Athens O=South Suite 
CN=www.etherdrive.com' key xx 
dmr% auth/pemencode 'CERTIFICATE SIGNING REQUEST' xx csr 

I then pasted the contents of ‘csr’ into the page and get “This CSR has an 
invalid signature!”

What am I doing wrong?





Re: [9fans] ken cc for linux

2015-03-12 Thread Brantley Coile
Thanks Charles.  I agree completely and will add that they will pry Ken's 
compilers, so wonderfully supported by you, from my cold, dead fingers.  South 
Suite's new kernel will always be compiled with 6c.  As far as performance 
goes, to paraphrase Chuck Yeager, it's not the compiler, it's the coder.  I'd 
rather have brilliant coders than idiot savant compilers.  

bwc
iPhone email

 On Mar 12, 2015, at 11:23 AM, Charles Forsyth charles.fors...@gmail.com 
 wrote:
 
 
 On 12 March 2015 at 10:06, Charles Forsyth charles.fors...@gmail.com wrote:
 I've used it and lib9 in several other projects where other compilers
 couldn't be used for licensing reasons, or because they were awful.
 
 I'll add that the compilers are great for kernel and other New World systems 
 work.
 Once stable on a given platform, they've been quite robust (I never suspect 
 them at the start as a bug cause).
 Code quality is rarely a bottleneck for systems work in my experience
 (and there's a good reason that removing -O3 is a way to fix bugs with other 
 compilers).
 If I were writing scientific computation, I wouldn't use C anyway, but if I 
 did, I'd worry
 much more about the effectiveness of optimisation. For systems work? It's 
 really, really low on the list.
 The cross-module type checking has also spotted a few things that every other 
 compiler missed.
 
 Cross-compilation is easy and precise, with next to no configuration required,
 unlike nearly all the others; I rely on that a lot. It's worth the price of 
 entry for that alone, for me,
 having suffered with gcc on an old OS project of mine; I'd never use it again 
 for anything new.
 (Obviously I still use gcc for the 8 hour[!] Linux kernel compiles and 
 builds.)
 
 lcc used to include all the code generators, so I suppose that would be just 
 as good, except
 that it spits out assembly and you have to rely on external components, which 
 still leaves you cross when attempting
 to cross-compile.
 
 
 
 


Re: [9fans] 9atom back up!

2015-02-05 Thread Brantley Coile
Our pleasure.  We are still 100% dedicated to Plan 9.

Brantley Coile

On Feb 5, 2015, at 11:02 AM, erik quanstrom quans...@quanstro.net wrote:

 sorry for the delay.
 
 robert ball and brantley coile replaced
 the dead motherboard for me, in my decidely non virtual
 environment.  many thanks to them for their help.
 
 - erik
 




Re: [9fans] i'm afraid we've had it wrong

2013-09-29 Thread Brantley Coile
Doesn't matter what they say about you as long as they spell your name right. 
-- Harry Houdini. 

Sent from my iPad

 On Sep 29, 2013, at 8:02 PM, Teodoro Santoni asbras...@gmail.com wrote:
 
 However stating that just works equals don't rework it is very 
 Microsofty, tho'
 
 On domenica 29 settembre 2013 18:55:20 CEST, andrey mirtchovski wrote:
 after all these years:
 
 http://www.di.unipi.it/~nids/docs/the_plan-9_effect.html
 
 
 
 
 



Re: [9fans] [GSOC 2013] Implement plan9 commands in Go, Goblin

2013-04-30 Thread Brantley Coile
Just a nit, but the Algol style of assignment, becomes if you will, didn't 
define the variable instance.  It was just an assignment.


sent from my ipad

On Apr 30, 2013, at 4:45 PM, suharik gleb.ax...@gmail.com wrote:

 With := you can define locale variable where you need it.
 That's like pascal style (where you define all variables before the
 code) versus c style (where you define variables with code).



Re: [9fans] iwp9 2013

2012-11-21 Thread Brantley Coile
Or from the seventh floor of our 100+ year old building.

sent from my ipad

On Nov 21, 2012, at 1:28 AM, John Floren j...@jfloren.net wrote:

 It means that the football hooligans will be out of town rather than
 filling all the hotels and drinking all the beer. I'm told that Athens
 during a college football game is truly a sight to see. (From a
 distance. On closed-circuit camera. In a bunker)
 
 john
 
 On Tue, Nov 20, 2012 at 10:20 PM, Aram Hăvărneanu ara...@mgk.ro wrote:
 What does away game mean?
 
 --
 Aram Hăvărneanu
 


Re: [9fans] iwp9

2012-11-19 Thread Brantley Coile
The full ICAO code for Atlanta, Georgia, USA, includes a K as in  KATL.
As we say here in the south, ya'll come see us.
bwc

sent from my ipad

On Nov 19, 2012, at 8:22 AM, erik quanstrom quans...@quanstro.net wrote:

 On Mon Nov 19 08:11:25 EST 2012, beg...@gmail.com wrote:
 
 I wonder if there's an Athens in the country Georgia.
 That would make the confusion whole.
 
 athens, georgia, united states of america.  nearest airport ATL.
 
 - erik
 



[9fans] looking for bay area plan 9 member of the office of chief technology officer

2011-10-27 Thread Brantley Coile
i've not been on the list for a while because things are really moving fast 
here at coraid.

i've started an office of the cto and staffing it with knowledgable people to 
do interesting things.  my objective is for the office is for it to innovate, 
communicate and educate, and everyone codes interesting ideas.

right now i'm in dire need of someone in the bay area with strong plan 9 
experience and/or deep knowledge of intel hardware platforms.  if you know of 
anyone who might be interested, please let them know to send me an email.  

as some of you know, coraid is a well funded company whose technology is based 
on plan 9 and whose sales has grown significantly over the past 24 months.  we 
have been shipping product since 2004, but in late 2009 raised a $10M venture 
investment to expand our business.   in 2010 we added another $25M, even though 
we still had a large bank balance, in order to grow sales even faster.  the 
initial public offering is still a ways out, so the value of the stock options 
are still a very good deal.  besides getting to do interesting things with 
interesting people, there is a good chance of great financial upside.

so if you know any who has even the remotest interest in joining me, erik 
quanstrom, brian stuart, and many others, please encourage them to email me.

coraid is a blast.
brantley
founder  CTO




Re: [9fans] NIX 64-bit kernel is available

2011-09-17 Thread Brantley Coile
hee hee
 Brantley

On Sep 14, 2011, at 6:10 PM, Dan Cross wrote:

 On Wed, Sep 14, 2011 at 5:48 PM, John Floren j...@jfloren.net wrote:
 I don't want to drag out the discussion, but:
 
 1. Nixie is pretty much generic these days. Wikipedia even calls it a
 genericised trademark.
 2. Nixies are also Germanic water spirits.
 
 I think we're good :)
 
 (I don't want to contribute to the noise, but PIX would be a pretty
 cool name, all things considered.)
 
- Dan C.
 




Re: [9fans] Plan9 development

2010-11-04 Thread Brantley Coile
Unlike many open source systems, plan 9 is stable.  Very reliable. It doesn't 
get changed just for fun. 

iPhone email

On Nov 4, 2010, at 5:43 AM, Admiral Fukov admiralfu...@gmail.com wrote:

 I'm looking at
 
 http://plan9.bell-labs.com/sources/plan9/sys/src/
 
 and I noticed that most of the distribution hasn't been updated in
 years.
 Is the development of plan 9 abandoned?
 



[9fans] Why not work for a company based on Plan 9?

2010-10-25 Thread Brantley Coile
hi guys,

as most on this list know, coraid makes storage devices that use plan 9 as the 
software platform.  we also use it as our primary development environment.  we 
still run a ken file server here.  plan 9 is fundamental to our vision.  coraid 
has become a hot silicon valley property and we are about to start another 
round of hiring developers.  i knew it would be a disservice to this mailing 
list if i didn't make an announcement here.

developers, qa, and support folks can work either in redwood city, ca or 
athens, ga.  there are the usual up and coming silicon valley startup stock 
options.  and in athens, you don't have to pay those silicon valley prices for 
housing and beer.  athens is very affordable on both these counts, especially 
the beer as anyone who attended the 2009 iwp9 will attest.

i hope we're creating a place that i would have wanted to work.  it's not every 
place that you can work with plan 9, get paid for it and participate in a high 
potential start-up.

please send resume's to me.

brantley




Re: [9fans] Why not work for a company based on Plan 9?

2010-10-25 Thread Brantley Coile
the positions are in redwood city, ca and athens, ga.

On Oct 25, 2010, at 11:17 AM, David Leimbach wrote:

 Brantley,
 
 I'm asking publicly because I'm betting it's a FAQ.  Do you consider remote 
 employees as a possibility, or do you require relocation?
 
 Dave
 
 On Mon, Oct 25, 2010 at 7:15 AM, Brantley Coile brant...@coraid.com wrote:
 hi guys,
 
 as most on this list know, coraid makes storage devices that use plan 9 as 
 the software platform.  we also use it as our primary development 
 environment.  we still run a ken file server here.  plan 9 is fundamental to 
 our vision.  coraid has become a hot silicon valley property and we are about 
 to start another round of hiring developers.  i knew it would be a disservice 
 to this mailing list if i didn't make an announcement here.
 
 developers, qa, and support folks can work either in redwood city, ca or 
 athens, ga.  there are the usual up and coming silicon valley startup stock 
 options.  and in athens, you don't have to pay those silicon valley prices 
 for housing and beer.  athens is very affordable on both these counts, 
 especially the beer as anyone who attended the 2009 iwp9 will attest.
 
 i hope we're creating a place that i would have wanted to work.  it's not 
 every place that you can work with plan 9, get paid for it and participate in 
 a high potential start-up.
 
 please send resume's to me.
 
 brantley
 
 
 




Re: [9fans] Why not work for a company based on Plan 9?

2010-10-25 Thread Brantley Coile
i'm sorry.  those who are not in silicon valley or northeast georgia will have 
to relocate.  

On Oct 25, 2010, at 11:30 AM, David Leimbach wrote:

 That's actually not an answer but whatever... I guess I don't actually care.
 
 On Mon, Oct 25, 2010 at 8:24 AM, Brantley Coile brant...@coraid.com wrote:
 the positions are in redwood city, ca and athens, ga.
 
 On Oct 25, 2010, at 11:17 AM, David Leimbach wrote:
 
  Brantley,
 
  I'm asking publicly because I'm betting it's a FAQ.  Do you consider remote 
  employees as a possibility, or do you require relocation?
 
  Dave
 
  On Mon, Oct 25, 2010 at 7:15 AM, Brantley Coile brant...@coraid.com wrote:
  hi guys,
 
  as most on this list know, coraid makes storage devices that use plan 9 as 
  the software platform.  we also use it as our primary development 
  environment.  we still run a ken file server here.  plan 9 is fundamental 
  to our vision.  coraid has become a hot silicon valley property and we are 
  about to start another round of hiring developers.  i knew it would be a 
  disservice to this mailing list if i didn't make an announcement here.
 
  developers, qa, and support folks can work either in redwood city, ca or 
  athens, ga.  there are the usual up and coming silicon valley startup stock 
  options.  and in athens, you don't have to pay those silicon valley prices 
  for housing and beer.  athens is very affordable on both these counts, 
  especially the beer as anyone who attended the 2009 iwp9 will attest.
 
  i hope we're creating a place that i would have wanted to work.  it's not 
  every place that you can work with plan 9, get paid for it and participate 
  in a high potential start-up.
 
  please send resume's to me.
 
  brantley
 
 
 
 
 
 




Re: [9fans] Why not work for a company based on Plan 9?

2010-10-25 Thread Brantley Coile
dave,

no problem.  i didn't cut and paste the answer, but i'm very sorry that i gave 
that impression.  i'm a pretty easygoing guy, a fact that isn't obvious over an 
email list.  i wasn't irritated by the question at all.  the question was a 
very good one.

the reason we can't do remote employees is that one of our objectives is that 
plan9ers have a positive cultural influence on the entire development group.  i 
feel such an influence requires daily interaction.  but we will keep you in 
mind as we grow.

in all my interactions i try to emulate the gentlemanly ways of dennis ritchie.
brantley

On Oct 25, 2010, at 11:55 AM, David Leimbach wrote:

 Thank you for answering the question.  Let me explain my point of view on the 
 exchange.
 
 I worked for a company in Birmingham AL for about 6 years from Seattle.  I 
 had Birmingham insurance, Birmingham HR people etc, but I was remote.  I 
 thought perhaps it was not clear if one could be a satellite employee for one 
 of those offices or not.
 
 I felt that when you basically cut and pasted your response to me, that you 
 were irritated by my question and answering me in a rude way.  I was not 
 trying to troll the thread, but now it may appear to be the opposite.  
 
 I have a lot of respect for what you guys have done with Plan 9 and AOE, and 
 think it's an interesting business, but suddenly I felt that perhaps I 
 wouldn't have a compatible personality with the boss.
 
 Anyway, I'd like to reboot the discussion, but it's in the archives now :-).
 
 I do wish you, very sincerely, to have continued success with your business.
 
 Dave
 
 On Mon, Oct 25, 2010 at 8:41 AM, Brantley Coile brant...@coraid.com wrote:
 i'm sorry.  those who are not in silicon valley or northeast georgia will 
 have to relocate.
 
 On Oct 25, 2010, at 11:30 AM, David Leimbach wrote:
 
  That's actually not an answer but whatever... I guess I don't actually care.
 
  On Mon, Oct 25, 2010 at 8:24 AM, Brantley Coile brant...@coraid.com wrote:
  the positions are in redwood city, ca and athens, ga.
 
  On Oct 25, 2010, at 11:17 AM, David Leimbach wrote:
 
   Brantley,
  
   I'm asking publicly because I'm betting it's a FAQ.  Do you consider 
   remote employees as a possibility, or do you require relocation?
  
   Dave
  
   On Mon, Oct 25, 2010 at 7:15 AM, Brantley Coile brant...@coraid.com 
   wrote:
   hi guys,
  
   as most on this list know, coraid makes storage devices that use plan 9 
   as the software platform.  we also use it as our primary development 
   environment.  we still run a ken file server here.  plan 9 is fundamental 
   to our vision.  coraid has become a hot silicon valley property and we 
   are about to start another round of hiring developers.  i knew it would 
   be a disservice to this mailing list if i didn't make an announcement 
   here.
  
   developers, qa, and support folks can work either in redwood city, ca or 
   athens, ga.  there are the usual up and coming silicon valley startup 
   stock options.  and in athens, you don't have to pay those silicon valley 
   prices for housing and beer.  athens is very affordable on both these 
   counts, especially the beer as anyone who attended the 2009 iwp9 will 
   attest.
  
   i hope we're creating a place that i would have wanted to work.  it's not 
   every place that you can work with plan 9, get paid for it and 
   participate in a high potential start-up.
  
   please send resume's to me.
  
   brantley
  
  
  
 
 
 
 
 
 




Re: [9fans] some group photos

2010-10-13 Thread Brantley Coile
thanks for the snap shots.  what a great venue.
brantley

On Oct 13, 2010, at 6:22 PM, John Floren wrote:

 They came out kind of fuzzy, I think it's because of the bright light
 from outside behind us.
 
 http://jfloren.net/IWP9group1.jpg
 http://jfloren.net/IWP9group2.jpg
 




Re: [9fans] c compiler bug

2010-09-14 Thread Brantley Coile
I've a need for the pragma.  We're using it.  That's how I found the problem.
bwc

On Sep 14, 2010, at 4:20 PM, Charles Forsyth wrote:

 since it's a pragma, i suppose it shouldn't affect correctness.
 still, i don't know how far down this route i'd like to go.
 i'd actually plump for disabling the pragma.
 (realistically, most of the original reasons for it have vanished,
 since so much stuff is in gcc or c++.)
 still, what are you using it for?
 




Re: [9fans] coraid in the news

2010-07-07 Thread Brantley Coile
While there really isn't anything other than what's on our web site to say, I 
can say that the Open Solaris NAS is important but not a requirement for 
Coraid's success.  We are not doomed.
Brantley

On Jul 6, 2010, at 11:19 PM, EBo wrote:

 
 clearly, coraid won't send commandos to make sure that you don't use
 zfs
 with coraid storage.
 
 If they do, will they be from outer space?
 
 How did we get from paralegal to paratroopers?
 
 I'm more interested in what this means for Coraid?  If Oracle buckles
 under then zfs ports to Linux et al. is doomed.
 
  EBo --
 
 
 



Re: [9fans] coraid in the news

2010-07-07 Thread Brantley Coile
Please don't comment on the case at all.

On Jul 6, 2010, at 10:13 PM, erik quanstrom wrote:

 On Tue Jul  6 21:15:59 EDT 2010, mirtchov...@gmail.com wrote:
 What property?
 
 zfs, i presume?
 
 erik, i care about zfs, tell me more.
 
 speaking as a private citizen with no insider
 knowledge in this case 
 
 i think it should be obvious to any vaguely careful
 thinker that there is no stolen property
 involved.  if i understand the article correctly,
 they ment to say alleged infringement.  an earlier
 version of the same article made more sense to me:
 http://www.theregister.co.uk/2010/07/06/nexenta_comment_on_netapp_coraid/
 the current article seems to have undergone
 significant declarification.
 
 i don't know anything about the patents involved
 except sun claims there is prior art.
 
 clearly, coraid won't send commandos to make
 sure that you don't use zfs with coraid storage.
 
 - erik
 
 



[9fans] What operating systems are the google guys using?

2010-02-23 Thread Brantley Coile
Given that Google has a critical mass of Plan 9 people working away, and doing 
great things in my humble opinion, one wonders, what kind of environment are 
you running?  What does the people who created Plan 9 use day to day?

Thanks
Brantley




[9fans] parallels and plan 9 install cd

2010-02-09 Thread Brantley Coile
Okay, what's the trick to installing the cd on plan 9.  I'm using the following 
version of parallels:
build 5.0.9310.

Or I should say I'm not using it. 

Here's a screen shot.

inline: Parallels Picture 1.png

[9fans] Coraid funded

2010-01-30 Thread Brantley Coile
I just want to share with the list that we have announced that Coraid, the 
largest distributor of Plan 9 systems in the world, has accepted some serious 
venture funding.  See the link below for a short interview with our new CEO.  
Kevin and I hit it off right away.  Our use of Plan 9 was fully blessed by one 
of our advisors.  As we grow we will continue to do a lot to help the Plan 9 
community, not to mention revolutionize storage area networking.

http://brainstormtech.blogs.fortune.cnn.com/2010/01/25/startup-with-all-star-backers-aims-to-disrupt-storage-market/

Brantley Coile

Oh, and by the way, we need more people.  Send resumes please.  Any of you 
google guys board with a huge company yet? :)




Re: [9fans] So quiet!

2009-10-23 Thread Brantley Coile

You even bought Oberon beer. It was good!

iPhone email

On Oct 23, 2009, at 11:02 AM, Skip Tavakkolian 9...@9netics.com wrote:


skip, sorry about that.  we drank all your beer.

- erik


fantastic!







Re: [9fans] anyone in?

2009-10-20 Thread Brantley Coile

The Grill is on the west side of the first block of college ave.

0xbc

iPhone email

On Oct 21, 2009, at 12:16 AM, ron minnich rminn...@gmail.com wrote:


I think we converged on 8am at this thing on college?

ron






Re: [9fans] nice quote

2009-09-03 Thread Brantley Coile

If the language can't be explained in 50 pages, it's no good.

On Sep 3, 2009, at 5:01 AM, tlaro...@polynum.com wrote:


On Thu, Sep 03, 2009 at 04:24:50AM -0700, Skip Tavakkolian wrote:


i think by now most of us expect new ornamentation added to C++
periodically.  it is surprising that this is being considered  
seriously

for C.



I'd like to say that my distate for C++ is purely technical, but to be
honest, I'm not quite sure.

I have the principle that, since a programming language aims to  
express
clearly what you want to be done, if the author doesn't explane  
clearly

his language, there is a problem.

KR is beautiful in this respect. In contrast, I never managed to
bite in Stroustrup's description.

But the whole story is that, during my childhood, there was the
Muppet's. And a character was a swedish cook, whose name was almost
impossible to pronounce, whose recipes were not understandable, and
whose results were not engaging.

And I fear that, behind the conscious, this has played a role...
--
Thierry Laronde (Alceste) tlaronde +AT+ polynum +dot+ com
http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C







Re: [9fans] first timer - editing plan9.ini

2009-07-19 Thread Brantley Coile
The few minutes spent learning ed(1) will be well repaid. You'll be  
one of the smartest guys on your block.


iPhone email

On Jul 19, 2009, at 6:51 PM, Corey co...@bitworthy.net wrote:



Ok, so I have my fossil+venti and hopefully soon-to-be cpu and auth- 
server

booted up for the first time, and I'm in rio as user glenda.

I'm continuing to follow the docs, which is prompting me to edit  
plan9.ini for

various things.

sam is completely opaque to the uninitiated. (I'm a mere vi fanatic)

Before I go into sitting down and learning sam, it would be nice to  
simply be
able get the machine running in a minimally satisfactory way, i.e.:  
network
online, display running at reasonable depth, venti finished, and  
auth-serv

working.

Can someone give me just the bare minimal sam command/info that I  
need to:


edit a couple lines
close and save properly


... better yet: is there a simple/minimal editor that doesn't require
learning a command language to begin using it first?

I began by beginning to read through sam_tut.pdf, and I look forward  
to
gaining proficiency with it... but not at this moment - I just want  
to get my

new plan9 box running so I can access it remotely.

As it is, I'm guessing I'm just going to hose my plan9.ini if I try  
editing it

before I'm well familiar with sam...


THanks!








[9fans] Trivia question

2009-07-07 Thread Brantley Coile
Hopefully this is not the same kind of question as Since data goes in  
both directions, why do you call it streams?


Does anyone know why u.h is named u.h?

Brantley




Re: [9fans] Do we have a catalog of 9P servers?

2008-11-12 Thread Brantley Coile
That explains why IBM's MVS didn't have locking at all.  One would  
conclude from that fact that locking isn't required to do even serious  
business applications.


Brantley


On Nov 12, 2008, at 2:58 PM, Charles Forsyth wrote:


It's not POSIX byte-range
read- or write-locking per fcntl, but it's not clear to me how often
that's actually useful.


they aren't. i wrote a paper about it many years ago, when helping  
to implement
a database system. in short, you can't rely on them for either scale  
or properties,

so in any serious application you'll do it yourself anyway.







Re: [9fans] Do we have a catalog of 9P servers?

2008-11-08 Thread Brantley Coile

And don't forget MS' programming motto, 'Don't think; Type!'

On Nov 8, 2008, at 12:21 PM, Skip Tavakkolian wrote:


It seems that MS is pushing webdav hard.


that's what's needed when heavy things run out of fuel.


to paraphrase Edison, MS' genius is 1% development and 99% marketing.








Re: [9fans] punched cards live

2008-11-03 Thread Brantley Coile

As the subject says, punched cards.  Except it was a '40'X on the 360.

On Nov 3, 2008, at 7:06 AM, erik quanstrom wrote:


This courtesy of the ACPI spec: RSD PTR  (Notice that this
signature must contain a trailing
blank character.)

So where do we get the guys who design this stuff? Can we send them
back? Or put them in an infinite loop in a time machine (oh wait see
the subject).


i think it's a tradition at this point to use 0x20 and not 0x00 to
fill a fixed-with signature.  ata identify device uses 0x20 to fill
out fixed-width fields like the serial number.  i'd be interested
where this tradition popped up.  0 would make more sense.

- erik








Re: [9fans] bundle //GO.SYSIN DD

2008-07-29 Thread Brantley Coile

Now, if I can figure out how to do the over punch on this keyboard. :)

Job control language was more like assembler with very, very simple 
operations.  The problem was that a lot of verby things got put into the 
operands.


DD means data definition.  The first symbol, SYSIN in this case, is the 
name that the program will open.  The operands after the DD operation 
specified the device at which SYSIN pointed.  Splat was a sort of `here' 
document.  The /* was the end-of-file for it.


Everyone I knew carried the Brown book which has examples of the common 
permutations.  You had to modify for your local OS installation.  The 
Brown book was actually blue.  The fellow should have been named Black. 
 Because after banging your head on JCL it was Black and blue--not 
Brown and blue.


Skip Tavakkolian wrote:

bundles are implemented by here documents,
and the end marker for the document must not appear
in the data


vague recollection (1982), it was something like:

//SYSIN DD  *
data
records
go
here
/*






Re: [9fans] a question of file and the history of magic

2008-07-06 Thread Brantley Coile
I remember the day I first saw a file magic file.  I welcomed it because 
for the first time I didn't have access to the source code.  Those were 
the days when you had to have $45k to get the source.  A hard thing to 
ask for.  Today a separate magic file is just a leftover vestige of the 
past.  There are a lot of things like that.  Do we still need to 
compress man pages on 1TB disk driver? :)


erik quanstrom wrote:
In a sense, the question is more about the historical change and/or  
adoption of a new file command for Plan 9 that doesn't use a magic  
file for references.  Why opt out of a magic file other than the  
obvious performance hit of scanning it each run?  Is it worth  
repeating the old forms that used magic, or has anyone in the Plan 9  
community already improved upon the idea and introduced a new, more  
adaptable tool?



what is the upside to an external magic file?  as you've shown, you
can add a file type in 1 line of code.  while the external magic file
isn't c, i would argue that it's still code.  


the disadvantage is that you need to write a parser for yet another
file format.  it turns out that linux file's maintainers felt that a text file
wasn't good enough so they implemented a magic compiler.  i really
don't understand the logic behind the compiler, since it would seem
to trade reduced cpu cycles for increased i/o.  that would seem to be
a terrible trade off these days.

; wc magic magic.mgc
  13469   69850  484372 magic
   1301   17997 1062400 magic.mgc   # compiled version

the source is pretty big, too:

; wc -l ffile-4.20/src/*.[ch]|grep total
  9273 total

according to wikipedia (http://en.wikipedia.org/wiki/File_(Unix)),
system v introduced the external magic file.  i don't think that system v
was in anyway an ancestor of plan 9.  but i don't know anything of
the history of plan 9 file.

- erik





Re: [9fans] plan 9 newbie guide

2008-07-01 Thread Brantley Coile
Michael is a very smart man with a great sense of language, 
sophisticated knowledge of computer science, but he was totally 
ignorant of Plan 9.  That fact allowed him to record what he was 
learning.  As time went by he was quickly loosing a sense of what he 
needed to know, becoming instead more knowledgeable of Plan 9.  You 
and I can't expand his paper.  We know too much.  We should let 
Michael own the paper.


Uriel wrote:

There have been similar efforts in the past, but this one is *really*
nice. Concise, clear and covers basic stuff but fast enough.

Do you have the troff source available? That would make it easier for
people to expand it further. Also I would be happy to host an html
version at http://doc.cat-v.org/plan_9/ if that is OK with you.

Thanks, peace and best wishes

uriel

On Mon, Jun 30, 2008 at 11:46 PM, erik quanstrom [EMAIL PROTECTED] wrote:

this guide was writen at coraid by michael covington.
the document proclaims itself to be:

   This is a quick-start guide to the  user interface of the
   Plan 9 operating system based on my own experiences getting
   started at Coraid.
   [...]
   This is not a technical guide to Plan 9.  This is only a guide
   for the perplexed for those who are using Plan 9 for the first time.

a temporary home for this document is here:

   http://www.quanstro.net/newbie-guide.pdf

- erik









Re: [9fans] when is a branch not a branch?

2008-06-02 Thread Brantley Coile
 OK, let's modify b: a little as follows;
 b:
 #if JMP  0
 jmp bb
 #if JMP  1
 callb
 #if JMP  2
 callb
 #if JMP  3
 callb
 #endif
 #endif
 #endif
 #endif
 bb:

I'm lost.  So the calls never get called--they just
make the jmp reach farther?

 Brantley