Free Online eBook

Sunday, January 29, 2006

The New C Standard - An Economic and Cultural Commentary


Author(s) : Derek M. Jones
Last Update : August 2005

This book is about the latest version of the C Standard, ISO/IEC 9899:1999 plus TC1 and TC2. It is structured as a detailed, systematic analysis of that entire language standard. A few higher-level themes run through all this detail, these are elaborated inside this book. This book is driven by existing developer practices, not ideal developer practices (whatever they might be). How developers use computer languages is not the only important issue; the writing of translators for them and the characteristics of the hosts on which they have to be executed are also a big influence on the language specification.

Every sentence in the C Standard appears in this book (under the section heading C99). Each of these sentences are followed by a Commentary section, and sections dealing with C90, C++, Other Languages, Common Implementations, Coding Guidelines, Example, and Usage as appropriate. A discussion of each of these sections follows.

A common complaint made about the author's discussion of C is that it centers on what the standard says, not on how particular groups of developers use the language. No apology is made for this outlook. There can be no widespread discussion about C until all the different groups of developers start using consistent terminology, which might as well be that of the standard. While it is true that the author's involvement in the C Standards' process and association with other like-minded people has resulted in a strong interest in unusual cases that rarely, if ever, occur in practice, the author promises to try to limit himself to situations that occur in practice, or at least only use the more obscure cases when they help to illuminate the meaning or intent of the C Standard.

No apologies are given for limiting the discussion of language extensions. If the reader want to learn the details of specific extensions, he should refer to his vendors' manuals.


View The New C Standard - An Economic and Cultural Commentary

Tuesday, October 25, 2005

Text Processing in Python


Author : David Mertz
Publication Date : June 2003
Publisher: Addison-Wesley Professional

At the broadest level text processing is simply taking textual information and doing something with it. This doing might be restructuring or reformatting it, extracting smaller bits of information from it, algorithmically modifying the content of the information, or performing calculations that depend on the textual information.

Text processing is arguably what most programmers spend most of their time doing. Configuration files, log files, CSV and fixed-length data files, error files, documentation, and source code itself are all just sequences of words with bits of constraint and formatting applied.

In this book, Python was chosen in large part because it is such a clear, expressive, and general-purpose language. But for all Python's virtues, text editors and small utilities will always have an important place for developers getting the job done. As simple as Python is, it is still more complicated than you need to achieve many basic tasks. But once you get past the very simple, Python is a perfect language for making the difficult things possible (and it is also good at making the easy things simple).

What sets text processing most clearly apart from other tasks computer programmers accomplish is the frequency with which we perform text processing on an ad hoc or one-shot basis. We retrieve the text and write a script to process it. And when the next requirement came, the script you reluctantly used a second time turns out to be quite similar to a more general task you will need to perform frequently, perhaps even automatically. You imagine that with only a slight amount of extra work you can generalize and expand the script, maybe add a little error checking and some runtime options while you are at it.

This book is ideally suited for programmers who are a little bit familiar with Python, and whose daily tasks involve a fair amount of text processing chores. Programmers who have some background in other programming languages--especially with other scripting languages--should be able to pick up enough Python to get going by reading Appendix A.

While Python is a rather simple language at heart, this book is not intended as a tutorial on Python for nonprogrammers. Instead, this book is about two other things: getting the job done, pragmatically and efficiently; and understanding why what works works and what doesn't work doesn't work, theoretically and conceptually. As such, this book can be useful both to working programmers and to students of programming at a level just past the introductory.

View Text Processing in Python

Friday, October 21, 2005

Programming The Nintendo Game Boy Advance: The Unofficial Guide

Author : Jonathan S. Harbour
Publication Date : 2003

The Game Boy Advance is a sophisticated handheld video game machine, with a powerful 32-bit microprocessor, 16-bit graphics, stereo digital sound, and yet small enough to fit in your pocket. Over 140 million units sold in all, making GBA the highest selling video game system in history. The affordable price of the Game Boys, large library of games, relatively low price of games and accessories, plus portability make this a very compelling video game system. Game publishing companies and development studios like the Game Boy for its relatively low cost of entry and high potential margins.

Even so, until recently, it was nearly impossible for a hobby or student programmer to get involved in the console market. Its hardware interface and special development tools are very expensive, and require a special license with the video game manufacturer (Nintendo, in this case), which also requires a non-disclosure agreement (NDA).

Now there is a solution as the Game Boy Advance uses a popular microprocessor (the ARM7 CPU) for which there are software tools available, because this chip is used in hundreds of consumer electronics products. Public domain assemblers and compilers have been written for ARM processors, and the ARM Corporation itself has released tools into the public domain for use with these products. These tools were quickly adapted for Game Boy Advance, and talented programmers were creating emulators and writing Game Boy Advance programs before the handheld was even officially released by Nintendo. This book shows the reader how to get the most of these development tools.

The goal of this book is to get you a job as a Game Boy Advance programmer. Although you may be a hobby programmer, or perhaps a professional video game developer already, the basis and assumption for this book is that you are an aspiring game programmer. The result is a very focused book that stays close to the subject matter, and as a result it is not as large as some books. However, those are books about writing PC games, while this is a console programming book.

You will need to be proficient in the C language in order to follow along in this book. Because if you want to be a game programmer, you must know C already. If you don't know C at all, you will definitely need a primer before getting into the later chapters of this book. This book doesn't cover C++ because it is overkill for Game Boy Advance development. Most of the important aspects of programming the Game Boy Advance (such as sprites) are handled by the built-in hardware routines, and don't require extensive programmer intervention. This book does not cover C++, but you may still use of C++ for writing Game Boy programs if you like. since the development tools includes a C++ compiler.

View Programming The Nintendo Game Boy Advance: The Unofficial Guide

Tuesday, October 11, 2005

The .NET Developer's Guide to Windows Security


Author : Keith Brown
Publication Date : Sep 2004
Publisher : Addison-Wesley Professional

This book was written for people involved in designing and writing software for the Microsoft .NET platform. It is chock-full of tips and insights about user-based security or the much preferred term, Windows security.

The book's organization is a bit unusual, in which topics were distilled into 75 small tidbits of information - items that link to one another - allowing you to read the book in any order that suits you. The 'what is' items focus on explaining concepts, while the 'how to' items focus on helping you perform a common task.

The book highlights new features in Windows Server 2003 and previews features of the upcoming version 2.0 of the .NET Framework. A companion Web site includes the source code and examples used throughout the book.

View The .NET Developer's Guide to Windows Security

Tuesday, October 04, 2005

Introducing Visual Basic 2005 for Developers


Author(s) : Kris Horrocks, Sean Campbell, Derek Hatchard, Peter Bernhardt, Scott Swigart
Publication Date : September 2004
Publisher : Microsoft Press

Get a focused, first look at the features and capabilities in Microsoft Visual Basic 2005, Visual Studio 2005, and .NET Framework 2.0. If you currently work with Visual Basic 6, these authors fully understand the adoption and code migration issues you’ll encounter. They’ll step you through a quick primer on .NET Framework programming, offering guidance for a productive transition. If you already work with .NET, you’ll jump directly into what’s new, learning how to extend your existing skills. From the innovations in rapid application development, debugging, and deployment, to new data access, desktop, and Web programming capabilities, you get the prerelease insights and code walkthroughs you need to get productive right away.

View Introducing Visual Basic 2005 for Developers

Monday, September 26, 2005

The Handbook for Bloggers and Cyber-Dissidents

Reporters Without Borders has produced this handbook to help them, with handy tips and technical advice on how to to remain anonymous and to get round censorship, by choosing the most suitable method for each situation. It also explains how to set up and make the most of a blog, to publicise it (getting it picked up efficiently by search-engines) and to establish its credibility through observing basic ethical and journalistic principles.

記者無疆界組織推出一本指引,傳授Blog作者如何在中國、伊朗等管制言論自由的國家撰寫文章。這本名為「The Handbook for Bloggers and Cyber-Dissidents」小冊子共有87頁,內容傳授如何匿名寫blog,以及如何避開管制的一些技術性技巧。該手冊目前也在網路上的免費開放 下載,並有包括中英文在內的多種語言版本。

View The Handbook for Bloggers and Cyber-Dissidents

Saturday, September 24, 2005

Linux in the Workplace - How to Use Linux in Your Office

Author(s) : Specialized Systems Consultants, Inc.
Publisher : No Starch Press
Publication Date : 2002

This book is different in that it assumes you don't want to install Linux, don't want to learn how to be a system administrator, and aren't concerned with doing some of the more complicated tasks. This book assumes you already have a working Linux system on your desk and need to use it to get your work done. That work probably involves email, the Web, working with documents, and performing general office tasks. Additionally, this book assumes that, in most cases, you will want to use the KDE graphical user interface (GUI) that comes with Linux to perform these tasks. (Of course, once you become proficient at all these tasks, you may want to learn what the command line is and how to do some tasks more efficiently from it.)

View Linux in the Workplace - How to Use Linux in Your Office