Author's posts

Architecture of modern startup

hype wave, pragmatic evidence vs need to move fast Tech side of startups sometimes can be very fluid and contain a lot of unknowns. What tech stack to use? Which components might be overkill for now but worth keeping an eye for in the future? How to balance the pace of business features development while …

Continue reading

Machine Learning at the edge

Few learnings on migrating computer vision pipeline from python prototype at AWS to cpp in smartphones One of the projects that we have been working was Smart Mirror – we want to build a technology that will hint user how to looks better at the photo. It has bunch of fascinating tasks to tackles – …

Continue reading

Practical performance tuning as never ending journey to widen knowledge

Golden age of programmers who were able to fit in tiny RAM of first gaming consoles the whole universes of legendary games had passed few decades ago. Now your favourite browser can easily swallow gigabytes of memory in order to render single web-page with myriads of annoying ads that ad-blockers trying to defeat. Relative abundance of …

Continue reading

Distributed systems – key concepts

Databases – how they work under the hood? Key takeaways from brilliant book “Designing data intensive application” – to quickly recap core concepts. DB engines classifications Type of load: OLTP (transaction processing) vs OLAP (data warehousing and analytics) Relational vs NoSQL, document vs columnar, graph vs triple-store (semantic facts storage) Even within NoSQL camp  you can …

Continue reading

Chronicles of one crypto-arbitrage bot

TLDR; Crypto-arbitrage bot code is released here – https://github.com/kruglov-dmitry/crypto_crawler. I can’t develop in c++ fast enough, not yet within golang sect, so have to use python. It was painfully educative fun. Chronicles of one crypto-arbitrage bot Some time ago friend of mine, innocent in terms of exposure to bloody details of executing mid-term IT projects, …

Continue reading

On interview preparation: nuances of python

From my perspective mastering particular language is still secondary skills for programmer. For sure it will affects architecture of software and may add advantages for some use cases of handling data flows, but overall, in the long run, decent design of system coupled with carefully catered algorithms much more important. Nonetheless within this article I …

Continue reading

On interview preparation: algorithms and data structures recap

With this article I want to go a little bit further than widespread memos “X most common data structures for interviews”. I am not only interested in information about asymptotic complexity. The real value – understanding whether particular algorithms or data structure can be beneficial in particular case: real life tasks rarely given with hints …

Continue reading

Собеседование на программиста в 2019 – к чему готовиться

Осень-зима 2018-2019 года выдались у меня на редкость насыщенными: ориентировочно, с октября по февраль я поучаствовал в доброй сотне собеседований на позиции уровня Senior-Principal-Lead. Четыре из них были из России (ну мне честно было интересно как тут у нас сейчас), остальные Европа и Англия. Куда-то дальше по разным причинам не хотелось – хотя и пообщался …

Continue reading

[docker][cassandra] Reaching mixed load – 750,000 op\sec

Cassandra performance tuning - challenge

The cart goes nowhere because the swan wants to fly in the air, the pike wants to swim underwater and the crawfish wants to crawl backward. Cassandra is one of powerhorse of modern high load landscape – nosql database that can be pluged to Spark for distributed computing, Titan for playing with graph data representation …

Continue reading

How to stop being a junior – 7 hints of programmer productivity

0) If you don’t know something – don’t afraid to ask. Especially if you already checked first page of google search and pretty sure that no one ask that question at stackoverflow. Reinventing the wheel and breaking the stalemate can be a good exercise for your home projects, but in production environment better to check …

Continue reading