24 October 2016

Wrapping Resource Handles in Smart Pointers

Wrapping resource handles in Smart pointers, C++

Some time ago I covered how to use custom deleters with smart pointers. The basic idea is to specify a dedicated method that will be called when a pointer is released. One logical application of custom deleters might be resource handles like files or the WinApi HANDLE type. Let’s see how can we implement such thing.

22 July 2016

Code And Graphics in Mid 2016

Code And Graphics Blog

It’s summer! Hmm… actually it’s summer for almost one month now. This time, I don’t want to write about something heavy and related to programming. Let’s make a little summary of the first part of the year.. and also, I have a question to you - can you help me a bit?

07 July 2016

7 books that taught me how to code


As you might read in my recent post - coding without Google - I’ve started learning to program mostly from books. In the beginning, I read them from cover to cover (assuming I could understand them!) and recreated examples. It was an excellent time! In the post, I’d like to share my list of important books that taught me the base of my knowledge. Maybe you’ve shared similar titles along your learning path?

05 July 2016

Grammarly Review - grammar for coders

Grammarly Logo

Today I’d like to write about a topic that potentially is not much related to the programming: about English Grammar. You may wonder why? There are at least two reasons.

The first: it’s possible that from time to time you have not only to write a code, but also write a spec or documentation. And probably, you’ll write using English - since it’s Lingua franca in coding. Thus, using proper grammar will usually help in producing better docs.

The second: it’s especially useful when blogging! English is not my native language. I do my best to use correct tenses, compose proper sentences, use prepositions, words or articles. But still, it won’t be as good as written by a journalist. So I a second eye is very helpful here.

Let’s meet Grammarly! It’s a tool that can automatically improve your writing.

23 June 2016

C++ (Core) Coding Guidelines

C++  (Core) Coding Guidelines

Since 2011, when C++11 arrived, we all should be changing our coding style into modern C++ and at the same time keep good old tips. There are also general rules for programming and bug-free coding. Here’s a list of guidelines and other resources that might help you.

09 June 2016

11 Debugging Tips That Will Save Your Time

11 Debugging Tips

Programming is not only typing the code and happily see how smoothly it runs. Often it doesn’t run in a way we imagine! Thus, it’s crucial to debug apps effectively. And, it appears that the debugging is an art on its own! Here’s my list of tips that hopefully could help in debugging native code.

26 May 2016

Coding without Google

Some time ago an intriguing article appeared on reddit: “Do Experienced Programmers Use Google Frequently?”. The author discussed if expert programmers use google more often than novice coders. He mentioned than using google is actually a good thing. It helps to find best solutions, validate ideas, speed the development. Google nowadays seems to be a crucial part of any developer toolbox. That reminded me of old times.

24 May 2016

Digitial Dragons 2016 day 2

Digitial Dragons 2016 Conference Logo
Official logo from digitaldragons.pl

Please read about the first day here. Let’s see what happened in the second, final day. For sure, the whether was worse than on Monday.

16 May 2016

Digitial Dragons 2016 day 1

Digitial Dragons 2016 Conference Logo
Official logo from digitaldragons.pl

May brings a special event into gaming industry in Cracow. For the fifth time Digital Dragons Conference is organized! I’ve just returned from the first day of the conference. Here are my notes.

12 May 2016

Google benchmark library

Some time ago I wrote about micro benchmarking libraries for C++ - here’s the link. I’ve described three libraries: Nonius, Hayai, Celero. But actually, I wanted to cover fourth one. Google Benchmark library was at that time not available for my Windows environment, so I couldn’t test it. Fortunately, under the original post I got a comment saying that the library is now ready for Visual Studio!

Let’s see how can we use it.

28 April 2016

Custom Deleters for C++ Smart Pointers

Custom deleters for C++ smart pointers

Let’s say we have the following code:

LegacyList* pMyList = new LegacyList();
delete pMyList;

In order to fully delete an object we need to do some additional action.

How to make it more C++11? How to use unique_ptr or shared_ptr here?

14 April 2016

Visual Studio C++ Productivity Tips

Visual Studio Productivity Tips

Visual Studio is my main development environment. I’ve been using this tool probably since version 2003…2005. I am really happy that VS is getting more and more powerful these days and you can also use it on multiple-platforms (through VS Code, for web or cloud apps). What’s even better - it’s free for personal use or if you’re a small company (Community Version)! Today, I’ve prepared some productivity tips that might make your life a bit easier when developing an app in this Microsoft IDE.

I target native app development, but most of the rules should be generic to other languages as well.

17 March 2016

The Matrix Updated

The Matrix demo project

Sometimes you can find interesting stuff in your past projects!
One day I was thinking about new post topics for the blog, but somehow, I got not much energy to do it. So, I just browsed through my very old projects (that are actually listed in my portfolio site). Memories came back and I decided maybe it’s time to refresh the ancient code files!

This time let’s go into Matrix!

03 March 2016

Nice C++ Factory Implementation 2

Nice C++ Factory Implementation

The original code from my previous post about “nice factory” did not work properly and I though there is no chance to fix it.
It appears, I was totally wrong! I got a really valuable feedback (even with source code) and now I can present this improved version.

Content By Bartlomiej Filipek, Blogger platform
Any opinions expressed herein are in no way representative of those of my employers.
To provide you service this website uses cookies. By using it, you agree to this. More info.
This site contains ads or referral links, which provide me with a commission. Thank you for your understanding.