resume/lib.rs
1// #![no_std]
2#![feature(freeze)]
3#![allow(internal_features)]
4#![feature(doc_cfg)]
5#![feature(freeze_impls)]
6#![feature(negative_impls)]
7#![feature(associated_const_equality)]
8#![allow(deprecated)]
9#![allow(unused)]
10#![doc(html_logo_url = "https://avatars.githubusercontent.com/u/414425?v=4")]
11#![doc = include_str!("../README.md")]
12
13use conferences::{
14 roles::ProgramDirector, DevConf2016, MoscowPythonMeetup2016, MoscowPythonPodcast2020,
15 MoscowRustMeetup2021, PyCon2021, RamblerDevOps2021, RamblerPython2021, RustCon2021,
16 RustCon2022, RustForPythonDevelopers,
17};
18use opensource::{
19 ActixWebValidator, AioHTTP, AioRiak, Author, BashoDocs, ChromebookKernel, Conflow, Contributor,
20 DataFusionPostgres, FlaskHmacAuth, FlaskRestful, Hitbox, Hitboxd, Poetry, PyJasperClient,
21 Shortland, SlogStdlog, Swayboard, SwayipcRs, BB8,
22};
23#[doc(hidden)]
24pub use resume_macro::CleanupDocs;
25
26/// [@singulared](https://t.me/singulared)
27pub const TELEGRAM: &str = "@singulared";
28
29/// [https://github.com/singulared](https://github.com/singulared)
30pub const GITHUB: &str = "https://github.com/singulared";
31
32/// [https://www.linkedin.com/in/singulared/](https://www.linkedin.com/in/singulared/)
33pub const LINKEDIN: &str = "https://www.linkedin.com/in/singulared/";
34
35/// [work@singulared.space](mailto:work@singulared.space)
36pub const EMAIL: &str = "work@singulared.space";
37
38/// [+79190007134](tel:+79190007134)
39pub const PHONE: u64 = 79190007134;
40
41/// 28.12.1988
42pub const BIRTHDATE: &str = "28-12-1988";
43
44/// [Source code](https://github.com/singulared/resume/) of this resume
45pub const SOURCES: &str = "https://github.com/singulared/resume/";
46
47/// [Boring version](https://docs.google.com/document/d/1O2OFZn_dK-gHszWc85DdHQtlAM3IX7Vf4_72tqOLD6I/edit?usp=sharing) of this resume
48pub const RESUME: &str = "https://docs.google.com/document/d/1O2OFZn_dK-gHszWc85DdHQtlAM3IX7Vf4_72tqOLD6I/edit?usp=sharing";
49
50use hobbies::{Biking, EmbeddedSystems, Music, Piano, Tennis, CTF};
51use technologies::{
52 languages::Rust, tools::Linux, Cryptography, DistributedSystems, Hobbies, TechnicalInterests,
53 CRDT,
54};
55#[doc(inline)]
56pub use work::WorkHistory;
57
58/// Information about me and my personal interests.
59#[derive(CleanupDocs)]
60pub struct Me;
61/// My technical interests
62impl TechnicalInterests for Me {}
63/// Started getting interested in Rust in 2018.
64///
65/// From small cli tools and playground experiments to big opensource projects like
66/// [Hitbox](https://github.com/hit-box/hitbox/) and
67/// production applications like [News](crate::work::Rambler::News) and [MediaUp](crate::work::Rambler::MediaUp).
68impl Rust for Me {}
69/// Started to use Linux as main system since 2006.
70///
71/// Debian one Love (:
72impl Linux for Me {}
73/// In 2015 with Riak I opened the distributed systems world for myself. I continue exploring it nowadays, of course.
74impl DistributedSystems for Me {}
75/// CRDT, as I think, is one of the most interesting technologies of recent years.
76impl CRDT for Me {}
77/// One of my hobbies is microcontrollers and embedded development.
78///
79/// I started from porting Python3 and building kernel for Motorola a1200.
80/// Porting linux on Toshiba ac100 arm smartbook.
81/// Samsung ARM chromeebook hacks and development.
82/// And now I develop for some PINE64 devices such as PinePhone, PinePhone PRO, PineTime and other
83/// SBC platforms like NVidia Jetson Nano.
84impl EmbeddedSystems for Me {}
85/// I was really interested in Cryptography as a Ph.D student and wrote Ph.D dissertation about SMT
86/// algorithms.
87impl Cryptography for Me {}
88
89/// My hobbies
90impl Hobbies for Me {}
91
92/// I really like cross-country biking.
93impl Biking for Me {}
94/// I am a musician.
95impl Music for Me {}
96/// I am a piano player.
97impl Piano for Me {}
98/// I am a tennis player since 2004.
99impl Tennis for Me {}
100/// Participant of Honeypot team in:
101/// * RuCTF/RuCTFe
102/// * iCTF
103/// * Defcon
104///
105/// And other information security competitions.
106impl CTF for Me {}
107
108/// Education history
109#[derive(CleanupDocs)]
110pub enum EducationHistory {
111 /// *2011 - 2014* Ph.D. Student (System analysis, management, and information processing)
112 /// Vladimir State University named after Alexander and Nikolay Stoletovs
113 PhDStudent,
114 /// *2006 - 2011* Information Security Specialist (Complex security of information objects)
115 /// Vladimir State University named after Alexander and Nikolay Stoletovs
116 Specialist,
117}
118
119/// Opensource projects
120#[derive(CleanupDocs)]
121pub enum OpenSource {
122 /// Hitbox caching framework
123 Hitbox(Hitbox<Author>),
124 /// Hitboxd caching reverse proxy
125 Hitboxd(Hitboxd<Author>),
126 /// Actix-web validator library
127 ActixWebValidator(ActixWebValidator<Author>),
128 /// AioRiak async client
129 AioRiak(AioRiak<Author>),
130 /// AioHTTP framework contribution
131 AioHTTP(AioHTTP<Contributor>),
132 /// Conflow configuration manager
133 Conflow(Conflow<Author>),
134 /// Shortland URL shortener
135 Shortland(Shortland<Author>),
136 /// Swayboard layout manager
137 Swayboard(Swayboard<Author>),
138 /// Chromebook kernel fork
139 ChromebookKernel(ChromebookKernel<Author>),
140 /// DataFusion-Postgres contribution
141 DataFusionPostgres(DataFusionPostgres<Contributor>),
142 /// Swayipc-rs contribution
143 SwayipcRs(SwayipcRs<Contributor>),
144 /// Poetry contribution
145 Poetry(Poetry<Contributor>),
146 /// Slog-stdlog contribution
147 SlogStdlog(SlogStdlog<Contributor>),
148 /// Basho docs contribution
149 BashoDocs(BashoDocs<Contributor>),
150 /// BB8 connection pool contribution
151 BB8(BB8<Contributor>),
152 /// Flask-RESTful contribution
153 FlaskRestful(FlaskRestful<Contributor>),
154 /// PyJasperClient contribution
155 PyJasperClient(PyJasperClient<Contributor>),
156 /// Flask-HMACAuth contribution
157 FlaskHmacAuth(FlaskHmacAuth<Contributor>),
158}
159
160/// Conferences & meet-up
161#[derive(CleanupDocs)]
162pub enum ConferencesHistory {
163 /// *2021, 2022*: Biggest [Rust conference](https://rustcon.ru/) in Russia.
164 RustCon(RustCon2021, RustCon2022),
165 /// *2021*: Biggest [Python conference](https://pycon.ru/) in Russia.
166 PyCon(PyCon2021),
167 /// *2021*: Local [Moscow Rust community](https://www.meetup.com/Rust-%D0%B2-%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B5/events/279291922/).
168 MoscowRustMeetup(MoscowRustMeetup2021),
169 /// *2021, 2022, 2023*: Rust lecturer in Yandex School of Data Analysis.
170 SHAD,
171 /// *2016*: [Conference](https://devconf.ru) of professional web developers.
172 DevConf(DevConf2016),
173 /// *2016*: Local [Moscow python community](https://moscowpython.ru).
174 MoscowPythonMeetup(MoscowPythonMeetup2016),
175 /// *2015 - 2022*: Rambler company meetups.
176 RamblerMeetup(
177 RamblerDevOps2021,
178 RamblerPython2021,
179 RustForPythonDevelopers,
180 ),
181 /// *2020*: Podcast from founders of the biggest Russian python community [MoscowPython](https://www.facebook.com/groups/MoscowDjango/)
182 MoscowPythonPodcast(MoscowPythonPodcast2020),
183}
184
185pub mod conferences;
186pub mod hobbies;
187pub mod opensource;
188pub mod publications;
189pub mod roles;
190pub mod technologies;
191pub mod work;