Cookie Consent by Free Privacy Policy Generator Page 2 of 7 for Home | Igor Moiseev

Igor Moiseev Applied mathematician, AI Enthusiast

Cleaning up Docker space

Regularly cleaning your dangling containers and images.

Step 1: cleaning containers, don’t worry it destroys only stopped containers

docker ps -aq| xargs docker rm

Step 2: removing dangling images

docker rmi $(docker images -q --filter "dangling=true")

Docker itself offers a number of tools to prune and clean up space

  1. Inspecting docker filesystem: docker system df
  2. Pruning stopped containers: docker container prune
  3. Removing all local volumes: docker volume prune
  4. docker system prune will remove
    • all stopped containers
    • all networks not used by at least one container
    • all dangling images
    • all dangling build cache

Software that crafts itself, the AI frontier

Humans are continuing the endeavor of understanding human intelligence and on the way, the new technologies are born, one of them is information technology. Nowadays the development in the area of artificial intelligence is bringing new ideas to software engineering and enrich it with some powerful tools like deep learning. During the talk, we’ll discuss these tools, the pros, and cons of the implementation and how deep learning and symbolic representation of the problem are related. It will be touched the development and debugging cycle of the deep learning architectures with some examples.

How to fully automate a store: a Made In Italy use case

In this talk I presented the technology behind the Fully Automated Store by Checkout Technologies. The actual version of the store is a result of the work of 12 engineers that spans the areas from hardware and design to the ultimate deep learning architectures. Will be also discussed the challenges and lessons learnt during this adventure and what it means to deploy the system which has an AI engine in its core. Creation of the dataset and the invention of the specific metrics that is capable to measure the accuracy of the entire system will be discussed.

Compile OpenCV 3.4.1 in one line

At first you may need to install the dependency packages

apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    cmake \
    git \
    ssl-cert \
    ca-certificates\
    yasm \
    pkg-config \
    libswscale-dev \
    libtbb2 \
    libtbb-dev \
    libjpeg-dev \
    libpng-dev \
    libtiff-dev \
    libjasper-dev \
    libavformat-dev \
    libpq-dev \
    qtbase5-dev \
    python3.5-dev \
    python3-tk

And here is the shorthand command to run in the shell

git clone https://github.com/opencv/opencv.git && \
cd opencv; git checkout 3.4.1; cd .. && \
git clone https://github.com/opencv/opencv_contrib.git && \
cd opencv_contrib; git checkout 3.4.1; cd .. && \
cd opencv; mkdir build; cd build && \
cmake -D CMAKE_BUILD_TYPE=RELEASE \
  -D CMAKE_INSTALL_PREFIX=/usr/local \
  -D WITH_CUDA=OFF \
  -D WITH_TBB=ON \
  -D WITH_V4L=ON \
  -D WITH_QT=ON \
  -D WITH_OPENGL=ON \
  -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules .. && \
make -j`nproc` && \
make install && \
sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf' && \
ldconfig && \
cd / && rm -rf opencv*

The handy Dockerfile with Tensorflow 1.5 + OpenCV 3.4.1 + Python 3 at your disposal https://gist.github.com/moiseevigor/3e9b00066842c20229be47bd5429f6b1

An opinionated take-away from JSConf 2017, Verona

This is my opinionated take-away from JSConf 2017, Verona. Here bellow I’ll collect some of the most interesting slides, videos and tweets from JSDay. But at first please meet the awesome speakers

Uber with Dustin Whittle

Dustin Whittle had shown us the whole story behind the Uber platform

Lessons learned building at scale with JS at UberEng. “Enables you to move fast, but allows for sloppy code.”

  • Latency is too high for ulta performant backed systems (99th percentile for max latency)
  • Early on it made it quick to iterate, but as the size of the team scaled the developer velocity started to slow down
    • Microservices enforce a tight interface so having static typing enables large teams to catches issues earlier. It really has an impact with 100+ devs.
  • Quick to learn, but easy to write poor quality code
    • Enables you to move fast, but allows for sloopy code

Uber uses universal javascript with React and Express.

And here is the full slides