A developer's writing space.Not merely on the surface, but a life of exploring and contemplating the essence.
In this post, I want to talk about immutability — a concept that functional programming values highly, following up on pure functions. Whenever you explain pure functions, immutability inevitably comes up at least once. Most explanations either define it briefly as “not changing state,” or list beh…
Jan 05, 2020
Following up on my previous post, Functional Thinking – Breaking Free from Old Mental Models, this time I want to talk about “pure functions” — one of the essential concepts you need to understand in order to translate functional programming’s philosophy into actual programs. Around 2017, as the fu…
Dec 29, 2019
Recently, more and more languages have been adopting the functional programming paradigm, and developer interest has been rising steadily along with it. I remember becoming deeply curious about functional programming — a paradigm that felt so different from what I was used to — after reading the bo…
Dec 15, 2019
Following up on my previous post, What Information Is Stored in TCP’s Header?, this time I want to explore TCP’s handshake process and the TCP states that change throughout it. Because TCP pursues reliable connections, it goes through a special process called a handshake even when creating and term…
Nov 17, 2019
HTTP/3 is the third major version of HTTP (Hypertext Transfer Protocol). Unlike HTTP/1 and HTTP/2, it communicates using QUIC, a UDP-based protocol. The biggest difference between HTTP/3 and its predecessors is that it runs on UDP instead of TCP. I first learned about HTTP/3 after reading a post so…
Oct 08, 2019
In this post, I want to talk about what synchronous — a concept used across various models including I/O and networking — actually means, and explore the difference between synchronous and asynchronous approaches. I’ll also briefly touch on blocking and non-blocking, two concepts that are frequentl…
Sep 19, 2019
In this post, I want to explore how Google’s V8 engine interprets and executes JavaScript. V8 is written in C++, but since C++ isn’t my primary language and the codebase is massive, I won’t be doing an exhaustive analysis. Instead, I’ll try to cross-reference information available on the web with V…
Jun 28, 2019
In this post, continuing from the previous post, I’ll define the actual shape, size, position, and orientation of an orbit and write the code to implement it. Checking the Keplerian Element Data The method for calculating an orbit using Keplerian elements is the same regardless of the celestial bod…
May 03, 2017
In this post, I’ll cover the orbital and position calculations of celestial bodies — the part that gave me the most trouble while developing a solar system simulation. As someone who gave up on math in high school, my goal is to explain things as simply as possible for others who had a similar expe…