Code Jamming Everyday IT problems, solutions and discussions

How to return to the flow faster

Hobby projects are very important for me. They give me the freedom to do what I want, how I want it and also they help me to develop quite solid expertise in various fields. Some smaller, some bigger, they always require unattended focus and precious time to work on them. It’s always hard to find that time. During the weekend I try to get outsid... Read more

Inference of TensorFlow model without TensorFlow

Training of machine learning models is fun, but it’s a useless waste of energy if you are not going to use them afterwards. Usage patterns can be very different. In some case you are creating Software-as-a-Service where you run inference on your or somebodies cloud and return customers only the results. In others - you need to have the model its... Read more

Dependency management in classes

Object-oriented languages like Ruby, C++ or Java tend to have one common problem among others: dependency injection. It is very rare for a class to be fully self-contained and never depend on anything else in your code. Usually there’re multiple connections between them: simple, transitive or even circular. And designing good dependency injectio... Read more

Deploying native apps to macOS

Level 0: warming up Deploying anything anywhere has never been easy business. Deploying applications to desktop computers is no different. OS X (now macOS) had its own solution of “dll hell”: each application should be absolutely self contained. All the dependencies and dependencies of dependencies should be distributed within the “bundle” so a... Read more

Migrating blog from Wordpress to Jekyll

Living in the modern age of 0-day vulnerabilities is complicated when you have a Wordpress blog. Since I didn’t have anything fancy in there I decided to migrate it to static pages. Sounds easy? I’m sure it does. See what it takes to migrate an average blog with images and crosslinks. I’ve organized my process in a sort of a step by step manual.... Read more