blog.Ring.idv.tw

Articles

有些孩子真的不適合通才教育...

上圖是我「另」一群的兄弟姐妹~ 而中間那位是老大~ 目前國中二年級~ 或者應該說八年級~

我和他們至少有五、六年沒見過面了~ 和他們在閒聊之中~ 了解到那位老大的課業情況常處於倒數行列~ 不過我發覺他並不是不會讀書~ 而是他只讀他感興趣的書~ 自然對於學校所教授的課程抱持著消極的態度,所以也常被另兩位兄弟姐妹拿來消遣~ 甚而父母親也就不會對他有什麼特別的期望~

他.是一個不多話的孩子~ 就連小時候被爸修理也不會哭泣~ 感覺有點悶悶的~ 又帶點神秘感~

這次屏東下鄉行,雖然只有短短二天的光陰~ 最大的收獲算是和他聊天吧~ 和他獨處二個多小時~ 聊完後馬上趕緊去補充水份... ^^a

他知道他哥哥我是學電腦的~ 所以聊天的話題幾乎都圍繞在這個領域內~ 從基本電腦硬體、軟體... 一直到觀念上的交換~ 幾乎無所不談~ 想想看~ 一個國二生能和我聊二個多小時(無間段)~ 那也蠻厲害的~(其實我已經很累了~)

聊天的議題從CPU超頻、BIOS、顯示卡、主機板、電腦的一些概念等等… 尤其還問了我:為什麼要有記憶體?讓我整整從CPU的暫存器、Cache、然後到記憶體和硬碟(包含硬碟內部構造)講了一大堆~ 還有怎麼寫程式?用什麼寫程式?怎麼寫遊戲?(上述問題反映了他的興趣所在)... 又讓我從程式的概念一直談到生活中的應用等等,總之關於電腦技術問題差不多該問的都問了~ (雖然我好累~ 不過也挺有收獲的) 當然也聊到一些人生的觀念~ 沒錯~ 他僅是一個國二生~ 而父母親給他的觀念就是「讀書的目的就是為了要賺錢」(給我的觀念亦是如此)~ 聽在我耳中其實是相當刺耳的~ 我當下跟他說了一些話~ 他也挺能讚同的~ 那種感覺就像找到知己般似的~ 這裡我不打算寫下我和他說了些什麼~

隔天.和他們一起去屏東的太平洋百貨吃吃玩玩~ 所以我也順勢地去買「Working House - Cute澆水器盆栽」,接著就直接跑至頂樓的誠品逛逛(他主動提的)~ 我和他說了一些電腦相關的雜誌~ 以及電腦書籍的挑選~ 而我挑了一本「PCDIY 2008 電腦選購、組裝、應用」買來送給他~ 因為他真的能靜下來看這些電腦書~ 並有辦法問我相關的問題~

回到家中又聊到輸入法的東西~ 而我建議他學嘸蝦米輸入法~ 所以提到一下形、音、義的東西~ 不過我沒解釋~ 他馬上去撕了一張紙叫我解釋給他聽~ 如此的舉動讓我知道他是相當有興趣的~ 而且還能夠吸收~

而他.雖然課業不是名列前茅~ 但其實他蠻有自己的想法的~ 因為數學被他的兄弟抖了出來~ 考了「4」分(比我還高...XD),他還解釋了「4」分的由來~ 因為老師只出填充和計算題,他還知道全部都給它寫上「無解」~ 其實還蠻聰明的 ^^v

有機會的話~ 若他真的有興趣往這個方向走~ 我必然會大力地牽他一起走...

2008-02-19 02:14:29 | Add Comment

L - change the worLd

L change the worLd.描述奇樂事件結束之後的23天...

不過總覺得和Death Note I、II差異頗大~ 主要是主角「L」(A魯)在這部電影中的動作變多了~ 除了基本的戴面具、兩指拿物(拇指+食指 or 無名指)、單指Key in鍵盤的特色外~ 他還會跳飛機咧~ 呵~

整體來說感覺比較像是外傳~ 因為故事的延續性沒有那麼流暢~ (個人觀感)

所以坦白來說~ 總覺得略遜Death Note I、II~ 不過我想~ 看過I、II還是會想衝到電影院去看吧~

P.S. 忘了說重點~ 上禮拜五看這部電影前的三十分鐘我還在寫程式~ 結果一通電話~ 衝呀~ 就到了電影院~ 哈~ 打電話的人請來自首 ^^v

以後請多打幾通~ 哈哈 ^^

主題曲 - I'll be waiting

2008-02-19 00:55:19 | Comments (2)

Working House - Cute澆水器盆栽

這一個「澆水器盆栽」可真讓我找了許久~ 第一次看到它是在「DM」上看到的~

之後呢~ 專櫃、面市、網路上全部都找不到了... 這是怎樣~ 是非賣品嗎?真的太誇張了~

而前天終於在「屏東」見到它的蹤跡~ 當然二話不說直接就給它拿回家嚕($250)~

由於架上只剩兩個~ 我就挑了一個看起來有點「枯萎」的那一盆~

總覺得如果能將它照顧得生意盎然~ 應該也會蠻有成就感滴~

所以剛剛將它重新修剪並整理了一下~ ㄎ~ 怎麼感覺好像變得有點居家~ 哈~ :p

2008-02-19 00:06:15 | Add Comment

BOMKiller

底下是一個針對UTF-8編碼的BOMKiller程式~ 如果你開發程式時所採用的文字編輯器會自動為你加上BOM的話~ 那BOMKiller可以協助你更容易刪除這些BOM~

好久沒寫Java了~~ 趁這個機會再回味一下用UltraEdit純手工寫程式~

BOMKiller原始檔

/**
 * Date: 2008-02-18
 * Shen (http://blog.ring.idv.tw)
 **/
import java.io.*;  
import java.nio.channels.*;

public class BOMKiller
{  
	private String suffix = null;
	public BOMKiller(String suffix)
	{
		this.suffix = suffix;
	}
	
	public static void main(String arg[])
	{
		if(arg.length != 2 || (new File(arg[0])).isDirectory() == false)
		{
			System.out.println("Usage:java BOMKiller [directory_path] [suffix_name]");
			System.exit(0);
		}
		BOMKiller killer = new BOMKiller(arg[1]);
              	killer.listFiles(new File(arg[0]));
      	}
      	public void listFiles(File f)
      	{
		File[] filelist = f.listFiles(new FileFilter()
		{
			public boolean accept(File tempf)
			{
				if(tempf.isDirectory())
				{
					listFiles(tempf);
					return false;
				}
				return tempf.getName().endsWith(suffix);
			}
		});
		
          	int flength = filelist.length;
          	for(int i = 0; i < flength ; ++i)
		{  
              		killBOM(filelist[i]);
          	}
	}
	public void killBOM(File f)
	{
		try
		{
			FileInputStream fis = new FileInputStream(f);		
			if(fis.read() == 0xEF)
			{
				if(fis.read() == 0xBB)
				{
					if(fis.read()==0xBF)
					{
						String path = f.getPath();
						System.out.println("BOMKiller:"+path);
						
						File toFile = new File(path+".tmp");
						FileChannel fic = fis.getChannel();
						FileChannel foc = new FileOutputStream(toFile).getChannel();
						fic.transferTo(3, fic.size(),foc);
						fic.close();
						foc.close();
						f.delete();
						toFile.renameTo(new File(path));
					}
				}
			}
		}catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}

用法

Usage:java BOMKiller [directory_path] [suffix_name]

e.g.

java BOMKiller C:\htdocs .php

相關文章

IE Bug? UTF-8 Encoding for Byte Order Mark(BOM)

2008-02-18 04:38:44 | Add Comment

IP地理位置解析原理

上圖是根據我部落格透過「whos.amung.us」所記錄的一些參觀者的來源分佈~ 從圖中可以知道參觀者來自於各個不同的國家~

還有像是「用Zend_Http做一個IP地理位址查詢」這樣諸如此類的應用~ 技術上是如何達成的呢?

我們可以透過程式來取得Client's IP,但如何能知道此IP是隸屬於哪個國家呢?

這時就需要透過IP<->Country的對應表來實現~

找了一下~ 發現有兩個好的資源可以下載這類的對應表:

ip2nation

The IP-to-Country Handbook

這裡我拿「The IP-to-Country Handbook」來解析一下:

IP-to-Country解析

首先請先下載「latest IP-to-Country Database」這一份對應表~

它所呈現的格式如下所示:

"0033996344","0033996351","GB","GBR","UNITED KINGDOM"
"0050331648","0083886079","US","USA","UNITED STATES"
"0094585424","0094585439","SE","SWE","SWEDEN"
...

欄位與欄位之間用「,」來隔開~ 它們依序分別為:IP位址起始,IP位址結束,2字元國碼,3字元國碼,國家名稱

這裡它將用「.」區隔的IP位址改成用長整數來表示~

也就是說~ 我們必須將IP位址先轉換成長整數,然後比較IP位址起始,IP位址結束的範圍即可得出結果~

轉換公式:

IP Number = A x (256*256*256) + B x (256*256) + C x 256 + D

舉個例子:

IP位址:64.233.189.99

轉換:

X = 64 x (256*256*256) + 233 x (256*256) + 189 x 256 + 99
X = 64 x 16777216 + 233 x 65536 + 189 x 256 + 99
X = 1089060195

所以從對應表找出「1089060195」介於IP位址起始值IP位址結束值即可得出解答!!

P.S. PHP程式可以善加利用「ip2long()」、「long2ip()」兩函式來轉換

2008-02-15 16:40:12 | Add Comment

Next Posts~:::~Previous Posts
Copyright (C) Ching-Shen Chen. All rights reserved.

::: 搜尋 :::

::: 分類 :::

::: 最新文章 :::

::: 最新回應 :::

::: 訂閱 :::

Atom feed
Atom Comment