<

Tue Feb 06 2024

Understanding RSA

RSA is a beautifully simple algorithm for asymmetric encryption, which uses the properties of modular arithmetic to transmit small messages securely. This article presents a possible thought process from which the algorithm could be derived, based on some key mathematical facts...


Wed Jan 25 2023

Understanding Backpropagation with Simple Derivatives

Backpropagation is the backbone of deep learning, responsible for the training phase of neural networks. Despite its importance, it is often left out of most explanations of neural networks due to its complexity. Many summaries of backpropagation either assume a level of background knowledge that is unnecessary for understanding the algorithm or focus explicitly on implementation, leaving a working program but no insight...


Wed Dec 28 2022

A Reflection on Vim-like Text Editors

As a programmer, choosing the right text editor is crucial since you may spend several hours a day working in it. With so many options available, Vim-like text editors have gained a special reputation among enthusiasts. In this reflection, I would like to consider how these editors hold up to scrutiny and whether they still deserve their high status...


Sat Jul 16 2022

Rust is Nice

After putting it off for years, I finally learned Rust. Even though it has been the most loved programming language since 2016, I still could not get over the complex-appearing syntax. Luckily, I was planning on making a program in C and had a lot of free time, so I decided to do it in a new programming language. After quickly considering APL, I noticed that it was probably the time to learn Rust. Now I understand why people like it...


Mon Jul 04 2022

Markdown: A Patch for the Modern Web

I think it is no secret that websites have become worse with time. From ads to pop-ups to terrible load times, it seems that looking stuff up gets harder as every second goes by. People have tried to reform the Internet. Projects like Gopher1 and Gemini come to mind. Although they have been very successful in their niches (including me), I find it hard to believe regular people are using them. I think the solution is often overlooked in between attempts to reinvent the wheel. It is a format that is already widely used: Markdown...


Sat Jun 11 2022

Approximating 𝑒 in 6½ Programming Languages

I often use programming languages to play around with mathematical problems, as they are often the fastest option to quickly iterate over ideas. I have used the usual scripting options, like Python, JavaScript, Julia, Go, and even bc. That left me wanting to compare some of them, but then I noticed I could use the opportunity to compare a more diverse range of languages. This is the result of the comparison...


Sun Dec 19 2021

Testing 3 Common Shell Optimizations

Although worrying about performance in shell scripts seems oxymoronic at first (at least to me), I have seen enough tips to become curious about the actual benefits of some of them. So, I decided to put three common ones to the test, with a few self-made benchmarks...


rss