Monday, November 21, 2011

2011.11.20

1.解决实验室打印机不能在fedora下双面打印的问题。
重新安装打印机,在选择驱动程序的时候,选择CUPS+xxx(忘记名字)。

2.安装tex-live package。
将sty文件拷贝到/usr/share/texmf/tex/latex/pkg_name/
运行texhash,使得tex-live能够识别新的package

Thursday, November 17, 2011

2011.11.17

Fedora 15 installation issues:

1.Stall on bootup.
Fedora tries to bring up wireless connection and blocks there.

Solution: disable wireless on bootup

How-To:
1.Diagnose.
Edit grub booting options, delete "rhgb" and "quiet" to disable graphics in booting. So we can see what is happening during booting.
The result is that fedora hangs when trying to bring up wireless connection. (It should do this in background but it didn't.)
2.Enter single mode to fix.
Edit grub booting options, add "single" to enter single mode.
Go to /etc/sysconfig/network-scripts and find any wireless config file.
Edit those config files, modify to "ONBOOT=no".


2.Go Issue
Can't find certain package in Go, and after compilation binary won't run.

Solution:
Make sure $GOOS and $GOARCH are correct.
ethos/etn and ethos/types should be built and installed separately.

Monday, May 23, 2011

Browser automatically requesting favicon.ico

I wrote a http server using Google's GO Language. However the problem I confronted is not related to the language itself.

I think in certain situations, browsers automatically request favicon.ico as a little icon in the address bar. But my http server fails to properly handle this situation and causes itself to stuck.

It is not the same if I use nc to send request. Simply use "nc IP PORT" to connect, and then:
GET /test.html HTTP/1.0
and hit Enter two times
nc just sends and receives raw data, thus no automatic icon request. So my http server works in such situation with bug in it.

Tuesday, April 12, 2011

Defer, Panic, Recover: New features in GoLang



Defer can push a function call into a LIFO queue, and the function calls in this queue will execute then the surrounding function returns. Defer is perfect for cleaning procedures (like closing files after opening). Arguments are evaluated now, but deferred functions are called later.

Panic will stop the control flow of function and return immediately. Panic will trigger the execution of function calls that are previously deferred.