Author's posts

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

db mix – postgres, sqlite, cassandra, aerospike & redis

SQLite How to delete all tables from sqlite: Find duplicates by field “field_name”: Find records changed in last 5 days: Get table definitions: Export select query to csv: Import data from csv into fresh new table: Postgres How to show all tables with sizes within database Show average amount of records per table How to create data-only …

Continue reading

7 sins of blatant ignorance and how to avoid them

…You produce software for some time. In most cases it even works. Other developers tend to care about your opinion. Damn, you even wear some fancy title like senior\principal\architect. And here it is – suddenly you were offered to wear really posh title – CTO… This is moment when real troubles get started. I did …

Continue reading