C++ Field Accessors - A Cure for Public Field Phobia

03 Mar 2015

C++ Standard

Recently I was looking for some opinions regarding lack of field accessors in C++ standard. I came across a nice article A Modest Proposal for Curing the Public Field Phobia dated 2001. Since then C++ has matured a lot gaining amazing new features with C++11 and latest C++14 revision, but still some old annoyances like no field accessors remain.

The most often used argument against providing field accessors in C++, it that the language was designed to be verbose and explicit, so it is better to have obj.setX(1) than obj.x = 1, that may let you believe you are accessing some memory directly, while you are not. This leads use however to very obscure code like that:

node.setVisitCount(node.getVisitCount() + 1);

These who are not suffering public field phobia may define visitCount to be public field and use node.visitCount++ . But if it is a dynamic property then C++ does not give you many choices that to use former obscure syntax.

Read the rest of this entry »

Posted in C++, Programming

Making friends with Mathematica

08 Aug 2014


Mathematica 10 was recently released adding many awesome functions such as live context sensitive completion. Yet for computer geeks like me Mathematica editor may still feel clunky with too tiny ugly default notebook font, no automatic brace and quote completion.

However Mathematica has powerful customization capabilities under the hood. While these are just briefly documented, using trial and error method I managed to add some nice completion, better Macalike keyboard shortcuts, and even customize way default notebook looks.

Read the rest of this entry »

Posted in Mathematica, Tweaks

Restarting Blog with Jekyll

21 Feb 2014


Since few days my blog is powered by Jeykyll. Comments are handled by Disqus. These have replaced WordPress which has served me well for several years. Nowadays Jekyll feels like natural replacement for such Markdown & Git junkie like me. Site is Retina friendly with images “retinized” on fly by retina.js.

Most of the migration work was copy & paste, however there were few caveats when migrating from WordPress. First of all categories are handled differently in Jekyll - there is no category hierarchy. There is no built-in category list, neither category pages. Luckily Jekyll supports plugins, notably Generate Categories plugin by Recursive Design.

Moreover Ruby monkey-patching gave me opportunity to tune Jekyll to my needs. Below 3 of my custom plugins.

Read the rest of this entry »

Posted in CMS, Ruby, Tweaks

LiveChat for Mac & iOS behind the scenes

09 Feb 2012

The purpose of this article is to present several technical design concepts implemented and proven to work well for over one year, since the first release of the Mac version of LiveChat operator application.

Back in 2010 when I started implementing the Mac version, the main task was to reach the feature level of the Windows version (developed for several years) as fast as possible, and also to prepare ground for an upcoming iOS version (available now in App Store). At that time I neither had access to the Windows version’s source code, nor was going to reuse any of it. Therefore I have settled the following constraints that yielded the following results (described in detail in following sections):


Read the rest of this entry »

Posted in Objective-C, Programming

iGotuję cooking experience with Ewa Wachowicz

26 Nov 2010


iGotuję created by nanoANT together with Alternative Studio is first Polish application branded by celebrity. Ewa Wachowicz, Miss Polonia 1992 and 3rd Vice-miss World, presents 60 original recipes and 15 movies. Click the icon to get more information and see the UI in action.

Posted in iOS

LiveChat for iPhone now at AppStore

18 Nov 2010

LiveChat for iOS

Yesterday yet another nice little app produced by me was accepted into App Store. You may read original release note at LiveChat blog.

This app is not just a companion app for desktop LiveChat version, but is full fledged client for iPhone , letting you monitor your website activity live and chat with customers. Of course this is just a beginning, so expect new features coming soon with the updates.

Posted in iOS

Streaming thumbnails smoothly using HTTP in your iPhone app

06 Oct 2010

HTTP Streaming

Network enabled apps such as news aggregators, blogging clients often load lots of small files, such as thumbnails, trough HTTP connection. Usually we expect that such application is: (1) responsive (does not block scrolling while loading), (2) it does load thumbnails almost realtime.

I suppose the first thing everybody tries is calling [UIImage imageWithData:[NSData dataWithContentsOfURL:someURL]]. There is nothing wrong with it, except it make your UI stutter and load images painfully slow. After trying that one may think of using background threads, NSOperationQueue, or something like that, but still any modern web browser loads those images much faster when they are embedded into regular web page than your application. Wonder why?

Read the rest of this entry »

Posted in iOS, Objective-C, Programming

nanoANT creates LiveChat for Mac

13 Aug 2010

LiveChat for Mac

Update: Public Beta has been just released for download on LiveChat for Mac page.

I am proud to announce my company was hired to create Mac version of LiveChat operator software. The application just entered alpha-phase and today closed tests were started. I hope too that the new refreshing LiveChat icon (on the right) designed by me will be the cherry on the project’s pie.

LiveChat provides innovative web based customer support solutions including live web statistics and live customer chat. The company has great potential and impressive customer base, so you may be interested to follow their Twitter feed.

Read the rest of this entry »

Posted in Mac

Browse gossips and latest paparazzi shots on your iPhone

20 Jul 2010


I should say it first – mostly Polish gossips, in Polish language. But anyway Kozaczek.pl is another nanoANT’s piece of craft (mind the spelling). After one week of its premier it topped 2nd in Polish AppStore. We had greater expectations, but some iPhone users here in Poland are really great bigots. I have seen many comments accusing some iPhone news editors that they have put a little news about this app, because this app ill befits there. Come on!

Anyway doing this app was a great fun and I believe using it is a great fun too, especially as an alternative to those grave TV news everyday. Checkout official release news here.

Posted in iOS

DrawIt – power of Photoshop in non-destructive form

15 Jul 2010

DrawIt made house

I should have written something about DrawIt long time ago, as this small but powerful non-destructive vector based bitmap design tool really deserves the attention.

DrawIt was created and is maintained by its author Pieter Omvlee. While doing initial design of this application Pieter asked for help French designer Laurent Baumann (working now for Apple). Pieter’s skills and Laurent’s talent joint together created something extraordinary, the great UI of DrawIt made from scratch to give you an ability to quickly create web/bitmap designs with vector tools and stack of effects. I will not get into details here, as you can find few good articles about DrawIt over the Internet, but I will rather describe little experiment of mine I have made today and try to answer the question if DrawIt can be good Photoshop replacement for icon and web design.

Since lately I was forced to use Photoshop, I decided to give DrawIt a try and recreate one of outstanding Photoshop tutorial icons using DrawIt. My choice went for Basic House Icon from PSDTuts+ site. You can see the result of my work above and you can download the DrawIt source file here.

Read the rest of this entry »

Posted in Design, Mac