-
Story of a Different Type of Cache!
In the company I work for, there was a campaign running for a group of users. Our task was to show some information to the user when they logged into our app if they were in the selected group for the campaign. The group was maintained by operators. When a user joined the campaign, they…
-
Java is HUGE!
The first time I learned Java was during the first semester of my undergraduate studies. My perception of Java at that time was that Java is essentially C with some object-oriented principles. It was challenging for me to grasp the concept of everything being an object. It felt strange; I thought they were aiming for…
-
About Writing
During my undergraduate studies in the mathematics department at Sharif University, there was a math professor who emphatically urged us to practice good writing. She advised that if we spent one hour solving a problem, it was reasonable to invest an additional two hours in crafting a well-structured proof. I recall her words: “If you…
-
About Creating State-of-the-Art Software
Android phones are receiving more RAM with each passing year, but guess what? It’s never enough! Android itself consumes it voraciously. The same holds true for Google Chrome. It seems that despite having better hardware, software quality is deteriorating each year. How did we go from the software that sent men to the moon with…
-
Aperiodic Tilings
I enjoy math problems that are easy to understand but challenging to solve. These problems are often related to various topics and are deep enough for people with diverse backgrounds to engage with and make progress. When I was a child, I grew up in Isfahan, a city with numerous tiled monuments. I used to…
-
SSL/TLS Certificates
I never really cared about how SSL/TLS works. I never knew what a certificate is and what CAs actually do. Why? Because it all happens on top of the transport layer, and developers only need to concern themselves with what occurs in the application layer. I’m familiar with RSA, Diffie-Hellman, and some hashing algorithms. Most…
-
About Time
This article is about how we keep time in our computers. First, let’s talk about the physical clocks in the world. There is no completely accurate physical clock; one clock runs slightly faster, and another clock runs slightly slower. This error can become quite significant over time. Even a clock with a 1 ppm skew…
-
Read the code
“The problem is, if you’re not a hacker, you can’t tell who the good hackers are.” Paul Graham To understand Docker, go read about cgroups.To comprehend Bitcoin, go delve into its white paper.To learn MapReduce, go study the original authors’ work….To know what a code does, go read its source code.You’re not going to get…
-
What I learned from reading old blogs
I like reading blogs’ older posts. Especially when I discover a blog and I find their view on a subject that I was interested in back when the author wrote the post. For example I like reading posts about downfall of Netscape or Adobe Flash. I will write a complete post about that. It’s been…
-
Algorithmist is back!
Hello world! A few years ago, I had a blog called Algorithmist, which means someone who knows algorithms. I wrote there every once and a while about the interesting computer science-related problems which I got to know from the courses I had in my undergraduate studies. Eventually, I ran out of simple problems to write…