nCode Programmers Toolkit Technical Details

The nCode Programmers Toolkit is powerful, flexible, fast, and easy to integrate into your applications.

  • Built using C++ for maximum performance and platform independence.
  • Proprietary reference database technology ensures no third-party dependencies such as database management systems to complicate your environment or drain your budget.
  • Support for every major platform.
  • Any programming language can be used to integrate nCode with your in-house applications and packages.
  • Full technical documentation and working sample source code is provided with our free trial software.

nCode Programmers Toolkit Interface

The nCode API consists of over 240 functions that can be used by your applications to leverage powerful address quality functionality. As rich as this API is, it is also easy to use. Most applications won't need more than a couple of dozen APIs to achieve impressive address quality results – but it's good to know that all of the broad power and flexibility of nCode is there if you need it.

  • Standard C calling convention program libraries (DLLs, shared libraries, service programs).
  • Thread-safe and multi-threaded operation.
  • Accessible by any programming language, including C/C++, Java, C#, VB, Ruby, Python, RPG, COBOL and many others.
  • JNI and .NET wrappers provided for easy integration with Java and .NET programs.

Tiny Footprint, Huge Performance

The nCode Programmers Toolkit is compact and efficient. It requires a very small amount of memory and can be configured to use no hard disk I/O at all during address processing. Our proprietary reference database technology means that nCode is lean and very fast. That means you won't need to buy, install and operate new or additional hardware to run nCode. nCode will run on your existing hardware easily and without impacting your other systems.

  • The nCode reference database is built using Canada Post's Postal Code Address Data (PCAD). The 200+MB PCAD data is compressed and indexed into a single proprietary nCode reference database file of about 14MB.
  • Loading the reference database into RAM means no physical file I/O when processing addresses.
  • Process 1,000 to 2,000 address corrections per second – or even more, all with a single CPU thread.
  • In most cases nCode will use less than 20MB of RAM.
  • Use multithreaded operation to increase throughput even higher without significant memory overhead.

A Single Source Code Base Supports Many Platforms

Unlike some other vendors, who provide different products on each platform, our nCode products are built from a single common source code base. This gives you consistent operation and performance across every platform you need to support and allows you to migrate from one platform to another with ease. Even nCode's address reference database is a single binary file that is compatible with every supported platform.

  • nCode runs natively on every major platform including:
    • Microsoft Windows
    • Linux
    • Sun Solaris
    • IBM AIX
    • HP-UX
    • IBM i (AS/400)
    • IBM z/OS (MVS)
  • The nCode reference database is platform independent. Character sets (ASCII vs EBCDIC) and little-endian versus big-endian issues are all resolved internally within the nCode engine.
  • Don't see your platform here? Contact us. Any platform with a C++ compiler can run nCode.
  • The same platform independence and binary compatibility applies to nCode configuration preset files.

Configuring the Behaviour of nCode

nCode can be configured to operate in many different ways according to the needs of your application. You can control nCode's behaviour using configuration presets and you can modify configuration settings dynamically at runtime from within your applications.

  • Analysis mode presets let you control how nCode recognizes and matches your input addresses.
  • Correction style presets let you control how nCode standardizes and optimizes your output addresses.
  • Address layout presets let you tell nCode how your input addresses are structured and how you would like your output addresses to be structured.
  • Configuration presets can be defined in advance and referenced easily at runtime.
  • You can define as many different configuration presets as you need to meet your business requirements.
  • You can use many different configuration presets simultaneously if you like.
  • Configuration presets can be defined via nCode Toolkit API calls or using our convenient Windows desktop configuration application. Preset files created by the desktop application are binary compatible will all supported platforms. Just copy your configuration file and go!
  • Modify your configuration settings at any time directly from within your own code if that is what your application requires. With nCode, you are in control.