DSS provides expert software design, system implementation, and
specializing in Linux, FreeBSD, Mac OS X, and other Unix platforms
Software Design & Implementation
- Authentication, authorization,
and single sign-on
We can implement, customize, and install authentication and
access control services and technologies for the web
(Apache) and a variety of operating systems
(GNU-Linux, *BSD, Mac OS X).
- Computer networking and communication
We work with most Internet standard protocols (such as TCP/IP, SMTP, FTP),
other standards-based protocols (SSL/TLS),
and can develop custom protocols.
- Fast prototyping, platform-independent and
Fast prototyping lets you quickly explore alternative implementations,
respond to new requirements, experiment, or evaluate new ideas.
After a requirements analysis, an iterative development methodology
is followed to provide an initial prototype as soon as possible,
then improve and extend it as necessary.
Code is typically developed using a scripting language, like Perl or PHP,
or for maximum efficiency, C/C++.
We prefer writing portable, POSIX-based software whenever possible.
Open source licensed software components are leveraged as appropriate.
- Creating and customizing "small", embedded,
and special-purpose programming languages
DSS has many years of experience developing parsers, compilers,
cross-compilers, translators, and interpreters for all kinds of purposes.
Proven tools like lex/flex and yacc/bison can be used,
as can custom implementations (such as a recursive descent parser written in C).
encoders and decoders for data representation languages, such as XML and JSON.
- Directory systems, including X.500,
LDAP, Active Directory
Distributed systems built around directory technology are used
for many purposes, including authentication and authorization.
- Computer systems and network communications
- High-performance and special-purpose distributed
systems and databases
Sometimes a relational database is not the right solution.
Lightweight (NoSQL, key/value) and small footprint databases and systems
can provide scalability, reliability, availability, atomic transactions,
replication, and more.
We can help you to develop systems that use these kinds of databases.
Areas of Expertise
- design and implementation of client/server, peer-to-peer,
and proxy servers
- web-based applications and systems, REST-ful architectures
- Apache web server installation, configuration, and customization
XML technologies (HTML, CSS, RSS, JSON, RELAX NG),
automatic web page generation, and related technologies
- SQLite, Berkeley DB (NoSQL)
- practical design and implementation experience with the
Secure Sockets Layer (SSL)
- Public Key Infrastructure (PKI)
- data security technologies, including encryption and secure hashing
- extensive experience with systems programming
(including kernels, commands, and tools) on many Unix-type platforms
- service for
GNU and other free
software that falls within our areas of expertise
DSS offers a wide variety of professional services in the areas
identified above and provides complete
technical support for
Additional information about DACS
is available at dacs.dss.ca.
Per-hour and fixed-cost professional service agreements
and contracts are available.
Contact us for cost estimates.
relatively cheap Canadian Dollar
makes us particularly affordable for out-of-country clients.
DSS is responsible for the design and implementation of
(the Distributed Access Control System), an open source,
light-weight single sign-on system that provides extended authentication and
access control capabilities for Apache and web-based services.
DACS web services and commands can be used
by application software, scripts, server software, and CGI programs for
authentication and authorization checking functionality.
DACS is a key component of Canada's
National Forest Information System (NFIS)
and has been deployed by other governmental agencies,
businesses, and projects
For information about tdbm,
an embedded high-performance database,
please visit its microsite at
[I'm not sure at what point tdbm morphed into an acronym for
"The DataBase Machine".
Officially, it is "Transactional DBM",
or "DBM with (Atomic) Transactions".]
DSS was involved in the design and implementation of
System, an open source database for Linux, FreeBSD, and other systems.
Open source software and technical papers
A variety of
open source licensed software
Although some of it is now very old, many packages continue to see regular use
on a wide variety of platforms.
A few packages can be found in commercial products,
including millions of Apple Macs, iPhones, iPads, and iPods,
as well as being used by other software.
Some older technical papers
on distributed databases, directory services, and other topics
are also available.
Other projects we have recently been working on include:
- Real estate geomatics.
City of Vancouver property information,
such as: property value assessments,
tax levies, addresses, streets, postal code areas, and more.
- Development of a fast parser and validator for
RELAX NG Compact Syntax,
XML document validation from its RELAX NG Compact Syntax specification,
and automatic generation of C/C++ encoders and decoders from a
Compact Syntax specification
- General-purpose XML parsing tools with a C/C++ API on top of
- A light-weight, portable, efficient,
and easy to use non-preemptive threads package
(similar to Pthreads)
- A univeral "server server" that among other things allows almost any
even those running on a private network or firewalled network,
to be accessible from the Internet
Incorporated in 1997 and privately-held,
DSS can bring an uncommon amount of knowledge and
experience to almost any distributed systems project, as is clear from the
company's unusually varied list of specialties and exceedingly deep background
in many areas.
If you have any questions or would like additional information,
please contact us!