Contributing on GitHub


After you forked a project and merged back to the original, you can simply delete the forked project.

If you are like me, I always forgot to delete the forked project. When I need to contribute again, I need to bring my forked project up to date with the original source.

There are two ways to do.

  1. Deleted the forked project and fork again.
  2. Bring the forked project up to date with the original.

The #1 is easy.

The #2 is also easy with command line.

In order to bring the forked project up to date, do the following:

  1. git checkout master
  2. git pull ssh:// master
  3. git pull origin master

The above steps are assume no conflict. If there is, you need to take care of it. A more detail instruction can be see from GitHub Help.


How I Work (2019)


I have external two monitors and I kept the laptop open, but I think I can survive with two monitors. The main monitor usually use for the text editor, terminal, and browser. The monitor is display vertically to view documentation or issues. The laptop screen sometimes has Trello, but I think most of the time it has nothing on it.

I recently replaced the magic mouse with a magic trackpad. It was a no brainer to use the magic trackpad if you are on a mac.


My work has graciously upgraded my machine with a mac last year. It’s a 13-inch MacBook Pro with i5 and 8G ram. It’s powerful enough to do my work. The alternative machine is a Dell XPS 13. Ever since I got the mac, I only turn it on once a month or whenever work is necessary.


Sublime Text with Colorsublime GitHub Light theme and Roboto Mono font. The mono file icon is from Braver. It works perfectly for me.

(We should never tell another programmer on what text editor, theme, or font to use. )


The default I switch from bash to zsh a month ago and I never look back. So, my .dotfiles repo seems pretty useless now, except for the vim setup part. The plugins I use are aws, git, laravel5, tmux, and z. I have the tmux autostart flag turns on so each time I launch a terminal, tmux is already launched.


I use Homestead and if I need something extra, I use docker.


Muji Weekly Planner

I use Muji’s Weekly planner. It’s a perfect notebook for me because it’s a weekly planner and the note is squared.


I use Spotify. I was a Google Music user, but the YouTube Music thing got me turned away from it. It’s so sad.

In Spotify, I use their curated focus playlists, it’s helpful. Otherwise, I listen to the musics from Hong Kong and Taiwan.


  • GMail
  • Google Calendar
  • Google Drive / Google Drive File Stream
  • SequelPro
  • Spectacle
  • Spotlight
  • Trello

Goodbye, 2018

It’s has been a good year. There are some ups and downs, but I think it’s mostly up because I chose not to remember the downs.

This year, I exceeded my expectation on the number of books I read. I read a total of 25 books. It partially thanks to the (re-)discovery of public library. Not only I have access to many books, but I got more motivation to finish a book whenever I could because there was a due date return a book. I also got a new Kindle with backlight so I could read with the lights off when my children needed company in their room when they were going to sleep. (I actually didn’t know if it’s good for my eyes to read on a Kindle with backlight on.)

Each year, there were some books gave me new perspectives. Bored with Brilliant was one of them. It reminded me how screen time affected us and I was more aware of how I used my devices. The Pragmatic Programmer and Clean Coder were the books that every programmer should read once in their career. Start with Why and ReWork gave me inspiration and reflection on my working habit. Michael Lewis is still my favorite author.

Having two kids is not an easy task. They want your full attention all the time. I don’t think it’s wrong to have some “me-time” when you are a parent, but it just needs some work. In 2018, I started to wake up at 5am in the morning, even in the weekends, so I could have some “me-time” before the children woke up. To be honest, I didn’t do productive things all the time during “me-time”. When I was not reading, watching LaraCast and conference videos from YouTube, or doing my side project, I found myself watching Netflix. (No, I don’t feel guilty about it, but I think it’s something that I can improve in 2019.)

As of exercise, I picked up swimming in the summer. It’s basically because my son was learning to swim this year. I wanted to make sure I could swim so I could understand what he was going through. My swimming ability was at the “I can survive if I accidentally fell into the pool” level. I started off with holding a kicking board to today that I can swim in 3 different styles completely on my own. I did look funny at the beginning when swimming with a kicking board while the others were swimming with ease. However The experts in anything was once a beginner is the phase that I hold on to so I could go on without thinking about others. (It also helps to swim at 6AM when there were only few serious swimmers focusing on their own exercise.)

I went to two conferences this year, Laracon US and AWS reInvent. I learned a tons from these two conferences. I also got myself certified as a AWS DevOps Professional. It was a difficult exam, but the time I spent preparing for the exam helped me to understand more about DevOps and the tools to help delivering software more quickly and reliably. Having a certification is a bonus, but I value more about the process from learning the new things.

It’s a wrap of my 2018. I did well.

Thanks you, 2018. Goodbye.

Update Laravel Socialite from using Google+ API


The Laravel Socialite uses Google+ API to authenticate user, but since Google+ API is shutting down, the will no longer works.

If you are currently using Google+ API for Socialite Google OAuth2 authentication, you should upgrade Socialite version 4.

If are stuck with Socialite version 3.x because you need to run Laravel with lower or equal to version 5.5 (or because of PHP 7.0), change the composer package to 3.0.x-dev and run composer update as of this writing.

I am expecting Laravel Socialite 3.x Google OAuth API will be updated soon, but the package has not yet released.

Public reach

A tweet from @dhh

I think this can be done. (or should be done.) More than happy to join the team.