Monday, May 12, 2014

讓人超級火大的 Windows 8 中文輸入法

Windows 8 的輸入法真的很差勁,目前想到的幾個理由:

    1) 在 VLC 或 MPC-HC 裡面按空白鍵暫停播放的功能會失效

    2) Minecraft裡面用空白鍵不能跳,切換成英文輸入後雖然可以用 WSAD移動,但是空白鍵還是一樣不能跳,一定要用 Win+空白鍵 切成 ENG 才正常。雖然我在 Linux 裡面用 Open JDK 玩的時候也是無法輸入中文,但是至少按鍵都很乖。

Wednesday, March 12, 2014

YouTube 500 internal server error page

A team of highly trained monkeys has been dispatched to deal with this situation.

Saturday, June 29, 2013

Not being able to quit less (linux command)

今天遇到了一個蠢問題,無法離開less, 按 'q', ctrl-C, 'f', 'b'等輸入全都被吃掉了,只有剩下 'enter'會移到下一行,'ESC'會在status行那裡印出ESC 研究了老半天才發現原來是中文輸入法把字都吃掉了!!

Monday, April 16, 2012

Git tip : Using Graphviz to display branch graph

Works, but not great :)

echo 'digraph "git" {' > enb.dot
git log --pretty='format: %h [label="%s"]' HEAD^^..HEAD | perl -p -e 's/([0-9a-f]{7})/"\1"/' >> enb.dot
#git log --pretty='format: %h [label="Subject:Testing%h"]' HEAD^^..HEAD | sed 's/[0-9a-f]\+/\"&\"/' >> enb.dot
git log --pretty='format: %h -> { %p }' HEAD^^..HEAD | sed 's/[0-9a-f]\+/\"&\"/g' >> enb.dot
#git log --pretty='format: %p -> { %h }' HEAD^^..HEAD | sed 's/[0-9a-f]\+/\"&\"/g' >> enb.dot ##reverse arrow
echo '}' >> enb.dot
dot -Tsvg enb.dot -o enb.svg
The Result:


Wednesday, April 11, 2012

神奇的windows 小算盤

神奇的windows 小算盤:  ((Sqrt(4) - 2) = -8.1648465955514287168521180122928e-39 ?


Wednesday, February 08, 2012

解決 cvsimport commit message charset convert to UTF-8

前一陣子用git cvsimport 遇到 "Warning: commit message does not conform to UTF-8",原本的cvs的logmsg用的是big5,cvsimport又沒有參數可以設定charset,所以就自己手動修改了 cvsimport這個perl script (修改i18n.commitencoding不是我的選項)


修改後的 cvsimport (我用的是cygwin版的git 1.7.5.1, cvsimport是存在C:\cygwin\lib\git-core)

1.  在檔案的開頭部份增加lib 'Encode'

use IPC::Open2;
require Encode; ## add this line

2.  如果你是要建立一個 "bare" repository,搜尋 "qw(git init)" 並加入下面的code

#system(qw(git init); ##origin
system(qw(git init --bare --share)); ## replace by robin 20120208

3. logmsg轉碼,搜尋 "sub commit {" 並加入下面的 code

sub commit {
## +20120208 by robin for commit message utf-8
my $msg = $logmsg;

eval { $msg = Encode::decode('BIG5', $msg, 1) }; ## origin charset BIG-5, GBK
if ($@) {
die "Could not decode as 'big5':\n", $msg,
"\nPerhaps you need to set i18n.commitencoding\n";
}
eval { $msg = Encode::encode('UTF-8', $msg, 1) };
die "Could not encode as UTF-8:\n$msg\n" if $@;

$logmsg = $msg;

## patch2
my $fragment = substr $logmsg, 0, index($logmsg, 'Committed on the');
$logmsg = $fragment;
#print $logmsg;
#print $msg;

4. 執行cvsimport

$ mkdir aprj.git
$ cd aprj.git
$ git init --bare --share

$ export CVSROOT=:pserver:robin@10.1.251.16:/aprj
$ cvs login
$ git cvsimport -p -x -v -d :pserver:robin@10.1.251.16:/aprj amodule

Tada...