Saturday, June 29, 2013

List of Bugs in Softwares I used

3. iOS 7 on Iphone: This bug is called "impossible to slide". When the phone is in this error state, it is impossible to slide to unlock. It seems the phone is still working. It can ring when a phone call comes, or the alarm sounds. Moreover all the function from the virtual home button also works as I do the screen capture below. I guess the reason is the phone goes to some deadlock state. Is it possible to use some model checker, such as PAT, to verify whether this error happens. This could be a good case study :)



2. Viber: After touching around on Viber screen, the selection of categories at the bottom of the screen suddenly disappear. At that time, I was in the "More" selection and I can not change to "Message" or "Recents" and others selection. The only way to escape this to kill Viber process.
Error Screen
Normal Screen

1. Visual Studio 2010: After moving the Solution Explorer and some Debug Windows, now Visual Studio displays the selection of positions for Debug Windows and I can not turn it off, though Visual Studio still works.




Sunday, June 23, 2013

Quotes on Formal Method, Model Checking

1. "The job of formal methods is to elucidate the assumptions upon which formal correctness depends." --Tony Hoare

2. "Software engineers want to be real engineers. Real engineers use mathematics. Formal methods are the mathematics of software engineering. Therefore, software engineers should use formal methods." --Mike Holloway

3. "Teaching to unsuspecting youngsters the effective use of formal methods is one of the joys of life because it is so extremely rewarding." --Edsger Dijkstra

4. "Formal methods will never have a signi?cant impact until they can be used by people that don't understand them." --Tom Melham

5. "We argue that proof construction is unnecessary in the case of finite state concurrent systems and can be replaced by a model-theoretic approach which will mechanically determine if the system meets a specification expressed in propositional  temporal logic." --EM Clarke

Thursday, June 20, 2013

How to change the font-size of chm file

The .chm files often come with a small font-size. Some CHMs have the IE Browser Text Size button. However, most of them don't have it. So how to change the font-size: 1. Change via IE: Open IE window, go to View-Text Size and then select the suitable font-size. 2. Reopen the .chm file

Tuesday, June 18, 2013

What's Latex command for...?

Get problem on finding Latex command for a symbol. Try Detexify. This website allows you to draw the symbol on its canvas. Then it will try to recognize that symbol and find corresponding Latex command.

Wednesday, June 12, 2013

What is Locking this File?

I often encounter the problem that I can not delete a file or remove a USB. Windows does not allow me to reject the USB safely. The reason is because there is some hidden process which is accessing this file. However it is not easy to find which process is locking the file. So it is useful to have a tool to detect such process and can help me to unlock the file.

I used to use the tool Unlocker. However recently I found that it does not work well with Windows 64x and was looking for a replacement. Then I found a tool called LockHunter which does a nice job. Using its is very simple. Just right click a file, folder, or even a USB and select "What is Locking this File". The tool will list all program using that file and offer you some action like kill that process or unlock the file.

Tuesday, June 11, 2013

Cách Tạo Mục Lục Tự Động

Trong bài này, tôi sẽ trình bày cách tạo mục lục tự động đơn giản, bằng cách sử dụng công cụ Style. Công cụ Style có thể tìm thấy trên tab Home của Word.

1. Cách tạo Style cho một đoạn văn bản.
Tạo style cho một đoạn văn bản rất đơn giản. Chỉ cần format cho nó như mong muốn, ví dụ "Bold", "Italic", font, size... Sau đó chọn đoạn văn bản đó, click chuột phải, chọn "Style-Save Selection as a New Quick Style". Sau đó bạn nhập tên style vào. Bằng cách này, ta có thể áp dụng style này cho nhiều đoạn văn bản khác nhau bằng cách chọn đoạn văn bản đó, chọn Style với tên bạn vừa đặt.

Sau đây tôi sẽ hướng dẫn cách tạo style cho tiêu đề xuất hiện ở mục lục. Xuất hiện ở mục lục có nhiều cấp độ, ví dụ chương 1, mục 1.1, mục 1.1.1.

1.1 Đầu tiên qui định cấu trúc mục lục. Click vào biểu tượng như trên hình trong tab Paragraph. Tôi chọn cấu trúc 1, 1.1, 1.1.1 cho đơn giản.

1.2 Tạo style cho chương 1: Chọn đoạn tiêu đề của chương, chọn Numbering để đánh số chương. Bạn có thể chỉnh thêm các thông số như font, size... Sau đó lưu style cho cái tiều đề này là "Style 1".
1.3 Tạo style cho mục 1.1: Chọn đoạn tiều đề của mục, chọn Numbering để đánh số mục. Lưu ý bạn sẽ thấy là số đáng lý nên 1.1 thay vì 2. Để qui định cấp độ cho mục, bạn click vào cái hình tam giác bên cạnh Numbering như hình vẽ, chọn cấp độ là 1.1. Lưu style cho đoạn text này là "Style 1.1"

- Tương tự như trên, tạo style cho mục 1.1.1

Sau đó áp dụng style "Style 1" cho chương 2, 3, 4..., "Style 1.1" cho mục 1.2, 1.3, 2.1..., "Style 1.1.1" cho mục 1.1.2, 1.2.1, 2.1.1...

2. Tạo mục lục tự động
Click Tab References, chọn Table of Contents - Insert Table of Contents. Đầu tiên bạn cần chú ý Show levels. Nếu chọn 3, tức là 1, 1.1, 1.1.1. Nếu chọn 2 thì không có 1.1.1. Giả sử chọn 3. Tiếp theo rất quan trọng, bạn sẽ qui định Style nào thuộc cấp độ nào. Click vào Options



Bạn sẽ thấy "Heading 1" ứng với level 1. Nghĩa là những đoạn văn bản nào style là "Heading 1" sẽ là chương 1. Tuy nhiên chúng ta đã có style riêng, nên bạn cần xóa các số 1, 2, 3 của các Heading 1, 2, 3. Sau đó kéo chuột xuống tìm style mà bạn đã tạo, nhập 1, 2, 3 lần lượt cho "Style 1", "Style 1.1" và "Style 1.1.1".




Sau khi nhấn OK, mục lục sẽ xuất hiện như bạn mong muốn

Update: Đôi khi bạn muốn có cấu trúc mục lục mới, mà những cái có sẵn của Word không làm bạn hài lòng, bạn có thể tự định định nghĩa cấu trúc mới. Click vào biểu tượng "1 a i" bên cạnh cái biểu tượng Number "1 2 3" trong mục Paragraph, chọn "Define new multilevel list". Giả sử chúng ta muốn tạo 3 Level như bên dưới:


- Level 1: Chọn Number style for this level: I, II, III. Rồi sau đó trên cái mục "Enter formatting for number", gõ chữ "Chương". Bạn có thể xài dấu chấm "." hoặc dấu ngoặc ")" cuối. Format sẽ là "Chương I)"
- Level 2: chỉ cần chọn Number style for this level là "1, 2, 3,..."
- Level 3: Lưu ý là số của level 3 la gồm số của level 2, cộng thêm số thứ tự của level 3. Nên ta sẽ chọn Number style for thí level là "1, 2, 3...". Rồi sau đó khi vào mục "Enter formatting for number", nhảy đến dầu dòng, rồi sau đó click vào "Include level number from", chọn Level 2. Nghĩa là ta đã chọn giá trị Level 2 xuất hiện đầu tiên. Sau đó gõ dấu chấm "." vào giữa.

Sau khi đã tạo ra cấu trúc cho mục lục, lúc áp dụng ở mục Lưu ý 1.3, bạn chỉ cần chọn level phù hợp cho mục hiện tại.

Friday, June 7, 2013

Escape a XML String in C#

Given a XML string, we can manually escape by replacing invalid XML characters with their escaping characters. Below is the list of invalid XML characters and their escaping characters.
< <
> >
" "
' '
& &

Another easier way is to use the function System.Security.SecurityElement.Escape(string).

Specification Pattern Repository

Spec Patterns provides a good collection of popular specification patterns for popular specification languages like LTL, CTL.

Notice when doing payment for Tiger Airways

Today when I do payment for Tiger Airways for the trip from HCM-SING. The number is in USD and the website offers me to pay with the currency of my Visa card. It was about 400 USD and Tiger Airways asks me to pay 527 Singapore Dollar. I check the rate from Google and the number in Singapore Dollar is about 496. So I choose to pay in USD.

After do the payment, in my bank transaction, that transaction costs me about 516 Singapore Dollar. So I save about $11 :)

Lesson learned: Never accept the offer to pay in another currency in Tiger Airways. The exchange rate including the service fee is high.

Wednesday, June 5, 2013

How to Turn your Computer to an Internet-TV

I love films and I guess you too. However it is difficult for me in Singapore to afford a TV with cable. Recently I found a software named XBMC which is able to turn computers to Internet-TVs. Now I will show you how to install and use it.

1. Download XBMC and install it.
2. Import Media to XBMC. You can add photo, music, video to XBMC and play them.
3. The most interesting thing of XBMC is we can watch many high-res video from Movies, TV Shows from it. Just install Video add-on to watch. Below is the list of Video add-on I highly recommend:

  • 1Channel: many movies and TV Shows.
  • allscience: hundreds of videos about science
  • Discovery Channel: famous Discovery program
  • TED Talks: Watching TED talks from XBMC
  • TubePlus: good to follow latest aired TV Shows like British Got Talent, The Voice US/UK...
Note that some video add-on are included in XBMC. Some good add-on like 1Channel, you need to install later. You can visit XBMC Blog to know how to install.
4. If you are using iPhone, Android Phone, remember to download the XBMC app to control your new internet-TV :) iPhone app can be download at AppStore

Enjoy!

Tuesday, June 4, 2013

Send your particulars faster to others

It is around 2 years since my last post. Recently I feel I have many thoughts and want to share with you. So today I decide to write blog again :)

Today I want to share one of my tips in using iPhone efficiently. In daily life, you are often asked to send or input to some website your full name, address, bank account, passport number, your email address, many to count.

Instead of typing them again and again, I find a way to type them faster by creating shortcut in iPhone. You can go Settings - General - Keyboard - Shortcuts and add new shortcut. For example, I add a shortcut "myemail" to "truongkhanhit@gmail.com" and later whenever I type myemail, iPhone will suggest "truongkhanhit@gmail.com". Remember to choose the shortcut special and not frequently appear in your text.