www.digitalmars.com         C & C++   DMDScript  

c++.stlsoft - Merry Christmas, and an STLSoft New Year!

reply "Matthew Wilson" <matthew hat.stlsoft.dot.org> writes:
First, I'd like to wish everyone a healthy and happy holiday.


And I'd also like to let you know what you're in for from me with STLSoft
(and related projects) in 2008. So, in no particular order:

* STLSoft:
    1. Website. This is finally going to get the professional treatment. It
will have a redesign, be moved to its own server (so stlsoft.org is no
longer synesis.com.au/software/stlsoft), have a blog, have a place for
publishing small (or even large) articles, have tutorials, and a whole lot
more. This should happen in Jan/Feb. Later in the year I may also provide
commercial support facilities.
    2. Documentation. The first phase will be to get the STLSoft
distribution scripts updated and to start re-publishing the Doxygen
generated docs. This should occur in Jan. In a couple more months' time,
once the site re-org is done, I will be providing better and more extensive
documentation, in concert with some other "senior" STLSoft fellows. More on
this at another time ...
    3. 1.10 will be released soon. It will contain several new components -
including an uber-efficient properties-file class - and maybe even a couple
of new projects (of which more later). One important thing is for me to
address all the remaining items on the NG: there are currently 62 marked
unread (i.e. left to process), some of which go back to 2005! Finally,
there'll be a first tranch of some much needed rationalisation of
internal/support files/classes/namespaces, to simplify and reduce
compilation times.
    4. Later in the year I plan, if I get time, to release STLSoft+, which
is a commercial enhancement to STLSoft, supplementing various STLSoft
sub-projects with substantial services.
    5. Support for other new libraries, including xContract (see below)


* Synesis:
    1. The website's going to get a radical reworking (and reduction), to
reflect the commercial emphases of the last few years: development process
consulting, open-source customisation, network-related custom product
development.
    2. All the to-be-released soon (some as back as 2004!) will be removed.
    3. The system tools will be updated (for Linux & Windows, 32 & 64-bit)
    4. Some articles and/or blogs


* "Breaking Up The Monolith: Advanced C++ Design without Compromise"
(http://breakingupthemonolith.com/)
    This is my next book, and is about how to get everything you want from
C++ without compromise, particularly between efficiency, expressiveness and
robustness. It discusses the technologies (in particular the Shims concept
and the Type Tunnel pattern) behind Pantheios and FastFormat, as well as
other techniques for breaking up monolithic software, maximising design
values, and so on. I've been writing it on and off for the last 15 months,
but am about to put in a solid 10 days on it, which should get me to the 50%
completion mark. The rest will be done over weekends over the following 3
months. For anyone that's followed Imperfect C++ & Extended STL (vol 1)
and/or the progression of the STLSoft, Pantheios, recls, FastFormat, flecxx,
VOLE etc. libraries, this is the book that explains it all, including the
Shims concept, the Handle::Ref+Wrapper and Type Tunnel patterns, the
principles of Intersecting Conformance, Irrecoverability and Removeability,
and more. Should be out mid/late 2008.


* Pantheios
    As you may know, this is, IMO, the ultimate logging API library,
affording the user complete robustness (incl. 100% type-safety) and
unmatchable performance characteristics. It is designed to work above any
other logging libraries, so you can have maximal performance combined with
the configurability of, say, log4cxx.
    Pantheios has been in beta for over a year, but is now very close to a
final 1.0 release. The remaining tasks are:
        1. put in xTests (see below) unit and component tests into the build
        2. implement buffering and file-rolling for be.file
        3. website rework
        4. project files for VC++ 2003/5/8 & Borland Turbo C++
        5. update documentation
        6. compatibility with VC++ "safe" compilation
    I've also been involved with some commercial customisations of Pantheios
for companies here in Aus and in the US, who believe that Pantheios offers
them a significant competitive advantage. Who am I to disagree? <g> I can't
comment on what I've been doing, or for whom I've been doing it, but I am,
of course, always available for such work for any clients that believe their
logging requirements are such that they have to eek out the maximum value of
every last processor cycle in the software.


* FastFormat
    FastFormat uses a similar technology to Pantheios to afford total
type-safety and unbeatable performance when formatting text statements. It
fully supports I18N/L10N by the use of numbered arguments; arguments used
more than once are converted only once. It supports arbitrary destinations
of the formatted result by the mechanism of "sinks". There are several stock
sink types, including strings, string arrays, files, speech (currently
Windows only).
    FF is almost ready to go - I've built the makefile template and proved
it on Linux/Mac/Windows with several compilers - and should be out next
week. Am just working through some other stuff first, and then plan to write
the FF chapter for "Monolith" at the time that I release it (and submit
article(s) on it to mags).
    Although my publicity machine has never been the best, I believe that
there should be no reason why FF should not become the de facto standard for
C++ formatting/output, as it addresses all the problems of C's streams,
C++'s IOStreams, and the other open-source "modern" formatting libraries.
Time will tell ... ;-)


* flecxx

    One of the more simplistic messages in "Monolith" is that good libraries
should afford one the ability to communicate with them in the types with
which you're writing your application code, rather than the
lower-level-of-abstraction types in which their interfaces are expressed.
flecxx, to be released in Jan/Feb, is a 100% header-only adaptation layer
library that wraps standard and popular 3rd-party libraries and removes the
need to sully your beautiful code with all those .get(), .c_str(),
.GetSafeHWnd(), etc. calls.


* xTests
    After releasing all these libraries, it's about time I put out the
testing framework I've been using these long years. This is particularly so
because the next release of Pantheios, and every release of FastFormat and
flecxx, will come bundled with the testing framework. Open-sourced and
rebadged as xTests, it'll be available for anyone to use with any projects
sometime soon.
    xTests is deliberately not all that sophisticated, so it's not going to
be a replacement for any xUnit-like library you're using. But it's simple,
and has minimal coupling, and does the job.


* xContract
    Testing's important, but it's only half the software quality assurance
picture.Contracts are the other. I'm going to put my money where my mouth is
this year, and reify all my wild theories about Irrecoverability in the form
of the xContracts library. We'll start with C/C++, then Ruby, and then see
where life takes us after that.



That's a brief summary of my non-commercial effort over the coming year. All
those people who've been understandably frustrated about the lack of
doc/support with STLSoft should, by the end of '08, have all their issues
dequalmed.

A happy new year to all!

:-)

Matt
Dec 25 2007
next sibling parent reply Adi Shavit <adish gentech.co.il> writes:
Go go Matt!!
You inspire to aspire!
Keep up the great work,
Adi

Matthew Wilson wrote:
 First, I'd like to wish everyone a healthy and happy holiday.


 And I'd also like to let you know what you're in for from me with STLSoft
 (and related projects) in 2008. So, in no particular order:

 * STLSoft:
     1. Website. This is finally going to get the professional treatment. It
 will have a redesign, be moved to its own server (so stlsoft.org is no
 longer synesis.com.au/software/stlsoft), have a blog, have a place for
 publishing small (or even large) articles, have tutorials, and a whole lot
 more. This should happen in Jan/Feb. Later in the year I may also provide
 commercial support facilities.
     2. Documentation. The first phase will be to get the STLSoft
 distribution scripts updated and to start re-publishing the Doxygen
 generated docs. This should occur in Jan. In a couple more months' time,
 once the site re-org is done, I will be providing better and more extensive
 documentation, in concert with some other "senior" STLSoft fellows. More on
 this at another time ...
     3. 1.10 will be released soon. It will contain several new components -
 including an uber-efficient properties-file class - and maybe even a couple
 of new projects (of which more later). One important thing is for me to
 address all the remaining items on the NG: there are currently 62 marked
 unread (i.e. left to process), some of which go back to 2005! Finally,
 there'll be a first tranch of some much needed rationalisation of
 internal/support files/classes/namespaces, to simplify and reduce
 compilation times.
     4. Later in the year I plan, if I get time, to release STLSoft+, which
 is a commercial enhancement to STLSoft, supplementing various STLSoft
 sub-projects with substantial services.
     5. Support for other new libraries, including xContract (see below)


 * Synesis:
     1. The website's going to get a radical reworking (and reduction), to
 reflect the commercial emphases of the last few years: development process
 consulting, open-source customisation, network-related custom product
 development.
     2. All the to-be-released soon (some as back as 2004!) will be removed.
     3. The system tools will be updated (for Linux & Windows, 32 & 64-bit)
     4. Some articles and/or blogs


 * "Breaking Up The Monolith: Advanced C++ Design without Compromise"
 (http://breakingupthemonolith.com/)
     This is my next book, and is about how to get everything you want from
 C++ without compromise, particularly between efficiency, expressiveness and
 robustness. It discusses the technologies (in particular the Shims concept
 and the Type Tunnel pattern) behind Pantheios and FastFormat, as well as
 other techniques for breaking up monolithic software, maximising design
 values, and so on. I've been writing it on and off for the last 15 months,
 but am about to put in a solid 10 days on it, which should get me to the 50%
 completion mark. The rest will be done over weekends over the following 3
 months. For anyone that's followed Imperfect C++ & Extended STL (vol 1)
 and/or the progression of the STLSoft, Pantheios, recls, FastFormat, flecxx,
 VOLE etc. libraries, this is the book that explains it all, including the
 Shims concept, the Handle::Ref+Wrapper and Type Tunnel patterns, the
 principles of Intersecting Conformance, Irrecoverability and Removeability,
 and more. Should be out mid/late 2008.


 * Pantheios
     As you may know, this is, IMO, the ultimate logging API library,
 affording the user complete robustness (incl. 100% type-safety) and
 unmatchable performance characteristics. It is designed to work above any
 other logging libraries, so you can have maximal performance combined with
 the configurability of, say, log4cxx.
     Pantheios has been in beta for over a year, but is now very close to a
 final 1.0 release. The remaining tasks are:
         1. put in xTests (see below) unit and component tests into the build
         2. implement buffering and file-rolling for be.file
         3. website rework
         4. project files for VC++ 2003/5/8 & Borland Turbo C++
         5. update documentation
         6. compatibility with VC++ "safe" compilation
     I've also been involved with some commercial customisations of Pantheios
 for companies here in Aus and in the US, who believe that Pantheios offers
 them a significant competitive advantage. Who am I to disagree? <g> I can't
 comment on what I've been doing, or for whom I've been doing it, but I am,
 of course, always available for such work for any clients that believe their
 logging requirements are such that they have to eek out the maximum value of
 every last processor cycle in the software.


 * FastFormat
     FastFormat uses a similar technology to Pantheios to afford total
 type-safety and unbeatable performance when formatting text statements. It
 fully supports I18N/L10N by the use of numbered arguments; arguments used
 more than once are converted only once. It supports arbitrary destinations
 of the formatted result by the mechanism of "sinks". There are several stock
 sink types, including strings, string arrays, files, speech (currently
 Windows only).
     FF is almost ready to go - I've built the makefile template and proved
 it on Linux/Mac/Windows with several compilers - and should be out next
 week. Am just working through some other stuff first, and then plan to write
 the FF chapter for "Monolith" at the time that I release it (and submit
 article(s) on it to mags).
     Although my publicity machine has never been the best, I believe that
 there should be no reason why FF should not become the de facto standard for
 C++ formatting/output, as it addresses all the problems of C's streams,
 C++'s IOStreams, and the other open-source "modern" formatting libraries.
 Time will tell ... ;-)


 * flecxx

     One of the more simplistic messages in "Monolith" is that good libraries
 should afford one the ability to communicate with them in the types with
 which you're writing your application code, rather than the
 lower-level-of-abstraction types in which their interfaces are expressed.
 flecxx, to be released in Jan/Feb, is a 100% header-only adaptation layer
 library that wraps standard and popular 3rd-party libraries and removes the
 need to sully your beautiful code with all those .get(), .c_str(),
 .GetSafeHWnd(), etc. calls.


 * xTests
     After releasing all these libraries, it's about time I put out the
 testing framework I've been using these long years. This is particularly so
 because the next release of Pantheios, and every release of FastFormat and
 flecxx, will come bundled with the testing framework. Open-sourced and
 rebadged as xTests, it'll be available for anyone to use with any projects
 sometime soon.
     xTests is deliberately not all that sophisticated, so it's not going to
 be a replacement for any xUnit-like library you're using. But it's simple,
 and has minimal coupling, and does the job.


 * xContract
     Testing's important, but it's only half the software quality assurance
 picture.Contracts are the other. I'm going to put my money where my mouth is
 this year, and reify all my wild theories about Irrecoverability in the form
 of the xContracts library. We'll start with C/C++, then Ruby, and then see
 where life takes us after that.



 That's a brief summary of my non-commercial effort over the coming year. All
 those people who've been understandably frustrated about the lack of
 doc/support with STLSoft should, by the end of '08, have all their issues
 dequalmed.

 A happy new year to all!

 :-)

 Matt


   
Dec 27 2007
parent "Matthew Wilson" <matthew hat.stlsoft.dot.org> writes:
Thanks mate, you old charmer ... ;-)


"Adi Shavit" <adish gentech.co.il> wrote in message
news:4774095C.1020202 gentech.co.il...
 Go go Matt!!
 You inspire to aspire!
 Keep up the great work,
 Adi

 Matthew Wilson wrote:
 First, I'd like to wish everyone a healthy and happy holiday.


 And I'd also like to let you know what you're in for from me with
STLSoft
 (and related projects) in 2008. So, in no particular order:

 * STLSoft:
     1. Website. This is finally going to get the professional treatment.
It
 will have a redesign, be moved to its own server (so stlsoft.org is no
 longer synesis.com.au/software/stlsoft), have a blog, have a place for
 publishing small (or even large) articles, have tutorials, and a whole
lot
 more. This should happen in Jan/Feb. Later in the year I may also
provide
 commercial support facilities.
     2. Documentation. The first phase will be to get the STLSoft
 distribution scripts updated and to start re-publishing the Doxygen
 generated docs. This should occur in Jan. In a couple more months' time,
 once the site re-org is done, I will be providing better and more
extensive
 documentation, in concert with some other "senior" STLSoft fellows. More
on
 this at another time ...
     3. 1.10 will be released soon. It will contain several new
components -
 including an uber-efficient properties-file class - and maybe even a
couple
 of new projects (of which more later). One important thing is for me to
 address all the remaining items on the NG: there are currently 62 marked
 unread (i.e. left to process), some of which go back to 2005! Finally,
 there'll be a first tranch of some much needed rationalisation of
 internal/support files/classes/namespaces, to simplify and reduce
 compilation times.
     4. Later in the year I plan, if I get time, to release STLSoft+,
which
 is a commercial enhancement to STLSoft, supplementing various STLSoft
 sub-projects with substantial services.
     5. Support for other new libraries, including xContract (see below)


 * Synesis:
     1. The website's going to get a radical reworking (and reduction),
to
 reflect the commercial emphases of the last few years: development
process
 consulting, open-source customisation, network-related custom product
 development.
     2. All the to-be-released soon (some as back as 2004!) will be
removed.
     3. The system tools will be updated (for Linux & Windows, 32 &
64-bit)
     4. Some articles and/or blogs


 * "Breaking Up The Monolith: Advanced C++ Design without Compromise"
 (http://breakingupthemonolith.com/)
     This is my next book, and is about how to get everything you want
from
 C++ without compromise, particularly between efficiency, expressiveness
and
 robustness. It discusses the technologies (in particular the Shims
concept
 and the Type Tunnel pattern) behind Pantheios and FastFormat, as well as
 other techniques for breaking up monolithic software, maximising design
 values, and so on. I've been writing it on and off for the last 15
months,
 but am about to put in a solid 10 days on it, which should get me to the
50%
 completion mark. The rest will be done over weekends over the following
3
 months. For anyone that's followed Imperfect C++ & Extended STL (vol 1)
 and/or the progression of the STLSoft, Pantheios, recls, FastFormat,
flecxx,
 VOLE etc. libraries, this is the book that explains it all, including
the
 Shims concept, the Handle::Ref+Wrapper and Type Tunnel patterns, the
 principles of Intersecting Conformance, Irrecoverability and
Removeability,
 and more. Should be out mid/late 2008.


 * Pantheios
     As you may know, this is, IMO, the ultimate logging API library,
 affording the user complete robustness (incl. 100% type-safety) and
 unmatchable performance characteristics. It is designed to work above
any
 other logging libraries, so you can have maximal performance combined
with
 the configurability of, say, log4cxx.
     Pantheios has been in beta for over a year, but is now very close to
a
 final 1.0 release. The remaining tasks are:
         1. put in xTests (see below) unit and component tests into the
build
         2. implement buffering and file-rolling for be.file
         3. website rework
         4. project files for VC++ 2003/5/8 & Borland Turbo C++
         5. update documentation
         6. compatibility with VC++ "safe" compilation
     I've also been involved with some commercial customisations of
Pantheios
 for companies here in Aus and in the US, who believe that Pantheios
offers
 them a significant competitive advantage. Who am I to disagree? <g> I
can't
 comment on what I've been doing, or for whom I've been doing it, but I
am,
 of course, always available for such work for any clients that believe
their
 logging requirements are such that they have to eek out the maximum
value of
 every last processor cycle in the software.


 * FastFormat
     FastFormat uses a similar technology to Pantheios to afford total
 type-safety and unbeatable performance when formatting text statements.
It
 fully supports I18N/L10N by the use of numbered arguments; arguments
used
 more than once are converted only once. It supports arbitrary
destinations
 of the formatted result by the mechanism of "sinks". There are several
stock
 sink types, including strings, string arrays, files, speech (currently
 Windows only).
     FF is almost ready to go - I've built the makefile template and
proved
 it on Linux/Mac/Windows with several compilers - and should be out next
 week. Am just working through some other stuff first, and then plan to
write
 the FF chapter for "Monolith" at the time that I release it (and submit
 article(s) on it to mags).
     Although my publicity machine has never been the best, I believe
that
 there should be no reason why FF should not become the de facto standard
for
 C++ formatting/output, as it addresses all the problems of C's streams,
 C++'s IOStreams, and the other open-source "modern" formatting
libraries.
 Time will tell ... ;-)


 * flecxx

     One of the more simplistic messages in "Monolith" is that good
libraries
 should afford one the ability to communicate with them in the types with
 which you're writing your application code, rather than the
 lower-level-of-abstraction types in which their interfaces are
expressed.
 flecxx, to be released in Jan/Feb, is a 100% header-only adaptation
layer
 library that wraps standard and popular 3rd-party libraries and removes
the
 need to sully your beautiful code with all those .get(), .c_str(),
 .GetSafeHWnd(), etc. calls.


 * xTests
     After releasing all these libraries, it's about time I put out the
 testing framework I've been using these long years. This is particularly
so
 because the next release of Pantheios, and every release of FastFormat
and
 flecxx, will come bundled with the testing framework. Open-sourced and
 rebadged as xTests, it'll be available for anyone to use with any
projects
 sometime soon.
     xTests is deliberately not all that sophisticated, so it's not going
to
 be a replacement for any xUnit-like library you're using. But it's
simple,
 and has minimal coupling, and does the job.


 * xContract
     Testing's important, but it's only half the software quality
assurance
 picture.Contracts are the other. I'm going to put my money where my
mouth is
 this year, and reify all my wild theories about Irrecoverability in the
form
 of the xContracts library. We'll start with C/C++, then Ruby, and then
see
 where life takes us after that.



 That's a brief summary of my non-commercial effort over the coming year.
All
 those people who've been understandably frustrated about the lack of
 doc/support with STLSoft should, by the end of '08, have all their
issues
 dequalmed.

 A happy new year to all!

 :-)

 Matt
Dec 29 2007
prev sibling next sibling parent reply "Cláudio Albuquerque" <cláudio nowhere.com> writes:
Hi Mathew,

Beforehand happy holidays!

Without any doubt I have to agree with Mr. Adi  Shavit, I will be honest 
that the thing that amazes me the most is the level of "production" you 
present and sustain (synesis + book + stlsoft + personal life + ... ) my 
daily job alone "sucks" the life out of me.

Anyway, could you give some detail regarding STLSoft+, since you detailed 
all the other stuff.

Happy New Year
Cláudio Albuquerque


"Matthew Wilson" <matthew hat.stlsoft.dot.org> wrote in message 
news:fks1rp$1uu7$1 digitalmars.com...
 First, I'd like to wish everyone a healthy and happy holiday.


 And I'd also like to let you know what you're in for from me with STLSoft
 (and related projects) in 2008. So, in no particular order:

 * STLSoft:
    1. Website. This is finally going to get the professional treatment. It
 will have a redesign, be moved to its own server (so stlsoft.org is no
 longer synesis.com.au/software/stlsoft), have a blog, have a place for
 publishing small (or even large) articles, have tutorials, and a whole lot
 more. This should happen in Jan/Feb. Later in the year I may also provide
 commercial support facilities.
    2. Documentation. The first phase will be to get the STLSoft
 distribution scripts updated and to start re-publishing the Doxygen
 generated docs. This should occur in Jan. In a couple more months' time,
 once the site re-org is done, I will be providing better and more 
 extensive
 documentation, in concert with some other "senior" STLSoft fellows. More 
 on
 this at another time ...
    3. 1.10 will be released soon. It will contain several new components -
 including an uber-efficient properties-file class - and maybe even a 
 couple
 of new projects (of which more later). One important thing is for me to
 address all the remaining items on the NG: there are currently 62 marked
 unread (i.e. left to process), some of which go back to 2005! Finally,
 there'll be a first tranch of some much needed rationalisation of
 internal/support files/classes/namespaces, to simplify and reduce
 compilation times.
    4. Later in the year I plan, if I get time, to release STLSoft+, which
 is a commercial enhancement to STLSoft, supplementing various STLSoft
 sub-projects with substantial services.
    5. Support for other new libraries, including xContract (see below)


 * Synesis:
    1. The website's going to get a radical reworking (and reduction), to
 reflect the commercial emphases of the last few years: development process
 consulting, open-source customisation, network-related custom product
 development.
    2. All the to-be-released soon (some as back as 2004!) will be removed.
    3. The system tools will be updated (for Linux & Windows, 32 & 64-bit)
    4. Some articles and/or blogs


 * "Breaking Up The Monolith: Advanced C++ Design without Compromise"
 (http://breakingupthemonolith.com/)
    This is my next book, and is about how to get everything you want from
 C++ without compromise, particularly between efficiency, expressiveness 
 and
 robustness. It discusses the technologies (in particular the Shims concept
 and the Type Tunnel pattern) behind Pantheios and FastFormat, as well as
 other techniques for breaking up monolithic software, maximising design
 values, and so on. I've been writing it on and off for the last 15 months,
 but am about to put in a solid 10 days on it, which should get me to the 
 50%
 completion mark. The rest will be done over weekends over the following 3
 months. For anyone that's followed Imperfect C++ & Extended STL (vol 1)
 and/or the progression of the STLSoft, Pantheios, recls, FastFormat, 
 flecxx,
 VOLE etc. libraries, this is the book that explains it all, including the
 Shims concept, the Handle::Ref+Wrapper and Type Tunnel patterns, the
 principles of Intersecting Conformance, Irrecoverability and 
 Removeability,
 and more. Should be out mid/late 2008.


 * Pantheios
    As you may know, this is, IMO, the ultimate logging API library,
 affording the user complete robustness (incl. 100% type-safety) and
 unmatchable performance characteristics. It is designed to work above any
 other logging libraries, so you can have maximal performance combined with
 the configurability of, say, log4cxx.
    Pantheios has been in beta for over a year, but is now very close to a
 final 1.0 release. The remaining tasks are:
        1. put in xTests (see below) unit and component tests into the 
 build
        2. implement buffering and file-rolling for be.file
        3. website rework
        4. project files for VC++ 2003/5/8 & Borland Turbo C++
        5. update documentation
        6. compatibility with VC++ "safe" compilation
    I've also been involved with some commercial customisations of 
 Pantheios
 for companies here in Aus and in the US, who believe that Pantheios offers
 them a significant competitive advantage. Who am I to disagree? <g> I 
 can't
 comment on what I've been doing, or for whom I've been doing it, but I am,
 of course, always available for such work for any clients that believe 
 their
 logging requirements are such that they have to eek out the maximum value 
 of
 every last processor cycle in the software.


 * FastFormat
    FastFormat uses a similar technology to Pantheios to afford total
 type-safety and unbeatable performance when formatting text statements. It
 fully supports I18N/L10N by the use of numbered arguments; arguments used
 more than once are converted only once. It supports arbitrary destinations
 of the formatted result by the mechanism of "sinks". There are several 
 stock
 sink types, including strings, string arrays, files, speech (currently
 Windows only).
    FF is almost ready to go - I've built the makefile template and proved
 it on Linux/Mac/Windows with several compilers - and should be out next
 week. Am just working through some other stuff first, and then plan to 
 write
 the FF chapter for "Monolith" at the time that I release it (and submit
 article(s) on it to mags).
    Although my publicity machine has never been the best, I believe that
 there should be no reason why FF should not become the de facto standard 
 for
 C++ formatting/output, as it addresses all the problems of C's streams,
 C++'s IOStreams, and the other open-source "modern" formatting libraries.
 Time will tell ... ;-)


 * flecxx

    One of the more simplistic messages in "Monolith" is that good 
 libraries
 should afford one the ability to communicate with them in the types with
 which you're writing your application code, rather than the
 lower-level-of-abstraction types in which their interfaces are expressed.
 flecxx, to be released in Jan/Feb, is a 100% header-only adaptation layer
 library that wraps standard and popular 3rd-party libraries and removes 
 the
 need to sully your beautiful code with all those .get(), .c_str(),
 .GetSafeHWnd(), etc. calls.


 * xTests
    After releasing all these libraries, it's about time I put out the
 testing framework I've been using these long years. This is particularly 
 so
 because the next release of Pantheios, and every release of FastFormat and
 flecxx, will come bundled with the testing framework. Open-sourced and
 rebadged as xTests, it'll be available for anyone to use with any projects
 sometime soon.
    xTests is deliberately not all that sophisticated, so it's not going to
 be a replacement for any xUnit-like library you're using. But it's simple,
 and has minimal coupling, and does the job.


 * xContract
    Testing's important, but it's only half the software quality assurance
 picture.Contracts are the other. I'm going to put my money where my mouth 
 is
 this year, and reify all my wild theories about Irrecoverability in the 
 form
 of the xContracts library. We'll start with C/C++, then Ruby, and then see
 where life takes us after that.



 That's a brief summary of my non-commercial effort over the coming year. 
 All
 those people who've been understandably frustrated about the lack of
 doc/support with STLSoft should, by the end of '08, have all their issues
 dequalmed.

 A happy new year to all!

 :-)

 Matt

 
Dec 29 2007
parent "Matthew Wilson" <matthew hat.stlsoft.dot.org> writes:
"Cláudio Albuquerque" <cláudio nowhere.com> wrote in message
news:fl6sq2$218f$1 digitalmars.com...
 Hi Mathew,

 Beforehand happy holidays!

 Without any doubt I have to agree with Mr. Adi  Shavit, I will be honest
 that the thing that amazes me the most is the level of "production" you
 present and sustain (synesis + book + stlsoft + personal life + ... ) my
 daily job alone "sucks" the life out of me.
Thanks, mate. Although I have to say I feel like I'm walking through treacle most of the time. (For example, FastFormat has been largely complete for more than a year, but getting out the door has been the longest PITA. Soon, now, though <g>)
 Anyway, could you give some detail regarding STLSoft+, since you detailed
 all the other stuff.
This'll be a non-free (i.e. commercial offering, still likely 100% header-only, though). Don't expect to see this happening until Q4 08, however.
Apr 25 2008
prev sibling parent Pablo Aguilar <pablo.aguilar gmail.com> writes:
A little late, but...

Happy holidays!

And congratulations, as others have said, on being an example to follow ;)


Best of luck for this year!
Pablo


Matthew Wilson wrote:
 First, I'd like to wish everyone a healthy and happy holiday.
 
 
 And I'd also like to let you know what you're in for from me with STLSoft
 (and related projects) in 2008. So, in no particular order:
 
 * STLSoft:
     1. Website. This is finally going to get the professional treatment. It
 will have a redesign, be moved to its own server (so stlsoft.org is no
 longer synesis.com.au/software/stlsoft), have a blog, have a place for
 publishing small (or even large) articles, have tutorials, and a whole lot
 more. This should happen in Jan/Feb. Later in the year I may also provide
 commercial support facilities.
     2. Documentation. The first phase will be to get the STLSoft
 distribution scripts updated and to start re-publishing the Doxygen
 generated docs. This should occur in Jan. In a couple more months' time,
 once the site re-org is done, I will be providing better and more extensive
 documentation, in concert with some other "senior" STLSoft fellows. More on
 this at another time ...
     3. 1.10 will be released soon. It will contain several new components -
 including an uber-efficient properties-file class - and maybe even a couple
 of new projects (of which more later). One important thing is for me to
 address all the remaining items on the NG: there are currently 62 marked
 unread (i.e. left to process), some of which go back to 2005! Finally,
 there'll be a first tranch of some much needed rationalisation of
 internal/support files/classes/namespaces, to simplify and reduce
 compilation times.
     4. Later in the year I plan, if I get time, to release STLSoft+, which
 is a commercial enhancement to STLSoft, supplementing various STLSoft
 sub-projects with substantial services.
     5. Support for other new libraries, including xContract (see below)
 
 
 * Synesis:
     1. The website's going to get a radical reworking (and reduction), to
 reflect the commercial emphases of the last few years: development process
 consulting, open-source customisation, network-related custom product
 development.
     2. All the to-be-released soon (some as back as 2004!) will be removed.
     3. The system tools will be updated (for Linux & Windows, 32 & 64-bit)
     4. Some articles and/or blogs
 
 
 * "Breaking Up The Monolith: Advanced C++ Design without Compromise"
 (http://breakingupthemonolith.com/)
     This is my next book, and is about how to get everything you want from
 C++ without compromise, particularly between efficiency, expressiveness and
 robustness. It discusses the technologies (in particular the Shims concept
 and the Type Tunnel pattern) behind Pantheios and FastFormat, as well as
 other techniques for breaking up monolithic software, maximising design
 values, and so on. I've been writing it on and off for the last 15 months,
 but am about to put in a solid 10 days on it, which should get me to the 50%
 completion mark. The rest will be done over weekends over the following 3
 months. For anyone that's followed Imperfect C++ & Extended STL (vol 1)
 and/or the progression of the STLSoft, Pantheios, recls, FastFormat, flecxx,
 VOLE etc. libraries, this is the book that explains it all, including the
 Shims concept, the Handle::Ref+Wrapper and Type Tunnel patterns, the
 principles of Intersecting Conformance, Irrecoverability and Removeability,
 and more. Should be out mid/late 2008.
 
 
 * Pantheios
     As you may know, this is, IMO, the ultimate logging API library,
 affording the user complete robustness (incl. 100% type-safety) and
 unmatchable performance characteristics. It is designed to work above any
 other logging libraries, so you can have maximal performance combined with
 the configurability of, say, log4cxx.
     Pantheios has been in beta for over a year, but is now very close to a
 final 1.0 release. The remaining tasks are:
         1. put in xTests (see below) unit and component tests into the build
         2. implement buffering and file-rolling for be.file
         3. website rework
         4. project files for VC++ 2003/5/8 & Borland Turbo C++
         5. update documentation
         6. compatibility with VC++ "safe" compilation
     I've also been involved with some commercial customisations of Pantheios
 for companies here in Aus and in the US, who believe that Pantheios offers
 them a significant competitive advantage. Who am I to disagree? <g> I can't
 comment on what I've been doing, or for whom I've been doing it, but I am,
 of course, always available for such work for any clients that believe their
 logging requirements are such that they have to eek out the maximum value of
 every last processor cycle in the software.
 
 
 * FastFormat
     FastFormat uses a similar technology to Pantheios to afford total
 type-safety and unbeatable performance when formatting text statements. It
 fully supports I18N/L10N by the use of numbered arguments; arguments used
 more than once are converted only once. It supports arbitrary destinations
 of the formatted result by the mechanism of "sinks". There are several stock
 sink types, including strings, string arrays, files, speech (currently
 Windows only).
     FF is almost ready to go - I've built the makefile template and proved
 it on Linux/Mac/Windows with several compilers - and should be out next
 week. Am just working through some other stuff first, and then plan to write
 the FF chapter for "Monolith" at the time that I release it (and submit
 article(s) on it to mags).
     Although my publicity machine has never been the best, I believe that
 there should be no reason why FF should not become the de facto standard for
 C++ formatting/output, as it addresses all the problems of C's streams,
 C++'s IOStreams, and the other open-source "modern" formatting libraries.
 Time will tell ... ;-)
 
 
 * flecxx
 
     One of the more simplistic messages in "Monolith" is that good libraries
 should afford one the ability to communicate with them in the types with
 which you're writing your application code, rather than the
 lower-level-of-abstraction types in which their interfaces are expressed.
 flecxx, to be released in Jan/Feb, is a 100% header-only adaptation layer
 library that wraps standard and popular 3rd-party libraries and removes the
 need to sully your beautiful code with all those .get(), .c_str(),
 .GetSafeHWnd(), etc. calls.
 
 
 * xTests
     After releasing all these libraries, it's about time I put out the
 testing framework I've been using these long years. This is particularly so
 because the next release of Pantheios, and every release of FastFormat and
 flecxx, will come bundled with the testing framework. Open-sourced and
 rebadged as xTests, it'll be available for anyone to use with any projects
 sometime soon.
     xTests is deliberately not all that sophisticated, so it's not going to
 be a replacement for any xUnit-like library you're using. But it's simple,
 and has minimal coupling, and does the job.
 
 
 * xContract
     Testing's important, but it's only half the software quality assurance
 picture.Contracts are the other. I'm going to put my money where my mouth is
 this year, and reify all my wild theories about Irrecoverability in the form
 of the xContracts library. We'll start with C/C++, then Ruby, and then see
 where life takes us after that.
 
 
 
 That's a brief summary of my non-commercial effort over the coming year. All
 those people who've been understandably frustrated about the lack of
 doc/support with STLSoft should, by the end of '08, have all their issues
 dequalmed.
 
 A happy new year to all!
 
 :-)
 
 Matt
Jan 06 2008