Yan Han's blog
On Computer Technology
Home
About
Bookshelf
All Posts
Tags
Posts
02
Jun 2020
CKA exam guide
CKA specific pointers. Does not overlap with my CKAD guide.
02
Jun 2020
CKAD exam guide for experienced k8s users
Useful kubectl commands and knowledge for the CKAD exam
01
Jun 2020
CKAD / CKA exam tactics
Non curriculum related exam tactics for CKAD / CKA
20
Feb 2018
Vim abbreviations for a specific file
How to have vim abbreviations that apply to a specific file
20
Feb 2018
How to disable Control Q on Firefox 57
NOTE: This applies to Firefox 57 on Linux. Open a new tab and type about:config in the address bar and press enter You...
11
Feb 2018
My notes / cheatsheet on the top program
Over the last week, I have been spending some of my free time learning how to use the top program. These are some notes ...
09
Dec 2017
Haskell deep dive: zsh-git-prompt
In How To Become A Hacker, Eric S. Raymond gives the following golden advice: Learning to program is like learning to w...
09
Dec 2017
How to install zsh-git-prompt
This post shows you how to install zsh-git-prompt, a program which customizes the zsh prompt by displaying additional in...
26
Nov 2017
Using Swagger UI with any codebase
This post shows you how to use Swagger UI with any codebase. There are no library dependencies once you extract the asse...
27
Sep 2017
How to use GPG to encrypt stuff
You want to exchange a message / file securely with another party and do not want anyone else to look at the information...
11
Aug 2017
The best way to install python on Mac OS X
NOTE: This post is pretty much opinion based on my own experience. Also take note of the date it was written because thi...
10
Aug 2017
Haskell: demystifying composing compose with compose
Problem Statement Figure out the type of the following Haskell code, why it has that type, and what it does: (.) . (.) S...
02
Jul 2017
haskell-vim-now / ghcmod-vim: Resolving 'ghcmod#command#type Cannot guess type' errors
NOTE: This post features a very hacky way to work around things which will likely never be merged into the ghcmod-vim pr...
01
Apr 2017
Reproducing "What Programming Languages Are Used Most on Weekends?"
reproducing-what-programming-languages-are-used-most-on-weekends /*! * * Twitter Bootstrap * */ /*! * Bootstrap v3.3....
15
Feb 2017
Analysis of the Adult data set from UCI Machine Learning Repository
uci-ml-adult-dataset /*! * * Twitter Bootstrap * */ /*! * Bootstrap v3.3.7 (http://getbootstrap.com) * Copyright 2011-...
01
Feb 2017
My first Machine Learning project: Using Naive Bayes to classify tweets
Source code: https://gist.github.com/yanhan/d9061c9575d14228d2a9ecc9519a55aa Before we go into the main content of this ...
01
Aug 2016
My notes on: Job Bouwman's answer to "What is the toughest question ever asked in any interview?"
A while back, this answer by Job Bouwman appeared in my Quora digest and I enjoyed reading it (Thank you Job!) so much t...
10
Apr 2016
How to prevent mpd from starting on boot on Ubuntu 14.04
mpd refers to the Music Player Daemon, whose official website is at https://www.musicpd.org/ TLDR On the command line, r...
25
Dec 2015
On the Unofficial Bash Strict Mode by Aaron Maxwell
A few weeks ago, I chanced upon a blog post by Aaron Maxwell of redsymbol.net, titled Use the Unofficial Bash Strict Mod...
12
Dec 2015
Templating Ansible style YAML files with only variables
Introduction Suppose you are working on a project in Ansible and you need want to combine some YAML files which contain ...
10
Nov 2015
Creating a Vagrant base box: some important details
If you have not done this before Instead of reinventing the wheel, I highly recommend that you read Nicholas Cerminara&r...
26
Oct 2015
How to uninstall then install brew: a short adventure
Roughly 2 weeks ago I was writing a Bash script to automate some stuff, one of them being installing brew. To test if th...
15
Sep 2015
Note on Think Stats Exercise 5.13 Part 1 aka Using what I learnt in a Mathematical Statistics class
NOTE: This post has been delayed by 2 weeks due to me falling sick on the week beginning 23 August. A lot of momentum or...
13
Aug 2015
Note on Counting: Exercise 13.26 answer
Similar to the last post, this is a short note detailing some of my thoughts to the answer to Exercise 13.26 in the book...
10
Aug 2015
Note on Counting: Exercise 13.17 answer
This is a short note detailing some of my thoughts to the answer to Exercise 13.17 in the book Counting, by Prof Koh Khe...
04
Aug 2015
Note on Think Stats: Multiplying a Pareto random variable with x_m = 1 by a positive number - what do we get?
NOTE: Having only a very basic and recently acquired formal education in Probability and Statistics, I have no idea how ...
25
Jul 2015
How to install matplotlib using virtualenv on Ubuntu
System Requirements This was done on a system with the following specifications: Lubuntu 14.04 (which is pretty much Ub...
23
Jul 2015
Note on Think Stats: Given the PMF of a random variable X, compute the variance of X
This week, I started using some free time to read Think Stats by Allen B. Downey. So far it’s been a pretty good b...
06
Jul 2015
How to restore a deleted `arc feature` branch
Updated: 17 July 2015 NOTE: There may be some (ok perhaps a lot of) mistakes with regards to Phabricator and Arcanist te...
24
Jun 2015
My notes on: Is anyone aware of another method of deriving 1/2! without using the gamma function?
NOTE: Sometimes I chance across brilliant answers to interesting Math questions on Quora and felt like rearranging and/o...
20
Jun 2015
Bash stuff I recently encountered
Last week, I’ve been working on my provision-ubuntu repository and getting it in a better shape to put in on Githu...
20
Jun 2015
I'm back!
Thoughts on getting back It’s been a while since I blogged here. To be exact, it’s been half a year since I&...
21
Dec 2014
Why I dropped CS3216
Primary reason - for CS1010S. Being a tutor for CS1010S takes up a lot of time. Didn’t want to shortchange my team...
09
Aug 2014
What I hope to learn in CS3216
CS3216, one of the two premier Software Engineering modules at the School of Computing, National University of Singapore...
15
Jun 2014
Announcing: cljs-nusmods (alpha release)
Update Dec 2017: This project is long dead. And it will stay dead. Like a lot of things I have built in the past, this i...
04
Apr 2014
How to build the Storm client from source
Introduction This article touches Storm 0.9.0.1 and should be relevant for 0.9.x releases. If you’re facing proble...
25
Mar 2014
How to setup the storm-starter repo
Just today, I have faced an issue which took up (wasted) several hours of my time in a rather painful way, so I thought ...
04
Mar 2014
GPG - How to trust an imported key
Recently I’ve faced this problem when trying to encrypt a file using my own gpg key, created on another machine an...
04
Mar 2014
How to solve "cabal: Codec.Compression.Zlib: premature end of compressed stream" - the easy but time consuming way
TLDR If you are already extremely frustrated by this problem, the solution is just: cd ~/.cabal/packages/hackage.haskell...
31
Dec 2013
Year 2013: Top 10 Reads
After seeing Michael Fogus’ review of year 2013 , I was inspired to do a similar, but less ambitious review, just ...
23
Dec 2013
On CoffeeScript Mixins
CoffeeScript offers some rather nice improvements over JavaScript. One feature which I personally find very useful is th...
22
Dec 2013
cabal - installing test dependencies
Update Dec 2017: Dear reader, this post was written in a time when Stack did not exist and Haskell users had to deal wit...
13
Dec 2013
Vim: Install Solarized on Mac OS X
Today, I finally got sufficiently irritated about the color Vim uses to display comments in Ruby (on a Mac OS X system),...
30
Nov 2013
Using cabal sandbox libraries
Update Dec 2017: Dear reader, this post was written in a time when Stack did not exist and Haskell users had to deal wit...
16
Oct 2013
Github Pages - A short tutorial
Github pages is a platform for you to publish a static web page about your open source project(s) on Github. Good exampl...
16
Oct 2013
Algorithms Presentation @ General Hackers, 11 Oct 2013
Shortly before the end of my internship at BillPin, I was introduced to Calvin Cheng. I was told that Calvin is a founde...
06
Oct 2013
A short note on testing
I was writing some tests using the testthat package for R, and got this when I ran the test file: which is pretty good m...
27
Aug 2013
A very long AngularJS tutorial
Update Dec 2017: Dear reader, this post was written in 2013 and covers Angular JS 1.0, which is very ancient. In case yo...
21
Aug 2013
Hello World!
This has been in my waiting list for at least 1 year. Today, I finally start my own blog, my little corner on the Intern...