2012年12月21日 星期五

為何我們只剩22K ?

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

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

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

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

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


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

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

#

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年8月1日 星期三

我們將提供Apple Genius給所有的笨使用者(?)

我們將提供Apple Genius給所有的笨使用者(?)

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  

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