UP | HOME

memory heap / cv

Table of Contents

[HTML][PDF]

Introduction

My name is Artyom V. Poptsov, I also known as "avp".

I'm creative, self-motivated and hard-working; atheist and skeptic, very interested in science. I enjoy learning of well-designed technologies and gaining deep knowledge in things I'm doing. Looking for jobs and opportunities that benefit society and make people's lives better.

Heavily involved in free/libre software development, working on my own free software projects in my spare time.

Main technical interests: programming, functional programming, Lisp, GNU/Linux, free/libre software, operating systems, microkernel-based operating systems, distributed/decentralized systems, text processing, parsers, finite-state machines, compilers.

Co-founder of CADR hackerspace: https://cadrspace.ru

Contacts

Current job

Technical Skills

Operating Systems

GNU/Linux

knowledge-level: master
experience: more than 11 years
active-skill?: yes

Userspace programs and drivers development, administration, cron user, LVM user.

CLI tools: sed, awk, grep, find, ssh tunneling, screen etc.

  • source-based: Gentoo (for several years it was my main desktop/server and development system), Gentoo Hardened.
  • deb-based: Ubuntu (regular use as desktop/development system), Debian.
  • rpm-based: Fedora (also have an experience with preparing of RPM-packages), ALT Linux.

GNU Guix

experience: more than 2 years
knowledge-level: good
active-skill?: yes

https://guix.gnu.org/

User, contributor.

Android

experience: more than 1 year
knowledge-level: basic
active-skill?: yes

Application develpment, debugging with ADB. Took a part in RT Android project in Mera.

Taught classes on Android development for students in a college.

Projects:

  • RecBot: Automatic remote-controlled multiple camera recorder for Android.

GNU Hurd (a microkernel-based OS)

experience: less than 1 year
knowledge-level: basic
active-skill?: no

Tinkered with it, tried to write a translator (server) for the system.

  • deb-based: Debian GNU/Hurd

Xenomai

experience: less than 1 year
knowledge-level: basic
active-skill?: no

RT GNU/Linux

experience: less than 1 year
knowledge-level: basic
active-skill?: no

Microsoft Windows (98, XP, …)

experience: more than 4 years
knowledge-level: basic
active-skill?: no

Programming Languages

C

knowledge-level: master
experience: more than 10 years
active-skill?: yes

Client-server applications, libraries, Linux kernel drivers development.

Contributions to libssh library.

Project examples:

Also I started a free online course on system programming (in Russian): https://www.youtube.com/playlist?list=PLoAJ3BxlddnopWsE_IQYkFYXUkmYA4-Ar

C++

knowledge-level: good
experience: more than 4 years
active-skill?: yes

Examples:

  • MST: Multi-seat toolkit that allows to make multi-seat configurations.
  • Azbook: Generic authentication and file synchronization system for WebDAV servers.

Scheme

knowledge-level: master
experience: more than 10 years
active-skill?: yes

Examples:

Java

knowledge-level: good
experience: more than 6 years
active-skill?: yes

Overview:

  • Android application development. JNI.
  • Alfresco module development.
  • Teaching object-oriented programming course in Java for students in NNTC.

Examples:

Unix shell scripts

experience: more than 10 years
knowledge-level: master
active-skill?: yes

Bash, CShell

I participated in a commercial Bash/system administration course development for "BaseALT" LLC.

JavaScript

knowledge-level: good
experience: more than 2 years
active-skill?: yes

Emacs Lisp

knowledge-level: basic
experience: more than 10 years
active-skill?: yes

Ruby

experience: more than 10 years
knowledge-level: basic
active-skill?: no

System automatisation, basic web application development.

Python

experience: more than 6 months
knowledge-level: basic
active-skill?: yes

Experience:

  • Development of an extension for MoinMoin wiki engine.
  • Teaching a beginner Python course for students in a college.

Examples:

AVR Assembly

knowledge-level: basic
experience: less than 6 months
active-skill?: no

Examples:

Lua

knowledge-level: basic
experience: less than 1 year
active-skill?: no

Frameworks

Qt

knowledge-level: good
experience: more than 3 years
active-skill?: yes

Examples:

  • MST: Multi-seat toolkit that allows to make multi-seat configurations.

Ruby On Rails

knowledge-level: basic
experience: less than 1 years
active-skill?: no

Markup Languages

Emacs org-mode, Texinfo, HTML, Wiki syntax, Markdown, LaTeX.

Texinfo examples:

Software Testing

  • GitLab/GitHub CI
  • JUnit
  • SRFI-64 (a testing framework for Scheme.)

Administration

Docker

knowledge-level: good
experience: more than 2 years
active-skill?: yes
  • Dockerfile
  • Docker Hub
  • Docker Compose

LVM

experience: more than 2 years
knowledge-level: basic
active-skill?: yes

SELinux

knowledge-level: basic
experience: less than 1 year
active-skill?: no

Cron

Init Scripts (openrc, System V, upstart)

SystemD

Network Protocols

SSH, TCP/IP family, ONC RPC, SCTP, CoAP, WebSocket.

File Formats/Standards

CSV / DSV (Unix-style / RFC 4180)

iCalendar (RFC 5545) / vCard (RFC 6350)

Portable Network Format (PNG)

INI

Server-Side Software

Web Servers

lighttpd, apache

Wiki

  • MediaWiki – administration, maintenance, usage (I used to write some articles for Wikipedia.)
  • MoinMoin – administration, maintenance, usage.

Git Servers

  • GitLab (deployment, maintenance, interaction with the API.)
  • Gitolite

"Cloud" Software

  • ownCloud
    experience: more than 1 year
    knowledge-level: basic
    active-skill?: no
    

    Deployment, maintenance, interaction with the API.

  • NextCloud
    knowledge-level: good
    experience: more than 3 years
    active-skill?: yes
    

    Deployment, maintenance, interaction with the API.

  • FreedomBox

Telecommunication software

Jitsi

experience: more than 2 years
knowledge-level: good
active-skill?: yes
  • Deployment in a production environment.
  • Maintenance.
  • Monitoring.
  • Patching.

Learning Management Systems (LMS)

Moodle

knowledge-level: good
experience: more than 4 years
active-skill?: yes
  • Maintenance.
  • Integration with other services.
  • Course/test development, daily usage.

Security

GNU Privacy Guard

experience: more than 5 years
knowledge-level: basic
active-skill?: yes

Use GPG for email communications and to sign software releases.

GPG Key: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F

Off-the-record (OTR) messaging

knowledge-level: basic
experience: more than 6 months
active-skill?: no

Let's Encrypt

experience: more than 1 year
knowledge-level: basic
active-skill?: yes

Home and production use.

Development and Build Tools

RCS/Git/SVN, GNU Make, GNU Autotools (Automake, Autoconf, Libtool), scons, GDB/DDD, strace, GNU Emacs, NetBeans, Eclipse, distcc

Gave a talk in 2015 on version control systems for students of NNTC. Slides: https://github.com/artyom-poptsov/talks/tree/master/vcs

Embedded Development/MCU Firmware Development

Tools

  • OpenOCD
    knowledge-level: basic
    experience: less than 1 year
    active-skill?: no
    

Buses

  • Serial
    knowledge-level: basic
    experience: more than 4 years
    active-skill?: yes
    
  • I2C
    knowledge-level: basic
    experience: more than 3 years
    active-skill?: yes
    

Platforms

  • Arduino (AVR Family)
    knowledge-level: master
    experience: more than 4 years
    active-skill?: yes
    
  • STM32
    knowledge-level: basic
    experience: less than 1 year
    active-skill?: yes
    
  • ESP8266 / ESP32
    knowledge-level: good
    experience: more than 3 years
    active-skill?: yes
    
  • Raspberry Pi
    knowledge-level: good
    experience: more than 2 years
    active-skill?: no
    

    Kernel compilation, GPIOs, etc.

Parametric 3D modeling

experience: more than 3 years
knowledge-level: good
active-skill?: yes

I'm mostly using FreeCAD nowadays. Some of my works can be found here: https://www.thingiverse.com/a_v_p/designs

3D-printing

I have experience in:

  • Building, maintaining and using 3D-printers (RepRap and alike.)
  • Preparing 3D-models for printing.

Other

  • Good knowledge of Linux kernel standards and GNU coding standards.
  • Expirience of interaction with free software community. Contributions to:
    • GNU Guix (list)
    • GNU Guile-RPC
    • libssh (list)
    • FreeCAD (list)
  • Backus-Naur Form (BNF), ABNF
  • Gnuplot

Licenses

I have basic understanding of the following licenses:

  • Creative Commons
  • GNU GPLv3

Writing Skills

Science, Programming, Art and Radio-electronics Club (SPARC) book

An open-source book (CC-BY-SA 4.0) I'm working on. The book is written in LaTeX and published on GitHub. Also the book is in the GNU Guix official repository.

Languages

Russian

Native speaker.

English

Good reading/writing skills (techical documentation as well as regular texts such as articles or books, communication through email and IM). Basic verbal skills (I have experience in verbal communication with non-native English speakers), very good understanding of spoken English.

Examples of technical documentation written by me:

German

Very basic reading/writing skills.


Copyright © 2021-2024 Artyom V. Poptsov

Verbatim copying and redistribution of this entire page are permitted provided this notice is preserved.

Author: Artyom V. Poptsov

Created: 2024-01-19 Пт 23:25

Validate