Dark theme is one of the most requested features over the past few years. The most popular reason is that “it’s easier on the eyes,” followed by “it’s elegant and beautiful.” Apple in their Dark Mode developer documentation explicitly writes: “The choice of whether to enable a light or dark appearance is an aesthetic one for most users, and might not relate to ambient lighting conditions.”
If you are not sure how to write a chrome extension, you may first have a look at my previous story How to use React.js to create a cross-browser extension in 5 minutes. It teaches you how to use create-react-app to build a browser extension for the new tab.
The extension we built was good, but every time the user opens a new tab we will reload the latest trending repositories from API which could take a few seconds. Even if it just takes a second, it is still slow for a new tab opening.
What if we fetch data in background periodically, save the data in localStorage, and read it on open a new Tab? …
For example, if you want to get all the project titles from GitHub trending page, you could use below code snippet. …
Update: this blog post was originally targeted for Chrome extension, I have recently ported to Firefox and would like to share what I have learned here as well ✨.
Recently I have tried to create a Chrome extension that replaces new tab screen with GitHub trending projects, and it got trending in Product Hunt. I built it using create-react-app and I would like to share how I did it, in 5 minutes.
The Chrome extension I created replaces new tab screen to a custom page which I built with create-react-app. It does not matter which framework you are using — React.js, Vue.js, or vanilla HTML with CSS and JS, as long as you could serve the HTML file in the browser, it will work as a Chrome extension. …
git add -pwill add your changes in chunks, like what SourceTree is able to do, but
git add -pis more powerful, you can even divide chunks into smaller pieces.
git show <SHA>will show all the details of a commit, which I did not know before.
git merge --no-ffwill merge with a merge commit, even if there is no conflict and git is able to fast forward, and I finally learnt what does fast forward means. …
Recently, I decided to migrate my blog to Gatsby. Gatsby is a blazing fast static site generator based on React.
There are two kinds of people: people who write on platforms like Medium and people who code the blog themselves using static site generators.
There are lots of advantages to writing on public platforms like Medium over static site generators. If you write in public platforms, you can write on a laptop, and edit on your phone. Once you’ve finished writing, you just need to click the “Publish” button. …
I was struggling for years to figure out what I want and what goals should be my top priorities.
I want to build an awesome startup; I want to meet more awesome people and know more people; I want to improve my design and frontend skills; I want to win design awards; I want to learn iOS development and Swift language; I want to finish reading books in my list; I want to improve my English; I want to travel around the world; I want to finish triathlon; I want to attend Boston marathon; I want to write stuff of what I just learnt; I want to learn lots of new things and technologies; I can keep going for ten minutes if you really want to hear. …
The book “Get Things Done” said that people are more productive if they know what to focus in different contexts. To keep a reference, I am listing my list of things to do for different contexts.
Night is the most important time to improve myself.
Just do all the non-working stuff and relax for the whole day.
Sunday is the only day which I have long block time, use it wisely and get something significantly done.