Learning Rust

Resources (books, tutorials, etc.) A half-hour to learn Rust - blog post, a great intro into the language. It may be enough to start reading the code, but not enough for writing. Easy Rust — a book about rust Many companies and people now learn Rust, and they could learn faster with a book that has easy English. This textbook is for these companies and people to learn Rust with simple English....

June 21, 2021 · SergeM

Reducing disk usage in Ubuntu

Here are some recipies to make ubuntu installed on USB drive to work faster. [1] [2] reducing swapping Add these lines to /etc/sysctl.conf, and reboot. vm.swappiness = 0 vm.dirty_background_ratio = 20 vm.dirty_expire_centisecs = 0 vm.dirty_ratio = 80 vm.dirty_writeback_centisecs = 0 More caching while writting on disk Add noatime,commit=120,… to /etc/fstab entries for / and /home

August 16, 2018 · SergeM

Workflow management with Apache Airflow

Some useful resources about Airflow: ETL best practices with Airflow Series of articles about Airflow in production: Part 1 - about usecases and alternatives Part 2 - about alternatives (Luigi and Paitball) Part 3 - key concepts Part 4 - deployment, issues More notes about production About start_time: Why isn’t my task getting scheduled? One cannot specify datetime.now() as start_date. Instead one has to provide datetime object without timezone. Probably UTC time is required....

February 6, 2018 · SergeM

about management

Why your programmers just want to code @justzeros Interesting list of managers’ readmes: 12 “Manager READMEs” from Silicon Valley’s Top Tech Companies Michael Lopp. How to Rands – feels like really similar personality as me I am an introvert and that means that prolonged exposure to humans is exhausting for me. Weird, huh? Meetings with three of us are perfect, three to eight are ok, and more than eight you will find that I am strangely quiet....

December 2, 2017 · SergeM

Math explained and visualized

Here I will collect links to well-written articles about math and algorithms. Visual Information Theory. Nice post about probabilities, entropy. The whole blog has awesome visualizations. Highly recommended. MNIST For ML Beginners - Nice introduction into machine learning with TensorFlow Brilliantly wrong - blog by Alex Rogozhnikov, with fantastic visualizations of many algorithms and concepts Collection of data science notebooks. Deconvolution and Checkerboard Artifacts by Odena, et al., 2016 - explanation of deconvolution operation in neural networks with awesome interactive visualizations...

May 20, 2017 · SergeM

On image search

ParaDISE - Parallel Distributed Image Search Engine. Based on Hadoop, probably offline processing. Image Similarity service (github) - scala based image similarity service, declared to be scalable. Image storage and image similarity logic is implemented within independent, stateless micro-services. Data is stored in postgres. Clustering is based on histograms. 1 contributor. No tests. abandoned. ViSense SDK for python - SDK for closed source image search List of Content-based image retrieval (CBIR) engines (wikipedia)...

March 5, 2017 · SergeM

Machine learning links

Super harsh guide to machine Learning Super harsh guide to machine learning (reddit) First, read fucking Hastie, Tibshirani, and whoever. Chapters 1-4 and 7. If you don’t understand it, keep reading it until you do. You can read the rest of the book if you want. You probably should, but I’ll assume you know all of it. Take Andrew Ng’s Coursera. Do all the exercises in Matlab and python and R....

January 19, 2017 · SergeM

Raspberry Pi Links

I2C interface Description of I2C interface Raspberry Pi SPI and I2C Tutorial Continuous deployment (Russian) Непрерывная кросс компиляция на Raspberry PI Controlling motors Brushless motor Control brushless motor with ESC. Without additional controllers With PCA9685 PWM Board (stackexchange thread) One more thread Controlling multiple servos To control multiple servos you can use PCA9685 controller. Connection is shown below. It’s better to connect VCC of the controller (red wire) to +5V or raspberry or to external power supply....

December 31, 2016 · SergeM

About python

Production Database helpers for sqlalchemy Backend-agnostic database creation (CREATE IF NOT EXISTS): 1 2 if not database_exists('postgres://postgres@localhost/name'): create_database('postgres://postgres@localhost/name') Possible with SQLAlchemy-Utils library. See docs Infrastructure with Python http://dustinrcollins.com/infrastructure-with-python – list of tools for python development Retry libraries for python tenacity - a fork of retrying. Seems alive and powerful. retrying - abandoned but popular project. backoff Language Cheat Sheet: Writing Python 2-3 compatible code http://python-future.org/compatible_idioms.html Google Python Guidelines https://google.github.io/styleguide/pyguide.html Inheritance https://rhettinger....

May 1, 2016 · SergeM

Python logging best practices

Simple logger setup for standalone scripts When I write a simple script in python I want to have a nicely formatted log messages. Therefore I change the default format so that service information (time, logger name, error level) has a fixed length. It helps me visually parse important information (log messages) from the stream of logs. It can be achieved by using fixed width modificators in format string: %(asctime)s|%(name)-20.20s|%(levelname)-5.5s|%(message)s More on logging format templates here....

April 21, 2015 · SergeM