Back to Home

Bookmarks / Today I Learned

Well, seems like you've found this not-so-secret page :)
This is where I keep my bookmarks or things that I learned. It's meant to be a public archive of things that I find interesting and useful whether it be an article, random thoughts, videos, literally anything. I hope you find something useful here too!

Fix Fedora Deep Sleep

My deep sleep was not working when I closed the lid of my laptop since Fedora 40. It was caused by the mem_sleep mode set to s2idle instead of deep, no idea what changed it, but here’s the solution.

Check if the current mode is s2idle:

$ cat /sys/power/mem_sleep
[s2idle] deep

To change that to deep:

$ sudo sh -c 'echo deep > /sys/power/mem_sleep'

It should now be fixed:

$ cat /sys/power/mem_sleep
s2idle [deep]

Also, add the following to /etc/default/grub:


And update grub (you might need to adjust this command to your system):

$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Bloom Filters (with Visualisations)

An introduction to Bloom Filters with visualisations. Bloom Filters isn’t quite an easy concept to grasp, so understanding how Hashing works is a good start.

Clean Code Summary

A short and concise summary of the Clean Code book by Robert C. Martin. It contains some of the most important principles and practices from the book.

Hashing (with Visualisations)

A basic introduction to hashing, with some visualisations to help understand the concepts. A great article to read and easy to grasp.

The Google SRE Book

A book about Site Reliability Engineering by Google. It covers several topics such as what is an SRE, what they do, and how they do it. It also covers the principles and practices of SRE.

Ruangguru Engineering Academy

Resource by Ruangguru for building a scalable web application. At the time of writing it looks pretty bland, but I’m sure it will be updated in the future.

How to write Go HTTP service

A guide on how to write HTTP service using Go coming from someone with 13 years of experience. I think it’s a good one, even though I don’t really agree with some points, but that’s probably because I never encountered the issue that they had.

Go doesn't need Java-style GC

It covers some fundamental differences between Go and Java Garbage Collector and why Go doesn’t need Java-style GC because it doesn’t have the same problem that Java has.

Mastering Programming

A short and well written article listing some tips to becoming a better programmer. It’s written sort of like wisdoms in programming, if you will.

Book of Shaders

A very good resource to get started with shaders. It covers a bunch of stuff, although at the time of adding this, it doesn’t have a 3D section yet. Pretty much a book in form of a website.

Distributed System Reading List

A good reference if you’re looking for a list of resource to read regarding distributed systems. The author also added their own comments on each resource, which is a nice touch.

How to (seriously) read scientific papers

A great article on how to read scientific papers. It answers quite a few concerns that I had about reading scientific papers.

An Introduction to SQL for Wary Data Scientists

A good introduction to SQL for those who are new to it. It uses SQLite for the examples, but it should be universal enough that it can be used with any other SQL databases. It’s quite comprehensive and covers a lot of ground.

3D Game Shaders for Beginner

A bunch of tutorials on how to write shaders for 3D games. It covers quite a lot of different types of shaders, and it’s a great resource for anyone who wants to learn how to write shaders for 3D games.