Hi there. This is Junsong Li. Welcome to my blog.

If you have read some of my posts, you may notice that I write mainly about technical stuff. That's what I do at work and that's where my interests are.

In this blog, I try my best to not repeat things easily searchable on the web as repeating doesn't add any value. If you find I do, that's only because I like documenting my exploration to certain problems, and these problems may seem to repeat what other people have explored. In this case, these posts still try to provide unique perspectives.

My main interests in Computer Science are among programming language theory (PLT) and large systems. The interest in PLT was developed in school, and carried to work since then. My favorite languages are OCaml and Racket.

My current work is on storage services. I worked on POSIX storage previously and now on Blob storage. Sometimes it feels too much to take care of services from the hardware provisioning, to turning up services, to monitoring services, to improving service cores. Automation helps, only to certain extent. What's more important is the designer of the service must be aware of how the system could fail and provide solid solutions. Working on all stacks of the server lifetime and service lifetime has helped me develop a good sense of reasons for system failures. I hope it also makes me a better system designer.

What do I do besides work?

Here is my badge. I wonder when can I finish all problems.

  • When I feel I am up for some challenges, I work on Project Euler.
  • I enjoy drawing and woodworking in my free time.
  • I read books in both English and Chinese. I occasionally blog about books in Chinese as well.
  • I appreciate good stories. I don't normally play video games unless they tell good stories or they have innovated mechanics. I do own an Oculus Quest, and I like it.

You're very welcome contacting me regarding my blogs or things we both share. I am reachable via Gmail ljs.darkfish (though sometimes I am slow on Email). You can also find me at