C++

We've been working with C++ since its release in 1986. From C-with-objects to the TR1 extensions, object-oriented, functional and meta-programming, we're experts with all styles of C++.

Multi-threading

The increase in CPU clock-speeds has been stalled for the last few years, and with it per-CPU throughput. To get more work done in the same amount of time it's necessary to throw more processors at the problem. Multi-processor systems have been affordable since 1998, and technologies like HyperThreading and multi-core processors are bringing that power to desktop and laptop. But to exploit these advances software must be multi-threaded.

Continue reading "Multi-threading" »

Communications and Networking

Communications once meant RS-232, and now it's encrypted data streams over TCP/IP, encapsulated and packaged in myriad ways. Whether you need to control a robotic arm or screen-scrape a legacy system, put a transparent RPC proxy between your systems, or reverse-engineer a data stream, we can help.

Library Design and Development

A lot of our more recent work has been in realm of library development, creating expressive and powerful foundations on which the real work is built.

Graphics

We can apply our deep understanding of Mac, Windows and UNIX graphics APIs, file formats and in-memory representations to provide transformational and generational code to meet your needs.

Graphical User Interface

GUI generally means frameworks, and we've worked with and extended them all. QT, GTK, MFC, PowerPlant, the venerable MacApp and TCL, and our own ZooLib. And if you have an in-house system, our broad experience let's us get up to speed quickly.

Other Languages

Although our main strength is C++, we're familiar with other languages, ancient and modern, and use them when appropriate.

Assembly Language and Machine Code

Even in a sophisticated high-level system, assembly language or machine code is sometimes needed for its semantics, performance or direct access to hardware features. For x86, PowerPC, 68K, 6502, Z80 and more, we know when and how to make effective use of assembly language and machine code.

  • Assembly Language and Machine Code
  • C++
  • Communications and Networking
  • Graphical User Interface
  • Graphics
  • Library Design and Development
  • Multi-threading
  • Other Languages