BEM

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.

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.

Foreword

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.
    newLanguage :: Language -> Language -> Language
    newLanguage = Haskell `refactorTo` Java8
    newLanguage = Haskell `refactorTo` Scala
    newLanguage = Haskell `refactorTo` CSharp
Apr 6, 2015

ShootThem!

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: https://github.com/shybovycha/shoot-them

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:

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:

[Paths]
Prefix=.
Plugins=./plugins

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.