Significant events in recent times for Synesis:
recls 100% .NET is written to production-quality standards, and is released under the Microsoft Public License. It is donationware, which means that it is free to use without restriction (including in commercial software systems), but that you are asked to make a modest donation if you find it useful.
Matt's blog will focus on the Windows operating system and .NET technologies, and is likely to feature issues pertaining to C/C++/C# programming.
In characteristic style, the blog's subject matter will revolve around thorough investigations of practical issues affecting working programmers, often focusing on performance, as well as more general aspects of programming theory and practice as they pertain to Windows/.NET.
Matt's column, Quality Matters, will take a practical look at aspects of software quality, including instrinsic characteristics such as efficiency, expressiveness and flexibility, as well as extrinsic measures such as diagnostic logging, contract enforcement, automated testing, peer-review, coding standards and so on.
The column will look at the issues of software quality across multiple languages and technology areas, including, but not limited to, C, C++, D, C#/.NET, Python, Ruby, multi-threaded systems, distributed systems and user-interface software.
Aztec Australia's Temple 7 enters beta testing phase, with the expectation of delivery before Q4 2009.
Synesis Software provided assistance to the Temple team in design review, code review, application stability, customisation of the Pantheios diagnostic logging library, development processes, and testing approaches (including training in Test Driven Development).
The third and final instalment, An Introduction to FastFormat (Part 3): Solving Real Problems, Quickly, in the series on FastFormat is published in the June 2009 edition of Overload.
After several years of being treated as a low priority, the Synesis Software website has finally been updated, providing up-to-date information for clients and for users of Synesis' development resources.
Our excuse for the neglect was that we were too busy in research and assisting clients to deal with the need to modernise the website. Not much of an excuse, to be sure, and we're glad it's not needed any more.
We believe that this open-source formatting library represents the ultimate combination of atomicity, genericity, efficiency, extensibility, expressiveness, flexibility, portability, robustness, and support for I18N/L10N.
The design - the type-tunnel pattern using shims for the tunneling layer, shared with the Pantheios library - means that FastFormat incurs the lowest possible performance costs for most types of formatting, despite having infinite flexibility and total robustness.
- An Introduction to FastFormat, part 1: The State of the Art
- An Introduction to FastFormat, part 2: Custom Argument and Sink Types
- An Introduction to FastFormat, part 3: Solving Real Problems Quickly
The performance tests conducted thus far indicate that despite being more robust and more flexible than other formatting libraries - including C's Streams, C++'s IOStreams, Boost.Format and Loki.SafeFormat - it is also significantly faster than them all, except C's Streams (which are not type-safe) in a few trivial cases.
Update: As of Q1 2009, these components have processed more than 100 billion log statements, and have done so without a single failure. The client says that Pantheios is one of the few software libraries that they can rely on, and that it's "like a rock".
News Digital Careers' development team, under the management and guidance of a Synesis Software consultant, have successfully delivered the Transformation Project, which represents a substantial upgrade to CareerOne, the number 2 jobs website in Australia.
Update: Successful completion of the strategic Transformation Project delivered a 30% incremental business revenue plus 100% incremental website traffic.
Addison-Wesley has published Matthew Wilson's second book, Extended STL, volume 1: Collections and Iterators, an in-depth examination of the concepts, practices and techniques for creating STL extensions.
What the reviewers have said:
"Wilson's menu of STL treatments will no doubt be good eating for generic programming adherents, ardent C programmers just now taking on STL and C++, Java programmers taking a second look at C++, and authors of libraries targeting multiple platforms and languages. Bon Appetit!"
-- George Frazier, Cadence Design Systems, Inc.
"A thorough treatment of the details and caveats of STL extension."
-- Pablo Aguilar, C++ Software Engineer.
"This book is not just about extending STL, it's also about extending my thinking in C++."
-- Serge Krynine, C++ Software Engineer, RailCorp Australia
"You might not agree 100% with everything Wilson has to say, but as a whole his book is the most valuable, in-depth study of practical STL-like programming."
-- Thorsten Ottosen, M.C.S., Boost Contributor
"Wilson is a master lion tamer, persuading multifarious 3rd-party library beasts to jump through STL hoops. He carefully guides the reader through the design considerations pointing out the pitfalls and making sure you don't get your head bitten off."
-- Adi Shavit, Chief Software Architect, EyeTech Co. Ltd
"Wilson's book provides more than enough information to change the angst/uncertainty level of extending STL from 'daunting' to 'doable'"
-- Garth Lancaster, EDI/Automation Manager, Business Systems Group, MBF Australia
"This book will open up your eyes and uncover just how powerful STL's abstractions really are."
-- Nevin ":-)" Liber, 19 year veteran of C++
"In the canon of C++ there are very few books that extend the craft. Wilson's work consistently pushes the limits, showing what can and cannot be done, and the tradeoffs involved."
-- John O'Halloran, Head of Software Development, Mediaproxy
"Essential concepts and practices to take the working programmer beyond the standard library."
-- Greg Peet, Lead Course Developer/Online IT Programs, Mt. Sierra College
"Extended STL is not just a book about adapting the STL to fit in with your everyday work, itís also an odyssey through software design and concepts, C++ power techniques, and the perils of real-world software development Ė in other words, itís a Matthew Wilson book. If youíre serious about C++, I think you should read it."
-- Bjorn Karlsson, Principle Architect, ReadSoft; author of Beyond the C++ Standard Library: An Introduction to Boost
We believe that this open-source diagnostic logging API library represents the ultimate combination of atomicity, genericity, efficiency, extensibility, portability, and type-safety and, best of all, it upholds the Spirit of C: you only pay for what you use.
Pantheios was forked out of the Synesis Software code base in 2005, and has been significantly enhaned since then. It has been used in several commercial and internal projects, and is now available to the world to use from www.pantheios.org.
The unique design means that Pantheios incurs virtually no cost when logging (of a particular severity level) is switched off. The performance tests conducted thus far indicate that the performance features of Pantheios outstrip those of any other diagnostic logging library by a considerable margin.
MBF is a leading Australian national medical insurer. Their autoclaims system handles every EFTPOS transaction in all sectors throughout the country. Synesis Software did the design and development of the Autoclaims Switching Service daemons, providing real-time switching and routing of AS2805 (financial protocol) transaction messages.
Update: As of Q2 2009, these components have been running without failure for more than four years.
Addison-Wesley publishes Matthew Wilson's first book, Imperfect C++, an in-depth treatise on the gaps, flaws and potholes of the C++ language, along with practical tools and techniques for mastering them. From the cover:
"C++, although a marvelous language, isn't perfect. Matthew Wilson has been working with it for over a decade, and during that time he has found inherent limitations that require skillful workarounds. In this book, he doesn't just tell you what's wrong with C++, but offers practical techniques and tools for writing code that's more robust, flexible, efficient, and maintainable. He shows you how to tame C++'s complexity, cut through its vast array of paradigms, take back control over your codeóand get far better results."
Check it out at Amazon, where it's currently averaging stars
The Bathurst 1000 weekend motorsport competition was enhanced in 2003 with a Television/SMS competition, "Ford vs Holden". Synesis Software are proud to have collaborated on the implementation (.NET) of this short timescale, high pressure, project, which ran without failure and broke the Australian record for Television/SMS campaigns by successfully serving over 1.05 Million messages in the two days of the event.
Version 1.0.1 of the recls library is released. recls is a platform-independent recursive search library, being developed as the first exemplar for Matthew Wilson's C/C++ User's Journal column, Positive Integration.
It includes mappings to a host of languages, including C++, D, COM, .NET (C# and Managed C++), Perl, Python, Ruby and STL.
Synesis Software are proud to announce that Matthew Wilson has been asked to be a columnist for the world's foremost C++ publication, C/C++ User's Journal.
In fact, Matthew has been asked to write two columns:
- from September 2003, Matthew will be writing the "Flexible C++" column in the CUJ online Experts Forum.
- from November 2003, Matthew will be writing the "Positive Integration" column in the magazine, the first installments of which feature the recls library.
From version 1.6.3 onwards, the STLSoft libraries will be bundled with the Digital Mars C/C++ compiler (version 8.34 onwards). There is also a Digital Mars-specific web-site at http://digitalmars.com/~stlsoft, which will contain information regarding the STLSoft libraries that is specific to the Digital Mars compiler.
Furthermore, Digital Mars is hosting an STLSoft newsgroup, where you can lodge bug reports and feature requests, or just get on and ask questions. There is a growing community of developers using the libraries who are always glad to help.
Note: STLSoft will continue to exist in its own right, and to support multiple compilers. The main website, at http://www.stlsoft.org/ will continue to be the prime source of up-to-the-minute information and library updates regarding STLSoft. (We're also looking to enter into bundling arrangements with some of the other top-flight compiler vendors, but we'll remain independent of, and compatible with, as many compilers as possible.)
Synesis Software are pleased to announce STLSoft, an open-source initiative designed to bring robust, lightweight, cross-platform Standard Template Library software to the development community.
By releasing STLSoft as open-source, Synesis Software hope not only to lever formerly proprietary intellectual property to the wider development community, but also to stimulate debate and encourage contributions from all sources with the aim of evolving a standard for C++ development on the Linux and Windows platforms.
The library is designed to work with most of the widely available compilers, including Borland C++ (v5.5), Digital Mars (v8.26), Microsoft Visual C++ (v5.0 & 6.0) and GCC (v2.95 & 2.96). Support for a broader range of compilers is planned for the future.
This initial release was made primarily to support the other STLSoft libraries, and currently contains only the Allocator and Auto libraries. The next version of the library will also handle String Access, String Tokenisation, True Typedefs and Type conversions.
Consulting to Acxiom, the world's largest marketing database company, Synesis Software's Matt Wilson partnered with Acxiom Australia Pty Ltd's Head of Development to design and develop the Generic Acxiom Parser (GAP), a modular, multithreaded, platform-independent parsing engine.
The GAP prototype was completed within 3 weeks, and the project delivered into production within 3 months. GAP outperformed all previous parsers - both speed & accuracy - and has subsequently become Acxiom's standard parsing technology worldwide.
Consulting to ComSolve, Synesis Software participated in the architecture of the Runtime Customer Services (RTCS) platform for Commonwealth Securities online trading system (the busiest transactional website in the southern hemisphere).
We then designed and developed the data caching and delivery components of RTCS, delivering on time and in budget.
Update: As of Q3 2005, these components have processed hundreds of millions of dollars of trading information, and have done so without a single failure.