Books I loved in 2019

In 2019 I have been fortunate to go through several very interesting books. Following are a brief description of each of them.

  • Bad Blood: Secrets and Lies in a Sillicon Valley Startup (John Carreyrou)
  • Philosophical Investigations (Ludwig Wittgenstein)
  • Kant: a very short introduction (Roger Scruton)
  • Practical Programming for Strength Training (Mark Rippetoe)
  • Other interesting books

Read More

Familiarizing with Bash

This blog contains some notes for using bash command. I’m writing them here in an “aid-sheet” style. This could also be a concise, elementary tutorial into bash. I’ll group them into following sections.

  • File system navigation (cd, ls, cat, du, df)
  • Playing around with variables

Remote working

  • Connect to remote computer (ssh, sftp, wget, curl)
  • Compress / uncompress files (dpkg, tar, zip)
  • Run programs remotely (chmod, nohup, &, &&)

Processing data

  • For loop, sed, find, grep, piping

    Read More

When Pearl Meets Kant

This blog contains some random thoughts about Pearl’s The Book of Why Kant’s Critique of Pure Reason. The former is about probability reasoning, and the latter about metaphysics. Nevertheless many ideas fit into each other.

  • Correlation vs. causation
  • The structure of reasoning
  • Deconfounding as transcendental illusion

    Read More


This blog contains my compiled notes for NAACL 2019 at Minneapolis, Minnesota.

  • 0602 Sun:
    • Tutorial: Measuring and modeling language change
    • Tutorial: Adversarial NLP
    • Tutorial: NLI
    • Tutorial: Language learning & procesing in human and machines
  • 0603 Mon:
    • Keynote: language as a mirror of society
    • Session 1A: Cogitive
    • Panel: Careers in NLP
    • Session 2: Dialogues & discourse
    • Session 3: Poster: biomed applications
  • 0604 Tue:
    • Session 4D: Poster: Discourse, IR, MT, Vision & Robo
    • Session 5A: Multilingual NLP
    • Keynote: When computers spot the lie and humans do not
    • Session 6D: Question & Answering
  • 0605 Wed:
    • Keynote: Building ML apps that humans can use
    • Session 7F: Posters: ML
    • Session 8E: Bio & Clinical
    • Session 9D: Cognitive & Psycholinguistics
  • 0606 Thu:
    • Tutorial: SemEval & *SEM & DISRPT
  • 0607 Fri:

Software Lessons from Distributed Systems

This semester I worked in the first non-trivial-size software engineering course project, ECE419, where a team of three students wrote a distributed key-value storage service using Java. Reflecting on the team work, there are several things I found important for software engineering teams:

  1. Remember that we make mistakes.
  2. Be open to different expectations.
  3. Workload balancing remains an open question.

    Read More

4+4 Books I loved in 2018

In 2018 I have been lucky to go through several very interesting books. Some are published new, and some others have been popular for long time. Following are them.

  • The Book of Why (Judea Pearl, Dana Mackenzie)
  • Surely you’re joking, Mr. Feynman (Richard Feynman)
  • 12 Rules for life: an antidote to chaos (Jordan Peterson)
  • Journey from the outside (Ray Allen)
  • Other interesting books

Read More