Resources for developers
Articles for advanced programmers and others who want to maintain and document quality software.
History and present of character sets, codepages and control characters. Articles with character tables.
7-bit character sets
History of ASCII and related national 7-bit character sets. Differences and character tables.
Codepages – Comprehensive list
All IBM, Microsoft and Mac codepages, as well as additional character sets.
Control characters in ASCII and Unicode
In-depth look into control characters in ASCII and its descendants, including Unicode, ANSI and ISO standards.
DOS codepages (and their history)
MS-DOS and Windows "OEM" character sets.
Windows codepages (and their history)
Current and historical versions of Windows codepages
Counting the statements
To measure the size of an application and to evaluate the work done, count the statements, not the lines.
Data types in VB and .NET
This is a technical look into the numeric data types supported by classic Visual Basic, VBA, VB.NET and the .NET framework. Surprising peculiarities and a data type conversion diagram are included.
Dead code detection and removal
Increase quality, decrease files and save money by removing unused, dead code.
Ecological software development
How to develop software in an ecological way? Cut development costs and save the Earth.
Turn run-time errors to your benefit! What are the best practices for an error handling scheme for a robust VB application?
Flow chart symbols
Flow charts are a useful tool for software documentation. This article introduces flow chart symbols for source code visualization. These symbols let you visualize the structure of a function, statement by statement.
How not to optimize
Optimizing Visual Basic 6.0 code can be fun or tedious, depending on the way you look at it. Here are some pitfalls to avoid when optimizing.
Image formats compared
This article compares common image file formats from a software developer's perspective.
Which format is the best for my job? Which format produces the smallest files?
Legacy code analysis
Cross-references, call trees, called-by lists, flowcharts and metrics are useful techniques for understanding existing legacy applications.
Mainframes: Analyzing IBM legacy systems
To maintain, migrate or rewrite existing legacy system one needs to understand their structure and functionality. Gathering in-depth knowledge on existing complex, potentially undocumented code takes time without proper tools.
A list of decimal, binary, octal, hexadecimal, ternary, quaternary and dozenal numbers.
Loops make programs run slowly. A few unoptimal lines can make an app run at a snail's pace. This article presents performance tricks for squeezing the max speed out of your code. The focus is on processing data arrays in loops. We restructure loops, rebuild function calls, fine-tune conditionals, choose fast operators, pre-calculate values and access arrays the proper way.
Optimize PDF files - Part I
Large PDF files are slow to download and they consume too much bandwidth. Create smaller PDF files by following a few rules. You can possibly decrease the size of PDF files by several hundreds of kilobytes.
Optimize PDF files - Part II
Your applications can write incredibly small PDF files if you know what you're doing. This article is intended for programmers who create PDF files programmatically using custom routines.
Optimize string handling in VB6 - Part I
String handling in Visual Basic is slow if done the wrong way.
You can add significant performance to string operations by following a few easy tricks.
Optimize string handling in VB6 - Part II
Make your Visual Basic apps process text fast as lightning. Part II dives deep into the performance of the VB6 String functions. We learn the functions to use and the ones to avoid. We also learn how to call the Windows Unicode API functions and how to build really, really huge strings without crashing our VB6 apps.
Optimize string handling in VB6 - Part III
Processing strings with Visual Basic 6.0 can get considerably faster if you know the tricks. Part III studies the performance of Left$, Mid$ and Right$ in detail. We learn to quickly examine individual characters with Asc and AscW. We check out the differences between Asc/AscW and Chr/ChrW. We also see how a badly placed pair of extra parentheses can degrade performance.
Reduce errors with parameters
Many programming errors are related to improper use of procedure parameters. Declare parameters properly in order to avoid unnecessary errors in your Visual Basic programs.
Refactoring means modifying existing source code in a structured and incremental way. This article suggests tools for refactoring.
Regular expressions - An introduction
Regular expressions are a pattern matching standard for string parsing and replacement. They are used on a wide range of platforms and programming environments. Originally missing in Visual Basic, regular expressions are now available for most VB and VBA versions.
Release checklist for programs
This article presents a code review checklist to go through before releasing a program to users.
Restructuring Visual Basic code
You can greatly improve the quality of existing code by restructuring it. By restructuring we mean arranging the code in logical modules and classes, grouping related functions and data together, and using scope rules to achieve better legibility and maintainability.
Make your programs use less memory without sacrificing their functionality. This article shows a number of tricks to preserve RAM while your program runs.
Toolbox for project manager
Reduce development time.
Increase team communication.
Reuse and modify existing code.
Create optimized programs.
Ensure covering tests.
Produce complete and correct documentation.
Manage maintenance efforts.
The tasks a project manager faces are difficult.
How do you achieve all of this?
In this article we show how a project team can benefit from the use of Aivosto tools in the different phases of a development project.
User Interface bug tests
Test your Windows applications for common bugs in the User Interface (UI). This article shows 10 quick ways to find nasty bugs.
InStr is a powerful VB string function. It's the perfect way to search and test strings in robust Visual Basic applications. This article shows how to call InStr to perform advanced text processing tasks quickly. The article also discusses case insensitivity, vbTextCompare, Option Compare Text and InStr related bugs.
Optimize for memory and speed. Write understandable and robust code efficiently.
Writing comments in Visual Basic code
Comments are an ideal way to document source code. We present a lightweight comment format that is easy to learn, clear to read and powerful in describing procedures and modules. It also allows automatic document generation by a source code analyzer.
10 steps to migrate existing code to VB.NET
Migrating existing VB code to Visual Basic .NET is not just a matter of loading it to the new version. It is essential to work on your code before you open it in VB.NET.
Peter Aitken's VB columns on ActiveX Documents, VBA, Data Sources, Data Sinks, VBScript and ASP, CGI and VB, and VB6's File System Objects.
Developer sites and tool links.
These articles are copyrighted and may not be republished without permission.