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
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.
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.
Key technologies: camera control, GPS, (3-axis) accelerometers, gyroscopes and magnetometers, Atmel XMEGA.
Handheld visible light translator
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.
A host of open source tools, projects and libraries, most of which are available through http://flyingcarsandstuff.com/
Multiplayer turn-based games server, mobile clients
Auto-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).
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).
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.
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.
Key Technologies: Mahout, Hadoop, Titan Graph db, Cassandra
Mac POS/Licensing Server/WebStore tie-in
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.
• 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.