Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Open Source

Thought Provoking Works


I love books. But as a developer, there are only a handful that I consider indispensible resources to the craft. Some are the obvious ones, like Brian W. Kernighan and Dennis M. Ritchie's The C Programming Language and Brian W. Kernighan and Robert Pike's The Unix Programming Environment. But for anyone who does any network programming, the true bible is W. Richard Stevens's Unix Network Programming (1990, Prentice Hall PTR, first edition, $79).

This is a somewhat older book, but it still contains a plethora of valuable information. The book begins by describing the standard OSI network model and its seven layers. Although not crucial to the task of creating network client and server implementations, a key understanding of how the layers interact gives developers a good base.

After a brief foray into the Unix model, Stevens describes the concept and role of Interprocess Communication (IPC). In this section, the book's true utility is apparent, because the information that Stevens provides is reinforced with C source code for you to read, understand, appreciate, and test.

How do you use System V semaphores to coordinate and synchronize client server interaction, or pass Unix file descriptors between processes? Stevens provides the necessary code. He moves on to discuss Berkeley sockets, the various library routines, and even complete implementation of some admittedly dated utilities like TFTP and rsh.

Although the utilities may be dated, the concepts and code that comprise them aren't. In fact, they're directly applicable to numerous network projects that developers work on every day. Much of the code and many of the concepts that power the Internet have been directly influenced by this excellent overview. Some of the shared memory aspects of Apache, for example, are pulled directly from the techniques Stevens discusses.

Unix Network Programming is an excellent resource because it provides concrete answers to many questions. Whether you like networking concepts or code, you'll find this book invaluable.


Jim ([email protected]) is best known as one of the core developers of Apache.


Our Wireless Future

In its present state, wireless is a mind-boggling array of hardware, software, network protocols, and competing standards. Trying to understand this dizzying collection of technologies is challenging for even the most technically inclined. In their book, The Intelligent Wireless Web (2001, Addison Wesley Professional, $39.99), H. Peter Alesso and Craig F. Smith sort through the multitude of current technologies, protocols, and standards, in an attempt to predict the future of wireless and how it will integrate with the Web.

In an efficient 271 pages (plus appendices), the authors use real-world examples and intersperse graphics and sidebars to make a potentially inaccessible subject understandable. Though the graphics—simple line drawings—could be more dynamic, they illustrate the authors' points sufficiently.

Alesso and Smith emphasize that we're starting a fundamental shift in which we'll move from a tethered, wired world to a wireless world built on a distributed computing model, one where our computing power will move with us and respond to our needs. Among the improvements will be efficient handheld devices; adaptive computer networks that sense problems—like too much traffic—and adapt accordingly; and nomadic software that resides on larger computing systems, handles complex computing operations for the smaller, less powerful handhelds, and uses the Web as an information conduit.

The authors foresee a Web that uses intelligent applications that move data and are embedded in the Web pages themselves—rather than residing on remote servers. They use Project Oxygen at the Massachusetts Institute of Technology (oxygen.lcs.mit.edu) as the basis for much of their discussion. In that project, researchers are developing the technology necessary to build the Web that the authors envision.

Through careful research and broad industry knowledge, Alesso and Smith have built a clear interpretation of the future of the wireless Web. I highly recommend this book to anyone who needs to understand the wireless industry and where it's heading.


Ron ([email protected]) is a freelance technology journalist.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.