2012年12月21日 星期五

為何我們只剩22K ?

22K大概是近來最熱門的話題,直接影響許多初入職場的畢業生或正在找工作待業者。老實說,對照這十幾年來的物價漲幅,一般大學畢業生的起薪真的是倒退走。

先說明下面看法是分享個人主觀意見,若您不表認同,隨時可以關掉視窗跳走。

企業和員工之間是供需關係,企業願意付錢換取員工腦袋裡的知識和身體勞動力,首要必須先有一堆等著員工來完成的工作:工廠需要拿到訂單、餐廳需要有顧客進門點餐、賣場需要有顧客來買東西...但時代在進步、產業競爭者在進步、替代產品也可能隨時出現,能不能持續創造新工作需要員工來完成是所有企業永遠的課題。若一家企業經營不善,產品在市場上沒有競爭力或市場需要、或提供的服務已經過時沒有人要...很自然就沒有工作需要員工來完成,自然也不需要雇用員工。

對企業而言,為了提升競爭力,一方面可朝降低成本來努力(人力成本也是其一,所以廠商可能前往勞資相對低的地區或壓低員工薪資),其二則是提升產品或服務競爭力(提高員工素質或投入研發資源,員工腦袋懂得更多知識,又有更多資源投入,企業可能就能提供更棒、更具競爭力的產品或服務),再來則是乾脆跳脫原有產業的紅海競爭,轉換到更有賺頭的藍海市場上(需要員工和資源才能找到藍海,跟提升產品競爭力意義上是一樣的)。

22K薪資就是企業為了降低成本、提升競爭力的策略結果。而企業之所以敢開出22K起薪而不怕找不到員工來應徵,個人主觀認為和下列幾項有關:


  1. 企業普遍以降低成本為優先策略:台灣廠商可西進大陸或南進東南亞取得更便宜的勞力,相同成本下可獲得更多產能以降低單位成本來提升競爭力。或者也可引進入外籍低價勞工來取代本國勞工。藉降低成本來提升競爭力短時間內最容易看到成效,但隨著低價薪資水漲船高,企業一樣要回到其他提升企業競爭優勢的面向上進行思考。
  2. 人力銀行網站出現:讓勞動市場供需資訊更透明。對找工作的人來講,或許工作機會變多、應徵工作的成本降低了,不用像以前的需要人舟車勞頓、離鄉背井來到大城市找事。相對地企業在找員工時也更容易,從前可能只是在區域內貼紅字、告示徵人,現在可以則能輕易跨區、甚至跨國進行徵才,並且從眾多應徵者選得學經歷最優、最適合徵才單位的人才。對應徵者而言,競爭同一份工作的人自然增加不少。
  3. 勞委會年年公佈最低工資:看似以保護勞工權益為出發點,但公佈了最低工資形同將薪資水準定錨,企業在勞動市場價格資訊更透明的情況下,有了最低工資基準當作薪資參考點,自然知道普遍同行之間的出價範圍,也就不會喊出高於市場行情太多的薪資出來。
  4. 廣設大學、開放技職院校改制:台灣的平均教育水準在國際上相對高,相對地平均勞動素質也較以往提升。合理來講員工素質提升應該是有助於企業提升競爭力。但多數企業為了提升競爭力,多以降低人力成本為優先策略,而忽略以提高勞工素質或投入研發資源來提高競爭力為策略。白話講,企業的工作可能只需要高中職、專科畢業生就能完成,但廣設大學及浮濫開放技職院校改制科大的結果,卻來了一堆大學文憑畢業的應徵者。產生了供應端的人力素質高於需求端的人力素質需要,另一方面則可能是讓高學歷文憑虛有其名,造成企業對於高學歷員工的能力有認知落差產生。
企業要永續發展、達成組織目標,可以完成工作、達成目標的員工是不可或缺的。企業與員工脣齒相依,若企業擁有者或股東只顧及自身利益,而忽略照顧員工,恐怕不是長久發展之計。而員工也必須提升自我知識與技能,配合企業面對產業升級與提高競爭力所需,共同度過寒冬來迎接春燕。

拉拉雜雜講了一些,不想論戰,只是提出不同觀點提供思考。

#

20121221 咱們能看到明天的太陽嗎?

Google Doodle - 20121221 馬雅曆法預言末日

咱們能看到明天的太陽嗎?

2012年12月9日 星期日

ubuntu 文字模式下的 mp3 播放軟體

現安裝 mpg321 播放軟體:

> sudo apt-get install mpg321

安裝完成後,就可以直接透過 mpg321 在文字命令模式下播放 MP3 音樂檔。

> mpg321 *.mp3 &

#

ubuntu 文字模式下調整音量


console mode 下輸入 alsamixer 指令,就會出現如下文字模式的操作畫面:

> alsamixer

可利用鍵盤←與→選擇不同聲道,而↓則可調整音量大小。
完成選擇後,只要按下ESC 即可離開程式。

alsamixer 操作畫面

#

ubuntu smbclient / smbfs / cifs-utils

smbclient : command line SMB Client
smbfs : a mountable SMB filesystem for Linux

安裝 smbclient 與 smbfs

  > sudo apt-get install smbclient smbfs cifs-utils


執行 smbclient 連上 Samba Server
範例為 192.168.1.100 / 分享目錄 share / 使用者 smb_user_name

  > smbclient -L //192.168.1.100/share/ -U smb_user_name

螢幕將出現類似下列訊息畫面,說明Samba Server

Enter smb_user_name's password: 

Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.3]

Sharename       Type      Comment
---------       ----      -------
IPC$            IPC       IPC Service (192.168.1.100 server (Samba, Ubuntu))
share           Disk      
print$          Disk      Printer Drivers

另外方式是將Samba Server的分享目錄,掛載(mount)在 /mnt/smb_path 檔案目錄下使用

> mkdir /mnt/smb_path
> mount -t smbfs -o username=smb_user_name,password=your_pass //192.168.1.100/share /mnt/smb_path

執行成功之後,就能直接存取 /mnt/smb_path 目錄下的檔案囉~

但 ubuntu 12.10 之後不再有 smbfs 套件,取得代之的是 cifs-utils 套件。

> mount -t cifs -o username=smb_user_name,password=your_pass //192.168.1.100/share /mnt/smb_path

#



2012年12月4日 星期二

Smart TV ? Android PC ? Google TV ? Apple TV ?


雖然Google TV已非新鮮事,但最近各大廠才陸續喊聲進軍Google TV,相信過不了多久,市面上賣電視的、賣螢幕的、賣電腦的、賣平板的、賣智慧手機的廠商都會沾上一些邊。

腦筋動得比較快的廠商,其實早已利用Android OS設計出 Mini PC  (Dongle Type)。便宜價格就能讓家裡的HDMI螢幕或電視機變身為Mini PC。

很快地,應用軟體和數位內容戰火就真的要延燒到家中的電視螢幕上了。

#

2012年11月6日 星期二

黑蘋果 Hackintosh Mac OS X Mountain Lion



  • Motherboard : Gigabyte Z77 D3H
  • CPU : Intel i7 3770
  • Memory : DDR3 1600 32GB Kingstone (8G*4) 
  • Video : MSI GTX650PE
  • SSD : Intel 330 120GB
  • OS : 購自 Apple App Store - Apple OS X Mountain Lion


* 參考網址:http://www.metamuse.net/2012/09/2012-osx-1082-pc.html

* Boot Loader : Chameleon-2.1-r2069
   參數: -v -x PCIRootUID=0

* 驅動程式 Kexts : 懶人包


  1. run Kext Utilityy

<install Network for GA-Z77-D3H motherboard>
  2. drag AtherosL1cEthernet.kext to Kext Utility window

<install Audio for GA-Z77-D3H motherboard>
  3. run VoodooPatcher and wait...
  4. run VoodooLoader Installer and wait ...

or

  3. drag VoodooHDA.kext to Kext Utility window
  4. drag appleHDADisabler.kext to Kext Utility window

<install nVidia GTX 650 driver>
  5. download from AMD offical site

#




2012年11月5日 星期一

60吋電視已經低於1000美元

60吋大尺寸面板的電視機零售價已經破盤低於1000美元(約新台幣3萬元)。

個人一直認為大尺寸面板的生意還真是不好賺。那麼一台可以讓全家人一起看、一起享受的電視機,價格卻跟一部高階智慧型手機差不多。說實在的還真是不值錢 XD

不過,從網路上搜尋到的一些資料試算,60吋以上的電視適合觀賞距離可能要2.6公尺以上。

以解析度1920 x 1080的面板為例:電視高度 h 公分 / 1080 * 3400 (常數。不曉得哪來的?)

看起來,家裡還要有相當空間才比較適合安裝60吋以上電視。

#

2012年10月16日 星期二

IT人員不可不知道明日 Mobile IT管理

智慧手機、平板等智慧終端滿街都是。目前企業內部IT管理仍著重在伺服器、個人電腦等日常作業IT設備管理,但可以預見 Mobile Devices 納入 IT 管理作業範疇也是不久的將來。


都是值得再深入研究的課題。

#

2012年9月4日 星期二

ubuntu 安裝 tesseract OCR 中文辨識


  1. 確認 precise universe 的套件部份加入 /etc/apt/sources.list 中
  2. 安裝 tesseract-ocr 套件
  3. 安裝 imagemagick 套件 (執行 convert指令將用上)
  4. 下載 tesseract 的繁/簡中OCR資料檔案,並解壓縮在 tessdata 目錄下


  5. /etc/apt/sources.list 中加入下列兩行:

       deb http://tw.archive.ubuntu.com/ubuntu precise universe
       deb-src http://tw.archive.ubuntu.com/ubuntu precise universe
    或是透過 add-apt-repository 
    > sudo add-apt-repository "deb http://tw.archive.ubuntu.com/ubuntu precise universe"

    > sudo apt-get update

    > sudo apt-get install tesseract-ocr

    > sudo apt-get install imagemagick

    > cd /usr/share/tesseract-ocr/tessdata

    > sudo wget http://tesseract-ocr.googlecode.com/files/chi_tra.traineddata.gz

    > sudo wget http://tesseract-ocr.googlecode.com/files/chi_sim.traineddata.gz

    > sudo gzip -f -d *.gz


  1. 利用 convert 將 PDF 或 PNG 等檔案,轉換成 depth:8 , type:Grayscale 半色調的 TIFF檔
  2. 執行 tesseract 進行 OCR 辨識。進行繁中OCR辨識,結果輸出至out.txt

    cd /tmp
    ** PNG => TIFF ==(OCR)==> TEXT
    > convert source.png -type Grayscale -depth 8 out.tif
    > tesseract out.tif out.txt -l chi_tra
    或是
    ** PDF => TIFF ==(OCR)==> TEXT
    > convert -density 300 source.pdf -type Grayscale -depth 8 out.tif
    > tesseract out.tif out.txt -l chi_tra
    或是
    ** PDF => PPMs => TIFFs ==(OCR)==> TEXTs => TEXT
    > pdftoppm source.pdf -f 1 -l 10 -r 600 out
    > for i in *.ppm; do convert $i -type Grayscale -depth 8 ${i%.*}.tif; done
    > for i in *.tif; do tesseract $i ${i%.*}.txt -l chi_tra; done
    > cat *.txt > out.txt

補充:
  • convert 將 PDF 轉為 TIFF 時會耗費較多時間
  • tesseract 之參數 -l chi_tra (繁中辨識) , -l chi_sim (簡中辨識), -l eng (英文辨識;預設)
  • 結合 Hadoop Map Reduce 有很多影像應用服務可以玩了~

###

2012年9月2日 星期日

清除 ubuntu 舊版核心(kernel)

大致說明步驟如下:

  1. 確認目前系統正在使用的核心(kernel image)版本,萬一砍掉就不好玩了。
  2. 查詢目前已安裝的核心套件有哪些版本。
  3. 用apt-get purge移除掉舊版的核心及相關軟體套件。
實際操作:

> uname -a

Linux host 2.6.32-41-generic #94-Ubuntu SMP Fri Jul 6 16:51:39 UTC 2012 i686 i686 i386 GNU/Linux

> dpkg -l | grep linux-image

rc  linux-image-2.6.28-11-generic                 2.6.28-11.42                                    Linux kernel image for version 2.6.28 on x86/x86_64
rc  linux-image-2.6.28-15-generic                 2.6.28-15.52                                    Linux kernel image for version 2.6.28 on x86/x86_64
rc  linux-image-2.6.28-16-generic                 2.6.28-16.55                                    Linux kernel image for version 2.6.28 on x86/x86_64
rc  linux-image-2.6.31-14-generic                 2.6.31-14.48                                    Linux kernel image for version 2.6.31 on x86/x86_64
rc  linux-image-2.6.31-15-generic                 2.6.31-15.50                                    Linux kernel image for version 2.6.31 on x86/x86_64
rc  linux-image-2.6.31-16-generic                 2.6.31-16.53                                    Linux kernel image for version 2.6.31 on x86/x86_64
rc  linux-image-2.6.31-17-generic                 2.6.31-17.54                                    Linux kernel image for version 2.6.31 on x86/x86_64
rc  linux-image-2.6.31-19-generic                 2.6.31-19.56                                    Linux kernel image for version 2.6.31 on x86/x86_64
rc  linux-image-2.6.31-20-generic                 2.6.31-20.58                                    Linux kernel image for version 2.6.31 on x86/x86_64
rc  linux-image-2.6.31-21-generic                 2.6.31-21.59                                    Linux kernel image for version 2.6.31 on x86/x86_64
rc  linux-image-2.6.31-22-generic                 2.6.31-22.60                                    Linux kernel image for version 2.6.31 on x86/x86_64
rc  linux-image-2.6.32-29-generic                 2.6.32-29.58                                    Linux kernel image for version 2.6.32 on x86/x86_64
rc  linux-image-2.6.32-30-generic                 2.6.32-30.59                                    Linux kernel image for version 2.6.32 on x86/x86_64
rc  linux-image-2.6.32-31-generic                 2.6.32-31.61                                    Linux kernel image for version 2.6.32 on x86/x86_64
rc  linux-image-2.6.32-32-generic                 2.6.32-32.62                                    Linux kernel image for version 2.6.32 on x86/x86_64
rc  linux-image-2.6.32-33-generic                 2.6.32-33.72                                    Linux kernel image for version 2.6.32 on x86/x86_64
ii  linux-image-2.6.32-34-generic                 2.6.32-34.77                                    Linux kernel image for version 2.6.32 on x86/x86_64
ii  linux-image-2.6.32-40-generic                 2.6.32-40.87                                    Linux kernel image for version 2.6.32 on x86/x86_64
ii  linux-image-2.6.32-41-generic                 2.6.32-41.94                                    Linux kernel image for version 2.6.32 on x86/x86_64
ii  linux-image-3.2.0-29-generic                  3.2.0-29.46                                     Linux kernel image for version 3.2.0 on 32 bit x86 SMP
ii  linux-image-generic                           3.2.0.29.31                                     Generic Linux kernel image

> apt-get -y purge linux-image-2.6.28-* linux-image-2.6.31-*

> apt-get -y autoremove

###

2012年8月21日 星期二

Windows 7 - tasklist 與 taskkill

熟悉 Unix/Linux ps 與 kill 指令的朋友,如果不喜歡在Windows 7下透過Ctrl-Alt-Del > 開啟工作管理員 來管理執行程序 (process)的話。也可以利用command mode (cmd.exe) 下的 tasklist.exe 與 taskkill.exe 指令來完成。

舉例:


C:\>tasklist

映像名稱                       PID 工作階段名稱      工作階段 #    RAM使用量
========================= ======== ================ =========== ============
System Idle Process              0 Services                   0         24 K
System                           4 Services                   0        324 K
smss.exe                       300 Services                   0        648 K
csrss.exe                      408 Services                   0      4,436 K
csrss.exe                      464 Console                    1     97,640 K
wininit.exe                    496 Services                   0      3,584 K
winlogon.exe                   532 Console                    1      5,908 K


C:\>taskkill /f /im httpd.exe
成功: 處理程序 "httpd.exe" (PID 468) 已經終止了。
成功: 處理程序 "httpd.exe" (PID 2792) 已經終止了。

#

開啟Apple TV 3 影片封印 (DNS設定)

=>>> 更新:注意!! 請先執行「重新開啟Apple TV 3 影片封印 (DNS設定)」步驟 !!



Apple TV 3

  1. 設定>一般>網路>設定 Wi-Fi >手動設定 TCP/IP 將 DNS改為 210.129.145.150或180.153.225.136
  2. 區域選擇「美國 United States」
  3. 進入「預告片」會發現多了 “奇藝”、 ”搜狐”、“PPTV”等線上影片源可以免費看

後記:
最近似乎又多了好幾個節目源。但也發現中國地區提供的節目源,其實有些節目也是需要付費觀賞的。這招利用Apple TV平台賣自己服務的手法姑且不論合法性,還真是夠聰明!

#

2012年7月13日 星期五

更新至 ubuntu 12.04 後, MySQL 5.5 無法啟動

ubuntu 更新至 ubuntu 12.04 後, MySQL 也從 5.1 更新至 5.5版。但執行

sudo service mysql start 

卻出現

start : Job failed to start 


mysqld 無法正常啟動。查了一下 /var/log/mysql/error.log 發現


[ERROR] /usr/sbin/mysqld: unknown variable 'default-character-set=utf8' 
[ERROR] Aborting 


看來問題出現在預設字元參數設定上,將 /etc/mysql/my.cnf 設定檔中,所有的

   default-character-set=utf8

註解掉,改為

   #default-character-set=utf8


再重新啟動

service mysql start 

即可正常執行。

#

後記:

部份網站文章建議將 default-character-set=utf8 改為 character_set_server=utf8 ,雖然mysqld 可以啟動執行,但如果執行


mysql -u root -p 


之類的 console 指令時,依然無法正常執行,會出現下列訊息:


mysql: unknown variable 'character_set_server=utf8'


/etc/mysql/my.cnf 拿掉 character_set_server=utf8 之後,就正常囉。



##

2012年6月24日 星期日

MongoDB 開放遠端連線

有些時候遇上了 MondoDB Connection refused 時,記得檢查一下 /etc/mongodb.conf 設定是否如下:

bind_ip = 0.0.0.0

port = 27017
記得將預設的 bind IP 127.0.0.1 改為 0.0.0.0 囉!

#

2012年6月13日 星期三

MySQL 每小時的數據資料統計

範例:找出 my_table 資料表每小時的資料統計


select hour(my_timeStamp) as hour, count(1) as count from my_table where DATE_FORMAT(my_timestamp, '%Y-%m-%d') = '2012-06-11' group by hour(my_timestamp);



2012年5月31日 星期四

寫APP還能賺獎金~

最近辦APP比賽的單位還真不少,收集一下提供大家參考:

中華電信:2012電信創新應用大賽
2012電信創新應用大賽

經濟部工業局:2012通訊大賽
2012通訊大賽

有興趣的朋友,別忘了報名參加!

2012年5月30日 星期三

找出/刪除MySQL資料表中重複的資料

範例:找出 my_table 資料表中 name 重複的資料

select name,count(*) from my_table group by name having count(*) > 1;


範例:刪除 my_table 資料表中 name, id 重複的資料

alter ignore table my_table add unique index(name, id);



2012年5月16日 星期三

把Dropbox當git server使用

嚴格來講,這篇算是mrmu大作的圖示版本,算是方便大家理解而已。

按著1,2,...8步驟在同一部主機或不同主機之間都可操作使用。第一次需要執行左半邊的Dropbox目錄步驟,剩下其他不同主機只要執行右半邊的Git步驟即可。(同步就交給Dropbox雲端同步吧)

把Dropbox當作git server使用

[Dropbox部分]

1. mkdir OurProject
2. cd OurProject 
    git init –bare .

[Git部分]
3. mkdir MyProject
4. cd MyProject
    git init
5. git remote add origin <OurProject目錄路徑>
6. git add .
7. git commit –m 我的註解"
8. git push origin master



延伸閱讀:Git教學:Git的遠端操作及利用Dropbox建立Server進行協同開發

2012年5月14日 星期一

人人都可以是 APP開發者

codiqa 推出線上的 Web APP Builder ,用拖拉的方式讓每個人都能快速地完成 Web APP 原型。Web Demo 目前也提供匯出功能(Export APP HTML...)。可拿來快速建構 jQuery Mobile 網頁雛形。

Source : codiqa.com
看來,大家完成的基本 Web App 長相可能都會大同小異、似曾相識吧~ XD

2012年5月10日 星期四

精簡HTML5範例-純筆記


純筆記,提供參考。


<!DOCTYPE html>
<html lang="zh-TW">
  <head>
    <meta charset="utf-8" />
    <title>page title</title>
    <script src="my-javascript-file.js"></script>
    <link rel="stylesheet" href="my-css-file.css" />
  </head>
  <body>
     <!-- 網頁內容就放在body內吧 -->
  </body>
</html>

延伸閱讀:HTML5 維基百科

2012年5月9日 星期三

預計2012年底全球將有57國/129個商用4G LTE網路

根據GSA協會2011年統計全球行動用戶數已達53.7億。2012第一季全球3G HSPA佈建已達178國、457個商用網路,超過3,200款終端設備。新一代4G LTE網路亦逐步商用化,全球已有34/64LTE商用網路、98/312家業者投入LTE網路建置,預計2012年底將有57/129LTE商用網路。


全球已有34/64LTE商用網路,347種終端產品(來源:GSA, 2012)


台灣目前則由NCC規劃4G釋照,尚未有任何一家電信業者取得執照,開放4G LTE商用服務。 


延伸閱讀:Evolution to LTE Report (GSA)

2012年5月8日 星期二

ffmpeg 將 wmv 轉檔為 mp4 for iPad

不囉嗦,以ffmpeg轉檔的範例如下:

ffmpeg.exe -i [INPUT_FILENAME] -vcodec libx264 -r 30 -ar 44100 -async 1 -f mp4 -b 2M -bt 4M -pass 1 -r 30000/1001 [OUTPUT_FILENAME]

-f mp4 : input or output format.
-r 30 : 30 frames/sec
-ar 44100 :  audio sampling frequency : 44.1kHz
-async 1 Audio sync method. -async 1 is a special case where only the start of the audio stream is corrected without any later correction.


延伸閱讀:官網 ffmpeg Documentation

2012年4月29日 星期日

台灣地圖一步一腳印

台灣地圖一步一腳印計畫實施中。

先以程式大概產生台灣地區經緯度座標,將這些點全部丟上Google Fusion Tables繪出。一邊排除不必要的涵蓋座標區,一邊確認程式產生出足夠的涵蓋點。

不過目前應該還不算是最佳化的涵蓋區域。尚有許多區域是不必要的。


佈滿紅點的台灣地圖

2012年4月26日 星期四

臺北公眾區免費無線上網熱點資料(地圖)

台北市政府公開資料平台提供臺北公眾區免費無線上網熱點資料,利用Google Docs的表格(table)功能來繪製成地圖形式呈現,就可以清楚看到基本上就沿著捷運線在蓋而已,難怪一直感覺不到這些熱點的存在。 ╮(╯▽╰)╭ 




點這裡看大圖


延伸閱讀:

2012年4月25日 星期三

ubuntu 更新 MySQL 資料庫時,先移除 /etc/mysql/ 內不相關的大檔案

這幾天發現 ubuntu 使用apt-get 更新新版 MySQL 資料庫時,一直無法短時間內安裝完成。top指令結果發現 egrep 吃掉了將近 9x.x%的CPU。ps -ef |grep mysql 後發現,安裝 .deb過程時的某行 egrep 指令正在檢查 /etc/mysql/ 目錄內的檔案。

忽然意識到,前些日子 mysqldump 的某個結果大檔(其實也僅有3xMB),就放在/etc/mysq/ 底下。猜想一下,決定壓縮、移開這個大檔案到其他目錄。

重新執行apt-get更新後,果然問題迎刃而解。

建議以後更新 ubuntu package時,除了可能存取 MySQL 的程式或Web Server先停止後,再停止 mysqld ,確認 /etc/mysql/ 目錄下沒有一些不相關的檔案內容,然後再執行更新。

$ su -
$ /etc/init.d/apache2 stop
$ /etc/init.d/mysql stop
$ cd /etc/mysql/; (檢查是否有不相關的檔案,暫時移至其他目錄下。)
$ apt-get update
$ apt-get dist-upgrade


碰巧遭遇此情況,提供各位參考。

#


2012年4月20日 星期五

台幣千元電腦

對於ARM架構-台幣千元電腦有興趣的朋友,可以到官網提供的網址留下聯絡方式。

看來有HDMI的電視也能升級成電腦了。

有買到或申請到的朋友,也可以分享一下喔~

替台灣地圖經緯度加上格線

Google Earth 匯入 KML 繪製格線
以每分為單位,替台灣地圖經緯度加上格線,並以KML檔案格式匯入Google Earth便於畫面呈現。

C程式原始碼 plotGridKML.c:

#include <stdio.h>


void main() {
   float latCount, lngCount;
  
   printf("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
   printf("<kml xmlns=\"http://www.opengis.net/kml/2.2\">\n");
   printf("  <Document>\n");
   printf("    <name>台灣絕對夠格</name>\n");
   printf("    <description>從東經120.0~122.0, 北緯21.9~25.3, 每一分為區隔</description>\n");
   printf("    <Style id=\"yellowLineGreenPoly\">\n");
   printf("      <LineStyle>\n");
   printf("        <color>7fffffff</color>\n");
   printf("        <width>1</width>\n");
   printf("      </LineStyle>\n");
   printf("      <PolyStyle>\n");
   printf("        <color>7f00ff00</color>\n");
   printf("      </PolyStyle>\n");
   printf("    </Style>\n");
   printf("    <Placemark>\n");
   printf("      <name>台灣絕對夠格</name>\n");
   printf("      <description>從東經120.0~122.0, 北緯21.9~25.3, 每一分為區隔</description>\n");
   printf("      <styleUrl>#yellowLineGreenPoly</styleUrl>\n");
   printf("      <LineString>\n");
   printf("        <extrude>1</extrude>\n");
   printf("        <tessellate>1</tessellate>\n");
   printf("        <altitudeMode>absolute</altitudeMode>\n");
   printf("        <coordinates>\n");
   
   for (latCount = 21.9; latCount <= 25.3; latCount=latCount+0.2) {
      printf("         120.0,%2.1f,2000\n", latCount);
      printf("         122.0,%2.1f,2000\n", latCount);
      printf("         122.0,%2.1f,2000\n", latCount+0.1);
      printf("         120.0,%2.1f,2000\n", latCount+0.1);
      printf("         120.0,%2.1f,2000\n", latCount+0.2);
   }
   printf("         122.0,25.3,2000\n");
   
   for (lngCount = 122.0; lngCount >= 120.2; lngCount=lngCount-0.2) {
      printf("         %3.1f,25.3,2000\n", lngCount);
      printf("         %3.1f,21.9,2000\n", lngCount);
      printf("         %3.1f,21.9,2000\n", lngCount-0.1);
      printf("         %3.1f,25.3,2000\n", lngCount-0.1);
      printf("         %3.1f,25.3,2000\n", lngCount-0.2);
   }
   printf("         120.0,21.9,2000\n");
   printf("        </coordinates>\n");
   printf("      </LineString>\n");
   printf("    </Placemark>\n");
   printf("  </Document>\n");
   printf("</kml>\n");
}


利用GCC編譯完成後,執行

$ gcc plotGridKML.c -o plotGridKML
$ plotGridKML > grid.kml

再將 grid.kml 匯入 Google Earth 即可。

#

2012年4月15日 星期日

清除 Apache2 的 mod_pagespeed 快取資料

有時候修改網頁檔案,卻一直發現似乎沒作用。很可能是Apache2 Page Speed Module 快取的緣故,建議還是執行下列步驟:

1. 瀏覽器內按下右鍵看網頁原始碼確認一次。

2. 關閉Apache2,並且刪除 Page Speed Cache 內已被快取的資料:
$ /etc/init.d/apache2 stop 
$ \rm -r /var/mod_pagespeedcache/*
$ /etc/init.d/apache2 start


避免浪費時間一直找不到問題。

#

2012年4月12日 星期四

亂數產生台灣地區行動門號 (C語言)


C語言範例。可能會產生重複號碼。建議搭配 sort、uniq 等程式使用。


===================================================
/*
* 自動產生行動電話門號測試清單 (台灣地區適用)
* Usage : randomMobileList <Number>
* Example : 產生50筆台灣地區行動電話號碼
* randomMobileList 50
* 注意事項: 可能會產生重複門號號碼
*/


#include <stdio.h>
#include <stdlib.h>


void main(int argc, char* argv[])
{
 int i, j;
 int forLimit;
 int a;

 srand(time(NULL));

 // argv[1] 為產生資料筆數, 預設為5筆
 if (argv[1] != NULL) {
forLimit = atoi(argv[1]);
} else {
forLimit = 5;
}

 for (j=0; j < forLimit; j++) {

    // 產生前四碼 0900~0989
a=(rand()%89)+901;
printf("0%d", a);
    
    // 產生後六碼
    for ( i=0; i < 6; i++) {
       a=(rand()%9)+1;
  printf("%d", a);
    }
    printf("\n");
 }


===================================================

2012年4月6日 星期五

Review of Mobile World Congress 2012

Review of Mobile World Congress 2012
View more presentations from Seungyun Lee

主講人資料:
Seungyun / Ph.D
Director of Service Convergence Standards Research Team
Standards Research Center,ETRI
Manager of W3C Korea Office


通信產業年度盛會 Mobile World Congress (MWC) 2012 的資料提供大家參考。

2012年4月1日 星期日

Chrome多工模式

Chrome 開放真正的多工模式囉~ 不曉得什麼是真正多工的朋友記得來官網看一下說明影片。




根據小編實測結果顯示如下:


發現這功能真是太實用了!當場省下買好幾支滑鼠的錢。我想製造滑鼠的廠商應該會跳出來控告Google壟斷吧!(誤)

#

2012年3月27日 星期二

近日觀都市更新議題新聞有感

甚麼時候政府、民代可以搖著都更大旗,幫我們扣上公益大帽,然後領著建商財團帶著工具,來拆掉我們付出辛苦數十年血淚,扛下高額利息付給銀行財團,好不容易才建立的「家」。

真的要拆?真的不想聽聽我的心聲?真的沒有商量折衷的餘力?!!

好!!! 你拆吧!!! 讓你們這些搖著大旗、只想賺飽自己口袋的 拆吧!!! 

反正,我只是路過的,不是住在這裡的...

(近日觀新聞有感)

2012年3月20日 星期二

Mac OS X 下 Xcode + Phonegap 開發 iOS APP 初步

Phonegap實現了只要會開發網頁,就能寫出跨平台(iOS、Android、Windows Phone、Blackberry、Symbian、WebOS)APP應用軟體的可能性,開發者可以利用HTML/CSS/JavaScript快速開發服務,並且利用Phonegap封裝成可於各種平台上執行的APP。

下面就以Xcode為開發環境進行示範:

1. 先至官網下載和安裝新版Phonegap。


2. 開啟Xcode,並建立一個新的專案(Create a new Xcode Projec)。
建立一個新的專案


3. 設定專案名稱 (Project Name),這裡以 "myClear" 為例。取消"Use Automatic Reference Counting"選項,並按下Next(註1)

設定專案名稱



4. 選擇專案範本 - Cordova-based Application,按下Next
選擇Cordova-based Application專案範本



5. 將已經開發好的Web-based APP目錄(www),用滑鼠拖曳到myClear專案上。

用滑鼠將www目錄拖曳到專案上



6. 確認 Destination 勾選 Copy items into destination group's folder (if needed)項目,並選擇 Folders : Create folder references for any added folders。(註2)

確認Destination和Folder選項



7.發現myClear專案下,新增了www資料夾。
專案內已經新增www資料夾



8.選擇模擬器(Simulator)種類:
選擇Simulator


9. 按下Run執行
執行


10. iPhone模擬器上執行www (預設index.html) 內的APP (註3)
可以執行囉~



註1:若未取消"Use Automatic Reference Counting"選項,可能於開啟模擬器執行(Run)階段會發生一堆 "'NSAutoreleasePool' is unavailable: not available in automatic reference counting mode"錯誤。

註2:選擇"Create groups for any added folders"選項時,模擬器執行後可能會在手機畫面上出現"ERROR: Start Page at 'www/index.html' was not found."錯誤。

註3:www內的網頁程式以Evan You開發的HTML5-clear為範例。詳可參github取得最新的程式碼。


2012年3月19日 星期一

iOS 裝置規格提供開發參考



提供iOS開發者參考:

Model
iOS最高版本
CPU Core
Memory
Storage
Graphics
顯示器
備註
ipod touch 2
4.2.1
620 MHz (553 MHz) ARM 1176JZ(F)-S 128MB DRAM 8,16,32 GB PowerVR MBX Lite 3D GPU (103 MHz) 480 x 320 解析度, 163 ppi 無多工
ipod touch 4
5.1
1 GHz (800 MHz) Apple A4 256 MB DRAM 8,32,64 GB PowerVR SGX535 GPU (200 MHz) 960 x 640 解析度, 326 ppi  
iphone 3G
4.2.1
620 MHz (412 MHz) ARM 1176JZ(F)-S 128MB DRAM 8,16 GB PowerVR MBX Lite 3D GPU (103 MHz) 480 x 320 解析度, 163 ppi 無多工
iphone 3GS
5.1
833 MHz (600 MHz) ARM Cortex-A8 256 MB DRAM 8,16,32 GB PowerVR SGX535 GPU (150 MHz) 480 x 320 解析度, 163 ppi  
iphone 4
5.1
1 GHz ( 800 MHz) Apple A4 512 MB DRAM 8,16,32 GB PowerVR SGX535 GPU (200 MHz) 960 x 640 解析度, 326 ppi  
iphone 4S
5.1
1 GHz (800 MHz) Dual-core Apple A5 512 MB DRAM 16,32,64 GB PowerVR SGX543MP2 GPU 960 x 640 解析度, 326 ppi  

本資料僅供參考,相關細節仍建議參考官方網站為準。