Release 1.4.4 of the POCO C++ Libraries is now available. This is mostly a bugfix release, but we also managed to squeeze in a few new classes like Poco::DirectoryWatcher, Poco::ObjectPool and Poco::Crypto::DigestEngine, as well as various improvements. As always, the CHANGELOG has all the details. Upgrading is recommended for all users of previous releases.
September 4, 2012
August 3, 2012
I will give a talk titled “An Introduction to The POCO C++ Libraries” on Wednesday, August 8, at the monthly ACCU USA meeting. It will be at the Symantec VCAFE Building, 350 Ellis Street in Mountain View, CA. Doors will be open at 6:30pm, the talk will start at 7:00pm. Attendance is open to all and free. See you there!
July 30, 2012
There will be an informal meeting of POCO users and contributors in the San Francisco Bay Area on Friday, August 31, 2:00-6:00pm. We will meet at Plug and Play Tech Center in Sunnyvale, CA (440 N. Wolfe Rd). There will be a few presentations by Alex and me, as well as plenty of time for socializing and discussions. We’ll provide drinks and snacks. If you’d like to present something yourself, please let me know (email guenter at pocoproject.org or write a comment). I’ll post an agenda a few days before the event.
Please register at the event’s Eventbrite page if you’d like to join us. And yes, it’s free!
July 11, 2012
We now have pocoproject.org T-Shirts available. Show your excellent taste in C++ class libraries and support the POCO developers by getting a T-shirt from our online shop.
July 10, 2012
We (Alex and me) are planning a POCO developers meeting in the San Francisco Bay Area end of August. This will be a rather informal half-day event, giving the opportunity to meet us and fellow POCO users and contributors in the Bay Area.
We’ll do a few presentations, mainly about the current state and future of POCO. Also, there will be some presentation slots in case anyone wants to present something related to POCO (ideas, projects, etc.).
Before organizing a venue, I’d like to find out who’s interested in attending. I’ve set up a Doodle event with some possible dates: Friday, August 24, Saturday, August 25, Friday August 31 or Saturday, September 1. Please add yourself to the event if you’d like to attend. Looking forward to meeting you soon!
Update: since the weekend of August 31 is Labor Day Weekend, I’ve added options for the week before.
July 6, 2012
Napa Valley not only has great wines, but also great taste in C++ frameworks. They like Poco so much they named a road after it. Or so I’d like to think…
Found on Hwy 29, near Napa, CA.
June 3, 2012
According to ars technica:
This is not good for open source. I doubt Microsoft will ever put forth effort for full C++11 support in VS 2010. So, this essentially means that, if you want to compile not only traditional Win32 applications but also standard C++11 code on Windows, you’ll have to pay for the professional version of Visual Studio.
Photo illustration by Aurich Lawson
Update (June 9, 2012):
Apparently, Microsoft has changed it’s mind. Good.
May 13, 2012
Last week, I attended WG21 Study Group Meeting in Bellevue, WA kindly hosted by Microsoft, where SG1 (Concurrency and Parallelism) and SG4 (Networking) participants met to discuss the future direction and proposals for C++ standard. Study Groups are an attempt to augment the C++ standard library size to bring it on par with comparable libraries in other langues, most notably C# and Java.
Yes, the small purple-ish rectangle on the right is the size of C++ standard library (click on the image to see it full size); we need more and C++ deserves more than that.
I presented Poco::Net to the SG4 and we discussed the proposals for the standard networking library. There were two other proposals presented/reviewed: asio as the networking/IO library and URI proposal from cpp-netlib. The consensus was that solid networking foundations should be built first – C++ standard needs networking types on which the standard network library can be built.
The result of the discussion was a tentative wish-list/agenda for proposals/implementations:
2012 – URI and IPv4/6 Address
2013 – HTTP and Resolvers (DNS, maybe more)
By this time, we’d hope to have fully defined async model (waiting on the SG1 discussion outcome). Something that is still uncertain to some extent is what exactly does std::async(std::launch::async) do – is it obligatory to to launch an OS thread in the background or is the async behavior just “as if” the OS thread was launched, leaving room for other asynchronous back-end modes of operation.
2014 – sockets, async socket streams
2015 – ICMP, SSL
As things currently stand, we will be proposing portions of POCO for standardization. Günter and I will be working on a formal proposal for URI and IP Address, aiming to have it ready before the October meeting in Portland, OR. We will also soon start working on the Poco::Net based standard socket library proposal.
Also, before Portland meeting, we will comb through Foundation, start weeding out code addressed by C++11 and extract a subset that would make sense to be proposed for the next round of standardization. What exactly? Dynamic typing, caching, (de)compression, processes, various streams etc etc. This list does not even get into configuration, application, options, XML, JSON, database, … all of which are called for and sorely needed.
Our involvement in the standardization came from Herb Sutter’s call to C++ community (if impatient, scroll to 1:15 mark or just look at the picture below to get the idea) to get together and put forth an effort to create a standard C++ library comparable in size and utility to the one Java and C# have.
As you can see from the above, the list is long, while time/manpower is short. A well-designed, standard-compliant and highly-portable framework community like POCO has a lot to offer to the C++ effort. As usual – I am asking for help. Participating in standardization process can be a rewarding experience, so if you have any inclination or desire to be part of the process, by all means let us know. More baggage we can drop-off to the standard implementation, more time and better foundation we’ll have to build new features on.
Do you want to help/participate in POCO proposals for C++ Standard? Let us know:
at(alex, dot(pocoproject, org));
* Pictures from Herb Sutter‘s “Going Native 2012” presentation
Recently, we’ve received inquiries about sponsoring the POCO project. Aside from corporate (Gold, Silver, Bronze) type sponsorships which come with commercial-grade support, small individual contributions are very welcome and encouraged. Please look for the PayPal link at the bottom of the Sponsorship page or contribute directly from here:
Thanks to all who have contributed so far and will do so in the future!
April 23, 2012
After many months of absence and low-level involvement with the project (for personal and professional reasons), I am back. We also have commitment from two other community members (Marian Krivos and Franky Braem) to help significantly with the project. For starters, Marian has retired old and I have just committed brand new trunk code. For the time being, it was only built on Windows, but we’ll have other builds ready within the next week or two.
Most significant new features are:
- DynamicAny (now known as Poco::Dynamic::Var, although Poco::DynamicAny will still work) improvements
- Poco::Data improvements (DateTime support, bulk operations, SessionPool, Transaction support, async SQL execution, in-memory SQLite … warning, though – we broke old Poco::Data code!)
- Poco::PDF library
- Poco::JSON library and Poco::Util::JSONConfiguration (not in the trunk yet, will be soon)
- VS project generator
- PocoDoc generator
And many more other improvements. This code is base for 1.5 release, which we are targeting for mid-September Aug 27 July 4 30 (to steal the fireworks thunder ). At the same time, we are actively working with C++ Standards Committee on the proposal for inclusion of POCO into the C++ standard. Yes, async I/O is on our TODO list. I won’t promise it for 1.5, though, unless I get a committed contributor willing to write it.
Which brings me to the “last but not least”: we need contributors (library or build/test system owners/maintainers in particular) and sponsors. If you are benefiting from POCO, please consider helping in any way you can. This can be by contributing code, owning a library or other concern (build system, tests, samples, platform, OS installation packages …), providing CI server space, sponsoring, etc.
Let’s join forces and give POCO the boost (no pun intended) it deserves.
EDIT (Oct 15 2012): little bit more than 3 months late, we have POCO 1.5.0. Thanks to everyone who helped with this release.