How Good C# Habits can Encourage Bad JavaScript Habits: Part 2 – False-y, Testing and Default Values, Comparisons, and Looping

This post continues to focus on areas where C# developers tend to make poor decisions when writing JavaScript based on their previous training. The languages are syntactically similar enough that C# developers tend to not invest the time to learn JavaScript’s differences.

The following post points out several misunderstandings that can get you into some confusing situations.

How Good C# Habits can Encourage Bad JavaScript Habits: Part 1

Many people come to jQuery and believe that their knowledge of a previous classical language (C#, Java, etc) will help them be successful at client-side scripting. You can use your classical language skills to accomplish a large amount of functionality with jQuery. However, the more client-side code you write you will find yourself uncovering strange bugs because you didn’t take adequate time to learn JavaScript properly.

Bí kíp cho người bắt đầu học công nghệ phần mềm

(This post is in Vietnamese) Xưa đến nay, bổn phái Đoạt Hồn Kiếm Hàn Tử Nhai (Đại học khoa học tự nhiên) dưới chân núi Ngũ Vân Cốc (đường Nguyễn Văn Cừ) trải qua mấy trăm năm thành danh trên chốn giang hồ, là môn phái thuộc hàng bắc đẩu trong giớ võ lâm hào kiệt. Bổn phái tồn tại đến ngày hôm nay một phần là do bạn hữu giang hồ kính trọng, trong đó cũng phải kể đến tuyệt học của bổn phái là "Độc cô cửu kiếm".

Top 10 Qualities of The Perfect Programmer

The Ultimate Criteria for finding The Perfect Programmer: The perfect programmer delivers good software that meets client’s expectations.

Therefore, the shocking truth is that perfect programmers could know only one programming language, don’t have any idea what are design patterns and don’t program all nights in their basements creating the next Google. We cannot objectively measure the programmers perfection like you could measure diameter of your biceps. The perfect programmers are simply perfect if they deliver a quality, usable and maintainable software system [a good system] in time and meet client needs.

How to use socks proxy with Google Chrome

This is a small tip for some people that do not know how to setup socks proxy server in Google Chrome. The example pictures below may have a little different from what you see because of the different between my and your Google Chrome version. Currently, I'm using version 39.0.2171.95 m (in order to find down your version, just input to your address bar as follows: chrome://chrome/).

Fix Tidy parse error inside script tag

Tidy try to preserve html tag inside script so it still try to parse whatever in script tag (Ex: <head><script src=foo><meta name=foo content=bar>). So the code above make Tidy wrong because the of the string '<script type="text/javascript" src="//"><'. Tidy can not detect which is string in script and which is preservable tag in script. Therefore, to fix this error I have to disable in script tag preserve function by adding a condition to Tidy source code.

jQuery tabs may be not work on Internet Explorer 10

There is a small problem for any developer that using jQuery UI tabs (tested on jQuery 1.8.2 and jQuery UI 1.9.2). Your website or exactly the jQuery tabs on you website may be not work. It create tab anchors (tab title) right, but nothing occur when user click it because the tab content panels do not load exactly by the way it should be.

The problem is the <base> html tag on your website. If you website using <base> tag example:

Connect Oracle database on Eclipse Linux using OCCI

To develop database application that use Oracle. Of course with Oracle database installed, programer must prepaire two packages provided by Oracle. One use to provide share library (*.so files) for application to run under Linux, another one is provide class header (*.h files) that programer can include in their application. We could download that two packages at, it's called Instant Client.

Develop "Hello world" Magento extension

To develop magento extension, first of all, we must understand about Magento Folder Structure. It you are doing some update but no changing, try to disable Magento cache at System/Cache Management.
All magento extension should be place in /app/code/community. In /app/code you also see core folder, sometime may be local folder which is created by other extension. The community or local called Code Pool.

Display fullscreen website using javascript (Internet Explorer/Safari/Chrome/Firefox)

Until now, this is a great information, there are many browser that have implemented fullscreen supporting (Firefox, Chrome, Safari and must be a trick for Internet Explorer). That's so interesting for somebody want to do something with their website by make it fullscreen, may be great idea for webgame or something like that.

Fix Window Phone LongListSelector dynamic binding exception

Sometime, you are receive an exception error when using Window Phone Toolkit LongListSelector control. It occur while you are trying to modify ItemsSource which is ObservableCollection (or any implement INotifyCollectionChanged interface) of the LongListSelector control.

The error message can form: ArgumentOutOfRangeException is being thrown within InsertNewGroups in LongListSelector.cs
And the part of stack trace could be: