memory heap / cv
Table of Contents
- Introduction
- Current job
- Technical Skills
- Operating Systems
- Programming Languages
- Frameworks
- Markup Languages
- Software Testing
- Administration
- Network Protocols
- File Formats/Standards
- Server-Side Software
- Telecommunication software
- Learning Management Systems (LMS)
- Security
- Development and Build Tools
- Embedded Development/MCU Firmware Development
- Parametric 3D modeling
- 3D-printing
- Other
- Licenses
- Writing Skills
- Languages
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
- Home page: https://memory-heap.org/~avp/
- GitHub account: https://github.com/artyom-poptsov
- GitLab account: https://gitlab.com/a_v_p
- Email:
(string-join (reverse '("gmail.com" "@" "artyom" "." "poptsov")))
- Matrix:
@a_v_p:matrix.org
Current job
- CTO @ AZ Company Group LLC
- Head of "MCU and microprocessor systems programming laboratory" and 3D-printing lab in Nizhniy Novgorod Technical Colledge.
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
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:
- Guile-SSH: GNU Guile libssh bindings.
- Guile-Udev: GNU Guile libudev bindings.
Also I started a free online course on system programming (in Russian): https://www.youtube.com/playlist?list=PLoAJ3BxlddnopWsE_IQYkFYXUkmYA4-Ar
C++
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:
- MoinMoin Abbreviation Parser
- Contributed a patch to FreeCAD.
AVR Assembly
knowledge-level: basic experience: less than 6 months active-skill?: no
Examples:
- "Chasing lights" in AVR Assembly.
- "AVR assembly with AVP" series on YouTube.
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)
- Related projects: Guile-DSV.
iCalendar (RFC 5545) / vCard (RFC 6350)
- Related projects: Guile-ICS.
Portable Network Format (PNG)
- Related projects: Guile-PNG.
INI
- Related projects: Guile-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
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.
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
Buses
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
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.