OSD - Release 03

In this release, I'm going to find projects which I'm interested. In this release, I'm going to fix some bugs if possible. I hope to find projects to keep contribute not only for release but also in the future.

I really like Android projects. So I want to find some Android projects to work on. I Googled 'Android open source project', and I found some articles introduce it.

I tried some of the projects. I reviewed some issues information. At last I choose Leafpic to contribute.
Leafpic Introduce Leafpic is an Android open source project provide some basic features for photos viewing, managing, editing and sharing. It's a light application running very smooth in Android devices. It has Simple interface and I like it very much. It has around 1300 commits, 9 releases and 50 contributors. It's a good project for our practices.  Potential Bugs to Fix1. Leafpic: Rate app option …

OSD600 - Lab 6: Fixing URL bug in Brave browser

In this lab, we are going to fix URL searching bug in Brave browser. Although each browser has its method to handle URL parsing, we hope Brave browser can get the same searching result as those famous browser does. For me, I like Chrome browser the best. So I'm going to fix Brave URL bug to make it have the same result as Chrome does.

Here's the link of our lab:

After a few try, we get result from Chrome and Brave. They have different results in some way.

The results are different in URLs which have space inside URL. Then I compare the URL results of them.


So I think Brave doesn't replace the space in URL like Chrome does. So Brave separates the URL into 2 parts and search them through searching engine. Our main purpose is to replace it to "%20" in order to let it work in Brave browser.

First we know, Brave already handle the trim function. When Brave get input from address…

Release 2: Contribution to open source project

In release 2, we are asked to contribute to an open source project. I choose Brave browser to make some contributions. About this project, click my previous blog:

Build the Project It's easy to build the project. Download the package from Brave github. CD to browser-laptop. Then run several commands:
'npm install' 'npm run watch' 'npm start'
Then the project is successfully built.
Here is the interface of Brave:

Using in my language After I installed it, I want to know if it supports in my language. So I set it to Chinese. It does suppot Chinese, but I found some of strings haven't been translated yet.

Well, it's interesting to translate it.
Translate.. I find all languages file are located in "app/browser/extensions/brave/locales". There're 26 folders. Each of them has different language. US English is in "en-US". Japanese is in "ja-JP". Simplified C…

Lab 5 Add feature in existing object

In lab 5, we are going to add feature in existing object. It's a map web application provide bridge and troll data.
Here's Github of project:

We are asked to add feature so that the colour of the map can change base on different time in day. Bright theme will be used in day time, while dark theme will be used in night time.  See more description here:
So I fork the project to my github, git clone it to local laptop, use npm to install it and run it. The project run fine in my laptop without errors. 
Then I start to change codes to make new feature.
At the beginning, I need to find themes for map. One is bright and one is dark. I Google 'leaflet theme'. The first of the result is "Leaflet provider demo". I click inside the website, it provides many themes for us. It also provide the code for every theme. Amazing!
Then I need to work in the codes.
Here's my codes: In the …

Brave browser for laptop

Most users will choose Chrome, Firefox or Safari as daily use browser. They are fast, secure, lightweight software.  Brave web browser is another choice. It looks like a new baby in browser world. It's published in around 2 years. It's an open source project based on Chromium and its blink engine. The main purpose of this project is to block websites trackers and block advertisements. Brave browser wants to provide users a pure experiences to browse through websites.

Brave browser supports multiple platforms. Those includes desktop systems like Windows, Mac, Linux and mobile system like Android and IOS.

Brave browser is extremely fast. Here are videos of comparing other browsers to Brave.
Brave vs Firefox:
Brave vs Safari:

For more comparing data, click in official websites:

Since Brave is an open source project, it has a large community and lots of developers supp…

Studying for open standard

In recent couple of classes, we learned about the standard of programming world. There're thousands of programmers in the world. All of them have different coding style. Before a language become a "language", it needs a "standard" so that the language developers can design it with those standard rules. That's why Java looks like this and Javascript looks like that.
But standard is not unchangeable. Programming world is developing fast. Many languages need to be upgrade too. In this lab, make "reverse" for example. Long time ago reverse is not a standard in Javascript language. Programmers want to reverse array so they designed this function and made it work without bug. They name it, use it again and again, fix all bugs they found. Then more and more programmers used it. Finally, it became standard in Javascript and many other language such as Java.
One of the way to find bugs is to write a tester. In this lab, we will test ECMA262. ECMA262 is a s…

VS code debugging note

Here I'm going to share experience of debugging vs code. I pick issue #26956 for example(not sure if I can fix it).

Issue:#26956 : Can't find files starting with `./` on MacOS.

Steps: 1. Open vs code development. 2. Try if issue exist. 3. Find the relative code for issue. 4. Modify code to fix the bug. 5. Try if issue fixed. 6. Test error. 7. Pull request to repository.
Let's begin: 1. Open vs code. In terminal, go to vs code directory. Open vs code using this command:./scripts/  2. Try issue. Press 'cmd+p', type './' in the search box. It seems like this:
    Yes. The issue is exist. We can start debugging it.

3. Find relative code: To find the code, we can use a tool called "Toggle Develop Tool". Press 'cmd+shift+p', type: 'developer:toggle develop tools'. It should pull down a list. Click the first one shown as below: The interface of the develop tool is like this:

Then, I find the element for file search bar. Expand all co…