Download PDF Excel 2002 Power Programming with VBA by John Walkenbach


Sinopsis

To fully appreciate the application development features available in Excel 2002, it’s important to understand
where this product came from and how it fits into the overall scheme of things. If you’ve worked with personal computers and spreadsheets over the past decade, this information may be old hat. If you’re a trivia buff, this chapter is a gold mine. Study this chapter and you’ll be a hit at the next computer geek party you attend.

Most of us tend to take spreadsheet software for granted. In fact, it may be hard to fathom, but there really was a time when electronic spreadsheets were not available. Back then, people relied instead on clumsy mainframes or calculators and spent hours doing what now takes minutes.

The world’s first electronic spreadsheet, VisiCalc, was conjured up by Dan Bricklin and Bob Frankston back in 1978, when personal computers were pretty much unheard of in the office environment. VisiCalc was written for the Apple II computer, an interesting little machine that is something of a toy by today’s standards. But in its day, the Apple II kept me mesmerized for days at a time. VisiCalc essentially laid the foundation for future spreadsheets, and its row-and-column-based layout and formula syntax are still found in modern spreadsheet products. VisiCalc caught on quickly, and many forward-looking companies purchased the Apple II for the sole purpose of developing their budgets with VisiCalc. Consequently, VisiCalc is often credited for much of the Apple II’s initial success.




Content


  1. Some Essential Background
  2. Excel 2002: Where It Came From
  3. Excel in a Nutshell
  4. Formula Tricks and Techniques
  5. Understanding Excel’s Files
  6. Excel Application Development
  7. What is a Spreadsheet Application?
  8. Essentials of Spreadsheet Application Development
  9. Understanding Visual Basic for Applications
  10. Introducing Visual Basic for Applications
  11. VBA Programming Fundamentals
  12. Working with VBA Sub Procedures
  13. Creating Function Procedures
  14. VBA Programming Examples and Techniques
  15. Working with UserForms
  16. Custom Dialog Box Alternatives
  17. Introducing UserForms
  18. UserForm Examples
  19. Advanced UserForm Techniques
  20. Advanced Programming Techniques
  21. Developing Excel Utilities with VBA
  22. Working with Pivot Tables
  23. Working with Charts
  24. Understanding Excel’s Events
  25. Interacting with Other Applications
  26. Creating and Using Add-Ins
  27. Developing Applications
  28. Creating Custom Toolbars
  29. Creating Custom Menus
  30. Providing Help for Your Applications
  31. Developing User-Oriented Applications
  32. Other Topics
  33. Compatibility Issues
  34. Manipulating Files with VBA
  35. Manipulating Visual Basic Components
  36. Understanding Class Modules
  37. Frequently Asked Questions about Excel Programming









Download PDF Excel Add-in Development in C/C++ Applications in Finance by Steve Dalton


Sinopsis

This book is intended to provide the reader with a guide to the issues involved with creating powerful and reliable add-ins for Excel. With years of use, many people build up the experience and understanding needed to create custom functions for Excel in C and C++. However, given the very limited books and resources available, this can be a largely trial-and-error process. The motivation in writing this book is to create something I wish I had had through the years: a coherent explanation of the relevant technology, what steps to follow, what pitfalls to avoid, and a good reference guide. With these things at your side, writing C/C++ DLL and XLL resources can be almost as easy as writing them in Visual Basic, but yields the enormous performance benefit of compiled C/C++ and the Excel C API.
In setting goals for this book, I was particularly inspired by two excellent books that I have grown to admire more and more over the years, as they have repeatedly proven their worth; The C Programming Language (Kernighan and Ritchie) and Numerical Recipes in C (Press, Teukolsky, Vetterling and Flannery), albeit that the style of C-coding of the latter can be somewhat dense. If this book achieves a fraction of the usefulness of either of these then you will, I hope, be happy to own it and I will be happy to have written it. 

This book is intended for anyone with at least solid C and/or C++ foundation skills, a good working knowledge of Excel, a little experience with VBA (though not necessary) and the need to make Excel do things it doesn’t really want to do, or do them faster, more cleanly, more flexibly. A reasonable grasp of basic software development concepts and techniques is assumed. (Section 1.1 Typographical and code conventions used in this book, on page 1, provides more detail of the coding style of the examples given.)
The example add-in project included on the CD ROM is intended to demonstrate some of the most important or difficult concepts described in the book, as well as the possibilities that are opened up when you can really play with Excel. These reflect my professional background in the financial markets, although if you are not of that world, you should still find that the techniques described are very widely applicable.
There is an enormous amount of material that could have been included in a book on this subject that has either been pared down to the briefest of coverage or omitted completely. I fully accept that there will be those who, perhaps rightly, feel that certain things should have been covered in a book that boasts such a title, and I can only apologise. Any future editions will, I hope, provide an opportunity to rectify the most heinous and unpopular of these shortcomings.




Content

  1. Excel Functionality
  2. UsingVBA
  3. Creating a 32-bit Windows (Win32) DLL Using Visual C++ 6.0 or Visual Studio .NET
  4. Turning DLLs into XLLs: The Add-in Manager Interface
  5. Passing Data between Excel and the DLL
  6. Memory Management
  7. Accessing Excel Functionality Using the C API
  8. Miscellaneous Topics
  9. Example Add-ins and Financial Applications



Download PDF Java and XML Your visual blueprint for creating Java-enhanced Web programs by Paul Whitehead, Dr. Ernest Friedman-Hill, and Emily Vander Veer



Sinopsis

In an object-oriented language, a program is divided into many separate units called objects. You can program and understand each type of object in isolation. Breaking a program into small, well-defined pieces in this way makes object-oriented programs easier to write, to understand, and to change.
 
An object typically includes two parts. First, it includes information. Just as each object in the real world has a color, a size, and a weight, Java objects contain their own unique data. Secondly, objects include instructions for working with this data; for example, a Button object might include instructions for drawing a button on the computer screen and for reacting to mouse clicks. Each set of instructions is termed a method. In general, doing useful work in Java consists mainly of asking objects to perform methods for you. An object responds to such a request by following the instructions that the method contains. Having all the instructions and data broken up into objects makes Java software modular, and thus easier to understand one piece at a time. Object-oriented languages also promote software reuse — that is, you may define a kind of object and use it in several different programs unchanged.

 

Content

  1.  INTRODUCING JAVA AND XML
  2. JAVA BASICS
  3. JAVA PROGRAMMING
  4. XML BASICS
  5. XML DOCUMENT TYPE DEFINITIONS
  6. XML SCHEMAS
  7. THE SAX API
  8. THE DOM
  9. JDOM
  10. JAXP



Download PDF Java Database Programming Bible by John O'Donahue


Content

Chapter 1 - Relational Databases
Chapter 2 - Designing a Database
Chapter 3 - SQL Basics
Chapter 4 - Introduction to JDBC
Chapter 5 - Creating a Table withJDBC and SQL
Chapter 6 - Inserting, Updating,and Deleting Data
Chapter 7 - Retrieving Data withSQL Queries
Chapter 8 - Organizing Search Results and Using Indexes
Chapter 9 - Joins and Compound Queries
Chapter 10 - Building a Client/Server Application
Chapter 11 - Building a Membership Web Site
Chapter 12 - Using JDBC DataSources with Servlets and Java Server Pages
Chapter 13 - Using PreparedStatements and CallableStatements
Chapter 14 - Using Blobs and Clobs to Manage Images and Documents
Chapter 15 - Using JSPs, XSL, and Scrollable ResultSets to Display Data
Chapter 16 - Using the JavaMail API with JDBC
Chapter 17 - The XML Document Object Mo del and JDBC
Chapter 18 - Using Rowsets to Display Data
Chapter 19 - Accessing XML Documents Using SQL
Chapter 20 - Enterprise JavaBeans
Chapter 21 - Bean-Managed Persistence
Chapter 22 - Container-Managed Persistence
Chapter 23 - Java Data Objects and Transparent Persistence







Download PDF Java™ Open Source Programming With XDoclet, JUnit, WebWork, Hibernate by Joe Walnes


Sinopsis

In today’s IT environment, Java is a leading technology in the world of enterprise development. As management demands more from technology, complexity in infrastructure seems to grow exponentially, leaving many unable to keep up with the demands of such a fast-paced world. These complexities can be seen in the over-evolving Java 2 Enterprise Edition (J2EE) specifications. This unnecessary complexity drove us to discover ways of simplifying development.
 
Now, don’t get us wrong; we love J2EE! But why does it take so long to get stuff done? We (the authors of this book) were all early adopters of J2EE, grappling with concepts and complexities as they evolved. It was painful, but over time, we started making use of reusable Open Source tools that dramatically reduced the time taken to develop these applications. We also started questioning which technologies were actually helping us and which had become a hindrance.
 
This book is about using development techniques and Open Source tools to lower the cost of building enterprise applications. We aim to show you how to bring these together to build a real-world application while avoiding complexity and embracing simplicity. We will help you extend your knowledge of Java and the J2EE framework so that you can begin using the millions of dollars of free research and development just waiting to be utilized.
 
Not only will this book teach you how to utilize Open Source technology that you can put to work for you immediately; it will also strengthen and broaden your development philosophies in such a manner that, like us, you will soon find yourself scratching your head in wonder and asking “Why didn’t I do this a long time ago?”



Content

  1.  Overview of the Book
  2. Application Overview
  3. Building Your Open Source Toolbox
  4. Unit Testing with JUnit
  5. Testing Object Interactions with Mocks
  6. Storing Objects with Hibernate
  7. Model View Controller with WebWork
  8. Simplifying Layout with SiteMesh
  9. Adding Search Capabilities with Lucene
  10. Generating Configuration Files with XDoclet
  11. Communication and Tools
  12. Time-Saving Tools
  13. Developing the Application
  14. Setting Up the Development Environment
  15. Understanding Test Driven Development
  16. Managing Lifecycles and Dependencies of Components
  17. Defining the Domain Model
  18. Creating a Web-Based Interface
  19. Defining Navigation, Layout, Look, and Feel
  20. Implementing Browse and Search Capabilities
  21. Adding a Shopping Cart
  22. Securing the Application






Download PDF Java Programming With COBRA Advanced Techniques For Building Distributed Applications Third Edition by Gerald Brose

Download PDF Programming for the Series 60 Platform and Symbian OS by DIGIA Inc.






Sinopsis

The market drive towards advanced mobile services such as multimedia messaging and wireless access to the Internet sets high requirements for the terminals and networks. New devices (and networks) must be able to handle still and moving images, music, allow access to the Internet for messaging and browsing, and provide a diverse set of applications in addition to operating as a mobile phone.
 
As 2.5G and 3G networks emerge, the focus is turned to the terminal – what kind of capabilities are required by these new services and how can they be fulfilled? This book presents one significant platform for smartphones – devices that are designed to meet the increasing requirements of the new services – Series 60. It is a platform made by Nokia on Symbian OS (Operating System), which in turn is an operating system designed for mobile devices.
 
Owing to these requirements of the new services, the task of making the software for wireless devices is becoming increasingly complex. As new protocols, communication interfaces, services, and applications are integrated, the required R&D effort grows rapidly. This increases the development cost significantly and sets high demands on interoperability testing. Symbian was formed in 1998 by Ericsson, Motorola, Nokia, and Psion to provide a common standard and to enable the mass marketing of a new era of wireless devices. Matsushita (better known by its brand name, Panasonic) joined Symbian in 1999, in January 2002 the Sony Ericsson joint venture took a share of Symbian, and, in April 2002, Siemens also joined Symbian as a shareholder (www.symbian.com).
 
The cost of the hardware components (i.e. bill of materials) used for making a mobile phone is one of the most important factors in making competitive devices, but the cost of developing and maintaining the increasing number of features of the software also becomes more significant as the world evolves towards wireless multimedia. When the mobile phone shipping volumes are low, the price of the hardware components, especially the most expensive ones, such as the color display, is high.When components are made in high volumes, the price of a single component is reduced. New requirements are set for the operating system by the need to open the devices for developing thirdparty applications in order to have a more diverse set of applications to attract more users and to increase volumes.
 
A typical smartphone is attractive for users looking for more features compared with the basic mobile phone. Also, for those seeking better personalization, a smartphone is likely to be a natural choice. A smartphone is, as its name states, a phone, but with capabilities such as color screen, advanced messaging, calendar, browser, e-mail, synchronization with other devices, and, installation of applications.
 
From the device manufacturer perspective, it is vital that the software is stable and reliable – especially if it is possible for the user to install new applications. A serious software or hardware defect may force a manufacturer to call back all the mobile devices. The costs of such an operation are very significant even when compared with development costs. From the software point of view, the right selection of software platform will reduce the risk of failure.
 
Series 60 Platform is particularly appealing for the terminal manufacturers, as it allows Symbian OS with multimedia capabilities to be used in devices that are only slightly more expensive than the devices equipped with a proprietary operating system. Series 60 Platform provides the benefit of open interfaces, efficient power management, and advanced multimedia capabilities. From the application developer perspective, Series 60 is also very interesting, as the compact size and reasonable price of the devices leads to large market penetration, thus making the application development worthwhile as well.
 
This book is written by the software professionals of Digia – a company that has been heavily involved with Symbian OS and Series 60 Platform and application development since early 1999. During that time, knowledge of the platform has been accumulated in demanding, time-critical projects and in developing products for Symbian OS. 

This book is a handbook of software development for the Series 60 Platform, written by software professionals for software professionals – and for individuals who want to become experts on Series 60
software development. The approach of this book is to build on top of the previous publications on Symbian OS and to provide a guide for the art of developing software for the Series 60 Platform. The intended audience is anyone interested in learning more about Symbian OS and the Series 60 Platform. It is specially beneficial for software developers who can use the code examples for illustrating the key aspects of Series 60 software development.



Content


  1. Introduction to the Series 60 Platform
  2. Software Engineering on the Series 60 Platform
  3. Overview of the Series 60 Platform
  4. Design Patterns for Application Development
  5. Software Development on the Series 60 Platform
  6. Platform Architecture
  7. User-centered Design for Series 60 Applications
  8. Testing Software
  9. Graphics, Audio, and User Interfaces
  10. Application Framework
  11. Standard Panes and Application Windows
  12. Lists and List Types
  13. Other User Interface Components
  14. View Architecture
  15.  Audio
  16. Customizing the Series 60 Platform
  17. Communications and Networking
  18. Communications Architecture
  19. Communications Application Programming Interface
  20. Messaging
  21. Connectivity
  22. Programming in Java
  23. Programming in Java for Smartphones
  24. Midlet User Interface Framework




Download PDF Symbian OS Explained Effective C++ Programming for Smartphones by Jo Stichbury


Sinopsis
 
It’s with you all the time, ready to send and receive phone calls or messages, play alarms to wake you, connect to the phone network or other devices, organize your personal information or play games. Whatever you want to do, you want access to your phone to be instant. It should be ready without the long boot-up you expect from a PC. It should react to user input from the moment you pick it up. And it should be reliable. As a mobile phone owner, how many of your contacts’ phone numbers do you know? Your phone keeps your personal data for you and it’s essential that it doesn’t lose it.
 
Let’s examine the consequences of these features on the design of a mobile operating system, such as Symbian OS. The phone may be small and light, but, as users, we still demand it to have a reasonable battery life. This places huge importance on efficient power management. The operating system cannot drain  the battery and must allow the processorto power parts of the system down where possible, although it cannot ever power off completely because it must handle incoming calls and messages, and signal alarms.
 
The user expects the phone to be responsive, not sluggish to respond to each key press; the operating system and hardware must carefully balance demands for good performance speed with the consumption requirements of power-hungry processors. Costs are also important: they limit the processor and amount of memory in a mobile device. The operating system must be efficient, to make best use of the limited
processor and memory resources available, whilst using the least power.
 
Besides being efficient, the operating system must be robust when the limited resources are exhausted. It must be engineered to cope with low memory conditions, loss of power or when a communications link is unavailable. Memory management is key. The operating system must track precious system resources accurately and free them when they are not required. It’s not acceptable for memory to slowly leak away, resulting in disintegration in performance and usability until the user is forced to reboot. The operating system should make it easy for software engineers to write code that runs without memory leaks and can handle out-of-memory conditions when they occur.
 
The mobile phone market is a mass market, with many millions of units shipped. It’s difficult, if not impossible, to recall them or require the user to upgrade through service packs. So when a phone is shipped, it’s shipped. It must not have any serious defects. Not only must the platform on which a phone is based be well-engineered, it must also provide the means for developers to build, debug and test robust code.
 
 
Content
 
  1. Class Name Conventions on Symbian OS
  2. Leaves: Symbian OS Exceptions
  3. The Cleanup Stack
  4. Two-Phase Construction
  5. Descriptors: Symbian OS Strings
  6. Good Descriptor Style
  7. Dynamic Arrays and Buffers
  8. Event-Driven Multitasking Using Active Objects
  9. Active Objects under the Hood
  10. Symbian OS Threads and Processes
  11. The Client–Server Framework in Theory
  12. The Client–Server Framework in Practice
  13. Binary Types
  14. ECOM
  15. Panics
  16. Bug Detection Using Assertions
  17. Debug Macros and Test Classes
  18. Compatibility
  19. Thin Templates
  20. Expose a Comprehensive and Comprehensible API
  21. Good Code Style
 
 

Download PDF Programming Java 2 Micro Edition on Symbian OS A developer’s guide to MIDP 2.0 by Martin de Jode


Sinopsis


The success of an open operating system for smartphones is closely linked to the degree to which the functionality of lower levels of software and hardware can be accessed, modified, and augmented by add-on software and hardware. Java MIDP 1.0 allowed only modest access to underlying Symbian OS functionality. Java MIDP 2.0 exploits it much more fully and this book brings you the most up-to-date information available for programming Java MIDP 2.0 for Symbian OS. As Java MIDP 2.0 smartphones begin to ship in volume in 2004, we are witnessing the coming of a third wave of mobile phones.
 
The first wave was voice-centric mobile phones. Mobile phone manufacturers have performed wonders of optimization on the core feature of these phones – their ability to provide great mobile voice communications. Successive generations of products improved their portability, battery life, reliability, signal handling, voice quality, ergonomics, price, and usability. In the process, mobile phones became the most successful consumer electronics product in history.
 
The second wave was rich-experience mobile phones. Instead of just conveying voice conversations between mouth and ear, these phones provided a much richer sensory experience than their predecessors. High-resolution color screens conveyed data vividly and graphically. High-fidelity audio systems played quality music through such things as ringtones and audio files. These phones combined multimedia with information and communications, to dramatic effect.
 
But the best was still to come. The primary characteristic of the third wave of mobile phones is their openness. Openness is an abstract concept, but one with huge and tangible consequences for developers. The key driver is that the growing on-board intelligence in modern phones – the smartness of the hardware and software – can now be readily accessed by add-on hardware and software. The range of applications and services that can be used on a phone is not fixed at the time of manufacture, meaning new applications and services can be added afterwards. The phone can be tailored by an operator to suit its customers and these customers can then add further customizations, reflecting specific needs or interests.



Content

  1. J2ME and MIDP
  2. Introduction to J2ME
  3. Getting Started
  4. MIDP 2.0 and the JTWI
  5. Java APIs for Bluetooth Wireless Technology
  6. MIDP 2.0 Case Studies
  7. Writing Quality Code for Smartphones
  8. Making Java Code Portable
  9. Writing Optimized Code
  10. The Evolution of the Wireless Java Market
  11. The Market, the Opportunities and Symbian’s Plans


Download PDF Advance C# Programming by Paul Kimmel


Sinopsis

Advanced C# Programming is about programmers and code. This book was conceived around the idea of providing a lot of code listings for programmers who need to solve problems now.
In each chapter you will find a brief introduction presenting the program showcased in the chapter and describing the kinds of problems that you may encounter and how the code presented will help you tackle them. From there, you can go right to the complete code listing to find the solutions, then read the explanations that follow describing the technology that supports the code listing.
Because each code listing is a complete application, you will find several applications that demonstrate both primary and secondary capabilities of C# and Microsoft .NET. Advanced C# Programming was written for developers who have an intermediate to advanced level of experience with similar languages, such as C++, Delphi, or Visual Basic .NET, or who have read an introductory-level book explaining the fundamentals of objectoriented programming with C#.
As a special feature, Chapters 12 through 16 demonstrate the advanced aspects of ASP.NET programming for the Web with C#. I am pleased to tell you that these chapters of Advanced C# Programming showcase the IBUYSPY.COM Web site as the application for demonstrating software development concepts for the Web. We could not have done this without the blessing and able assistance of Microsoft and Susan Warren, program manager for ASP.NET.
The code examples in this book will demonstrate how to use the most beneficial and powerful aspects of C# programming for Windows and the Web. Everything you need to know about Reflection, Assemblies, object-oriented programming, security and authentication, and Web Services and Web applications for e-commerce sites can be found within this book. All you have to do is open it up and begin exploring.

 

Content

  1. Windows Applications
  2. Language Foundations
  3.  Assembly Viewer
  4. Video Kiosk
  5. Terrarium
  6. Building Database Applications with ADO.NET
  7. Tools and Components
  8. Customizing Visual Studio .NET
  9. Event Logger
  10. Creating UserControls
  11. Special Effects Text
  12. Creating Custom Attributes
  13. Practical Reflection
  14. Web Applications—IBUYSPY Portal
  15. Implementing Web Services 
  16. IBuySpy and Dynamic User Interfaces in ASP.NET
  17. Creating Custom Web Controls
  18. Output Caching and Persisting State Information
  19. Security and Authentication


Download PDF MCAD/MCSD C# .Net Certification All In One Exam Guide (Exams 70-315, 70-316, and 70-320)


Sinopsis


If you have been around the programming world for a while, you may have some experience with languages such as Visual Basic, C++, or Java. These languages commonly provide desktop solutions, and over the years have had to expand their reach to include “enterprise” development. In order to accommodate the concepts of distributed programming, reusable software, and platform independence, languages were extended and programming structures were put into place. These additions include such things as Component Object Model (COM), Distributed Component Object Model (DCOM), Transaction servers and Application servers. Microsoft was quick to notice that a shift in development practices began with the introduction of Internet programming. The Internet necessitated some kind of common interface to be placed in front of the user. The software languages were struggling to provide scripted or interpreted environments that could run in a browser on every kind of platform. If you have ever had to work with plug-ins, browser incompatibility, slow scripted languages, or out-of-date runtime environments, you will understand the difficulties that developers faced over the past five years.  

You will also appreciate the excitement over Microsoft’s latest offering to the world— the .NET platform. This platform means different things to different people. For the world of network administrators, it means new service applications, such as Microsoft Exchange 2000 Server, Microsoft SQL 2000 Server, and the soon-to-be-released Microsoft .NET Servers.

For the development world, it means delivery of the long-awaited Visual Studio .NET and its arsenal of new and old languages, as well as the Common Language Runtime (CLR). This chapter will introduce you to the .NET platform and explore the fundamentals of the Visual C# programming language, as well as the introductory concepts of object- oriented programming (OOP). Please keep in mind that if you are an experienced OOP programmer, you may just need to skim this chapter for differences between C# and other languages, such as C++ and Java, or you may want to review the chapter as a refresher.
 
Whatever route you choose, there is little or nothing in this chapter that will be directly tested on the Microsoft exams. However, having said that, Microsoft assumes a working knowledge of all the concepts covered in this chapter. If you are new to OOP, you may want to spend extra time in this chapter and work outside the book a little in order to bring your skills to the level required. This book assumes that you already have an excellent grasp of the concepts that are briefly looked at in this chapter.



Content

  1. Introduction to C# .NET and the .NET Platform
  2. Variables and Program Structure
  3. Advanced Object-Oriented Concepts
  4. Strings, Exceptions, and Events
  5. Visual Studio .NET Development Environment
  6. Assemblies
  7. Resources and Localization
  8. XML and C# Documentation
  9. Debugging and Testing
  10. Basic Data-Access Techniques
  11. Welcome to the Internet and ASP.NET
  12. Web Forms: Client-Side Programs
  13. Server-Side Programs and Postback Operations
  14. Server Controls in ASP.NET
  15. Web Forms and User Interface
  16. Consuming and Manipulating Data from Data Sources
  17. Making the Web Application Available to Our Users
  18. Introduction to Windows Forms
  19. User-Interface Components
  20. Data in Windows Forms
  21. Web Services and COM
  22. Build Your Own Windows Control
  23. Deploying a Windows-Based Application
  24. Configuring a Windows Application
  25. Introduction to XML Web Services and Server Components 
  26. Windows Services
  27. .NET Remoting
  28. XML Web Services
  29. Data Again
  30. Deployment and Security

Download PDF SCHAUM’S OUTLINE OF THEORY AND PROBLEMS of PROGRAMMING WITH C++ by JOHN R. HUBBARD,

Download PDF Mcgraw Hill Schaum's Outline Theory And Problems Of Programming With C++ 1996

Download PDF Apache Mahout Cookbook A fast, fresh, developer-oriented dive into the world of Apache Mahout by Piero Giacomelli



Sinopsis

Mahout is basically a set of machine learning Java libraries meant to be used for various tasks, such as classification, evaluation clustering, pattern-mining, and so on. There are many good frameworks that are user-friendly and fully equipped with more algorithms to do these tasks. For reference, the R community is much bigger and in the Java world we have had the RapidMiner and Weka frameworks present on the scene for many years. So why should we use Mahout instead of the aforementioned frameworks? Well, the truth is that all the previous frameworks are not meant to be designed for very large datasets. When we refer to very large datasets we refer to datasets, no matter the format, whose records require an order in the scale of a hundred million records. The power of Mahout lies in the fact that the algorithms are meant to be used in a Hadoop environment. Hadoop is a general framework that allows for an algorithm to run in parallel on multiple machines (called nodes) using the distributed computing paradigm.


Content

  1. Mahout is Not So Difficult!
  2. Using Sequence Files – When and Why?
  3. Integrating Mahout with an External Datasource
  4. Implementing the NaÏŠve Bayes classifier in Mahout
  5. Stock Market Forecasting with Mahout
  6. Canopy Clustering in Mahout
  7. Spectral Clustering in Mahout
  8. K-means Clustering
  9. Soft Computing with Mahout
  10. Implementing the Genetic Algorithm in Mahout





Download PDF Assembly Language Programming ARM Cortex-M3 by Vincent Mahout



Sinopsis

A computer program is usually defined as a sequence of instructions that act on data and return an expected result. In a high-level language, the sequence and data are described in a symbolic, abstract form. It is necessary to use a compiler to translate them into machine language instructions, which are only understood by the processor. Assembly language is directly derived from machine language, so when programming in assembly language the programmer is forced to see things from the point of view of the processor.

When executing a program, a computer processor obeys a series of numerical orders – instructions – that are read from memory: these instructions are encoded in binary form. The collection of instructions in memory makes up the code of the program being executed. Other areas of memory are also used by the processor during the execution of code: an area containing the data (variables, constants) and an area containing the system stack, which is used by the processor to store, for example, local data when calling subprograms. Code, data and the system stack are the three fundamental elements of all programs during their execution.

It is possible to program directly in machine language – that is, to write the bit instruction sequences in machine language. In practice, however, this is not realistic, even when using a more condensed script thanks to hexadecimal notation (numeration in base 16) for the instructions. It is therefore preferable to use an assembly language. This allows code to be represented by symbolic names, adapted to human understanding, which correspond to instructions in machine language.



Content

  1. Overview of Cortex-M3 Architecture
  2. The Core of Cortex-M3
  3. The Proper Use of Assembly Directives
  4. Operands of Instructions
  5. Instruction Set
  6. Algorithmic and Data Structures
  7. Internal Modularity
  8. Managing Exceptions
  9. From Listing to Executable: External Modularity




Download PDF C++: The Complete Reference Third Edition by Herbert Schildt


Sinopsis


The third edition of C++: The Complete Reference is greatly expanded beyond its predecessor. In fact, the length of the book has nearly doubled! The main reason for this is that the third edition now includes comprehensive coverage of both the standard function library and the standard class library. Neither of these were sufficiently well defined when the second edition was being prepared to warrant inclusion. With the standardization of C++ being complete, these topics can finally be added. Aside from these major additions, the third edition also includes a substantial amount of new material scattered throughout the book. Most is the result of features that have been added to C++ since the previous edition was prepared. New or expanded coverage includes the following topics: the Standard Template Library, run-time type ID (RTTI), the new casting operators, new features of templates, namespaces, new-style headers, and the modern-style I/O system. Also, some fundamental changes to the way new and delete are implemented are described and several new keywords are discussed.



Content



  1. An Overview of C
  2. Expressions
  3. Statements
  4. Arrays and Null-Terminated Strings
  5. Pointers
  6. Functions
  7. Structures, Unions, Enumerations, and User- Defined Types
  8. C-Style Console I/O
  9. File I/O
  10. The Preprocessor and Comments
  11. An Overview of C++
  12. Classes and Objects
  13. Arrays, Pointers, References and the Dynamic Allocation Operators
  14. Function Overloading, Copy Constructors, and Default Arguments
  15. Operator Overloading
  16. Inheritance
  17. Virtual Functions and Polymorphism
  18. Templates
  19. Exception Handling
  20. C++ I/O System Basics
  21. C++ File I/O
  22. Run-Time Type ID and the Casting Operators
  23. Namespaces, Conversion Functions,and Other Advanced Topics
  24. Introducing the Standard Template Library
  25. The C-Based I/O Functions
  26. The String and Character Functions
  27. The Mathematical Functions
  28. Time, Date, and Localization Functions
  29. The Dynamic Allocation Functions
  30. Utility Functions
  31. The Wide-Character Functions
  32. The Standard C++ I/O Classes
  33. The STL Container Classes
  34. The STL Algorithms
  35. STL Iterators, Allocators, and Function Objects
  36. The String Class
  37. The Numeric Classes
  38. Exception Handling and Miscellaneous Classes
  39. Integrating New Classes: A Custom String Class
  40. An Object-Oriented Expression Parser




Download PDF C++ by Dissection by Ira Pohl

Sinopsis

Today, the ANSI C++ programming language is widely used throughout the world in both academia and industry. In many educational institutions it is the language of choice for a first programming course and for a language to be used for computer science instruction. A key reason for this is that C++ has drifted down the curriculum from more advanced courses to more introductory courses. Further, C++ comes with many useful libraries, and is supported by sophisticated integrated environments. It is a language that efficiently supports object-oriented programming (OOP) the dominant contemporary programming methodology.

C++ by Dissection presents a thorough introduction to the programming process by carefully developing working programs to illuminate key features of the C++ programming language. Program code is explained in an easy-to-follow, careful manner throughout. The code has been tested on several platforms and is found on the bundled CDrom accompanying this text. The code in C++ By Dissection can be used with most C++ systems, including those found in operating systems such as MacOS, MS-DOS, OS/2, UNIX, and Windows.

C++, invented at Bell Labs by Bjarne Stroustrup in the mid-1980s, is a powerful, modern, successor language to C. C++ adds to C the concept of class, a mechanism for providing user-defined types, also called abstract data types. C++ supports object-oriented programming by these means and by providing inheritance and runtime type binding.



Content

  1. Writing an ANSI C++ Program
  2. Native Types and Statements
  3. Functions, Pointers, and Arrays
  4. Classes and Abstract Data Types
  5. Ctors, Dtors, Conversions, and Operator Overloading
  6. Templates and Generic Programming
  7. Standard Template Library
  8. Inheritance and OOP
  9. Input/Output
  10. Exceptions and Program Correctness
  11. OOP Using C++




Download PDF Advanced 3D Game Programming with DirectX 9.0 by Peter Walsh

Download PDF Advanced 3D Game Programming with DirectX 9.0 by Peter Walsh


Sinopsis

For those of you who have never used it, OpenGL is another graphics API. Silicon Graphics designed it in the early '90s for use on their high-end graphics workstations. It has been ported to countless platforms and operating systems. Outside of the games industry in areas like simulation and academic research, OpenGL is the de facto standard for doing computer graphics. It is a simple, elegant, and fast API. Check out http://www.opengl.org for more information. But it isn't perfect. First of all, OpenGL has a large amount of functionality in it. Making the interface so simple requires that the implementation take care of a lot of ugly details to make sure everything works correctly. Because of the way drivers are implemented, each company that makes a 3D card has to support the entire OpenGL feature set in order to have a fully compliant OpenGL driver. These drivers are extremely difficult to implement correctly, and the performance on equal hardware can vary wildly based on driver quality. In addition, DirectX has the added advantage of being able to move quickly to accommodate new hardware features. DirectX is controlled by Microsoft (which can be a good or bad thing, depending on your view of it), while OpenGL extensions need to be deliberated by committees. My initial hope was to have two versions of the source code—one for Windows and Direct3D and the other for Linux and OpenGL. This ended up not being possible, so I had to choose one or the other; I chose Direct3D.



Content


  1. Chapter 1 - Windows
  2. Chapter 2 - Getting Started with DirectX
  3. Chapter 3 - Communicating with DirectInput
  4. Chapter 4 - DirectSound
  5. Chapter 5 - 3D Math Foundations
  6. Chapter 6 - Artificial Intelligence
  7. Chapter 7 - UDP Networking
  8. Chapter 8 - Beginning Direct3D
  9. Chapter 9 - Advanced 3D Programming
  10. Chapter 10 - Advanced Direct3D
  11. Chapter 11 - Scene Management
  12. Appendix - An STL Primer



Download PDF Advanced CORBA Programming with C++ Michi Henning


Sinopsis

For years, both of us have been (and still are) teaching CORBA programming with C++ to software engineers all over the world. One of the most frequently asked questions in our courses is, "Where can I find a book that covers all this?" Although many books have been written about CORBA, most of them focus on high-level concepts and do not address the needs of software engineers. Even though CORBA is conceptually simple, the devil lies in the detail. Or, more bluntly, books focusing on high-level concepts are of little use when you must find out why your program is dumping core.

To be sure, there are resources available about CORBA, such as newsgroups, Web pages, and the Object Management Group (OMG) specifications. However, none of them really meets the needs of a programmer who must get the code to work (and preferably by yesterday). We wrote this book so that there would finally be a tutorial and reference that covers CORBA programming with C++ at the level of detail required for real-life software development. (And, of course, we wrote it so that we would have a good answer for our students.)

Writing such a book is a tall order. Explaining the CORBA specification and APIs is one thing, and it's a necessary part of the book. However, knowing the various APIs will not, by itself, make you a competent programmer (only a knowledgeable one). To be competent, you need not only knowledge of the mechanics of the platform but also an understanding of how the different features interact. You must combine them effectively to end up with an application that performs and scales well and is maintainable, extensible, portable, and deployable.

To help you become competent (as opposed to merely knowledgeable), we go beyond the basics in a number of ways. For one thing, we provide advice as to what we consider good (and bad) design, and we make no attempt to hide problems with CORBA (which, like any other complex software system, has its share of wrinkles). Second, we go beyond the APIs by explaining some of CORBA's internal mechanisms. Even though you can use an ORB without knowing what goes on under the hood, it is useful to understand these mechanisms because they have a profound influence on how well (or how poorly) an application will perform. Third, we devote considerable space to a discussion of the merits of various design decisions; typically, when a design provides a gain in one area it also involves a loss in another. Understanding these trade-offs is crucial to building successful applications. And fourth, where appropriate, we make recommendations so that you are not left without guidance.



Content

  1. Introduction
  2. Introduction to CORBA
  3. An Overview of CORBA
  4. A Minimal CORBA Application
  5. Core CORBA
  6. The OMG Interface Definition Language
  7. IDL for a Climate Control System
  8. Basic IDL-to-C++ Mapping
  9. Client-Side C++ Mapping
  10. Developing a Client for the Climate Control System
  11. Server-Side C++ Mapping
  12. Developing a Server for the Climate Control System
  13. The Portable Object Adapter
  14. Object Life Cycle
  15. CORBA Mechanisms
  16. GIOP, IIOP, and IORs
  17. Implementation Repositories and Binding
  18. Dynamic CORBA
  19. C++ Mapping for Type any
  20. Type Codes
  21. Type DynAny
  22. CORBAservices
  23. The OMG Naming Service
  24. The OMG Trading Service
  25. The OMG Event Service
  26. Power CORBA
  27. Multithreaded Applications
  28. Performance, Scalability, and Maintainability




Download PDF C++ FOR DUMMIES 5TH EDITION by Stephen Randy Davis


Sinopsis


C++ For Dummies is an introduction to the C++ language. C++ For Dummies starts from the beginning (where else?) and works its way from early concepts and through more sophisticated techniques. It doesn’t assume that you have any prior knowledge, at least, not of programming.

C++ For Dummies is rife with examples. Every concept is documented in numerous snippets and several complete programs.

Unlike other C++ programming books, C++ For Dummies considers the “why” just as important as the “how.” The features of C++ are like pieces of a jigsaw puzzle. Rather than just present the features, I think it’s important that you understand how they fit together.

If you don’t understand why a particular feature is in the language, you won’t truly understand how it works. After you finish this book, you’ll be able to write a reasonable C++ program, and, just as important, you’ll understand why and how it works.

C++ For Dummies can also be used as a reference: If you want to understand what’s going on with all the template stuff, just flip to Chapter 27, and you’re there. Each chapter contains necessary references to other earlier chapters in case you don’t read the chapters in sequence.

C++ For Dummies is not operating- or system-specific. It is just as useful to Unix or Linux programmers as it is to Windows-based developers. C++ For Dummies doesn’t cover Windows or .NET programming. You have to master C++ before you can move on to Windows and .NET programming.



Content

  1. Writing Your First C++ Program
  2. Declaring Variables Constantly
  3. Performing Mathematical Operations
  4. Performing Logical Operations
  5. Controlling Program Flow
  6. Becoming a Functional C++ Programmer
  7. Creating Functions
  8. Storing Sequences in Arrays
  9. Taking a First Look at C++ Pointers
  10. Taking a Second Look at C++ Pointers
  11. Debugging C++
  12. Introduction to Classes
  13. Examining Object-Oriented Programming
  14. Adding Class to C++
  15. Making Classes Work
  16. Point and Stare at Objects
  17. Protecting Members: Do Not Disturb
  18. “Why Do You Build Me Up, Just to Tear Me Down, Baby?”
  19. Making Constructive Arguments
  20. Copying the Copy Copy Copy Constructor
  21. Static Members: Can Fabric Softener Help?
  22. Inheritance
  23. Inheriting a Class
  24. Examining Virtual Member Functions: Are They for Real?
  25. Factoring Classes
  26. Optional Features
  27. A New Assignment Operator, Should You Decide to Accept It
  28. Using Stream I/O
  29. Handling Errors — Exceptions
  30. Inheriting Multiple Inheritance
  31. Tempting C++ Templates
  32. Standardizing on the Standard Template Library
  33. The Part of Tens
  34. Ten Ways to Avoid Adding Bugs to Your Program
  35. The Ten Most Important Optional Features of Dev-C++