Here you go:
Iahr (never mind the name) is an open-source, Python-based framework for building custom Telegram userbots with ease. But on the other hand, it's a full-blown Turing-complete programming language inside a messenger. It allows you to quickly create your own commands and reactions to events and even provides built-in commands for managing and configuring your userbot! Basically it turns your telegram into a kind of shell.
I'd say that it's a mature technology with thorough documentation and 3-year long history. With hundreds of commits and thousands of lines of code, it takes its place among my best-effort projects. Check out how it looks from a user perspective:
And from a developer perspective:
But there's much more to that. Just check out the docs and you'll be impressed with a configuration capabilities:
It's a C# source generator that will wrap any interface into a lazy one. If you'd like to see more, check this out:
A Telegram bot that allows you to upload a document to google drive and get a link to it. So you could just edit your docs, slides, sheets, etc in the cloud. No more proprietary docx extensions that just won't open on your android phone. You may now use google docs everywhere!
Spaced repetition Telegram bot to help you recall info and remember all your stuff literally FOREVER.
Library for analytical calculation of mathematical expressions. Сurrently derivatives and simplifiers are supported.
My old homepage (archived)
Workspide (my first full-blown fullstack)
Ah, that one. I remember not sleeping well in my 2nd year of university on this Database course. 300 commits in a month, geez! But it all paid out. This service includes:
- Django MVC
- Bootstrap frontend
- MySQL database
- My latest efforts on migrating it to docker
C++ dev resources
A huge step into learning C++ - my own database of knowledge. If I'd teach someone C++, I'd give them this stuff:
Turing machine macros
In our first year of study, we've been having tough times, when our Discrete math lecturer told us to write a Turing machine code for a specific algorithm, like finding the square root of a number, dividing two numbers, or simply transforming from binary to decimal. So I've decided to create this framework that'll help me to automate some mundane tasks, so here we are:
C++ sorting facilities. This was a huge step for me into programming language theory. Mainly due to my astonishment with C++ templates. Check out my Stackoverflow question on this topic. And here's the book I'd recommend you to read to dive deeper into C++ templates.
This was an experience of rewriting an old legacy code in a new standard of C++. You see we had this library of geometrical transformations, and our lecturer told us to either use this library or do the other task. But I didn't want to do the other task!
Nevertheless, the library was really old, not documented and not tested. So I've ported this library to a new C++ and wrote documentation for future generations. Then I shared it with my faculty - they were happy with it!
PRNG cracking 🔥
When learning about cybersecurity I decided to check on Pseudo-random number generators. I've learned many from this one. I even managed to crack C built-in PRNG(please don't use it in production). Years later it will help me in discovering bugs like that in popular computer games.
While going into lang dev I've decided to start with parsing. So here we go, a small elegant application:
Numerical systems converter
My first C program and I'm proud of it! It converts not only from integer-based numerical systems(like from binary(2) to decimal(10)), but does the same based on all rational numerical systems and even negative ones!
The only thing I can't get my head around is Fibonacci base numerical system and irrational base systems.
Ah, my first and last assembly project. Thanks to something like this you can fully understand the value of high-level programming languages. Nevertheless, it was truly compelling to do.
My first serious shell script. Wrote it when I was starting to dig into Linux and stuff.
My legal C++ practice. That one was interesting. Converts between following arithmetic notations:
I've always wondered what if we could translate one phrase from one language circularly to all other languages and back, going full circle. As it turned out, even Shakespeare's Hamlet will boil down to just a few words! Wanna find out what words? Check this out:
Coursework that I was doing in a team of 50-60 people. I was responsible for two microservices:
Tags and Geo search microservice
Photos scale microservice
Our sites for int20h hackathon.
A comparison of prices of buckwheat in different shops in Ukraine.