Here is a list of White Papers written by Mindfire Solutions. Most include our original writing whereas some are to be read in accompaniment with deeper material..
|
|
Coming soon...
- Strategic Off-shore QA
- Maintain Increasing Returns
- Mindfire's Remote Methodology
- An introduction to Palm programming
- Estimation of Porting projects
|
Creating MS RMS COM Component Add-Ins
Microsoft Retail Management System offers numerous solutions to stores (single or multiple, small or large) in the retail industry. The various functionalities include store management, purchase order management, transaction processing, point-of-sale solutions, reports and receipts processing.Read the full article
BVH, Biovision Hierarchy
BVH, Biovision Hierarchy, is an animation file format which is available in several 3D applications that do not support FBX. It stores the animation data in terms of ROOT, JOINTS and OFFSET. I have written the code in C++ for exporting the head animation data into bvh file. This article contains introduction into BVH file, detailed description of BVH file and source code for writing the bvh files. Read the full article
Standard Deviation of between a 32-bit or 24-bit bitmaps 
In Image Processing Development, camparsion of two bitmaps is quite common. Comparision of two bitmaps means how each pixel of image1 is different from corresponding pixel of image2 and vice-versa. This is called Stanard Deviation. Standard Deviation tells that how many pixels are differ in terms of its color in the given two images. To read more on this as well as view the source code an algorithm that calculates Standard Deviation between two 32-bit or 24-bit bitmaps.Read the full article.
Building JAR files with ANT script
ANT is Java based build tool which is used to automate software build processes. In this article we will see how to create a JAR file using ANT script. Read the full article
How to efficiently use global memory ?(Coalescing issue)
How does data reside in global memory?
How it is different for devices with different compute capability?
What should be the optimal access pattern for data with different size? Read the full article...
Refactoring commands in C#.net using VS-2008
Refactoring is the process of optimizing and restructuring existing code without changing the external behaviour of the code. Visual Studio provides a number of options for refactoring code from within the IDE. This article will explain the different types of the refactoring commands available under the Refactoring option. It also descibe the options under each command and their pros and cons. Read the full article...
Interacting Clients from the Solution in Servoy, Now, Doable 
Interacting with the Servoy Application Server or any connected clients, such as shutting down/restarting the Application Server, alerting/shutting down/checking alive or not for any client connected to the Application Server or to the Application Server running remotely, from the Servoy solutions is not doable. The Servoy solution can not able to get the handle of the Servoy Application Server to the Developers. This article describes how we can do all those stuffs from your Servoy solution by using the Server Utility Plug-in for Servoy, mfServerUtils.Read the full article...
Saving User Preferences in Windows Form Aplications 
A very common task that a Windows Application Developer needs to do is save user preferences (window form size,location,color,font etc) when the user exits the application and load them when the same user loads the application next time. This paper discusses how to implement this functionality in .NET 2.0. Read the full article...
SaaS A Beginner's Tale
Software As A Service refers to the paradigm shift in software delivery model in which the vendors do not package the product for each customer, instead they deploy it as a web-based service that the customers can consume over the Internet. Debasish Das discusses the various pros and cons of SaaS. Read the full article...
Data Transfer Over GPRS: Palm OS
This paper delves into various things that developers should consider while developing data transfer applications over the GPRS network using socket programming for Palm OS based devices.
Testing Tips For Mobile Developers
Unit testing is essential for every development we developers do. When we talk about mobile and handheld platforms, it becomes more critical due to various constraints that development has to be done. Read this document compiled by our testing team which may help you figure out few known common issues that every mobile product must be safe guarded from at the development stage itself.
First Qtopia Application
It is not hard anymore to find an easy way to begin development with Qtopia sdk for Linux Mobile based devices. Our LinuxMobile developers have prepared this document to unravel the Linux Mobile development mystery using Qtopia sdk and other related technologies.
Syncing External Memory Data on Pocket PC
It is pretty straight forward to sync files kept on main memory on a Pocket PC device and have the conduit managed via Active Sync. But when it comes to files kept on an SD Card, things start becoming trickier. You have to write explicit code to sync and also do something extra to make it work with ActiveSync technology. Read the white paper which will help you understand the nitty gritties involved..
Creating A Complete Pocket PC Installer
This paper elaborates the process of creating a windows based installer for Pocket PC & Smartphone applications with use of Astrum and NSIS installer packages. It takes care of various stages that an installer has to consider in practical usage.
Game Programming in C#.NET
This paper discusses some aspects of developing games for Windows Mobile/PocketPC devices using the .NET Compact Framework and C#.NET. Ten guidelines are presented for beginners in this area to learn and get going quickly!
Palm PhoneLibrary GSM/GPRS API
The Palm Phone Library is an interface to phone hardware. Its usage is increasingly gaining importance as developers are developing many applications involving the use of Phone APIs. It is widely used in the organizations mainly responsible for developing applications involving phone feature's usage. Examples include Phone call recording, Black list (used to ignore a particular caller), Caller identification, Customized ringtones, Conferencing, etc.
Writing portable J2ME Applications
Handsets are numerous in the cellphones market, and new ones enter every day. These handsets vary on several parameters like screen size, heap size, maximum application size, apart from special-key layout and form factors. It is possible to design and write J2ME applications in a manner that reduces the effort in porting across handsets. This thought-provoking article discusses possible approaches.
Introduction to gaming using J2ME
Game programming is exciting work, just as gaming is exciting play! This article discusses beginner steps in writing games using Sun's J2ME programming technologies. J2ME is a dedicated version of the normal J2SE, designed specifically for device/cell-phone platforms and their inherent constraints. Key small-device usage and performance considerations to be kept in mind and the first few steps into J2ME programming are discussed in this article.
Hibernate vs JDBC
Traditionally, JDBC has been the data access model of choice for most Java developers. The introduction of Hibernate brings Object-Relational Mapping (ORM) as a data storage/access solution. Hibernate is quite naturally suited to the Object-Oriented way of thinking, and to a pure Object-Oriented language such as Java. In this article we discuss the merits and demerits of each approach. Hibernate in general has advantages, but in specific situations the use of JDBC may be advisable.
Struts Tiles vs JSP Include
The separation of design and programming has been a priority for web application development environments. Designers and programmers are different sets of people, and each would like to make changes independently; this separation allows such workflows to exist. Second-generation Java web development achieved this using JSP and JSP Include files. The current generation of Struts MVC frameworks brings with it Struts Tiles, an advanced method of achieving UI-code or design-program separation. In this article, we discuss the advantages we see in the Struts Tiles approach, and list some demerits as well.
Macromedia Flash and VB: A potent combination
This article focuses on an often-neglected but all-important aspect of any software application – the user interface. For years, desktop applications have had boring gray rectangular windows, buttons etc. Animation, multi-media, visual effects and custom elements were possible, but required large amount of custom programming. Even making a non-rectangular button would need good C++ skills. The web and its use of Flash change the equation. Web-based applications look far more attractive and user-friendly than comparable desktop application, but are easy to develop with Flash. In this article, we present ideas for using Flash inside VB applications, thus injecting new life into desktop software products.
Macromedia supports Mindfire's approach towards VB-Flash integration, and this article has been published by Macromedia here.
Developing Web Services using JAX-RPC
This paper discusses a RMI driven approach to building Web Services for an existing Java Application. We deal with the basics of JAX-RPC and steps in using Sun's Java Web Services Developer Pack (JWSDP). We describe the architecture and process used to implement a Web Services wrapper layer over an existing RMI-enabled Java application.
Testing: Overview of Checklist-driven testing (Checklists 101)
Checklist-driven testing can encapsulate the cumulative experience and knowledge of teams, raising productivity and coverage significantly in test efforts. This paper discusses about the various advantages and disadvantages related to checklist-driven testing. While identifying problem areas in checklists, it also intends to supply work-around to attack these problems.
Testing: Creating checklists (Checklists 201)
This paper propels the goodness of custom-made checklists and aims to help test organizations build their own checklists. Creation and selection of items for a checklist can be the make-or-break of a checklist strategy.
Testing: Organizing checklists (Checklists 301)
When Test Organizations plan serious implementation of checklist driven testing, systematic approach to deal with these rapidly growing custom checklists becomes a critical factor. It is not only difficult to manage growing number of checklists, but also successful implementation becomes questionable. This document describes how checklists can be further classified according to their usage and hence be organized.
Moving ASP to ASP .NET
This paper discusses the techniques and methods in porting an existing ASP application to the ASP .NET technology. It also talks about issues faced in porting of existing ADO-to-ADO .NET technology and suggests appropriate steps that should be used to make the whole process simpler.
Porting: Development Techniques
This paper discusses software-porting process in details highlighting the steps involved in the process. It also talks about significant issues faced in a typical porting process and suggests appropriate strategies that should be used to make the whole process simpler.
Porting: Test Techniques
While justifying the need of a separate testing strategy for ported applications, this paper discusses testing methodology for porting projects. Portions of this document talk about the stage-wise testing approach and then elaborate each one to create a substantial and comprehensive process. Best practices gained from practical experiences make this paper a good guide for testing software ports.
Porting: A Business Decision
Porting is a significant, if oft-neglected, strategy for software businesses. Multi-platform products have multiple benefits, while bringing with them possible headaches. The porting process itself carries a few risks. In this white paper, we discuss the pros and cons of porting. We also consider some pitfalls, and finally outline options available for porting.
Porting: Win - Mac Issues
This paper talks about hand on experiences of porting of applications, involving Mac and Windows, discussing in detail the issues faced and solutions/strategies adopted during the process.
Porting: An Unix - NT Experience
It is required to design and implement a thread management application, to be integrated with the existing architecture of a telecommunications application for monitoring 96 telephone ports and responding to the messages received by firing corresponding application. The application's purpose is to manage the communication between these 96 threads, which are responsible for monitoring the telephone ports.
Windows: Temporary pointers in MFC
This paper discusses the temporary objects and the handle maps mechanism, which MFC uses to provide a uniform method for getting a C++ object from the corresponding handles, allocated in C. It also tries to explain the basic relationship between a Windows object handle allocated by an API call and the C++ MFC object wrapping it.
MacOS: Processes
This paper discusses managing processes and takes in Macintosh operating system. This paper is a summarized form of "Inside Macintosh: Processes" and is directed towards developers who are new to Mac development but had previous development experience on other operating system. After going through this article you will be familiar with Process Manager, Time Manager, Vertical Retrace Manager, Notification Manager and several other process related services provided by the system.
MacOS: Memory
This paper discusses memory management in the Apple Macintosh operating system. This paper is a summarized form of "Inside Macintosh: Memory" and is directed towards developers who are new to Mac development but have previous development experience on other operating system. After going through this article you will be familiar with memory architecture in Mac, ways to allocate and deallocate memory, using temporary memory, A5 world, heap management, heap zones, heap fragmentation and several other features provided by the Mac Memory manager.
Carbonization: MacOS 8/9 - OS X
This paper talks about a hand on experience of carbonization of an application, discussing in details the actual steps involved and the issues faced during the process.
VoIP: A programmer's tutorial
This paper discusses VoIP from developers' perspective and looks into the core issues like packetization, recording and playback of voice data in real time. Many other issues like implementation of H.323 or SIP protocols are not discussed here.
Creating MS RMS COM Component Add-Ins