Code Jamming Everyday IT problems, solutions and discussions

Key-Value storage for poor

Despite the hype about NoSql databases, sometimes it’s nice to have an embedded key-value storage available in your app. For example, I’m maintaining a cache of metadata of images in my cross-platform desktop app Xpiks and anyway I have to search by filepath to find the metadata. Besides that I have few more requirements specific to my project: ... Read more

Dependency-driven development: forced OSS contributions

It is such a relief when you app just works. Moreover, when it is open. My pet project Xpiks is not only an open-source project itself, but it also uses a lot of the other open-source technologies inside. Qt framework, zlib, hunspell - to name just a few. A big deal is to make them work together. A much bigger deal to make them work together acr... Read more

BackToWork - smarter Alt+Tab for Windows

Sometimes you want to quickly switch to a specific window or two from a dozen. What I usually do is I hit Alt+Tab and cycle through windows to find the one. Today I decided that it’s enough and wrote a simple productivity tool to switch to the needed windows with a hotkey. It reads a config file and gets patterns to find the needed windows and ... Read more

Unicode support for avformat_open_input in Windows

For those of us ever writing cross-platform application there has always been enough quires and quests to accomplish. Typical one is to correctly handle multibyte/unicode filepaths in Windows. And though they are handled pretty good in Qt, when you write your own library you have to do it yourself. Another level of quests is using third-party l... Read more

How to pass Amazon SDE interview

Amazon is considered to be one for the most wanted employers among software engineers who don’t work for any of the tech giants. Standing in one line with Google, Microsoft, Facebook and maybe some smaller like Twitter, Uber, Dropbox etc., it has unstoppable flow of CV’s from people passionate of working on big scale. But is it really that cool... Read more