創業心得

其實很少人知道我曾經創業失敗過2次,雖然次數不多,但;學到不少經驗,我第一次創業的那家公司實際上也還存在,已經經營25年左右,中間經過很多事件,很激烈的 很人性的 血腥的...,反正;最後我默默的不在裡面了,這麼多年他沒有脫離每年1000萬以下的營業規模,但到底存活下來,而;最巧的是那家公司正在目前公司的樓下,而我幾乎是搬來才知道,所以說;無巧不成書,這公司的經營者是一個很殷實 很棒的人,我大學時期在他身上學到很多經營的理念跟人生態度

xmpp 究竟是什麼呢??


xmpp是什麼呢 ?? 大部分的人都只能在很淺層的表面理解事務,早期我在做
程式技術時 ,往往覺得別人不懂我的工作 ,一直到現在我仍不知道銀行的管
層知道xmpp這個名詞的意義是什麽? 但我仍在銀行與技術無關經理口
中聽到xmpp,我的驚訝與震驚可想而知,每個人對於這個技術名詞跟認知都
有他自己的解釋 ,有些人以為他是一個... 反正是一個深不可測的東西,有些
人把他跟高效率的系統架構擺在一起 ...各式各樣的想法留在每個不同人的
心理 ,我用盡力氣無法改變別人對這個東西的印象與詮釋,然而;其實它就只
是一種訊息系統 ,這幾年我比較理解這個狀況,因為我慢慢也走向其他領域,
我理解每個人不只在專業領域的觀點不同 ,何況是不同背景,有些事根本與
對錯無涉 ,真正對的事只有程度上的不同,堅持要把自己認為對的事傳遞給
其他人,這種想法沒有不好 ,但在堅持之外還需要站在別的想法上讓其他想
法的人理解(姑且稱之為效果) ,堅持在理解只有專業領域理解的解釋權上 ,
在我這個階段看來 ;已不像剛開始從事技術工作那麼重要,因為每個人有他
自己的經驗去解釋 xmpp是什麼,難能可貴的是這些不懂這個那個名詞時仍
努力賣出他心理的那個xmpp,這件事絕對感動

ØMQ 相關記事

ØMQ 帶來一些優勢,但也帶來一些缺點,尤其是他號稱的非同步交易與文

裡宣稱的完全不用管誰先啟動,實非如此; 沒錯,可透過其他的機制防止因此

遺漏的資訊 ,但這與他號稱非同步資訊實有落差 ,尤其是不將通訊時的資訊

露出,將導致訊息debug時,沒有辦法找到發生問題的環節,實際上這些細節

(技術上也可行)應該要揭露,才能在真正很複雜的通訊環節找出問題, ØMQ

通道在一開始是要讓外部去實做,這與他設計的初衷完全悖道而馳 ,新版

解決了加密的問題,但不知道加密等級跟實做 ,過去椅靠外部應用程式使用

openssl lib去奮戰,剛好把原本簡單不用關心細節的初衷完全加倍奉還 ,

單來講 ØMQ (如果加上強壯有效穩定安全這些條件) 沒有讓訊息系統開發

簡單多少,但卻帶來一些新問題,他唯一得優點確實是讓訊息系統的scale變

大,但這應該是AMQP的功勞,而非ØMQ 

iChi 享運動 : 運動獎勵計畫

關於


【你】能在這裡找到一起運動的夥伴!我們喜歡運動,我們熱愛分享,這就是我的運動

生活。

簡介

想瘦?懶得一個人動!

想運動?揪團?好麻煩!

一起來運動吧!在這裡找到一起運動的夥伴!

我們喜歡運動,我們熱愛分享,這就是我的運動生活。

2014年,我們是雲端生活家股份有限公司,將會推出運動獎勵計畫,敬請期待



XX 工程師問 YY

【鴻海工程師問郭董:為什麼爆肝的是我,首富卻是你!!】

郭董說:我們之間有三個差別
﹝第一﹞
三十年前我創建鴻海的時候是賭上全部家當,不成功便成仁,而你只是寄出幾十份履歷表後來鴻海上班,且隨時可以走人。⋯⋯

我跟你的差別在:創業與就業!

﹝第二﹞
我選擇從連接器切入市場,到最後跟APPLE合作,是因為我眼光判斷正確。而你在哪個部門上班是因為學歷和考試被分配的。

我們之間的差別在:選擇與被選擇!

﹝第三﹞
我24小時都在思考如何創造利潤,每一個決策都可能影響數萬個家庭生計與數十萬股民的權益,而你只要想什麼時候下班跟照顧好你的家庭。

我們之間的差別在:責任的輕重!

---
沒錯;我的責任是要告訴你;千萬別隨便相信網路謠言, "至少" 李家誠跟郭台銘的員工都問過同樣的問題??? 也歡迎改天大家來問我


怎麼在網路上註冊成為youbike 會員?

新版官網請參考 
怎麼在網路上註冊成為youbike 會員? 
http://rd-program.blogspot.tw/2014/04/youbike.html

網路的申請步驟類似,下面將以網路申請來說明申請步驟:申請的時候需要準備悠遊卡、或晶片信用卡,以及手機門號。

1. 請先登入ubike網址:http://www.youbike.com.tw/,登入後選擇【正體中文】,要選英文也可以啦!
ubike01
2. 在螢幕的右上角選擇【註冊】。
ubike02
3.點擊【開始註冊】。
ubike03
4. 點擊【同意】。(沒有其他選擇?)
ubike04
5. 輸入您的【手機號碼】以及【認證碼】,然後按【送出】。這時候手機會收到ubike傳來的簡訊,通之驗證碼,有四個阿拉伯數字。
ubike05
6. 輸入帳號(手機號碼)、驗證碼(ubike傳到手機的簡訊)、密碼,然後按【下一步】。
ubike06
7. 還沒完成喔!這裡告訴你如何租車及還車的步驟。把螢幕拉到最下面,記得勾選【我已清楚瞭解租還車步驟】,然後按【下一步】。
ubike07
8. 選擇悠遊卡或是晶片信用卡,然後輸入卡片號碼,卡片號碼請參卡畫面又下方的提示位置,請注意有些卡號可能已經模糊不清,可能無法輸入。每隻手機不只可以輸入一個卡號。
ubike08
9. 填寫個人姓名及Email帳號,如果不想收到相關訊息就把前面的打勾取消。按【確認】按鈕。
ubike09
10. 恭喜您註冊成功,可已開始使用YouBike了。
ubike10

smtp protocol 簡介

SMTP Protocol
(sonet.all@gmail.com)





1.  Find MX Record




nslookup


> set q=mx
> program.com.tw


Server: 127.0.1.1
Address: 127.0.1.1#53


Non-authoritative answer:
program.com.tw mail exchanger = 5 se2.program.com.tw.
program.com.tw mail exchanger = 10 mail.program.com.tw.


<>


nslookup -q=mx yahoo.com
nslookup -q=mx google.com




2. SMTP Protocol (Simple Mail Transfer Protocol)






b. Example of the SMTP Procedure


S: EHLO program.com.tw
R: 250-se2.program.com.tw
    250-PIPELINING
    250-8BITMIME
    250 SIZE 52428800


S: MAIL FROM:
R: 250 OK


S: RCPT TO:
R: 250 OK


S: RCPT TO:
R: 504 Authentication failed for SMTP service. --> (system logout)


S: RCPT TO:
R: 550 User (test_account@program.com.tw) unknown.


S: DATA
R: 354 Start mail input; end with .
           
From: luke@program.com.tw
To: TEST
Subject: [測試信件]
Content-Type: text/plain; charset="utf-8"


您好,
=============================================
.  <-- n.="" n="" r="" span="">
R: 250 OK



3. MIME(Multipurpose Internet Mail Extensions)






MIME-Version: 1.0
Received: by 10.52.168.69 with HTTP; Wed, 17 Apr 2013 20:07:28 -0700 (PDT)
Date: Thu, 18 Apr 2013 11:07:28 +0800
Delivered-To: sonet.all@gmail.com
Message-ID:
Subject: for demo
From: =?UTF-8?B?6Jab5YWx5ZKMKGx1a2Up?=
To: =?UTF-8?B?6Jab5YWx5ZKMKGx1a2Up?=
Content-Type: multipart/mixed; boundary=
20cf307cfbe2188ff404da99e72b
--20cf307cfbe2188ff404da99e72b
Content-Type: multipart/alternative; boundary=20cf307cfbe2188ff004da99e729
--20cf307cfbe2188ff004da99e729
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: base64

5ris6Kmm5aS+5qqUDQoNCi0tIA0KDQp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQogICBCMkMg6Zu75a2Q55m856WoIOWKoOWAvOacjeWLmeS4reW/gyAgKOW+rueoi+W8j+acg+WToSkNCg0KTGlmZSsg6IGw5piO5oiR55qE5raI6LK755Sf5rS777yBaHR0cDovL3d3dy5saWZlcGx1cy50dw0Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0K
--20cf307cfbe2188ff004da99e729
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: base64

PGRpdiBkaXI9Imx0ciI+PGRpdj48YnI+PC9kaXY+5ris6Kmm5aS+5qqUPGJyIGNsZWFyPSJhbGwiPjxkaXY+PGJyPjwvZGl2Pi0tIDxicj48ZGl2Pjxicj48L2Rpdj48ZGl2Pn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn48L2Rpdj48ZGl2PsKgIMKgQjJDwqDpm7vlrZDnmbznpagg5Yqg5YC85pyN5YuZ5Lit5b+DIMKgKOW+rueoi+W8j+acg+WToSnCoDwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+TGlmZSsg6IGw5piO5oiR55qE5raI6LK755Sf5rS777yBPGEgaHJlZj0iaHR0cDovL3d3dy5saWZlcGx1cy50dy8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmxpZmVwbHVzLnR3PC9hPjwvZGl2Pg0KPGRpdj5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+PC9kaXY+DQo8L2Rpdj4NCg==
--20cf307cfbe2188ff004da99e729--
--20cf307cfbe2188ff404da99e72b
Content-Type: application/octet-stream; name="=?UTF-8?B?5ZyW6KGoMS5kaWF+?="
Content-Disposition: attachment; filename="=?UTF-8?B?5ZyW6KGoMS5kaWF+?="
Content-Transfer-Encoding: base64
X-Attachment-Id: f_hfncm3cs0

H4sIAAAAAAACA+1dzXLbRhK++ylYzHGVEeZ/JoqdchSn4qqN44qVbDYXFURCFDYQoAUh2/JhL3vdF9in2Lfa2sfY6RnKFklAIgkMTNjDVBKTHk5jwO4PX/f0dH/9zdvLbPQ6KedpkT8eYxSNR0k+KaZpPns8/uXk+y/V+Jsnj76epvFX5t9ZGV+OzDfyObx7PL6oqquvDg/fvHmDspt5XBUlytJrNE8O/xFnWXxoBh2Onzwaje5OMI2rGD5bfBpXVZmeXVfJKI8vk8fjs3jyx6wsrvPp2I1ajJsUWVGOXsfZ4/EX5/Y1PlxMc7g0zz1zX8Wz5KxM4j+ap47MS+tdpr5KytVpL6+KeWqGVDdXa0Ma5oH/3hmzGDU3g/LZky+esi/cJS0++DBX3YU2Cqku43KW5utyzL3J3I0gSBFCzM3gWulIMolv78n24s76FZf1K67sV1w6P70qyqqM02pd5FlRZEmcO6lVeZ3sLmc+iTOjYvctq8UqztOqKh64/vM4m2+yAPfxe2vb1nJnZTq933CXRjTM8iadVhenbz3dLjf7jafZX6fz9CxL6q4+zavOpr/pZvrVX8ei94evt9QGN1vj42GqEp7w7R8Ps+t0mswfULPlMQ0zXSyGHT5011fHbXpj3EcrD2srIotvknIx/f/++a///vs/49Hix12gzSieVOnr23d37kdx9rdkUi0W+n1WvJlcxGU1+nJ0kpSXaR5n4zssZDxKp4/HP0XLt2t1gWZKg4Rr9+uq+KBUGkl+gPHqPVhHkKb5z85Wpy/NMuJ8liUfRBzgCGl+RBT8kSK2m7jLpIrHD6j6NJ1Uu82eZMnl6aQo83UG0tkNszIsUq3ftFuUUkjpuy8lWsi6SNLZRdUsjCDKlqTtKMw8B5OHFhYhHLkXZjrCWGDSQhhAznW5rg5NFHg7Eedplm0gAhazq4j5RfHmtIbKP8xTtr5X8+omS1YFJPn15eKHWUPK2mfmNmKv
4ul0mRo1KsPta0dJVfK2eggUVsY0/SDWYVgat+JbvKoMIje4F/c8k5t0rMirOmnw+eg8vkyzG3NRcT4fj+wPaKDB+J7uuz8k2eukSifxl98W2fTu77f9daxhRO3PpRhhlNJICSokp0y1E7r8WKpDWsIQOcAGoBQX7WQtE5YN0WIXQcYdmOWXSf3P+sHe8IZSaunIljiWpVenF0WZvjNKZSjEfSCz4kxsLcawE9BIb0Lm12fgcSXjncHKfeiIVhPzMjaeT+NyaojXt8XbO5wrWnAu3JZzkQgZBiER5h5ZlxHCnBRgXcT8USPBfTKjtsvahBtJJJefAAA=
--20cf307cfbe2188ff404da99e72b--


4. Mail to another host or mail to gmail




a. MTA (Message transfer agent)


# perl -MMIME::Base64 -e 'print encode_base64("steveweb")'
c3RldmV3ZWI=


# perl -MMIME::Base64 -e 'print encode_base64("123")'
MTIz


S: EHLO program.com.tw
R: 250-mail.program.com.tw
    250-PIPELINING
    250-8BITMIME
    250-AUTH=LOGIN
    250-AUTH LOGIN
    250-STARTTLS
    250 SIZE 1004288000


S: AUTH LOGIN
R: 334 VXNlcm5hbWU6


S: c3RldmV3ZWI=
R: 334 UGFzc3dvcmQ6


S: MTIz
R: 235 Authentication successful.


S: mail from: steveweb@program.com.tw <- span="">
R: 250 Sender <steveweb@program.com.tw> OK


S: rcpt to: sonet.all@gmail.com <- span="">
R: 250 Recipient <sonet.all@gmail.com> OK


S: data
R: 354 Start mail input; end with .
           
From: luke@program.com.tw
To: TEST
Subject: [測試信件]
Content-Type: text/plain; charset="utf-8"


您好,
=============================================
.  <-- n.="" n="" r="" span="">


QUIT



b. Secure SMTP over Transport Layer Security   


 The following dialog illustrates how a client and server can start a
  TLS session:

  S:
  C:
  S: 220 mail.imc.org SMTP service ready
  C: EHLO mail.example.com
  S: 250-mail.imc.org offers a warm hug of welcome
  S: 250-8BITMIME
  S: 250-STARTTLS
  S: 250 DSN
  C: STARTTLS
  S: 220 Go ahead
  C:
  C & S:
  C & S:
  C: EHLO mail.example.com
  S: 250-mail.imc.org touches your hand gently for a moment
  S: 250-8BITMIME
  S: 250 DSN