Threads play a major role in applications programming today. For example, most Web servers are threaded, as are many Java GUI programs. Here are the major settings in which using threads has been founded convenient and/or efficient:
• Programs with asynchronous events:
Here the program must be ready for various events, but does not know the order in which they might occur. For example, in Sections 3.1 and 3.2, we have a network server connected to several clients. The server does not know from which client the next message will arrive. So, we have the server create a separate thread for each client, with each thread handling only its client.
Read the rest of this entry »
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 »
E-commerce, pay-per-use online services, user-authentication and tracking for e-learning, online gaming, contests… What do all of these applications have in common? The need for secure transfer of encrypted data between client workstations and server applications. According to a study by Gartner Consulting, the growing concern for Internet security parallels the evolution of e-business. In the earliest days of Internet development, the emphasis was on distributing content over the web and making it available to anyone. Now, as the Internet matures, clients are more concerned with ensuring that their assets, both monetary and intellectual, are protected from those who may commit fraud or abuse them. This is why more and more developers have been looking for security solutions.
Read the rest of this entry »
The EPICS toolkit consists of a set of software components with which Application Developers can create a control system. The basic component types are:
•OPI
Operator Interface. A UNIX- or NT-based workstation or PC which can run various EPICS tools—the “clients.”
•IOC
Input Output Controller. A VME/VXI-based chassis containing a Motorola 68K or PPC processor with various VME I/O modules for analog and digital signals, and for access to field buses such as Allen-Bradley, GPIB, CANbus or CAMAC.
•LAN
TCP/IP-based Local Area Network. A communication network which connects the IOCs and OPIs. EPICS provides a software com- ponent, Channel Access, which provides network transparent commu- nication between every client—such as OPI—and an arbitrary number of servers—such as IOC.
Read the rest of this entry »
This manual aims to provide information about the Unbound server on the Windows platform. Included is installation, uninstallation and some information on configuration specific for Windows. Full details of operating a DNS resolver are not part of this document, and can better be documented in a platform independent document.
Read the rest of this entry »
Microsoft gives a name to its Flash-killer technology. The technology formerly known as WPF/E is now known as Silverlight. Microsoft has given a go-to-market name for its cross-platform, cross-browser plug-in for delivering the next generation of user experiences and rich Internet applications for the Web. The technology formerly known as WPF/E is now known as Silverlight.
Read the rest of this entry »
What Is Silverlight?
Silverlight is a new Web presentation technology that is created to run on a variety of platforms. It enables the creation of rich, visually stunning and interactive experiences that can run everywhere: within browsers and on multiple devices and desktop operating systems (such as the Apple Macintosh). In consistency with WPF (Windows Presentation Foundation), the presentation technology in Microsoft .NET Framework 3.0 (the Windows programming infrastructure), XAML (eXtensible Application Markup Language) is the foundation of the Silverlight presentation capability.
Read the rest of this entry »
In order to avoid any headaches while going through the case studies in this book, it’s best to install the necessary software and configure your environment the right way from the start. Although we assume you already have some experience developing PHP applications, we’ll quickly go through the steps to install your machine with the necessary software.
Read the rest of this entry »