2018年12月25日 星期二

如何幫小孩辦理護照,流程紀錄

準備文件:
1.2吋照片*2(下巴到頭頂長度至少3.2cm, 背景需全白, 眼睛直視鏡頭,不可露牙齒,劉海不可遮住額頭,耳朵需露出)
2.戶口名簿正本與影本,影本會被收走
3.小孩本人需親自去
4.父母或監護人需陪同辦理,同時需要父母或監護人的身分證正本

如何自製照片:
手機APP: Photo for Passport
電腦後製軟體: PhotoCap

1. 先使用手機拍照,背景盡量白色,光線充足,依照APP指示拍照,建議儲存jpg檔
2. 拍完照之後,把相片傳到電腦上,使用PhotoCap編輯,PhotoCap可以作去背,讓背景變成全白
3. 再使用PhotoCap把照片作成護照格式(4x6共8張大頭照)
4. 到萊爾富把照片洗出來,$6/1張4x6

*若是沒有準備好照片,也可以到外交部一樓,有兩台快照機,拍一次 $120/6張

辦理地點:
外交部領事局(台北市濟南路一段2-2號)

辦理過程:
1. 若是開車去辦理的朋友,可以直接停在外交部領事局旁邊的台大校友停車場,收費$60/H
2. 進入外交部領事局後,在一樓有自動列印資料的機器,印出來後把資料填一填,填寫申請表時, 需要中英文姓名對照表查詢(https://www.boca.gov.tw/sp-natr-singleform-1.html)
3. 在一樓把資料繳交出去,替代役男會幫你檢查蓋章,並給你號碼牌,接著就可以上二樓等叫號了
4. 等到號碼之後,把資料繳出去後,沒問題就會收到繳費收據,小孩$900,大人$1300,需要4個工作天才可以去拿
5. 也可以把收據交給郵局(1F),請他們代為寄送護照,就不用在親自跑一趟,費用 ==>外縣市每件120+12元

通常1.5H內可以辦理完成 ~


最後,若是還有多餘時間,可以帶小朋友到附近的花博公園-舞蝶館 (台北市中山區玉門街1號),去玩耍,因為離松山機場很近,還可以看到很大的飛機,車子可以停在美術館的公有停車場,是不用收費的~

2018年11月26日 星期一

在Linux底下,使用setpci 來設定/讀取 Intel CPU register值

假設我們今天想要更改Intel CPU的PowerResume,首先你必須知道你要改的是文件裡面的AG3E的Register值,其文件大概會如下圖所示:




















首先看到Type,確定他是屬於PCI Configuration Register,你才能夠使用setpci tool來作更改,接著我們可以看到,Offset: [B:0, D:31, F:2]+A4h

其中的英文分別代表 Bus, Device, Function,如文件所描述,我們要更改的為第0個bit,假設我們要把值設定為1,因此在Linux底下我們的指令下法為:

setpci -s 00:1F.2 A4.B=01     
*註(31=1Fh), A4.B意思是從A4寫1Byte

假設你想再把值讀出來看,在Linux底下我們的指令下法為:

setpci -s 00:1F.2 A4.B

2018年10月16日 星期二

縮網址教學-0rz

以下介紹 0rz 的縮網址方法

 一. http://0rz.tw/

假設我想把我的blog網址作縮網址的動作,步驟如下:

1. 進入上面的網站



























2.輸入想要縮的網址,如下圖:



3. 按下"產生短網址"按鈕




4. 已經幫你產生了一個新的短網址,如下圖:


2018年10月9日 星期二

Linux下如何修改Ethernet Interface 介面名稱

假設我想把網路介面名稱改成 eth0, eth1
可以去修改 /etc/udev/rules.d/10-net.rules

內容如下:
SUBSYSTEM=="net", ATTR{address}=="20:18:10:04:10:00", ACTION=="add", NAME="eth0"
SUBSYSTEM=="net", ATTR{address}=="20:18:10:04:10:01", ACTION=="add", NAME="eth1"

**ATTR{address} ===> 必須對應到此介面的MAC Address


或是另一種寫法,使用kernel版本來對應:
SUBSYSTEM=="net", KERNELS=="0000:05:00.0", ACTION=="add", NAME="eth0"
SUBSYSTEM=="net", KERNELS=="0000:05:00.1", ACTION=="add", NAME="eth1"

kernel版本可以從driver的訊息中得到,如下圖:


2018年10月8日 星期一

C語言使用malloc配置一個struct記憶體空間

假設有一個struct如下所示:

struct foo {
     char *a;
     int b;
     char c[20];
};

當我們要用malloc配置記憶體時,通常會用下面的方式來作宣告:


struct foo *ptr = (struct foo *) malloc(sizeof(struct foo));


另一種較簡潔的寫法,如下所示:

struct foo *ptr = malloc(sizeof(*ptr));

2018年10月2日 星期二

編譯Linux Kernel時,版本後面被加了符號,把svn的檔案刪掉的方法

如果你的版本控管是使用svn,Linux Code check out 下來後會有一些svn版本控管的檔案,而這些檔案在你編譯Kernel的時候,會在你的版本號後面多加一些資訊,例如:

- 你使用Kernel 4.14.12版本,並且編譯他,實際上編譯出來的Kernel你使用uname -a 看到的會是4.14.12

- 但若是有伴隨一些svn版本控管的檔案時,編譯出來有可能會是 4.14.12+

以上的差異點,當你編譯module要給別人使用時,別人的Kernel就會報錯,會有如下的訊息:
btn_driver: version magic '4.14.12+ SMP mod_unload ' should be '4.14.12 SMP mod_unload '

======================= 分隔線 =============================
因此要想清除掉svn的檔案,再作編譯Kernel的動作,可以在kernel 根目錄下,用下面的指令:
find . -name '.svn' | xargs rm -rf

清除掉svn檔案之後,再作編譯,就不會有以上的問題發生了~

2018年9月14日 星期五

Ubuntu設定固定時間重新開機 shedule do something

我們可以透過一個工具 ===> crontab

假設你機器上找不到此工具,請先使用apt-get 取得:
sudo apt-get install cron

--------------- 接下來是設定的方法 -------------
1. 先去編輯crontab,命令如下:
#/ sudo crontab -e
**第一次編輯,會詢問你偏好的編輯器,選nano就可以了


2.可以看到文字檔中的說明如下
m      h    dom        mon   dow       command

minute hour dayOfMonth Month dayOfWeek commandToRun
假設我們現在要讓電腦每天早上4點自行重新啟動,請加入下面這行:

0 4 * * * /sbin/reboot



所以最後檔案編輯會如下圖:
















最後按 Ctrl+x 離開並存檔