Saturday 22 April 2017

Releasse 4 - Tutorial about how to create a new Starting Kit

I was planning to fix Issue668 as my fourth release.

After talk to professor about this issue, I quickly put the right code back.

However, becuase the branch I was working on did not merge into the master branch on mozilla/brackats until the last minute, it force me to change my plan.

I would like to keep working on that issue (not for acdamic study actually make me feel better).

Luckly, I find another thing for myself to do.

Several days ago, I create a Starting Kit for thible. (see Blog)

It takes a lot effort to understand the background logic.

However, what take most of the time is writting the tutorial page and the Teaching Kit..

In this case, I was wondering: why don't I make a tutorial for teaching people how to make a Starting Kit?

Then I worked on it.

I first modified the old Teaching Kits into a template.

Link: Template1 & Template2.

View:
 &


These templates would save huge amout of time for people who want to ceate a new Staring Kit.

Then, I modified the tutorial.html.

By adding a little bit of text, a new tutorial would quickly be made by contributors.

Finally, I use the tempate of the tutorial.html to make a tutorial for creating new Starting Kit.

Views of both page:


I was thinking about making the tutorial into a README.md version.

I will keep contact on this issue with the community and figure out the best solution.

Link to the pull request: here

Lab 8 - Unit Test

What is the best thing that a programmers could ever meet? PASS the test, No bug!

That is what I feel after I saw this page:


In this lab, we made our own test for our own program.

Try to broken my own program is a really strange feeling. (usually people won't positively look for trouble to themselves)

My program did broken several times during my test, and some times I have to spend an hour change the code & google for sulotion.

The test file is much longer that the original file.

Cover every different cases is not easy. I talked to my classmates about the possible cases that might broke my program.

Thank god, I pass they all. Testing other people's job is never a easy work.

Releasse 3 - Fix few bugs about Starting Kit.

As I keep working for the Starting Kits, I find there are huge amout of bugs. (probably because no one really goes into those Kits)

Here are few bugs I found: Issue2012Issue2028 and Issue2033.

I fixed every bug that I am able to fix (Pull2027), but most of the bugs are bugs that normal contributors cannot approached. (because Starting Kits are all works published on other people's accout).

I opend up issues, and hopefully that administrators of thimble would be able to fix those bugs.

Also, as people mentioned in the Issue1917, stay-calm project under the default folder is useless.

In this case, I removed all those files after test.

Testing this is not a easy job. Because the thimble reciently updated to bramble, I have to run both old/new code, in order to make sure that everything works fine.

Here is the work I did: Pull2011

Thursday 16 March 2017

Brackets vs. Atom

Brackets vs. Atom

Brackets and Atom are open source code editor that developend by Adobe and Github sepriately.

In this blog, I will introduce some basic operations in these two code editor. Hopefully this blog will give you some idea about which one should you choose.


Q1: How to open a file, a folder of files?

Left: Atom vs. Right: Brackets


Q2: How to change your indent from tabs to spaces, 2-spaces, 4-spaces, etc?

Left: Atom vs. Right: Brackets

Q3: How to open the editor from the command line?

Just call: atom || brackets

Q4: How to find things?

Click on the dorp down menu: Find.

Q5: How to split the screen into multiple panes/editors/views?

Left: Atom vs. Right: Brackets


Q6: How to change keybindings?


Atom: 


Q7: What are some common key bindings?


Atom -> Find common key: Ctrl + Shift + P


Q8: How to enable/use autocomplete for coding HTML, JS, CSS, etc?


Atom: Click on Tab.

Brackets: Click on Enter.

END.

Download: Atom -> https://atom.io/ ||  Brackets -> http://brackets.io/


Add-On:

Many useful addon applications are availiable on-line for people to download. Here I will use several addons on Atom as example to show you how those addons works.

In Atom, people can simply go Setting to install addons.






More interesting Add-On: https://atom.io/packages (linter, minimap-pigments, ect.)

VirtualBox causes SYSTEM_SERVICE_EXCEPTION / Windows 10 Blue Screen of Death - Disable Hyper-v

Disable Hyper-V!!!
Disable Hyper-V!!!
Disable Hyper-V!!!

It is sooooooooooooo important, so I have to say three times.

Windows 10 automaticaly enabled hyper-v (for me, it is).
Enable Hyper-V will cause Blue Screen of Death when you shut down your virtual machine on VirtualBox.

If you have the same problem, just try is first. Disable Hyper-V is not harmful for you system, so just try it.

How to disable Hyper-v:
Go to Control Panel ->



I spend hours to find this issue. I hope this blog could help someone.

If you find any mistake I made in this blog. Please tell me in the comment. Thank you.

Tuesday 7 March 2017

Releasse 2 - Add a Starting Kit for AFrame web VR

AFrame web VR is really attractive.

I spend several days on playing with all the API's that aframe provide me.

There are a lot of open source project that already made by other developers.

The animation they made are soooooo attractive.

For example:


And:


The 360 Image is also really good:


I learned a lot from other people's code.

Finally, I make my own Starting Kit based on their example, and I also add some advance features:


Please go and play with it: A-Frame web VR

It doesn't look that fancy, but I think it is easier for a beginner to understand.

I also saw other people made a Starting Kit for AFrame, too.


However, I'm prode to say that mind is much better the old one.

Thursday 9 February 2017

Thimble VR: Create A-Frame Starter Kit (Issue 1609)

I was planning to fix the bug 1609 as the second part of my realease one.
Howeve, it is such a big project that need a lot of time to finish.

As a result, I will work on it as my second release.

Hopefully I could finsh the docqumenting faster...

Here is the my issue:#1609

Lab3 first issue(#1608)

This bug become the most challenge bug I have ever fixed.
I spend the first week on hosting thimble on my own laptop.
The I started working on AFrame VR on the second week.
In the beginning, I am working on two issues with AFrame VR.
I have no idea which one I can fix.

On this Tuesday, my prof suggested me to switch to another topic because I might not be able to finish this bug before Friday.
However, I am sooooo interested in VR topics so I kept working on my issues.

I finally fixed one of my issues tonight, so I am writing my blog here.
Issue 1608:
Here is the detail of my issue: #1608.

The problem I have and how I fix it:
The first problem I have to solve is how to reproduce the bug on my device.
I published a sample VR website on thimble, and I successfully reproduced the bug on my phone and Lenovo pad.
However, I cannot debug on my phone or pad.
When I comes to my laptop, the remix button just jump to the top of the webpage, so there is no bug anymore.
I use the Chrome web debugger to find out which div I want to find.
I find the right div and the right css class.
There is a certain class called touch-mode that determine where the remix button is.
I spend 6 hours on try to reinstall thimble on my pad but I failed.
I finally find out that Chrome debugger could change the css directly.
I tested my change on the chrome and push the new branch on to github.

Here is my pull request:#1724

Thursday 26 January 2017

Release 2 - Need more work

I was planning to fix the bug 1609 as the second part of my realease one. Howeve, it is such a big project that need a lot of time to finish.

As a result, I will work on it as my second release.

Hopefully I could finsh the docqumenting faster...

Lab2 - My First Pull Request

This is my first pull request: base64-js

I changed a little spelling mistake in its package.json, and I also put more keywords in there.

I feel really good about what I did. This is the first time I work with other people's project on github.

Will he accept the changes? I don't know. Hopefully he will.

No matter he will accept my pull or not, I am going to keep working on Open Source from now on.

Friday 13 January 2017

DPS909 Lab1

Here is Jay(Zenan Zha). This is a blog for course DPS909's first lab.

The open source project I found is Otter.
Otter is a database updating application that developed by Alibaba operation.
The B2B business of Alibaba operation usually required huge amount of data communication between databases that locate inside and outside China. In order to enable write permission for databases on both side, Otter is coded to transport the log data between databases for Alibaba operation.
Started from 2004, Otter have translated 1.5TB data between Alibaba's databases. Fourth edition of Otter is running on all Alibaba's server served for their B2B business. Otter now could support more that eighty group of servers work at the same time. Alibaba's programmers are response to develop this project until know.
Otter is fully developed by Java language. It supports mysql database and oracle database. Based on another open source object called Canal, Otter recorded binary log events into its binary log, and send the log to the slave servers and ask them to do the same operations. In this way, different databases would be able to update in the safe and quick way.

Link: Otter on Github (https://github.com/alibaba/otter)