Email validation regexp

Sep 16, 2015

At my work we’ve lately been having a discussions on email validation. I recalled a post on habrahabr, showing different options, including effective and psycho solutions.

ReactJS introduction

Jul 11, 2015


Last time I wrote an article on how one can encapsulate both HTML and CSS in one entity, called WebComponent. This time I want to tell a bit about how to encapsulate JavaScript and HTML.

When I see an article on Habrahabr titled React something, I think Omg, React again?... But React, just as Ember was always a mystery for me.

Until today.

Для чого вивчати асемблер?

Jun 24, 2015

Мій друг запитав мене сьогодні “а от ці всі асемблери, їм взагалі є застосування?”. Самому мені було важко вигадати застосування асемблера сьогодні. Тому для нього (і для себе також) я вирішив перекласти частину вступу з матеріалів мого ВУЗу з предмету “низькорівневе програмування”.
Навіть не зважаючи на те, що я вже писав про можливе застосування ассемблера.

About Bower, WebComponents and the all the good

Jun 22, 2015


These days, many web developers use different methodologies to make their web page source look structured and clean. But all those methodologies only work well until you use third-party libraries or involve a new person in your project.

Memory allocation in ASM

May 6, 2015

Currently I am working on a long arithmetic problem at the university. This problem is much more complicated than I described or than a task I shall be describing now, but here’s the thing: I needed some part of memory to be allocated from within my function. And I needed this to be done in assembly.

Assembly in C++ programs

Apr 23, 2015


Writing code in assembly language in 2015 seems stupid and meaningless. Yet, this subject has a few huge pros:

  1. understanding how computers/compilers/programs work
  2. optimizations while writing a complex or performance-critical applications
  3. fun

Well, in real life, I’ve never met conditions of such performance requirements when I should be writing some parts of application in ASM. Except, maybe, a few ACM ICPC problems.

So, we got two merely huge pros to write in assembly. Thus, if you are not getting fun of writing applications, you may be not interested in this topic.

This article is academical mostly. People who study something like low-level programming at their universities may be interested.

Apr 22, 2015
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.

History is nothing but a loop...

Apr 19, 2015
    newLanguage :: Language -> Language -> Language
    newLanguage = Haskell `refactorTo` Java8
    newLanguage = Haskell `refactorTo` Scala
    newLanguage = Haskell `refactorTo` CSharp


Apr 6, 2015

A few days ago I’ve found my old game, ShootThem! sources. 

Half of hour being trying to run it, and viola!

Placed all the sources with its dependencies on GitHub:

One has no story (in-game, but has one written before the game presentation on a programming competition for students in Dnepropetrovsk). It has (almost) no colors. No code structure or architecture. No animations. 

It is really plain.

Yet, it was and it is a starting point for me =)

Here are some of game screenshots:

Running Qt + MySQL application

Mar 29, 2015

Yesterday I tried to run my university project made with Qt and MySQL. But all I got was strange error message, saying QMYSQL driver is not loaded whilst loaded driver list actually included that one.

Searching all over the internet up ‘til 2 AM and recompiling the whole Qt gave no result except time being wasted. Yeah, and 90% of search results were tutorials on how to recompile Qt MySQL plugin under Windows.

Yet in the morning I found solution and it was beautifully simple! I just performed one step from Deploying Qt applications, actually just copied the plugins/ directory to the dir where the application executable lives (build-debug/ or build-release/ for my project; I hate the default build-#{ProjectName}-Desktop_5_4_1-Debug/ paths); included the sqldrivers/ directory there (just copied) and created (a bit tuned although) the qt.conf file. That file just pointed the plugins path to the custom one:


To sum everything up:

  1. create a plugins/ directory in your build directory
  2. copy Qt/5.4/Src/qtbase/plugins/platforms/ there
  3. copy Qt/5.4/gcc_64/plugins/sqldrivers/ there too
  4. create qt.conf file in build directory and fill it as mentioned above

And one more hint before the end: to debug why your Qt plugins fail use this application startup switch: QT_DEBUG_PLUGINS=1 ./app_name - this will display plugins debug information.