Latest Posts

Minimal Ubuntu and i3 Setup

Here are notes I wrote down for setting up a minimal Ubuntu installation on a laptop, with i3 as the tiling window manager. Why Ubuntu? There are a plethora of linux distributions. Initially I wanted to use Debian because of its stability. The primarily purpose of this installation is to act as a host OS for multiple guest VMs. However, I decided to go with Ubuntu because of the vast community support and resources available online. Read more...

Towards a Cleaner, Leaner Website

I found some time in the past few weeks to work on my website, and am excited to finally get this up. After reading a lot of resources about page bloat such as this and that, I wanted to reduce the heavy bloat in my current website. I decided its easier to just build a new site than to remove old code. Here are a few of the goals I wanted to achieve: Read more...

Simple Static Server with Elixir and Plug

Similar to Rack in Ruby, Plug seems to be the de-facto generic adapter for web servers in Elixir. Here’s are simple steps to get a simple static server running. First let’s create a mix project: > mix new server > cd server We can use some default Plug modules to help us with serving files, namely Plug.Router and Plug.Static. First lets add in the dependencies in mix.exs: defp deps do [{:cowboy, "~> 1. Read more...

Web App Security Notes

Here are some of my brief notes on the topic of web app security basics. Most of the info is paraphrased from the wikipedia links in the References section. Same-origin policy and CORS Same-origin policy states that a web browser permits scripts on one web page to access data on another web page, but only if they have the same ‘origin’. Origin is a combination of the URI scheme(protocol), hostname, and port number. Read more...

A New Beginning

Back in 2012, I started to learn about web development and decided to make my own personal website. My only criteria for the website was that it could handle blog posts and other simple pages such as project links. I wanted to use a more ‘hackerish’ framework, so I went with Octopress at the time. Octopress uses Jekyll, but takes care of configuration, HTML/CSS templates, js, etc. for you. And it comes with a nice default theme 1. Read more...