2014年7月14日 星期一

我看Uber,法規與科技之爭

最近據說Uber 大舉入侵台灣,又是掀起一波爭議,網路也是各方意見都有:有認為是自然市場競爭的;有認為對計程車是壓迫的;也有說法認為Uber完全沒有任何創新,結果被嗆爆的。
對這個問題,我也來寫寫我的想法,反正這個blog基本上沒人在看,寫再爛也不會被嗆爆,剛剛講的幾篇都在參考資料,讀者請視了解程度自行觀看。

我覺得要討論這個問題,有很多方面可以著手,也許可以先從網路來講:網路最值錢的地方在哪?
我說:是資訊。
網路用一種前所未有的方式在傳遞資訊,而資訊是值錢的!小如產糧地發生水災,食物可能會上漲,要先買食物放著;大如敵軍正在朝哪裡行動,我們要如何因應。古代的情報偵察要是看到網路大概會興奮而死,好好利用網路帶來的資訊,已經在無數產業掀起變革。

最簡單的,以前的商品買賣,是商家進貨,看看有沒有人要買,沒人買東西壞了就是商家賠錢。現在東西透過網路在賣,有需求再進貨都行,需求和供給間的資訊差被弭平,資源能更有效的利用。
以前找人才,是發個分類廣告,期待有人看到;現在用求職平台,可以接觸到全世界的人才,求職與求才的資訊更有效的整合。
還有很多!颱風來了:從網路新聞得知明天飛機取消,不用再跑一次機場,節省幾千位旅客的時間;從網路知道明天颱風放假,就不用浪費時間跑去學校(台北市不適用);用網路架平台,把颱風受災資訊全丟上去,政府就知道如何分配救災資源。

資訊有效的傳遞,是很值錢,甚至攸關性命的。

那我們來看計程車這個案例:
以前司機不知道乘客在哪,只好在市區不斷繞行,或者去人多的地方排班;以前乘客不知道司機在哪,就在路上招車,或者在排班點上車,兩樣都是無效率的體現,司機可能怎麼繞就是載不到客,乘客可能怎麼招就是招不到車。
Uber用App媒合司機與乘客,有需求就發車,比原來的計程車更有效率;我甚至還聽過其他叫車服務的玩法,允許乘客設定小費的價格,下班時間你想快點招到車,小費加一倍車子立刻就來。
我會說Uber讓載客服務的「供需」變得更平衡,靠得就是資訊的力量。

好但是問題來了,為何我會說這是「法規與科技之爭」呢?

再回到前面的「資訊差」裡,計程車跟乘客的資訊差不止如此:
1. 乘客很可能不知道路,司機可以繞遠路多收錢。
2. 乘客根本不知道開了多遠,那雙方要怎麼知道該付多少,司機可以任意開價嗎?
3. 如果有不良人士假扮司機,其實是要隨機擄人勒索呢?
有資訊差存在,就有可能產生不公平的投機管道,或者合約雙方產生責任義務不明的部分,政府需要提出管理辦法:以下面的參考資料來看,可以看到有重大前科者不能從事計程車業;要開計程車要先行登記;收費有公訂的跳表,給乘客跟司機一個公平的參考。
這些法規基本上都是針對計程車司機而來,就是要平衡司機在資訊上的優勢。同樣的,賣家必須給七天的鑑賞期、政府訂定的定型化契約、銀行準備金的規範,都是在對資訊優勢的一方進行限制,以防資訊優勢的濫用。

但現在,Uber已經利用科技弭平司機與乘客間的資訊差,乘客現在可以用google map查證路線正確與否;用信用卡付款查驗司機是否超收;以評分的方式對不良司機進行檢驗;相形之下,法規加諸司機的規範有些已經過時,資訊的天平倒向乘客一方了。

就這個爭議來說,乘客、司機、政府三方,我認為該進步的是政府的法規,Uber是利用新科技提供的新服務,正面的解決過去載客服務遇到的問題,如何提出新的辦法來管理司機的素質?是否開放乘客與司機自由訂定費率?新科技總會帶來新的變革,政府要如何將新的科技融入過時的法規當中,解開老舊不必要的枷鎖,正是解開Uber與計程車衝突的關鍵所在。

參考資料:
Uber 基本介紹:
http://www.appledaily.com.tw/realtimenews/article/new/20140712/432100/

2014年7月3日 星期四

在64 bits OS上編譯nasm 組合語言

最近作者正在看nasm,某個assembly 的實作,因為作業系統都升到64 bits了,要編譯asm code需要一些額外處理,以下記錄一下處理步驟,我是用archlinux,不過我想其他作業系統應該也差不多:

首先作者有提供asm_io.asm,這要先編譯,先安裝作者的nasm組譯器:
sudo pacman -S nasm

組譯:
nasm -f elf -d ELF_TYPE asm_io.asm
nasm -f elf first.asm
這裡的first 是我們自己寫的asm code

下一步要用gcc,原本書中是建議
gcc -o first driver.c first.o asm_io.o
不過方才都是用elf32去組譯的,所以要改成:
gcc -m32 -lc -o first driver.c first.o asm_io.o

這裡要安裝:
sudo pacman -S gcc-multilib gcc-libs-multilib
然後我還遇到找不到shared library libisl的問題,可能是gcc-multilib跟不上isl的更新,這個用symbolic link到libisl.13.0.0的方式解決

之後就可以完成編譯了,不過也許學著寫64 bits的assembly比較治本?