I decided I would road-test the C++ framework “POCO” to see if it is worthwhile. Setting up was a bit of a mission and took me around 2.5 hours to achieve. Here’s how I went about it:
navigate to the POCO downloads page and download the basic edition sources for Windows
extract it to a folder. For me, it was D:\poco-1.4.6 (“the POCO base directory”)
open a Visual Studio Command Window from the Visual Studio Tools folder in your start menu.
change directories to the POCO base directory and run the buildwin.cmd, passing in the relevant version of Visual Studio. For me, it was buildwin.cmd 100
go make a cup of tea and watch some Youtube for 20 minutes or so
once built, a directory called bin will appear in the POCO base directory. You need to add that directory to the System Environmental Path. If you do not know how to do that, Google it. It’s very easy and many people will blog about how its done. There, I just Googled it for you.
create a new Visual Studio project. I went with a Win32 variety console app.
right-click on the Project node in Solution Explorer and click Properties on the context menu.
in the tree on the left, click on the node >C/C++
in the panel that is loaded on the right, Click the Additional Include Directories TextBox, and using the wizard that launches, add a path to the directory “D:\poco-1.4.6\Foundation\include”. Add any other library you intend to use as well.
in the tree on the left, click on the node >Linker
in the panel that is loaded on the right, Click the Additional Include Directories TextBox, and using the wizard that launches, add a path to the directory “D:\poco-1.4.6\lib”
That’s all the plumbing you need to do. Now, here is a Hello World! to show you how to incorporate it into the Console app:
I have been playing around with the animation framework in jQuery and thought I would use it to tell a story about what happened on a bus one day.
It all happened like this:
…
I got on the bus one day and sat next to a very big guy. I could not fit properly on my side of the seat and my leg was off the side, preventing people from comfortably walking past me.
At the next stop, a guy who had a double-seat to himself got off;
Then, a lady who was already sitting comfortably next to a thin guy moved to take over the whole double-seat (she clearly felt that sharing a seat with someone was beneath her :));
I, however, did not mind at all and moved to sit next to the thin guy;
Then, much to my amusement, a guy got on the bus and sat next to the lady, putting her in no better position than she started;
This amused me, so I thought I’d re-create the scene using jQuery (below).
Click the “Dave, Show Me What Happened” button (press F11 to go full screen):
The code which is the engine for my little melodrama is:
Today, I want to do a review of the open source programming tools which I used this year and which were extremely helpful to me in getting my job done. Some of these tools shaved large amounts of time off my development work. And they helped me deliver a high quality product. This has resulted in a happy client which received robust apps at a reasonable price.
This is a really good library for FTP operations. I had to incorporate some FTP functionality in an application which was invoked by a scheduled task to transfer some files in a particular directory to an external partner. This library made this experience effortless. And it provides a really nice callback which allows you to write the progress of the transfer to an output (a log file in my case).
An easy to use library providing zip/unzip functionality. I know what you’re thinking; the .NET framework provides that. This library makes it easier. And it makes working with directory heirarchies easy as well.
A great dependancy injection library. Very powerful and easy to use. And surprisingly quite light-weight. If I’m not already using the Enterprise Library, I ditch Unity for this great library.
This is a truly great library. It gives you just enough to implement the MVVM pattern in your XAML projects (hence the “light” in its name). I’ve used this with great success in two small applications for a client’s larger system. Quick to learn, intuitive and effective.
A full-featured library which enables you to create new Scheduled Tasks in code. Whilst I haven’t explored every nook and cranny of this library, it seems to cover almost every aspect which you could configure in Windows’ built in Task Scheduler GUI.
Here’s to finding more brilliant projects in 2013!