Category: Программирование

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

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

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

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

Information retrieval, Search and recommendation engine:

Natural language processing: https://class.coursera.org/nlp/lecture – Processing of texts written in ordinal languages https://company.yandex.com/technologies/matrixnet.xml – search algorithm by Yandex http://www.quora.com/What-is-the-search-algorithm-used-by-the-Google-search-engine-What-is-its-complexity Information retrieval: http://nlp.stanford.edu/IR-book/html/htmledition/irbook.html – Introduction to Information Retrieval, Cambridge http://stackoverflow.com/questions/25803267/retrieve-topic-word-array-document-topic-array-from-lda-gensim http://stats.stackexchange.com/questions/89356/document-similarity-gensim http://machinelearning.wustl.edu/mlpapers/paper_files/BleiNJ03.pdf – Latent Dirichlet Allocation (LDA) http://radar.oreilly.com/2015/02/topic-models-past-present-and-future.html http://en.wikipedia.org/wiki/Topic_model Few examples of applications for the above: http://graus.nu/tag/gensim/ https://github.com/sandinmyjoints/gensimtalk/blob/master/gensim_example.py http://stackoverflow.com/questions/27032517/what-does-the-output-vector-of-a-word-in-word2vec-represent https://github.com/sandinmyjoints/gensimtalk/blob/master/gensim_example.py http://stats.stackexchange.com/questions/89356/document-similarity-gensim http://stackoverflow.com/questions/6486738/clustering-using-latent-dirichlet-allocation-algo-in-gensim Recommender systems: https://www.coursera.org/learn/recommender-systems/ – …

Continue reading