17 Sep
Posted by jj as Development
There is an ongoing information war raging in the software world. Despite free software developers’ best efforts, new proprietary software continues to proliferate. Improved techniques must be developed to reverse engineer efficiently closed data formats so that free, interoperable solutions can be deployed under Linux.
Software reverse engineering occurs on various levels. It may be necessary to study a piece of poorly written, poorly commented code developed in a high-level language such as C++ and understand what the original program was supposed to accomplish. It may also be necessary to disassemble a program that has been compiled into machine language and express it as a higher-level language. In doing this, the underlying algorithms can eventually be expressed as higher-level concepts in a human language. After obtaining an algorithmic description via reverse engineering, the algorithm can be reimplemented for any language on any computing platform.
Read the rest of this entry »
XML Web Services provide a flexible API for building distributed systems as a collection of endpoints that can send and receive SOAP messages. These systems are secured using message-based cryptographic mechanisms defined in a series of specifications developed by Microsoft, IBM, and others. Such home-grown security protocols often go wrong; they are prone to a well-known class of attacks, formalized by Dolev and Yao, where an attacker can intercept, modify, and replay messages. The vulnerability is only increased by the flexible message formats and complex trust configurations allowed by the standards. Our goal is to verify the security of families of protocol configurations, such as those deployed for Microsoft’s WSE and Indigo web services implementations.
Read the rest of this entry »
Many developers have learned to use PHP over the years because it’s a good solution for creat- ing Web pages and the price is right. The PHP acronym is like many other new acronyms for the Internet—the acronym is recursive (refers back to itself). PHP stands for PHP Hypertext Processor. This general-purpose HTML scripting language works much like ASP (see Chapter 6) or other page description languages you might have used. Essentially, you mix HTML with scripting information. When the PHP process sees HTML, it sends the text directly to the user. It processes any scripting information, and passes the resulting HTML to the user as well.
Read the rest of this entry »
Typical content distribution solutions are based on placing dedicated equipment inside or at the edge of the Internet. The best example of such solutions is Akamai [1], which runs several tens of thousands of servers all over the world. In recent years, a new paradigm for Content Distribution has emerged based on a fully distributed architecture where commodity PCs are used to form a cooperative network and share their resources (storage, CPU, bandwidth).
Read the rest of this entry »
The Microsoft SQL Server Storage Solution Review Program is a specific SQL Server program that enables storage solution providers to highlight those storage solutions and configurations, via the SQL Server “Always On” labeling, that they have successfully reviewed against core functional Microsoft SQL Server storage requirements. The core requirements defined herein must be met for reliable, highly available SQL Server storage systems.
Read the rest of this entry »
Many developers have learned to use PHP over the years because it’s a good solution for creating Web pages and the price is right. The PHP acronym is like many other new acronyms for the Internet—the acronym is recursive (refers back to itself). PHP stands for PHP Hypertext Processor. This general-purpose HTML scripting language works much like ASP (see Chapter 6) or other page description languages you might have used. Essentially, you mix HTML with scripting information. When the PHP process sees HTML, it sends the text directly to the user. It processes any scripting information, and passes the resulting HTML to the user as well.
Read the rest of this entry »
Creating a basic hairstyle Introduction Lesson setup Creating hair on a surface Styling the hair Setting up hair collisions Rendering the hair Modifying hair attributes Setting up shadowing on hair Beyond the lesson Getting Started with Maya Unlimited 3 s Lesson 2 Creating a dynamic non-hair simulation Introduction Lesson setup Setting up the curtain scene Making the hair collide with another object Assigning a Paint Effects brush to the hair Setting up constraints Rendering the curtain scene Beyond the lesson 3 Fluid Effects Introduction Preparing for the lessons Lesson 1 Creating a dynamic 2D fluid effect Introduction Creating a two-dimensional fluid container Adding a fluid emitter to a container Changing the behavior of a fluid Combining colors in a fluid Colliding a fluid with an object Beyond the lesson Lesson 2 Creating a non-dynamic 3D fluid effect Introduction Creating a 3D fluid container Adding fluid to a container Defining shader attributes for a fluid.
Read the rest of this entry »
This Document Conventions Signals Symbols Mathematical Notation Functional Description Introduction Organization of the Functional Description Functional Overview Data Path VMEbus Interface Local Bus Interface Function Bus Request Modes Fair and Demand Modes VMEbus Request Levels Bus Release Modes Bus Clear Enabling Release On Request and Release When Done Ownership Timer Other Bus Release Mechanisms Local Memory Interrupt BI-Mode VMEbus Requester Local and System Reset VMEbus Interrupts Interrupt Generation BI-mode Effects Reset Effects Local Bus Interrupts Interrupt Enabling and Status Local Interrupt Level Mapping interrupt
Read the rest of this entry »