本部落公告

個人學習的軌跡如下:
2009/01/17

MATLAB Introduction @2009

最近對公司的同事們簡介了一下MATLAB,自己也順便看了一下它新的物件導向語法,第一眼的感覺有點像python或Java,當年難寫到要死的物件導向語法(當年是人家有,MATLAB怎麼可以沒有),現在可是向大宗(或大眾)靠齊,至少比較容易看懂了。

回想起來,從大三開始寫MATLAB 4.x到現在,已經有十多年了,哈:D(可見有多麼不求長進)

其實大概有一年多沒寫MATLAB程式了,不過如果哪天重新認真地去作研究(或是去做一些奇怪的事時),我想應該會拿MATLAB來做建立程式/系統雛型的工具吧。

做這份投影片時也提醒了我一件事:應該好好地來整理以前寫過的、還遺留在硬碟裡某個角落的程式們了(讓他們重見天日?)。

投影片放在slideshare上,下方連結可以連過去:
繼續閱讀
2009/01/13

[Perl]解決安裝Open Perl IDE遇到的問題

前幾年剛開始拜讀hc大大的書,在windows上學習Perl的時候,曾經使用Open Perl IDE來作為學習的工具,它的優點是免費,而且也有源碼(source code),使用step by step來除錯的方式也和一般windows環境下的IDE十分類似,符合使用的習慣,後來每次重新安裝電腦時,在安裝Open Perl IDE都會遇到這個問題,每次必須都重新搜尋網路,雖然是兩、三個步驟就可以解決的小問題,不過還是來做個紀錄好了。人年紀大了,記憶力愈來愈不好,尤其去年後半年睡眠品質超差,覺得愈來愈健忘(不過有時這也是件好事......(*望遠*))

 首先,當你去下載Open Perl Ide時,請連帶一併下載Perl5.8_patch.zip opernPerlIDE4Perl5.8_3
繼續閱讀
2009/01/13

[bash] 尋找目錄下檔案裡某特定的字串,並移除它們

之前遇到了要處理一堆名單檔的需求,其中有個常態性需求是:「把某個使用者的資訊從近幾個月名單檔中移除」
例如:我想要把名單檔中有:m=nobody@earth.org.tw&guid=nobody 的字串完全移除:
第一次寫了

#!/usr/local/bin/bash

for month in 09 10 11 12; do
   for file in /home/abc/data/list/2008.${month}/*.list ; do
      echo 'we are processing '$file
      sed 's/m=nobody@earth.org.tw\&guid=nobody//g' ${file} > TMPFILE && mv TMPFILE ${file}
      sed '/^$/d' ${file} > TMPFILE && mv TMPFILE ${file}
   done
done


後來呢,發現不大對,上面那支會把所有的名單檔都納入考量,所以名單檔一多時,就要等很久才能執行完畢,所以又改寫了一支,如下:
主要的差異是:下方這支程式會先找出有含特定字串的檔案,再去真的把這些檔案中的特定字串移除
繼續閱讀
2009/01/07

值得推薦的好遊戲:blokus & Rumis

最近在同事Daly的強力推薦之下,我入手了blokus(中文名稱:「格格不入」或「德 國圍棋」)的boardgame,只要110元(不過我買的是仿製版),便宜又好玩,結果玩過的同事們大家都人手一盒了,因為大家都覺得蠻有趣的,我們甚 至還無意間發現了屬於blokus的主題歌(i.e.,《讀你(堵你)》, 讀/堵你千遍也不厭倦....讀/堵你的感覺像春天...XD)

200901063496
之前曾經和某友人A一起去卡卡城玩過Rumis(別稱blokus 3D),所以就在去年的最後一天在網路上訂購了一盒,不便宜,要1190 NTD,不過由於先前玩過的感覺不錯,所以算是買來回味/紀念的。

這種空間概念的遊戲其實我到目前還沒有絕對地了解它應該怎麼下會最好,都算是「步步為營、險中求勝、攻守兼備」型的遊戲,像blokus,目前能理解的原 則:大致上是把不容易擺的方塊先擺上去,免得到後面愈來愈擺不下(下方的wikipedia連結有它的策略說明);

號稱是blokus 3D的Rumis
而Rumis,我覺得更需要對三維空間的概念和更連貫的思考,不過玩boardgame的樂趣有時真的是與人同樂,我想這也是和單獨一個人玩畫面精美的TV game最大的差別,當然,難處就在要找到有相同嗜好的人了。

btw, 我的PSP上也裝了blokus的遊戲:D,而玩Rumis還覺得不夠的人,還可以再入手Rumis+

blockus on PSP

Ref:
http://en.wikipedia.org/wiki/Blokus
http://en.wikipedia.org/wiki/Rumis


繼續閱讀
2008/11/08

[bash] 移除文字檔中的^M

話說文字檔內多了個^M(是dos檔的關係)要怎麼移除呢?
答案是:
tr -d \\r < dosfile > newfile
最近工作上遇到了怪怪的^M名單:
m=abc@happy.com.tw^M&hid=abc
目標是讓它變成
m=abc@happy.com.tw&hid=abc
由於很多,一個個處理的話就不是RD了,我先寫了支bash script如下來對目錄下的檔案作處理,應急一下(其實我差點忘了有這項工作,今天開會有人提到才想到,thunderbird收信、開信好像比outlook慢很多,有時懶得等,真的會漏看信的內容,真是個危險因子啊~~)
#!/usr/local/bin/bash


if [ -d ./ ]; then
for file in ./*.list ; do
tr -d \\r < $file > $file.new
rm $file
mv $file.new $file
sudo chown happy $file
sudo chgrp users $file

done
fi

有刪節線那二行是與權限相關,第一行判別是目錄是多寫的,為了以後修改時方便。
繼續閱讀
2008/08/21

Vim 訣竅:使用view ports

Ref: http://www.linux.com/articles/54157

Vim tips: Using viewports
Vim 訣竅:使用view ports

By Joe 'Zonker' Brockmeier on May 10, 2006 (8:00:00 AM)

試譯者:jiing

A lot of folks use Vim, but many exploit only a small percentage of the editor's features. Sure, you might know how to do the basics in Vim, but what about using more advanced features such as folding, split windows, and marks? With a little practice, you can really boost your productivity with Vim.
In this and future articles, I'm going to cover Vim features that you may not be familiar with if you're a casual Vim user. If you're confident using Vim to edit configuration files or make short edits in text files, but maybe not too comfortable with undertaking major writing or coding in Vim, then these articles should be for you.


有許多人使用vim,不過許多人只探索了編輯器特性的一丁點。當然了,你可能知道Vim的基本用法,不過關於更進階的特性,例如摺疊(folding)、分割(split)視窗和標示(marks)呢?用一個小小的練習,你可以用Vim真正地提升你的生產力。

在本篇和未來的文章中,我將涵括Vim中你可能不熟悉的特性(如果你是個隨性的Vim使用者)。如果你有信心用Vim來編輯組態設定檔或是使用小小的文字編輯,但可能用Vim來寫程式碼或是進行大量的書寫時不是太舒服的話,那麼這些文章應該是為你而寫的。

Splitting Vim's viewport
分割Vim的視埠(viewport)


A really useful feature in Vim is the ability to split the viewable area between one or more files, or just to split the window to view two bits of the same file more easily. The Vim documentation refers to this as a viewport or window, interchangeably.

在Vim中一個真的很有用的特性是去將一或多個檔案分割成數個可視的區域的能力,或只是分割視窗更容易地看同個檔案中的二個位元(2 bits)。Vim文件中將這個稱作viewport或window,二個詞是可被交換使用的。

You may already be familiar with this feature if you've ever used Vim's help feature by using :help topic or pressing the F1 key. When you enter help, Vim splits the viewport and opens the help documentation in the top viewport, leaving your document open in the bottom viewport.

如果你曾經使用Vim的輔助特性(藉由:help topic 或是按下 F1 鍵),你可能已經熟悉這項特性。當你進入輔助說明(help)時,Vim分割viewport,並且開啟輔助說明文件在上面的viewport,而讓你的文字開啟在底下的viewport。

Vim viewport keybinding quick reference
Vim viewport的鍵盤對應的快速參考

:sp will split the Vim window horizontally. Can be written out entirely as :split .

:sp 將View視窗水平分割。可以完整寫出成:split

:vsp will split the Vim window vertically. Can be written out as :vsplit .

:vsp 會將視窗垂直分割。能被寫成 :vsplit

Ctrl-w Ctrl-w moves between Vim viewports.

Ctrl-w Ctrl-w 會在View的viewports間移動

Ctrl-w j moves one viewport down.

Ctrl-w j 會把一個viewport 往下移

Ctrl-w k moves one viewport up.

Ctrl-w k 會把一個viewport 往上移


Ctrl-w h moves one viewport to the left.

Ctrl-w h 將一個viewport往左移

Ctrl-w l moves one viewport to the right.

Ctrl-w l 將一個viewport往右移

Ctrl-w = tells Vim to resize viewports to be of equal size.

Ctrl-w = 告訴Vim 去將viewports的尺寸變成相同的大小

Ctrl-w - reduce active viewport by one line.

Ctrl-w - 將作用中的viewport 減少一行

Ctrl-w + increase active viewport by one line.

Ctrl-w + 將作用中的viewport 增加一行

Ctrl-w q will close the active window.

Ctrl-w q 會關閉作用中的視窗

Ctrl-w r will rotate windows to the right.

Ctrl-w r 會將視窗轉到右方

Ctrl-w R will rotate windows to the left.

Ctrl-w R 會將視窗轉到左方
繼續閱讀
2008/08/21

[bash] changeName.sh 簡單改名稱

話說朋友D在某個神祕的地方找到了Monster Hunter 2(DOS)的音樂檔,下載了某幾個zip檔,不過在windows裡解不開,依他先前的經驗,要用Mac來解,於是我回家用Mac解開了,不過檔名中有怪字,Windows又無法讀取,一個個改又有點浪費時間,所以決定小試bash script,因為檔名有些許規則,所以蠻好寫的,結果如下:本篇作為很久沒寫blog的濫芋充數一下:p
#!/bin/bash
for ((i=1;i<250;i+=1)); do
echo -n "mv ./${i}*.mp3 ./${i}.mp3 ";
 mv ./${i}*.mp3 ./${i}.mp3 ;
done
心得:人要想要偷懶才會進步? ......  @@?
繼續閱讀
2008/07/16

[魔物獵人2nd G] 三陽(羊)開泰

打死三隻羊不稀奇,要「死得其所」!?才有趣!
有圖有真相!


三羊開泰!
繼續閱讀
2008/06/21

2008 Hackday

這幾天,參加了公司內部的Hackday(黑客天)活動,除了有美食、酒精飲料外,還有可以欣賞同事們不凡創意的機會。

冰beer,好喝啊~~~

我們這組做的是和Yahoo Map相關的應用,主題是「在家也能享受跑步環島的樂趣」,和同事Frank和Josephj利用GlovePIE這套軟體去轉換Wii Remote輸入的藍牙(bluetooth)的訊號成相對應的鍵盤,然後應用於Josephj的跑步環島路線路上,其實實際上我真正做的事情很少,就是參考文件寫個鍵盤對應的script,並且把一些Wii Remote輸出的值加以判斷,然後送出鍵盤被按下(key pressed)的事件,而Josephj則是利用javascript寫了接收這些鍵對應的動作,並善用了Yahoo Map的API,和他獨有的創意,完成了我們Hack的主要視覺化介面和功能,而Frank則是幫我們解決很多的問題,最後我們這組幸運地獲得了「鄉民最愛地圖應用獎」,獎品是五千元禮券,看來Josephj跑步環島的壯舉幫我們拿下了不少票:D

有圖有真相:

CHDAT116


Frank 試玩中


繼續閱讀
2008/05/10

學習的態度

寫這篇文章最重要的是提醒自己莫忘學習的根本態度。

之前曾經在網路上看過不少Tsung的文章,最近由於到了同事Josephj.com的網誌,又聽了其它同事的介紹,才知道如果早點進公司,就會和Tsung變成同事,沒能和Tsung面對面認識,就如同和VVing大神失之交臂的感受一般,有點可惜,不過其實真的反省起來,有時也是因為自己交友的態度不夠大方所致......

感覺就好像電影中的印第安那瓊斯或《阿甘正傳》中的阿甘,因為生命中認識了一些當代經典人物,而讓那些或許傳奇,也或許平凡的人生,可以有更璀璨發亮的故事。

離題了。

最近友人g問我怎麼學C語言,我和他聊了大約二個小時,我介紹了蔡文能教授的那本《C程式語言》,不過當我繼續介紹冼鏡光的那本《名題精選百則:技巧篇(使用C語言)》時,得到了一個有點讓人灰心的回覆,精確的文字我忘了,大意是:「不需要學我用不到的,我只要補齊求職的最基本需要即可。」(文字略有不同,但意思就是這樣)。當下我有股說不出的感覺,直到今天比較能說得清楚我當下的感受。

於是將感受化成文字......
繼續閱讀
第一頁 上一頁 1 2 3 4 5 6 7 8 9 10 下一頁 最末頁