Services

Our expertise covers a wide range of programming and electronics domains, and you’ll find a selection of these below.

The preferred approach is one where we’ll discuss your needs, elaborate your specific requirements and provide a fixed flat fee quote. The 3 steps to a great product HOWTO can help you prepare to create a sweet system and find out more about what to expect.  Contact us to learn more.

Electronics: Circuit design, PCB prototyping, embedded programming

Vehicle Fleet Management and control

kfKeyless vehicle management system, that allows fleet managers to distribute digital keys rather than physical ones to control access and act as a remote starter, through a smartphone.

The on-board hardware module is a low powered, plug&play component that can interact with any Bluetooth 4 device and may be upgraded remotely, using a cryptographically transmitted and verified firmware.  A very wide range of vehicle makes and models are supported, either through a data bypass or wired directly.

Key technologies: Bluetooth Low Energy, vehicle immobilizer bypass, Atmel XMEGA.

 

POVLog

Position- and orientation-aware handheld imaging system that allows for the automated creation of virtual environments based on data captured on-site. Captured data is stored on SD cards, and the system provides both a field UI and a configuration and control GUI for the desktop.

plprojcomps

Key technologies: camera control, GPS, (3-axis) accelerometers, gyroscopes and magnetometers, Atmel XMEGA.

Handheld visible light translator

acid

 

Handheld device which translates light colour into sound (and usable data, using SPI), useful for the vision impaired, as a colour detection sensor for other systems and more. The system combines a real-time tone generation/colour sampling program, written in C and running on an AVR microprocessor, with the colour sensor and supporting hardware.

Key technologies: TCS3200 sensors, Atmel mega328.

Open Source

A host of open source tools, projects and libraries, most of which are available through http://flyingcarsandstuff.com/

Gaming Servers

Multiplayer turn-based games server, mobile clients

multiplayergamingAuto-scaling cluster of multiplayer rooms for turn-based games (optionally featuring in-game chat, purchasing, betting and more), along with support systems (authentication, directory, account management, etc). The core libraries and communication layers are implemented in C++ and re-usable on both the server- and client-side (desktop and mobile), and are wrapped and exported as Python modules. Business logic and interfacing with the NoSQL db is done through the upper-layer (in Python) which allows for rapid prototyping and expansions to the system.

Each server can host a theoretical maximum of over 30,000 rooms (each with anywhere between 2 and 10 players), and “wings” of rooms are decoupled such that any number of servers may be added to the group dynamically.

Initial games implemented are card based, but any group or turn-based game can be rapidly added as all the game logic runs in Python drivers, while leveraging the extensive functionality of the core libraries for service management, client-server communication and game implementation.

Key Technologies: Boost, EncMQ, Google protocol buffers, ZeroMQ, MongoDB

Social gaming platform and universe

Multi-user and multi-interface environment for social gaming, including everything from the underlying network architecture and database repositories up to APIs for UI clients (on platforms like iPhone/Android and facebook/myspace through Flash).

socialgaminguniverse

The system is designed to accommodate tens of thousands of simultaneous users (millions of accounts), and implements game logic and independent scripted modules using a loosely coupled event notification system and multiple observer processes (for marking the passage of time, awarding achievements and generally applying the “laws of physics” of the virtual universe).

 

Backend/Databases

GraphDB-backed knowledge management and extraction Server/Data

High-availability, massive graph network database, linking people and objects in multiple complex webs of relations. Machine learning subsystems are used for classification and feature extraction, as well as unsupervised learning for clustering and frequent itemset determinations.

graphdbsystem

The Titan graph database, with a Cassandra distributed db back-end, is used to store the graph data while a Rexster/Bulbs interface provides low-level tie-in for the model layer. Cassandra is also used as the storage engine for globally distributed media and archive repositories.

Designed to be highly scalable and mine very large datasets, much of the processing is accomplished through a Hadoop cluster running Apache Mahout (scalable machine learning) algorithms.

Key Technologies: Mahout, Hadoop, Titan Graph db, Cassandra

Mac POS/Licensing Server/WebStore tie-in

mac_posRe-engineering codebase from a monolithic to a client-server architecture, using a (Python-driven) RESTful XML API server sitting atop a Postgresql database in conjunction with a Cocoa client.

Instrumental in releasing a reliable and flexible product implementing the transport layer, flexible job scheduler, payment processing, gift card system, all the POS resources, and distinct components such as a separate, secure, licensing servers.

 

Publications

• Linux Journal, December 2004: Developing for the Atmel AVR microcontroller on Linux

• SysAdmin Magazine, October 2003: VOCP Command Shells — Managing Your Systems through the Telephone. Featured Article.

Leave a Reply