About

Hello! My nick is sea5kg (previous: sea-kg). I'm a programmer.
This is page with information about me and my projects.


Contacts && Links

E-mail: mrseakg@gmail.com (Better for communications with me)

Skype: sea-kg

Telegram: sea5kg

Guthub: https://github.com/sea-kg


Speak / Read

Русский - native

English - speak, read technical documentation, write (use dictionary)

Deutche - Level A1 (learn in 2014)


Operation Systems used or using before

linux (Debian, Ubuntu, a little some CentOS)

Mac OS

Windows 10


Software for development used or using in last time
  • git, git-lfs, svn, mercurial
  • c++, python, cmake
  • docker / docker-compose (for container services)
  • QA: enable TravisCI for github projects (build / unit-tests / tests for API for project freehackquest.com / wsjcpp packages )
  • CI/CD: Jenkins (QA: for building Android, frontend projects), Teamcity (custom builds)
  • GIMP, Inkscape, AdobeXD, Figma
  • etc
  • Installers: InnoSetup, makeself, deb

Programming Languages (and another languages for description)

C++ (frameworks: VCL, Qt, std; project wsjcpp.org, backend for freehackquest.com)

python (scripting, network, created library for automatization processes, pytest, pylint)

SQL (SQlite, MySQL, Oracle, Firebird/Interbase, MS SQL, SQLite, MS Access)

PHP (without frameworks)

XSLT (1.0, 2.0 : ms and saxon)

XML, JSON, YAML

gradle

groovy (creating DSL for a project data migration)

android java (Retrofit)

java (working with lucine)

javascript/typescript (Angular 8-10: public project freehackquest.com)

Swift 5 (Sept 2019 - May 2020)

javascript (wscript integration to c++ application for windows)

css

bash

LaTeX (for make documentation)

C# (not so much)

Obj-C (a little changes in basic code)


Programming patterns

Thread Pool Executor (C++ wsjcpp-async-jobs-pool)

Service Locator (C++ wsjcpp-employees)

Data Transfer Object (C++ wsjcpp-dto)


Education

Specialist: Integrated security of information systems, TUSUR, 2011 / Специалист: Комплексное обеспечение информационной безопастности, ТУСУР, 2011 г.о.

Start Deutsch A1, 2013 (I have certificate only from local universitet, I'm not try pass international exam)


Free-time
writing music
writing pictures
making a chain armor

Сareer

Oct 2020 - April 2024

Company: Unigine

Position: Build Engeneer (really likely a Automation Engineer or something DevOps)

Short: Process automation (Teamcity, Jenkins, Python, Docker, VirtualBox, REST Api)

Support for infrastructure and assembly pipeline on TeamCity, Jenkins (CI/CD)

Organization processes of a build applications in legacy environment (VirtualBox, docker)

Created and integrated tests for infrastructure (for exclude human watch)

Maked platform for accumulate knowledge, like a thirdparty library inforamtion and current projects (backend Qt, frontend Angular, database just json, storage git, automatically CI/CD based on docker)

Building third party libraries in different variants with special options for working with developing software (for example: compile 29 third-party libraries to one static library for linux/windows - it's not simple as can look)

A single Python library has been created to automate CI/CD/Tests processes (taking into account the possibility of use within a specific CI/CD system, and, in principle, that could be launched outside such systems) + Polints have been created and configured automatically pylint, pytest, pycodestyle


Sept 2019 - May 2020

Company: (hidden)

Position: Developer (swift, Obj-C)

Support and development project on swift / Obj-C. AppStore publishing


Oct 2015 - May 2019

Company: VEG

Position: Software Engineer

Development of projects with javascript, swift & Obj-C, java (android) and etc.


Sep 2011 — June 2015

Company: startext

Position: Software Engineer

Support code to develop new features, integration with other systems, team development Programming language: c++ (WinAPI, VCL), groovy, java, javascript, xslt SQL: oracle, postgresql, sqllite, ms access, mssql


Feb 2015 — May 2015

Company: Comprehensive Analysis of Delaware Inc. Licensing system Algorithms

Position: Reverse Engineer

Programming language: C# Comprehensive analysis of Desaware Inc. Licensing system algorithms and finally after about 3 months breaking their security system that big customers listed below implementing this service on their machine. Participants: Mohsen Ahmadi, Evgenii Sopov, Alireza Afzali


Sep 2011 — Jan 2018

Company: TUSUR, keva

Position: Trainer of CTF-team

Management of student projects develop: C++ (Qt), PHP, MySQL, JavaScript, Python, C# also: forensics, crypto


Aug 2011

Company: СофтИнформ

Position: Software Engineer

application development by iOS server-side development in PHP with a web editor data


2008 - Aug 2011

Company: nope

Position: freelancer

do some student's job С++ VCL, C++ Qt, SQL


Projects
wsjcpp

C++ Yet One... Source Package Manager

Linux / MacOS

Based on cmake

Source code: https://github.com/wsjcpp/wsjcpp

Docker-image:

Started project for managment c++ source code. (I wanna simular a npm/angular-cli/pip for c++ ofcouse with spicific for c++)

ctf01d

Programming languages: JavaScript, CSS, C++ (std)

Technologies: Multithreading, SQL, Network, High Loading

Sources: https://github.com/freehackquest/sea-kg/ctf01d

Dockerhub: https://hub.docker.com/r/sea5kg/ctf01d

Jury system for CTF-game (attack-defence) Разработка производилась под linux Для мероприятия sibirctf2018 было создано ПО (предыдущее название fhq-jury-ad). Для CTF Attack-Defence разворачивалась сложная сетевая структура для 17 команд, каждая из команд запускала в своей подсети сервер (выданный органищаторами) с 6 сервисами.

В каждой команде было от 5 до 8 человек

Задачи журейной системы:
  • Отправка "флага" на каждый сервис игроков раз в 15 секунд (17*6)
  • Проверка "флага" у которого закончилось время жизни раз в 15 секунд (17*6)
  • Подсчет SLA, флагов и расчет рейтинговой таблицы
  • Прием "флагов" (При условии что сдача от команд автоматизируется а ломают они все сервера других команд)

wsjcpp-yaml

C++ YAML parser/reader and writer of *.yaml/*.yml files with keeping user formatting

https://github.com/wsjcpp/wsjcpp-yaml/

Just I wanna have implementation which can read the yaml file, modify and write modified structure back to file without losing user formatting.

Sorry but it has support only partial of YAML-standard


Model v20170528 (ForKeva)

Orange Pi Based

Ubuntu server (armbian)

./sopovrobotics_v20170528_ForKeva.html

Project SopovRobotics is just learning robotics technology like home made.

Model v201703 (Infrared eye)

Raspberry Pi v1 based

Raspbian  (arm/debian)

./sopovrobotics_v201703_Searcher.html

Project SopovRobotics is just learning robotics technology like home made.

Guitar Solo Part Generator

Programming languages: C++, JavaScript

Sources: https://github.com/sea-kg/guitar-solo-part-generator

Docker: https://hub.docker.com/r/sea5kg/guitar-solo-part-generator

Site: https://sea5kg.ru/guitar-solo-part-generator/

Generate melodic to possible play on guitar

pipeline-editor-s5

Programming languages: JavaScript, Css

Technologies: OOP, Html5-Canvas

Simple editor for draw diagrams pipelines

Npm library:

Source code: https://sea5kg.ru/pipeline-editor-s5/


yourCityIsInvadedByAliens

Game based on SDL2. C++.

https://github.com/sea-kg/yourCityIsInvadedByAliens/

Just for fun and for portfolio

More informations here.


roadmapgen2d

pyhton

https://github.com/sea-kg/roadmapgen2d/

Generator of road map for 2d game


Inventory files
webhook-handler

Programming languages: C++

Sources: https://github.com/sea-kg/webhook-handler

PPA: https://launchpad.net/~sea5kg/+archive/ubuntu/webhook-handler

A simple service for handling webhooks on server

bezier-curve

Programming languages: C++ (VCL, Builder)

Technologies: OOP

Sources: https://github.com/sea-kg/bezier-curve

Video: http://www.youtube.com/watch?v=lpA09a3ZG3E

Calculate and draw bezier curve. Расчет и построение кривой Безье. Описание алгоритм есть на википедии. Программа позволяет выставлять точки относительно которых и строиться кривая Безье. Аналогов программы множество.


3D Stone Generator (Plugin for Unigine Editor)

Programming languages: c++

Technologies: Unigine 3D-Engine

Sources: https://github.com/unigine-plugins/Sea5kgStoneGenerator_editorplugin

Video: https://www.youtube.com/watch?v=cIa-ExbNgLo&list=PL-Ky59xTi1WRCFocly-FhrFLLKwdbqEkO

Unigine Store: https://store.unigine.com/add-on/1ee2ef39-4458-6124-aefe-dbe1b97903ce/description

UnigineEditor Plugin for generation of meshes representing stones of various sizes and shapes. / Плагин к Unigine Editor для генерации meshes, представляющих камни различных размеров и форм.


BottleFS

Programming languages: java, bash, gradle, deb

Technologies: Java, Http-server, lucene, tika, JSON

Sources: https://github.com/sea-kg/BottleFS

Video: http://www.youtube.com/watch?v=wNFbQL8h5GI

Debs: https://sea5kg.ru/files/debs/bottlefs/

backend for file-storage (downloading by url) deb can you got from here: https://sea5kg.ru/files/debs/bottlefs/ Программа для организации полнотекстового поиска на базе lucene и tika. Запускается web-сервер и делаются GET-запросы. Одно запросы расчитаны на "заявку" для обработки файла. Другие на "поиск". Достоинства: - файл обрабатывается не сразу а помещается в очередь - возможна обработка файлов с http, ftp и локальных - при необходимости делается копия файла (конфигурируемо) - с помощью tika можно получить текст из разных форматов (word, pdf) и осуществлять полнотекстой поиск по ним. Применения: - может использоваться в микросервесной архитектуре - при написании дополнительного модуля можно использовать на локальном компьютере или на файл-сервере - при доработке может использоваться как файлохранилище Недостатки: - при большом количестве запросов сервер падает. - требуется доработка


marstalk

Programming languages: Python, Brainfuck

Technologies: Sockets, Network

Sources: https://github.com/SibirCTF/2014-service-marstalk

Network service for sibirctf2014 Для sibirctf2014 был разработан сервис на python. Сервис принимает индентификатор и данные по tcp и складывает их в файловую систему. Сервис может отдавать данные по идентификатору. Протокол общения с сервисом текстовой (с оберткой в код на Brainfuck). Также присутствует интерпретатор и генератор кода для Brainfuck.


dbf2csv

Programming languages: bash

Technologies: DBF, CSV, converting

Sources: https://github.com/sea-kg/dbf2csv

convert dbf2csv for kladr Скрипт для конвертации базы kladr в csv формат под linux.


stego-packer

Programming languages: C++ Qt

Technologies: Qt, PNG

Sources: https://github.com/sea-kg/stego-packer

Write information into picture (png) Программа которая может записать (и прочитать) сообщение в картинку. Используется принцип "малозначищий последний бит цвета". Отнсоиться к разделу стеганографии (сокрытии сообщения в самом сообщении).


The-Dragon-curve

Programming languages: C++ Builder 6

Technologies: Canvas

Sources: https://github.com/sea-kg/The-Dragon-curve

Video: http://www.youtube.com/watch?v=7ozo-3s7g2I

Drawing The Dragon curve Построение кривых дракона.


sea5kgSudoku

Programming languages: C++, cmake, wsjcpp-package

Sources: https://github.com/sea-kg/sea5kgSudoku

Program for solve sudoku (any size)

Программа для решения и генерации судоку любого размера. Алгоритм был разработан самостоятельно.


SplitRussianWords

Programming languages: С++ Qt

Sources: https://github.com/sea-kg/SplitRussianWords

Split the Russian words into syllables Программа для разбора русского слова на слоги. Используется аналитический алгоритм который имеет погрешность.


OX (Tic-tac-toe)

Programming languages: PHP, SQL, CSS, JavaScript

Technologies: MySQL

Sources: https://github.com/sea-kg/0X

Tic-tac-toe Серверная имплементация извесной игры "Крестики нолики". Есть возможность проведения сразу нескольких игр.


seakg-hack-xor

Programming languages: C++ Qt

Technologies: Qt

Sources: https://github.com/sea-kg/seakg-hack-xor

Decrypt encrypted text by xor (you must know length key) Программа для расшифрования текстовых данных зашифрованных с помощью XOR. Необходимо знание длины ключа. Программа использует статистический анализ, там самым находя наиболее вероятный ключ.


phpsimplechat

Programming languages: PHP, JavaScript

Technologies: Ajax

Sources: https://github.com/sea-kg/phpsimplechat

simple chat on PHP Простой чат на php.


wcdatcha

Programming languages: JavaScript

Technologies: Canvas

Sources: ./projects/wcdatcha/

program for calculating the outdoor toilets Программа для примерного расчета размеров дачного туалета.

И некоторые другие проекты охватывающие другие навыки. часть из них представлено на github.com/sea-kg. Часть не будет представлена нигде.