2010年3月15日 星期一

SerialPort dianostics under Linux

SerialPort diagnostics under Linux is not so easy as under Windows. Windows SDK supports some useful(but not so safely) API, but Linux not.

External loopback test and baud rate test is very easy while serial redirection not enabled. But serial redirection always through some login messages to UART and make diagnostics failed. The command setterm -msg off would help. But if test failed, the linux API not support CTS or some read to clear commands, and it will affect following serial ports tests.

Internal loopback diagnostics under Linux should use direct IO to access MCR to enable internal loopback.

So, if anyone want to write some serial diagnostoics, he should use inb/outb/inl/outl instead of open/read/write. And it will save time and performance.

2010年1月25日 星期一

Sikuli

Sikuli is a MIT project for picture-driven search. One of my junior colleges Tsung-Hsiang Chang (張琮翔 a.k.a vgod) is the developer.

It's funny and may change the ordinary programming-language thoughts.  Any programmer should try it out, even if you don't know how to program with JAVA or Python.

2010年1月7日 星期四

What is CLOUD?

Here's an interesting traditional chinese article talking about "cloud computing" http://ria.richtechmedia.com/2009/01/19/what-is-a-cloud-%E9%9B%B2%E5%9C%A8%E4%BD%95%E6%96%B9%EF%BC%9F/

2010年1月6日 星期三

Outside the spec

Everytime I write code following the spec, I always realize that there are many things not be told in the specs. It might just some obvious thing that editors take it as a matter of course and needless to write down.

But while programming, those editors-take-it-as-a-matter-of-course things are always the problems with the programmers. Directly following the spec is not enough, the programmers should design many test cases to verify the critical problems, and solve it.

I hate that. I write a program to verify MMX instructions. MMX is a old tech, and the spec is very simple. But it has many "phenomenons" that not in spec, such as carry problem, signed and unsigned behaviors. I thought I'm a little familiar with low-level computing language, but I'm totally defeated by MMX.

I hate coding, period.