c++.stlsoft - Merry Christmas, and an STLSoft New Year!
- Matthew Wilson (123/123) Dec 25 2007 First, I'd like to wish everyone a healthy and happy holiday.
- Adi Shavit (5/129) Dec 27 2007 Go go Matt!!
- Matthew Wilson (59/214) Dec 29 2007 Thanks mate, you old charmer ... ;-)
- Cláudio Albuquerque (12/157) Dec 29 2007 Hi Mathew,
- Matthew Wilson (5/13) Apr 25 2008 Thanks, mate. Although I have to say I feel like I'm walking through tre...
- Pablo Aguilar (6/153) Jan 06 2008 A little late, but...
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
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
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:STLSoftFirst, 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 withIt(and related projects) in 2008. So, in no particular order: * STLSoft: 1. Website. This is finally going to get the professional treatment.lotwill 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 wholeprovidemore. This should happen in Jan/Feb. Later in the year I may alsoextensivecommercial 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 moreondocumentation, in concert with some other "senior" STLSoft fellows. Morecomponents -this at another time ... 3. 1.10 will be released soon. It will contain several newcoupleincluding an uber-efficient properties-file class - and maybe even awhichof 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+,tois 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),processreflect the commercial emphases of the last few years: developmentremoved.consulting, open-source customisation, network-related custom product development. 2. All the to-be-released soon (some as back as 2004!) will be64-bit)3. The system tools will be updated (for Linux & Windows, 32 &from4. 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 wantandC++ without compromise, particularly between efficiency, expressivenessconceptrobustness. It discusses the technologies (in particular the Shimsmonths,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 1550%but am about to put in a solid 10 days on it, which should get me to the3completion mark. The rest will be done over weekends over the followingflecxx,months. For anyone that's followed Imperfect C++ & Extended STL (vol 1) and/or the progression of the STLSoft, Pantheios, recls, FastFormat,theVOLE etc. libraries, this is the book that explains it all, includingRemoveability,Shims concept, the Handle::Ref+Wrapper and Type Tunnel patterns, the principles of Intersecting Conformance, Irrecoverability andanyand 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 abovewithother logging libraries, so you can have maximal performance combinedathe configurability of, say, log4cxx. Pantheios has been in beta for over a year, but is now very close tobuildfinal 1.0 release. The remaining tasks are: 1. put in xTests (see below) unit and component tests into thePantheios2. 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 ofoffersfor companies here in Aus and in the US, who believe that Pantheioscan'tthem a significant competitive advantage. Who am I to disagree? <g> Iam,comment on what I've been doing, or for whom I've been doing it, but Itheirof course, always available for such work for any clients that believevalue oflogging requirements are such that they have to eek out the maximumItevery 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.usedfully supports I18N/L10N by the use of numbered arguments; argumentsdestinationsmore than once are converted only once. It supports arbitrarystockof the formatted result by the mechanism of "sinks". There are severalprovedsink types, including strings, string arrays, files, speech (currently Windows only). FF is almost ready to go - I've built the makefile template andwriteit on Linux/Mac/Windows with several compilers - and should be out next week. Am just working through some other stuff first, and then plan tothatthe 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 believeforthere should be no reason why FF should not become the de facto standardlibraries.C++ formatting/output, as it addresses all the problems of C's streams, C++'s IOStreams, and the other open-source "modern" formattinglibrariesTime will tell ... ;-) * flecxx One of the more simplistic messages in "Monolith" is that goodexpressed.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 arelayerflecxx, to be released in Jan/Feb, is a 100% header-only adaptationthelibrary that wraps standard and popular 3rd-party libraries and removessoneed 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 particularlyandbecause the next release of Pantheios, and every release of FastFormatprojectsflecxx, will come bundled with the testing framework. Open-sourced and rebadged as xTests, it'll be available for anyone to use with anytosometime soon. xTests is deliberately not all that sophisticated, so it's not goingsimple,be a replacement for any xUnit-like library you're using. But it'sassuranceand has minimal coupling, and does the job. * xContract Testing's important, but it's only half the software qualitymouth ispicture.Contracts are the other. I'm going to put my money where myformthis year, and reify all my wild theories about Irrecoverability in theseeof the xContracts library. We'll start with C/C++, then Ruby, and thenAllwhere life takes us after that. That's a brief summary of my non-commercial effort over the coming year.issuesthose people who've been understandably frustrated about the lack of doc/support with STLSoft should, by the end of '08, have all theirdequalmed. A happy new year to all! :-) Matt
Dec 29 2007
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
"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
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









"Matthew Wilson" <matthew hat.stlsoft.dot.org> 