Published on

Why Blog?

  • avatar
    Bojun Feng


  1. Document learned knowledge
  2. Simplify code sharing
  3. Create social connections

Document Learned Knowledge

Using my brain to keep track of everything I learned is a bad idea.

This realization came to me approximately after I finished my first two years of college and started my third. I tried to challenge myself and took hard classes every semester. Needless to say, despite my best attempt to spread out the work evenly throughout the week, I usually find myself cramming the night before the finals. Most of the time that works well for the exams, except for one caveat: The knowledge leaves my brain at approximately the same rate it enters - what comes fast doesn't last.

After each summer, I find myself staring at last year’s material in mild confusion. I know I have learned it, but not quite enough so I can say I understand it. It’s like seeing that semi-friend I made back in eighth grade - the face is somewhat familiar, and I recognize that I know them, but for the life of me I just can't remember their name.

It doesn’t help either that STEM subjects in general have a hierarchical knowledge structure. If I don’t remember the concept of a limit point or a Cauchy sequence, understanding compactness is virtually impossible, as it is defined by the two concepts above.

It helps even less that most of the online resources are filled with garbage information. I hate fishing for the two actually helpful sentences among 1500 words of useless background, brand promotion, and GPT generated content just to make viewers stay longer and generate ad revenue.

As a result, I found the idea of writing digital notes customized for myself very tempting. I can quickly go back to my article and refresh my memory on difficult concepts. This is also an excellent opportunity for me to apply the Feynman technique and deepen my understanding of the material. Writing in a publicly available blog, in addition, would keep me accountable and force me to actually do the writing.

Simplify Code Sharing

Ever since I wrote my first hello world, I have been copying and pasting my code in new projects. Initially, it was as simple as clicking on the one folder I have on my desktop containing everything I’ve ever written. As my projects increased in size and number, however, the process became more complex. There are useful code snippets everywhere, scattered in Google drives, outdated Git branches, and local files in my old computer.

Additionally, the code segment I found was usually already adapted to the specific project I was working on at the time. Even if I know I had a generalized version that can be easily applied to my current project, that version is usually nowhere to be found, and I have to re-adapt the code segment to my current project. This can be time-consuming, especially if the segment has been scattered throughout different files during a refactor - now I have to play a jigsaw puzzle game with the code.

Having a personal blog would help me document all of the useful code segments in their finest form, so I can quickly locate the code snippet I am looking for and reuse it in the future. I don't think it will be of much use in the upcoming months, but I can see my future self from two years later appreciating the work.

Create Social Connections

It is hard to make friends on the internet. On social media, all people can see is a short profile and a photo, structured in a particular format depending on the platform. I understand the intention is to modularize the information and connect with as many people as possible as quickly as possible, but there is an inevitable tradeoff between quality and quantity.

Under the restrictions, there is not really much that I can do to authentically showcase my interests and find people who share them. Everyone can put down "I like XXX" on their profile, even when they have no real interest or have a very different form of interest than what others expect. The brief nature of these profiles naturally leads to ambiguity.

Building a personal website is a great way to demonstrate my interest in sharing my knowledge and building things. Since I can directly edit the source code of this website, I have a crazy amount of control that is simply unavailable in platforms like Medium, Wix, or WordPress - control over not just the blog content, but also every single detail in the webpage down to the pixel level. Similar to the concept of body language vs verbal language, the design choices I made may deliver a lot more information than just the words I’ve written. Builders communicate best through the work they produce. If someone finds my website cool or useful, I can imagine us having a good long conversation.

My favorite part about having a website is that it stays online consistently 24-7. Even when I am not feeling well, the site stays at its prime. As someone who wants a social life but is constantly occupied by coursework and projects, this is probably as good as it gets.

Ending Note

This is the first official article on this blog, and wow did I realize I suck at writing. All that I’ve written for the past few years are course essays for my professors or notes for myself, and writing for a general audience is such a different task. Although I wanted to stay cool and different, the outcome was a lot closer to those bland vague essays with no content whatsoever. All the rational and articulated thoughts in my brain became basic common sense the second I wrote them down on paper. Everyone has a plan until they get punched in the face by Mike Tyson, and everyone thinks they are Michael Jackson until they hear their singing recorded. In this case, everyone thinks they are proficient at writing until they write their first blog post. (It’s probably just me, but framing it as "everyone" makes me feel better about myself)

Luckily, everyone also has to take their first step and be humbled. This is definitely a baby step, but I’m glad my legs are finally starting to move.