[ Be Logo ] [ Home ][ Site Map ][ Search ][ Contact ][ Be Europe ][ Developers Banner ]
About Be, Inc.Be ProductsThe World of BeDeveloper ServicesJobs @ Be[Bottom]

Be Developer Services

Free Resources

BeIA FAQ

BeIA Evaluation

Partner Program

Join

Partner Area

|

  The BMessage
Issue 20    March 7, 2001

News

Be in the News

Scripting With The Be File System, Byte.com

return to top

JLG

Intemperance Makes the Suit Look Bad
by Jean-Louis Gassée, CEO and Chairman

In the past few weeks, I've been asked so often about the Microsoft appeal that I've made it the topic for today's column. As the title suggests, I believe Judge Jackson "barfed" on his good suit. "Barf" is a term of art, of course, one the learned profession uses to refer to a witness making intemperate remarks on the stand: they can't control their mouth, they volunteer damaging information, they barf all over the suit.

It is strange to see someone so versed in the law and jurisprudence of our beloved system behave so imprudently. What passes for mere incaution from a witness who is either naïve or too clever for his own good is something quite different when it comes to a federal judge.

Intemperance is just the symptom -- one wonders what the actual malady is. Hubris comes to mind, the inebriation that comes from a sense of invincibility. This happens to people in power, I'm told. The Greeks, besides inventing the word hubris, liked to say that those the gods want to punish they render insane.

What did Judge Jackson do? After hearing the Microsoft case, finding Microsoft guilty of abusing its monopoly position, and recommending breaking Microsoft in two, Judge Jackson gave interviews and speeches, publicly and repeatedly disparaging the defendant. In doing so he broke a very basic rule, not an arcane statute of appellate law. Our system works on the premise of fairness; defendants must get a fair trial or the system loses credibility. Judge Jackson is free to like Microsoft or Bill Gates, or not. But he is not free to make comments that do more than raise the issue of his impartiality.

During the trial, he made no mystery of his annoyance with the company's executives, witnesses, and demonstrations. At the time, it seemed acceptable to be annoyed at a reluctant witness.

"Did you send this e-mail."
"No."
"Who did?"
"My computer. . ."
This is the kind of testimony likely to elicit some displeasure. But now, Microsoft lawyers have a right, a duty even, to go back over the entire transcript, point at the many instances of high-handedness exhibited by the magistrate, join them to the flow of post-trial disparagement, and claim Judge Jackson did not give them a fair trial.

Of course, my position is a lay person's perspective, not that of an expert in this or any area of the law. But I feel it would be terribly ironic if Microsoft won, after all, because Judge Jackson barfed all over Joel Klein's suit.

But that's not the full extent of problems with the suit. As I've written before, there is the Explorer integration problem. We can think that Microsoft integrated Explorer with Windows in an effort to kill Netscape. We can state that they made the integration arbitrarily inextricable in order to defeat attempts to remove Explorer and replace it with a competitor. But these are only opinions, as opposed to clear, unambiguous facts, especially if Judge Jackson's Findings of Fact are no longer airtight.

I'm still mystified that the DOJ didn't choose to try another simpler, black and white issue. You can't buy a PC with Windows and another OS installed at the factory, on the hard disk, by the OEM. Let's say Linux, to avoid claims that I'm panning gold for my church -- why not Linux next to Windows on a Compaq, HP, or Dell PC? Is it because Linux is expensive? No. Unpopular? No. We've known the answer for a while and we told the DOJ when they asked. The Windows license obligates the OEM to use the MS boot loader/manager. Descend to the license for the boot loader: it says thou shalt not use said loader for anything but the OS from thy maker, Microsoft. You can boot Windows 2000, Windows Me, DOS, Windows 95, but no alien systems are permitted. QED no Linux or BeOS next to Windows as a factory load. Of course, you can load it yourself. Perhaps one remedy Judge Jackson forgot was forcing Microsoft to offer Windows on a set of floppies to be installed by the end user, not factory loaded on the hard disk.

Why didn't the DOJ pursue this clear-cut case of abuse of a monopoly situation? Explanations such as the PR/political value of Netscape come to mind.

In any event, as my atheist friend likes to say, there must be a god after all, and she loves Bill.

return to top

Engineering Insights

Writing Network Drivers for Fun (and Profit)
by Chris Liscio, Network Engineer

Hello, fellow BeOS/BeIA developers! You may read the title of this week's Engineering Insights article and say, "Gee whiz, Chris, writing a network driver sounds really tough! How would I go about throwing my social life away and doing such complicated, geeky things for fun (and profit)?" Well, I wrote this article to explain that many resources (often free, and very helpful) exist to help you learn the basics of driver writing!

Background

My BeOS career began when I stumbled on some BeOS-related Web sites back in October 1999. I became very excited while reading about the many sexy features of BeOS and immediately ordered BeOS R4.5.2 from BeDepot. I quickly installed it on my machine and crossed my fingers as the computer booted into BeOS goodness. Sure enough, BeOS did not recognize my network card and that upset me considerably (to say the least).

Rather than become frustrated, toss the BeOS CD aside, and curse the fact that I had just spent nearly $100CP (Canadian Pesos) on a coaster, I decided to take matters into my own hands. I fired up my other OS of choice and surfed around until I found enough information about my network card. Within a few weeks I had my Epic100 driver up and running with BeOS.

Prerequisites

To most people, network driver writing (and driver writing in general) seems difficult. It becomes less difficult if you have:

  • A good working knowledge of C.
  • Some experience with computer hardware (the PCI/ISA bus and its quirks).
  • A decent understanding of concurrent programming constructs (threads, semaphores, spinlocks, etc).
  • Lots of time to kill.
  • Some sort of hardware documentation (discussed below).
  • Another driver to refer to (optional; discussed below).
In addition, there are some BeOS-specific resources you'll need to assist you in your quest: Obtaining Hardware Documentation

Now that you have the easily available (and free!) essential OS-related knowledge, you face the challenge of finding hardware documentation...

Unfortunately, not every company out there feels compelled to just hand out the required documents needed to write a driver. Some companies may either want money for these documents or may not offer them externally at all. At any rate, the companies that choose not to provide free hardware specifications often have very good reasons for doing so (proprietary information, patents pending, etc.). Moreover, flaming them will not get you anywhere...

In some cases, companies offer the free documentation on the Web. My own experience is that companies that make only the chipsets for network cards, and not the cards themselves, distribute their documentation for free. I've found that Realtek, National Semiconductor, and SMC (makers of my beloved Epic100) provide easy access to their documentation.

Reference Drivers

After you (hopefully) find hardware documentation, the best source of supplementary information is other open-sourced drivers. Make sure that you understand the license found in the source, since this ultimately determines how you must redistribute the source of your finished driver.

Reading other drivers can help you understand the inner workings of your network card. You'll often discover many "overlooked" hardware anomalies that haven't made their way into the documentation. Obviously enough, your ability to understand other drivers closely correlates with your knowledge of the driver's native operating system.

You also have the option to to work from the original open- source code base (tossing #ifdefs and such where BeOS-specific stuff must go). It's not the easiest thing to do, but it could save a lot of design work and get you up and running in the least amount of time. Speaking with the maintainer of such a driver can yield some good information about the inner workings of the hardware and they may help you modify their driver so that it works in BeOS natively.

Sample BeOS Source

Fortunately, sample BeOS driver source might already reside on your computer! If you installed the optional sample code, you can find it at /boot/optional/sample-code/drivers/EtherPCI.

BONE-ified Compatibility

I know some of you out there currently beta test BONE (or are curious about it) and so you might ask, "What are the differences between the older net_server drivers and BONE drivers?" Thankfully, BONE drivers do not differ greatly from net_server drivers. In fact, if you visit your '/boot/optional/sample-code/drivers/EtherPCI' directory, you can ignore the 'Addon' directory and everything that comes with it when looking through the code for help. If you're curious and look through the Addon source, you'll notice that the add-on only served as a "pretty name" for the net_server. If you need to set up IRQs, DMAs, etc. on older ISA cards, you should use a driver settings file for that (you read Arve's article, right?).

In Closing

So why would anyone write a network driver, anyway? I found it fun and especially educational. As I said before: Network driver writing appears difficult to most people; however, if it happens that driver writing finds its way on your list of "easy things to do" (and you have possibly done before), please don't hesitate to send us your resume.
:)

return to top


Statements contained in this Newsletter that are not historical facts are "forward-looking statements" including without limitation statements regarding the demand for, future market penetration and market acceptance of BeIA and BeOS, the shipment dates of Be's products, and the future operating results of Be Incorporated. Actual events or results may differ materially as a result of risks facing Be Incorporated or actual results differing from the assumptions underlying such statements. Such risks and assumptions include, but are not limited to, risks related to competition, market acceptance and market penetration of Be's products, ability to establish and maintain strategic relationships, the benefit of Be's products to OEM and Internet appliance manufacturers. the continued availability of third party BeOS applications and drivers, and the ability to establish and maintain strategic publishing relationships. All forward-looking statements are expressly qualified in their entirety by the "Risk Factors" and other cautionary statements included in Be Incorporated's Annual Report on Form 10-K for the year ended December 31, 1999, and other public filings with the Securities and Exchange Commission.

The BMessage
Copyright (c) 2001 by Be, Inc.
All rights reserved.

Be, Inc.
800 El Camino Real, Suite 400
Menlo Park, CA 94025
Tel: (650) 462-4100
Fax: (650) 462-4129
Web: http://www.be.com/

Be, BeOS and BeIA are trademarks or registered trademarks of Be Incorporated in the United States and other countries. Other brand product names are registered trademarks or trademarks of their respective holders. All rights reserved.

The BMessage is sent to subscribers of one or more of the Be mailing lists. For more information about subscribing/unsubscribing, see the Be web site: http://www.be.com/world/mailinglists.html. The Be web site also offers a complete set of current and back issues of Be Newsletters: If you have any comments about The BMessage, please e-mail them to:newsletter@be.com.



.
About Be, Inc. | Be Products | World of Be | BeOS Support | Jobs | Developers | Press | Partners | Investors
.
Copyright © 2001 by Be, Inc. All rights reserved. (Legal Info)
Comments, questions, or confessions about our site? Please write the Webmaster!