Articles for developers

Articles on software development, character sets and advanced computing topics.

Character sets

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.

Commodore PETSCII character sets pdf

PET ASCII or CBM ASCII, character sets used in Commodore computers.

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.

Error handling

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.

Number list

A list of decimal, binary, octal, hexadecimal and BCD numbers. Plus unary, ternary, quaternary, quinary, senary, septenary, undecimal, dozenal, vicesimal, hexatrigesimal and bijective bases.

Obscure and obsolete VB syntax

A look into confusing VB statements, legacy keywords and old-style syntax.

Optimize loops

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 tools

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.

Save memory

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. Enforce standards. 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.

VB InStr

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.

VB tips

Optimize for memory and speed. Write understandable and robust code efficiently. The article shows how to write better code in classic Visual Basic 6.0.

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.

These articles are copyrighted and may not be republished without permission.