Skip to main content


Standard Deviation vs. RMSE

I came across the concept of Root Mean Square Error (RMSE) two days ago at work, while investigating 3-D localization using Google Cartographer . I was familiar with the difference between RMSE and standard deviation previously, but at work I seemed to have gotten them mixed up (again). Like various other concepts that I frequently learned to forget, I figured I should write it down somewhere in case I need a quick refresher, hence this post. To get started, let's begin with their similarities. The standard deviation, generally represented by the Greek lowercase sigma letter $\sigma$, and the RMSE are similar mathematically: they are both metrics to measure the variance of a variable from a reference . Put simply, they tell you how much a variable you are measuring/estimating 1 vary from a reference. For example, if you get a high value in $\sigma$ or RMSE, you know that the variable that you are measuring/esti

How to set up SSH keys to access remote servers

In an earlier post , I mentioned how to switch your GitHub remote URL from HTTPS to SSH, which can improve productivity. Now before you can push and pull your repositories automatically, you'll also need to set up your SSH key. Setting SSH keys is extremely useful and can be applied to other uses outside GitHub; essentially whenever you need access to a remote server you will be required to provide a username and password, and setting an SSH key allows secure access to the desired server without having the user to provide that information every single time. SSH stands for secure shell or secure socket shell, and is used for secure access to a remote server. When you use SSH to connect to a remote server (i.e., another Linux computer), you create a shell session on that server through the terminal on your system. This text-based interface allows you to send any command remotely from your system to that server.

Template / Style Guide

This is a post to record my templates and style guide I use for my posts, which is done in HTML. More could be added as more posts are published. Update: since 08/01/20, blogger provides a format HTML capability, so HTML formatting should be taken care of mostly. Otherwise, the rules below should apply. For justified word wraps and smaller font, wrap each post with: <div style="text-align: justify; font-size: 80%"> ... <div> For code blocks, like the one above, use these values: <div style="background: #f8f8f8; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;"> <pre style="margin: 0; line-height: 125%"> <span style="color: #888888">YOUR FIRST LINE OF CODE HERE YOUR INDENTED CODE HERE MORE INDENTED CODE ANOTHER INDENT LEVEL CODE CLOSING TAG

How to switch a remote repo URL from HTTPS to SSH (and vice versa)

For my first post, I figured I could start with something really simple. I encountered this at work some time ago, but I forgot how to solve it after encountering it once again recently. Basically, I realized that (after not updating my website for awhile) I git cloned my repository using HTTPS instead of SSH onto my laptop. For the sake of convenience, I wanted to be able to do git pull, push and so on without having to validate my identification every time. This is awfully simple, but I figured I might as well document this in case I forget it in the future, and hopefully this helps someone in need too. I referred to the GitHub documentation for the following tutorial. When cloning repositories, you can choose whether to do it via HTTPS or SSH. A HTTPS type clone is creating a copy of a remote repo which you do not have automatic write access to , while an SSH type clone gives you the access to push your changes (as long as you have an SSH key set up) automatically . Hence,


This blog is a result of my many instances thinking "I should write down this really cool thing I'm learning/implementing somewhere", and then proceeding to write it down with pen and paper before losing that documentation for good. After struggling time and time again trying to find notes of something I did or learned, I figured writing a blog that appends to my website / online portfolio would be a good way of storing them. As the famous quote (often mistakenly attributed to A. Einstein) goes, "if you cannot explain it simply you don't understand it well enough" 1 , this blog also serves as a great way to reinforce my understanding of the subjects I'm learning by forcing me to explain the concepts as intuitively as possible. I have enjoyed explaining concepts to people, and have considered that perhaps I'd like to teach someday, which is another benefit to setting up this blog. I should be setting up posts soon (I hope!), so stay tuned. Than