TL;DR

  • Welcome to my personal website. Opinions are my own.

    My professional interests include cybersecurity and cloud. I also write about my hobbies and projects outside of work. This website is hosted on Firebase

SAML, OIDC and OAuth 2.0 in a Nutshell

SAML and OIDC What is the Real Difference Between SAML and OIDC Both SAML and OIDC are authentication protocols and some times were referred to as identity protocols. The basic login flow for both is the same. A user logs in to the Identity Provider. The user selects which app to access. The user’s information is passed from the IdP to the user’s browser or other endpoint. The endpoint passes the information on to the application....

<span title='2022-08-31 00:00:00 +0000 UTC'>August 31, 2022</span>&nbsp;·&nbsp;2 min&nbsp;·&nbsp;David Xiao

A few basic Hebrew words you can learn

Toda - Thank You “Toda” is pronounced basically “toh-DAH,” with the emphasis on the second syllable. This is important — if you put the stress on the first syllable (“TOH-dah”) it will make the word sound bizarre and may make it hard to understand you. It’s like pronouncing the English word “enough” as “EE-nuff” not “ee-NUFF”. If you want to express sincere appreciation, say “Toda Raba” which means “Thank you very much”....

<span title='2022-08-19 10:40:46 -0700 PDT'>August 19, 2022</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;David Xiao

Build Your Own OVMF Firmware for Qemu VM

Overall Reference https://wiki.ubuntu.com/UEFI/EDK2 My Environment Hypervisor OS: Ubuntu 20.04 LTS Kernel: 5.4 QEMU: 6.1 Guest OS Type: pc-q35-6.1 Before You Start It does not seem to support zsh and oh-my-zsh, if you are using those as default shell like me, please first run bash and then rest of the commands in this guide. If your nasm version is less than 2.15.05 it may have some compatibility issue per this. To install nasm_2....

<span title='2022-07-24 12:49:46 -0700 PDT'>July 24, 2022</span>&nbsp;·&nbsp;2 min&nbsp;·&nbsp;David Xiao

A not so complete guide on building a home server

This is a curated, opinionated guide to building a full-stack home server from hardware to application. The goal is to provide a linux environment that can manage VMs, containers and microvms with ease. As a platform, it allows the enthusiasts to experiment and try out new stuff such as PCI passthrough, AWS Site-to-Site VPN and more.

<span title='2021-08-21 00:00:00 +0000 UTC'>August 21, 2021</span>&nbsp;·&nbsp;9 min&nbsp;·&nbsp;David Xiao

Deploy a web app within 5 minutes

Learn how to deploy a demo Python 3 web application on Google Cloud AppEngine. AppEngine is a managed platform on Google Cloud that allows customers to quickly deploy a scalable application without provisoning infrastructure.

<span title='2021-07-05 00:00:00 +0000 UTC'>July 5, 2021</span>&nbsp;·&nbsp;2 min&nbsp;·&nbsp;David Xiao