Cross-Origin Resource Sharing (CORS) restrictions can be a major obstacle for web developers, preventing them from accessing data from different domains using the Fetch API. However, there is a solution that allows you to bypass these restrictions and simplify your development process - a Cloudflare Workers-based proxy.
Telegram message eraser
[ PyPI Package ] [ GitHub Repo ]
If you've been using Telegram for a while, you might have noticed that the official Telegram clients lack a simple way to delete all your own messages from a chat or channel with just one click, especially if you don't have admin privileges. Frustrating, right?
That's where TgEraser comes to the rescue. I've implemented an interactive command-line tool that leverages the power of the Telethon library to solve this problem. It's written in Python and available on PyPI, so you can install it with a simple pip install tgeraser
command. Short usage instructions are available on the GitHub repository and in the PyPI Package description.
Say goodbye to manually deleting messages one by one; with TgEraser, you can regain control over your chat history with just a few simple commands.
Feel free to contribute, suggest improvements, or report any issues on the GitHub repository. Happy messaging! 🚀
Collection of interview assessments
So... I just collected all the solutions for tech interviews in one place. Sometimes I will add new tasks and solutions in that [repo]({{ site.github.owner_url }}/assessments-for-interviews).
My Professional Path
During a recent job interview, I was asked to share a brief account of "How did I fall in love with coding?" The question made me reflect on my journey, and while it may be a common tale, I believe it's worth documenting.
A Glimpse into My Early Years: My enthrallment with the IT industry began at a young age. From the age of seven, I was surrounded by the world of technology. I found it fascinating to research the inner workings of various devices, particularly the intricate components like CPUs and GPUs. This curiosity led me to tinker with hardware, starting with the ZX Spectrum and progressing to today's sophisticated systems. Remarkably, by the age of fourteen, I was already assembling my own PCs.
Python's Trade-offs: Performance vs. Ease of Use
When preparing for a job interview, one of the tasks I encountered was a problem that emphasized proficiency in the C programming language and data structures. The task, which you can find [here]({{ site.github.owner_url }}/concordance#concordance), revolved around efficient search and insertion operations for key-value pairs. The keys, unique words extracted from an input document, needed to map to an array of line numbers in the document where the word appeared. Given the frequent need for search and insert operations, it was evident that hash tables would be the ideal data structure for this task, boasting an average and amortized case complexity of O(1).