I wrote 2023, but really you can think of this as a retrospective starting from when I began posting on Blind (May 2022).
- What first got me writing
Two years ago, after going through a difficult personal time, my goals in life were briefly shaken, and I was just studying this and that with the mindset that I should try doing something, anything.
But I’m the type who only retains what I study in long-term memory if I explain it to someone else or organize it somewhere, so I needed some kind of outlet. Around then, I thought Blind would be a good fit.
I wanted an unspecified group of people to casually read a post once during their commute, and I also wanted to be able to hear different opinions.
That’s how I started writing in May 2022. As I kept writing, a few people who looked kindly on the posts asked me to make them searchable, so I added tags, fixed my nickname, and also started maintaining a text-only backup blog so I could share the posts with people who couldn’t sign up for Blind.
- Limitations of the posts
There are plenty of friendly and flashy blogs on the internet, but I know myself well enough to know that if I tried to do that, I would quickly stop writing because it would be too much of a hassle. So I still prefer organizing things as plain text only.
And since my posts are written only at a resolution where “I’ll understand it when I read it again later,” I know the balance of the writing sometimes breaks, with concepts suddenly skipped over or with detailed explanations of things only slightly related to the topic. But these posts are addressed to my future self, so if there’s anything you don’t understand, feel free to ask me anything.
To be honest, I don’t include many sources in the posts. That’s partly because there often aren’t any sources (who would have analyzed code line by line like this...), and even when there are, they’re usually fragments of knowledge scattered across several sites. Some of it differs slightly by version, some of it is correct up to a point, and some sites even contain completely wrong information, so it feels a bit ambiguous to introduce them as references.
Even so, I try to leave sources when possible, but having too many links also doesn’t really fit the purpose of the posts, so I’ve somewhat let that go for now.
- Top 6 popular posts
It turns out I wrote a total of 30 posts over 1 year and 7 months.
I used the number of likes as the measure of popularity and picked the top six.
1. [etc] Why are i,j faster than j,i in loops over two-dimensional arrays?
Views 3224/Likes 158/Comments 110
This was the post that received the most response. It explains cache misses when looping through a two-dimensional array depending on row-major/column-major access. It would be even better if you also read the comment where someone measured performance with valgrind.
https://frogred8.github.io/docs/014_cache_line/
2. [c++] How short strings are created in std::string (SSO)
5099/147/76
This post reached the hot posts list and got the highest number of views.
Along with the concept of SSO, I analyzed SSO implementations from gcc, llvm, facebook, and bloomberg.
https://frogred8.github.io/docs/018_small_string_optimization/
3. [javascript] Analysis of the for-in implementation
4968/119/59
This post analyzes the V8 implementation to explain why the order of for-in over object objects comes out that way. I was really grateful to the person who commented that this was in the ECMA spec. Later, I tried to analyze why I hadn’t seen it, and it turned out that the Korean version of MDN was missing that content lol
https://frogred8.github.io/docs/022_forin_implementation/
4. [network] The history of CIDR notation
4389/96/38
I organized the part about IP CIDR notation. I wonder if it was popular because there wasn’t much code.
https://frogred8.github.io/docs/026_cidr_range_history/
5. [network] IPv4? Where did IPv3 go?
765/67/6
It’s an extremely short post, but maybe it had broad appeal, so it was selected as the 5th-place post.
https://frogred8.github.io/docs/024_ip_version/
6. [WASM] Understanding asm.js and WebAssembly
1268/62/27
Since this was the first entry in the WASM series, it had a lot of conceptual explanation and was easy to understand, so I think people liked it.
I made it a four-part series, but the rankings kept dropping as it went on, and the final entry ended as the lowest-ranked of all 30 posts, making it a tragic series.
https://frogred8.github.io/docs/010_asmjs_and_wasm/
- Conclusion
Some posts took two months to write, and plenty took two weeks, but putting in a lot of effort didn’t necessarily make them popular.
I guess there’s no helping the fact that broadly accessible posts are more popular.
Still, I enjoyed studying and writing on my own, so I suppose it was good for both the speaker and the listener.
I hope I can keep writing enjoyably next year too, while taking care of parenting, work, and my health.
Previous post: https://frogred8.github.io/
#frogred8 #2023