Reading XML Config files with C++ and TinyXML in Linux

I’m currently working on a C++ FOSS project that requires to read configuration settings from file. In .NET this is pretty straightforward to do via ConfigurationManager class, so I had to write my own using TinyXML Source code as shown below: Config.xml Setting.h ConfigReader.h ConfigReader.cpp The elements in XML file are treated as models that […]

Continue Reading

Implementing LINQ’s Enumerable methods in C++ with GCC and CLion for Linux

Hi Community, Today’s post is about my personal implementation of some Enumerable methods available in .NET but written in C++.  My implementation is pretty generic, because it uses a template class that returns a std::vector<T> as if it were IEnumerable<T>. C++ has always provided templates to allow developers write generic code; even when they might […]

Continue Reading

Building native *nix solutions with C++, GTK+ and SQL Server vNext

Hi Community, This is the fourth and final post of this series on GTK+ and Linux development with C++ and SQL Server vNext. The purpose of this post is to walk you through a demo application I’ve written using a few different technologies, tools and patterns as listed below: C++ CLion Glade SQL Sever vNext MVC […]

Continue Reading

Exposing functionality in C++ parent class to children classes through proxies

Hi Community, Today’s post is about a common scenario we might face when building software. Sometimes, we have a parent class which contains a child member or property that requires to trigger or execute code that exist in the parent. It is a common practice to pass a reference to the container or parent, even […]

Continue Reading

Displaying tabular data in a GtkTreeView

Hi Community, As a follow up to Yesterday’s post on Linux development with C++, GTK+ and SQL Server vNext. Today’s post is about GtkTreeView and how we can use it to display tabular data, as we’re used to do with a DataGrid in .NET, but first it’s worthy to start with an introduction to GTK+. […]

Continue Reading

Replicating C#’s using statement functionality in C++

Hi Community, Today’s post is about a project I’ve recently started working on, it’s a C++ application for Linux built with GTK+ and SQL Server vNext for Linux. I’m also using CLion which is my favorite cross-platform IDE when doing plain C++  and Glade as my UI editor. I chose not to use Qt, because I’d […]

Continue Reading

Visual C++ for Linux Development

Hi Community, It’s been  almost 3 months since Microsoft announced their “Visual C++ for Linux Development” extension. There is a very concise and clear article here. This extension allows developers to target and deploy to *Nix systems (even to a Raspberry Pi) using Visual C++. Developers can even set breakpoints and debug remote code.  In […]

Continue Reading

Instrumenting *nix Systems via C#, C++, Mono and Qt

Hi Community, The following article is about one of the subjects I’m most passionate about that’s integration of disparate systems and cross-platform computing. I think, it’s something I had to publish and it’s one of the core components of my SIF project (Service Integration Framework). This approach can be applied to a variety of scenarios, […]

Continue Reading

Checking for library dependencies in Windows and Linux

Hi Community, Today’s post is about identifying and learning about the dependencies our applications might have with shared libraries. One of the beautiful things about software is that it’s universal similar to music, therefore patterns and principles are agnostic of any platform, but they’re also applicable to specific platforms.  In order to get started, we […]

Continue Reading

Microsoft MVP Award recipient for 2016

Hi community, It gives me a great joy to announce that Microsoft has awarded me with an MVP recognition once again, in this opportunity in the “Visual Studio and Development Technologies” category . Since the MVP Program has been around for more than two decades, Microsoft have recently made changes to it, therefore, I can contribute to anything that’s […]

Continue Reading