2012年8月29日 星期三

義賊購物網

  詭異的天秤颱風來襲 ,主要在屏東出現許多災情,原以為僅此而已,不過就在昨天傳出蘭嶼的災情更為嚴重,天秤的回馬槍,一出手簡直把蘭嶼翻了過來,怵目驚心的照片慢慢的在網路上轉發著,很快地看到當地居明對外界求援,因為颱風而被孤立的島嶼急需生活物資,而我和同事們十分迅速的決定寄送泡麵過去,多少出點心力。
  不過身為上班族的我們,根本沒空去完成挑貨、包裝、寄送這些動作,我想出了極佳的方式,而且可以用最快的速度完成這些步驟,那就是"網路購物"!

------------------------------------------------------------------------------------------------------------

  也真的不用幾秒鐘,四十幾箱的泡麵訂單就開始出貨了,拜網路科技之所賜,現在連做愛心都可以快狠準。這次舉動,讓我突發奇想:"義賊購物網",如果這些網路購物的網站,能夠主動在其頁面上有這些相關的捐款物資等等的訊息,甚至給予優惠,我想這會是買賣方以及等待物資的災民都極為有利的設計方針。

  從消費者來說,我可以省去很多不必要的麻煩,甚至加快對於愛心捐助的行動,也或許因為去繁從簡,會有更多的捐物資的消費者出現,如果剛好又有折扣優惠,身消費者可能會更為大方出手做愛心。
  過去會擔心募集物資是否屬實,甚至有人的愛心被詐騙走了,如果購物網本身提供了,捐款單位相關的訊息,並直接在下訂單後寄送的地址都直接鎖定,除了減少詐騙問題,也會增加消費者對於捐物資的意願以及信任。

  再從商家來說,提供捐物資的訊息並不會多花什麼成本,反倒可以透過這樣的廣告手法,多獲得一點買氣,如能祭出優惠,對於社會來說更是一種公益行為。在運貨部分更可以使用定時或者定量出貨,讓消費者知道出貨時間或是還差多少量可以出貨,減少貨運成本,提高效益,更可以掌握所捐款的物資數量,可以提供給收集物資的單位做評估,甚至在必要的時候告知消費者物資的缺乏數量是否滿額。

  對於等待物資的災民來說,最希望的就是快速取得物資,如果願意捐物資的民眾都是去商場買完再去快遞寄送,我想不會比在網路上點幾下,會有專業的物流公司撿貨出貨來的快,現在網路十分的普及,只要有網路就可以做愛心,如讓它變成舉手之勞,可以更輕易的收集滿物資;對於災民另一個困擾的問題來了,就是過多的物資造成極大的不便與浪費,購過購物網可以提供捐助物資的相關訊息,避免災民又得面臨另一項災難。

  當然,一定有人會覺得講的都很好,為什麼購物網站公司不自己捐就好了,講這麼多還不是為了利益,沒錯,我想購物網可不是慈善團體,大多數不可能願意做賠錢生意,但是如果有利可圖又能便民利民,我想何樂而不為,利用優惠折扣換成變相的捐助,把原本捐款的成本轉換成折扣,誘引出更多的消費者一起參與不是更好嗎?

  也許會覺得購物網這樣做就像賊,在這些愛心里偷偷賺取利益,你可以說他賺災難錢其實也沒錯,甚至引誘來購物網站做消費捐助,但從不同角度卻也是提供了一個便利有效率的管道,受災的民眾更快取得更多的物資,如能做到這樣的賊,是否也算是個"義賊?!


沈芯菱〉11歲就投入公益, 用鍵盤和滑鼠改善世界

分享來自  遠見雜誌2012年8月號 第314期
出生∕1989年
學歷∕斗六高中、清大人文社會系,目前為台大新聞所研究生
     今年剛從清華大學畢業的沈芯菱,才22歲,就已是家喻戶曉的「公益小魔女」。在各地演講的她,常搭高鐵趕行程,有次被推餐車經過的服務員認出,還找同事一起來要簽名。
     當同齡學生們煩惱暑假要上哪玩?該換哪款最炫手機?或沉迷虛擬世界而無法自拔時,她卻已長達11年投入公益活動。
     來訪這天,記者一起聆聽了她在新竹六家國小的演講。負責邀請的周主任表示,沈芯菱很搶手,「四個月前就要跟她敲好,不然搶不到!」
     當天聽眾是即將畢業的上百名小學六年級學生。散場後還聚集幾十位搶著要簽名、合照。「你們要幫助人,不用等長大喔!」她對滿場的小朋友說。
     問她創造改變的能量從何而來?答案出乎意料的平淡,就是青年都有的基本能力:活用網路、社群傳播、善用免費科技。
     若比出身背景,很多人的人生起跑點,都比沈芯菱領先。從小,她就跟著擺攤的爸媽到處跑,遊走各鄉鎮。當同齡孩子在幼稚園無憂無慮地唱歌、玩耍時,她得在市場攤子幫忙叫賣,或趴在地上學寫注音符號。5歲那年的生日願望,是吃根雞腿。7歲的願望,則是坐一次火車。
     老天爺雖然沒給沈芯菱富有的家境,卻給了她聰明的腦袋,及運用資訊的天賦。
     小學四年級開始接觸電腦,老師常稱贊沈芯菱有天分。媽媽知道了,便到處向親友借貸,還變賣玉珮,籌到2萬多元買了部二手電腦,從此改變一家人的命運。
     開啟資訊技能後,沈芯菱幫家裡的服裝店架設網站,還對外接案、寫程式,一步步改善家境。至今累積快40張證照。
     此後,她幫助銷售滯銷的農產品、替弱勢學生辦教學營、辦藝術創作展覽、架設免費教學網站等。以一己之力投入多項公益活動,貢獻超過500萬。
     她最想改變的,是「貧窮世襲」。早在2002年就架設「安安免費教學網站」,分享數十萬筆國中小學教材,幫助弱勢學子提升成績,至今累積逾460萬人次上網。

動力來自憤怒,恨不公不義
     「其實我的很多行動,都是來自憤怒!」長相清純、舉止溫和的她,看上去跟一般女學生沒啥不同。不過對不公不義的社會現象,卻保有敏銳的感覺。
 記得小學五年級中秋節,看到爺爺種的文旦堆滿倉庫,阿公阿嬤整天愁眉苦臉,她非常不捨。心想,「阿公阿嬤每天去田裡勞動,卻沒有相對的回報!」於是每天都在想,可以怎麼幫忙?
     不久,她架設了文旦產銷網,並上網蒐集企業聯絡名單,擬好一封促銷信瘋狂轉寄,三天後,訂單開始湧入,創下農產用網路直銷的先例。
     國二時,她投書報紙,呼籲政府重視柳丁價格崩跌,隔天農委會發文反駁,但她沒有退讓,跟媽媽兩人到處拍照舉證,並上網公開,最後農委會提高收購價。
     而七年前一個放學午後,路邊一對母子對話,也深深震撼了她。一位媽媽教訓哭泣的孩子說,「你再不用功念書,以後就跟那些人一樣,沒出息!」她順著手勢望過去,是一群在鷹架上揮汗工作、皮膚晒得通紅的勞工。
     她驚覺的地方有二。一是那位媽媽的音量之大,毫不在乎對方是否聽到。二是,連在雲林鄉下,對底層勞工的歧視都如此嚴重。
     她認為該做些什麼來改變這一切,於是一人騎車環島,走遍全台上千村落,用相機拍下每個遇到的面孔。至今累積超過30萬張照片,發表「草根台灣臉譜」影像網站,吸引近2000萬瀏覽人次。

需要的不是運氣,是勇氣
     採訪過她的主播沈春華便說,她驚訝的不是沈芯菱的電腦長才,而是小小年紀便擁有「用鍵盤打造知識公益、用滑鼠彌平社會斷層」的遠大格局。
     儘管光環耀眼,但沈芯菱坦承,一路走來的挫折與外界質疑從沒斷過,甚至笑她太年輕。為了證明那些聲音是錯的,她陸續克服「太年輕」「零經驗」「零資源」等困難。
     媽媽許麗娟觀察,沈芯菱常一人承受壓力,看到她眼裡的血絲、還有跟年紀不相稱的白髮,總是不捨。唯一能做的就是在她熬夜趕工時,替她泡杯溫牛奶,或在她心情沮喪時,為她打氣。
     回顧經驗,沈芯菱期勉同世代的年輕人,「真的,每個人都有能力,讓世界往『美好』更靠近一點!」她始終認為,失落的一代需要的不是運氣,而是勇氣!

公益小魔女
     對社會不公不義特別敏銳
     幫助別人,不必等到長大
     相信年輕人需要的是勇氣而非運氣


Start !

終於 要開始寫有關程式設計的網誌了

平時工作需要 都是接觸C 比較多

不過 也有學了一陣子java 好久沒用哩

最近跳進android的黑洞  還在摸索中> <!

不一定能申論些什麼技術

不過 可以記錄一下 這程式學習之旅 的點點滴滴囉

也希望各位過客  能夠給小弟 多點指教了

^^!

[C語言]HTTP GZIP 壓縮與解壓縮

最近工作上的需求
在蒐集 有關 網頁 GZIP的壓縮的資訊

想要透過C語言 來進行解壓縮 以及壓縮

後來有找到一個 zlib 這個函式庫
官方網頁 http://zlib.net/

看了好多 文章 但是 有看到程式碼
但是 通常都沒看到詳細的解釋
只能用模仿的方式去使用 但沒有很了解原理與用法

2012年8月14日 星期二

[心情]暈頭轉向~

這幾天 寫程式有點暈頭哩
總是一不小心 掉進去程式碼的坑洞裡
回過神來的時候 時針都跳了好幾格

可能最近也比較晚睡
感覺精神不佳... = =

唉壓~~~~  寫程式最重要的就是要集中精神


呼~~~~~~~~





深呼吸....

繼續拼下去...


2012年8月11日 星期六

[好文分享]在 Google, 我們堅持的只是一種價值觀

又到了週末哩  昨天加班了一整天....

看著外頭 炎熱的天氣 只想躲在家裡 


漫步於網路中....


其實平常我就有 閱讀有關軟體程式文章的興趣 


有些文章 除了能看到同樣在資訊領域 卻能有不一樣的想法


一些工作上的甘苦談 往往也能產生不少共鳴


所以有時候工作疲憊時 我會去看看 一些文章


或許他會讓你 重新注入希望....


-------------------
分享 一篇 我很喜歡的文章
但 先聲明 這也是我從網路上轉載來的 會附上轉載的網址 

如有侵犯到任何著作權  可以通知我作處理



在 Google, 我們堅持的只是一種價值觀
我是 Google 的軟體工程師, 在 Google 的生涯即將邁入第五個年頭, Google 最近遭遇到來自各方的挑戰, 包括競爭者的的崛起, 還

有各國政府的牽制, 整個公司的氛圍和多年前已經有很多不同, 少了點輕鬆, 多了點戰戰兢兢, 環境不容易, 沒有人能置身事外.

Google 是我的第一份工作, 這家公司帶給我相當多的震撼, 他的管理制度, 創新方式, 對人才的尊重等等, 都讓我大開眼界, 但是最讓我印象深刻的, 還是 Google 的價值觀.

Google 一直以來有句座右銘: Do no evil.
我今天不是要來頌揚這一句話, 因為那太虛偽了, 尤其是我一直以來都覺得, 好與壞的定義, 邪惡與正義的定義, 在每個人身上都不一樣, 甚至於在每個時代都是不一樣的, 太過於把討論聚焦在這一句話上面, 並無太大意思.

Google 創造了許多產品: 搜尋, 地圖, Android, Gmail, 這些產品在被發明出來的時候, Google 完全沒有從這些產品賺錢的方式, 這些產品完全免費, 只要可以上網, 所有人都可以用

「了不起啊? 免費就是大爺嗎?」 有些人或許會這樣覺得.

完全錯了, 我們不是為了傲慢而發明這些東西, 有人會為了傲慢而去發明創新的嗎?

我們發明這些東西, 是因為我們相信這些東西可以改善人們的生活

那麼這些東西真的改善了人們生活了嗎? 我們相信是

到了今天, 獲取資訊不在是少數人的專利, 無論你想查詢任何資訊, 只要在 Google 輸入關鍵字, Google 可以在彈指間給你答案; 有了 Google Maps, 所有人可以查想去的地方, 在地圖上做各式各樣的創新應用, 甚至還有開車路線, 大眾運輸的資訊; 有了 Gmail 的過濾機制, 大家每天可以過濾掉成千上萬的垃圾郵件, 省去多少不必要的麻煩. 有了 Android, 智慧型手機有了新的生態, 新的產業, 使用者不再被手機業者綁架, 軟體開發者可以自由在 Android 上面創造應用程式, 並且獲得可觀的報酬.

Google 是一家超過兩萬人的巨大公司, 也許大家會發現, Google 成功的產品也不過就是這幾樣罷了

是的, Google 有成千上萬的專案, 真正成功的, 大家認識的, 不過就是那麼幾個

因為要創造一個好軟體, 是一件極端困難的事情, 所以身為軟體工程師, 我們每天都在解決非常困難的軟體問題, 我們挑燈夜戰, 獨自一人默默地面對電腦螢幕, 苦思不已, 然後享受終於解決一個 bug 的小小成就感, 自己興奮地對著螢幕, 握拳說聲 yes. 這種喜悅, 對於其他人一點都不重要, 我們只能自己暗爽, 沒有什麼好分享的. 因為我們相信自己做的事情, 有一天會造福使用者, 而自己也許會獲得一些相應的報酬, 但這是其次.
所以在討論任何工程問題時, 我們常常會自問: 「這對使用者來說是最好的嗎?」

我們從來沒有一個討論是以 「我們可以因此從使用者身上撈到多少錢?」 來當做出發點, 這代表了 Google 以解決工程問題為導向的一種文化和價值觀

是的, 身為一個人, 我們偶爾都想有狠撈一筆的機會, 寫出改變世界的軟體, 寫出把源源不絕的鈔票帶進我們口袋的軟體, 但身為工程師的同時, 大多數的時候我們打屁完了, 笑一笑, 重新再從解決問題的角度出發. 發財的事情偶爾做做白日夢就好. 真的, 賣雞排賣得好真的賺得比較多. 只要你不亂加塑化劑, 不會出什麼大事的.

我一直覺得工程師是很了不起的一群人, 他們選擇了創造, 但是從創造的那一刻起, 他們也選擇了為自己的成品負責, 有的時候東西失敗了, 他們必須接受辱罵, 甚至於嚴重一點的, 會有法律的制裁. 他們當初大可以選擇簡單一點的路走, 從掠奪別人的財富為出發點, 不必為任何的成品負責, 什麼都好, 何必吃力搞出一個自己需要對別人負責的東西? 我很喜歡東罵西罵, 應該算是相當憤世嫉俗的一個人, 但我從來不批評工程師, 因為這群人選擇了一條難走的路, 而且大部分的時候, 鎂光燈並不屬於他們, 甚至於金錢的報酬大部分也不屬於他們, 他們大部分的人, 終其一生都是一群不太能言善道的人, 在今天還常常被詐騙, 被人嫌呆, 嫌宅, 嫌臭, 嫌與社會脫節

但是他們在我眼中, 是最務實的一群人. 我以身為一個工程師為榮.

而 Google 很珍惜這樣的一群人, 所以事事以工程的務實角度出發, 我們彼此互相尊重, 從不惡言相向, 大家只是專心地討論問題, 解決問題. Google 犯了很多錯, 推出很多爛產品, 被使用者罵到臭頭, 被政府調查, 然後關掉這些爛產品. 我們知道, 走在科技尖端, 想要改善人類的生活, 這是一定會遇到的挑戰和爭議, 在過程中, 有的人受益, 有的人受了傷. 有的人見獵心喜, 拿著棍棒, 等著給我們好看.

但我們能做的, 就是盡力去改善, 並且堅持自己工程師務實的價值觀, 相信自己寫出來的一行一行程式碼, 終有一天會幫助到使用者, 這些使用者是誰, 我們並不知道. 但身為工程師, 我們知道自己並不是麻木不仁, 只是還需要一點時間來解決問題. 只是還需要學習更多的工程技巧, 來改善產品. 遇到任何再小的爭議, 我們都會花上好幾倍的時間, 來討論對大家最好的辦法, 常常我們的會議會因為解決方案的一點小瑕疵, 而討論時間拖得太長, 不得不擇期再審, 直到我們找出大家都能接受的好方案. 有的時候常常因為這樣延遲了產品上市的時程, 失去先機. 這是工程師文化的堅持. 所以 Google 很多產品都是掛著 「beta」, 因為一個大型軟體不可能完美.

Google 不是一個完美的存在, 從來都不是, 但我們尊重使用者, 相信科技能夠改善人們的生活. 我也相信大部分的 Googler, 和我堅持的是同一個價值觀.

「相信科技能夠改善人們的生活」 聽起來很老套, 很假, 很像洗腦用語, 但是我們這群人真的透過自己的雙手, 一點一滴去實現它, 我們知道這家公司沒有騙人, 因為我們就是那些執行者, 我們寫程式. 

----------
這篇文章 聽聞是在 google 在台灣停止販售android軟體後出現的
但我也沒去查證過
或許有人會覺得
這篇文章都是在宣揚google這間公司的感覺
但我從程式設計師的角度來看
google 我並不把他當重點看 (無視 XD)
我看到的是 身為一個工程師 對於這個職務的想法與態度
以及可以賦予的價值~~~~

程式設計師 也許是一個可以改變世界的魔術師


你今天也在變魔術了嗎 ?




2012年8月10日 星期五

[C語言] memove,memcpy 差異

  平常工作都在用C ,C語言最好用但是也是最難用的就是記憶體的管理,如果用得好,可以減少記憶體的使用或是增加執行效能,但我常聽到一句話 "空間換時間",最近慢慢開始感受到這句的意思了。看一下memmove 與 memcpy這兩個 founction就會大概了解哩!!

-----------

[Founction]

void *memmove(void *dest, const void *src, size_t n);

void *memcpy(void *dest, const void *src, size_t n);


兩個都是可以複製記憶體空間
但最大的差異就在於


memmove : 可以同一個配置空間上複製;memcpy : 如在同一個配置空間複製則會出現 ERROR;

有人會想說 "當然是用功能限制少的阿!!!"
NoNoNo~~
這可是需要付出代價的
因為 使用 memove的速度 會慢很多~~~~~~~
memcpy 效率就快很多 因為他直接排除掉 在同一個空間複製的問題
(網路上也有查到原始碼 memmove 發現不是在同一空間複製時 會直接帶入memcpy的founction)

[原始碼]

在這也舉一個 讓人困擾的例子


[案例]
一個配置好的記憶體空間 裡面放滿字串
如果要在中間多加一段字串進來 該如何設計比較快呢
(如果都是一般字串String處理也行拉 暫時先不以這為主 因為也是有可能遇到 不能用的時候)


1.malloc一個足夠的大小 逐次的使用memcpy放入字串

2.重新將原本大空間realloc,以及malloc可以放後半段字串的空間, 使用memcpy直接加進去新字串,再把後半段memcpy回來


3.重新將原本大空間realloc,使用memmove將後半段字串往後移動,空出要加入的 字串空間,再memcpy進來新字串



呵呵 有空可以試看看 到底哪個速度會比較快...

如果你有更快的方法 拜託!!! 一定要告訴我喔!!!!!!!

2012年8月9日 星期四

[android]INSTALL_FAILED_MEDIA_UNAVAILABLE 錯誤


這幾天又開始玩 android
之前都是用模擬器使用
不過真的慢~~~~~~~~~~~~~~~~
到不行 ~"~|||

所以決定來用看看 我手機哩 [sony arc s]

結果一直沒辦法跑 出現下面這錯誤訊息

INSTALL_FAILED_MEDIA_UNAVAILABLE

搜尋了一下終於發現問題點了 @@!

---------------

此錯誤發生 多為資料存取位置問題 可能手機上設定將軟體存於SD卡中
但是 當手機接上USB連接電腦時 手機本身是無法偵測到SD卡的
所以在程式上加上下面這段 可以指定存取的位置


 <manifest xmlns:android="http://schemas.android.com/apk/res/android"

 android:installLocation="auto" ></mainfest>

如果使用auto可能 手機設定存在記憶卡 可能還是會錯誤

android:installLocation="internalOnly" 強制使用內部記憶體