Hello World

Posted: October 18, 2023

Welcome to my blog site!

Hello World

Hello, my name is Clement Chan. Welcome to my first-ever blog!

Why my own blog site?

I got inspired by other bloggers to start writing my own blogs. I feel like I encounter a lot of things that will be useful to reference or fun to know, both for my future self and potentially for others too.

Another big incentive behind this was to learn more about web hosting, frontend development, and new tech stacks/packages - a part of this included making blogs. I have a future post planned which will dive more into how I made this website.

You may be wondering why I'm not putting these on popular blog sites like Medium or dev.to. There are several good reasons:

  • Full ownership: I get to control my data and write whatever I want. I can also make my blogs look different from others.
  • No advertisements: Every time I look at a Medium article, I get annoying boxes asking me to sign in to Medium. That won't happen here!
  • Custom features: While Markdown is cool and all, I want to exploit the potential MDX has to offer. No other blog (as far as I'm aware) allows you to make stuff like these things:

Fnal={(Wl+1TFnal+1)hl(al)if l<L2(hL(aL)yn)hL(aL)else\frac{\partial F_n}{\partial a_l}=\begin{cases}(W_{l+1}^T \frac{\partial F_n}{\partial a_{l+1}}) \circ h_l'(a_l) & \text{if } l < L \\ 2(h_L(a_L)-y_n) \circ h_L'(a_L) & \text{else}\end{cases}

public void ThrowRockAt(GameObject targetObj, GameObject sourceObj, float throwVelocity, float arcFactor, Vector3 shootPoint = default(Vector3))
{
  var source = shootPoint == default ? sourceObj.transform.position : shootPoint;
  var target = targetObj.transform.position;
  Vector3 toTarget = target - source;
  float xzDistance = Mathf.Sqrt(toTarget.x * toTarget.x + toTarget.z * toTarget.z);
  float t = toTarget.magnitude / throwVelocity;
  float initialY = source.y;
  float endY = target.y;
  float peakY = (initialY + endY) / 2 + arcFactor * xzDistance;
  gravity = -4 * (initialY - 2 * peakY + endY) / (t * t);
  float vy = -1 * (3 * initialY - 4 * peakY + endY) / t;

  rg.AddForce(new Vector3(toTarget.x / t, vy, toTarget.z / t), ForceMode.VelocityChange);
}

By the way, I don't intend this blog site to be a place that people follow regularly. This means I don't plan on posting often, nor will I always make sure that what I write is 100% grammatically correct.

What will be in my blogs?

The blogs I write will mostly be centered around technology, and content may include:

  • Guides on how to do certain things I struggled with
  • Summarizations on research I did
  • Random yet intellectual insights

For the most part, these blogs are generally for my own sake, but I hope that some of these blogs may help others as well.

Back to other blogs