Thursday, February 18, 2016

[System Engineering] Availability Short Tutorial

For life-critical systems, we usually want to know the quality of service of the system. Among of the metrics, one commonly used is Availability. 

What is Availability?

Availability is a probabilistic metric to measure the percentage that a system is available in a period of time. On the contrary, unavailability is the percentage that a system is not available in a period of time.

How do we calculate Availability?

Since we want to calculate the availability, we need to understand that how much time does the system provide the service.

First let’s define two terms, MTBF and MTTR.

MTBF: Mean Time Between Failure
This is the metric to measure the period of time between two consecutive system failures.

MTTR: Mean Time To Repair
This is the metric to measure the period of time to repair the system from the failure to be back on the service.

The unit of MTBF and MTTR can be a minute, hour, day or any other unit for a period of time.

So, the Availability can be calculated:

                              Availability = (MTBF) / (MTBF+MTTR)

That is the fraction of the time that a system can provide service for a period of time including the time to provide the service and the time to repair the system.

Based on the definition of Availability,
                              Unavailability = 1 - Availability = 1- (MTTR) / (MTBF+MTTR)

How to increase Availability?

As you can see from the definition of Availability, we can either manipulate MTTR or MTBF to increase Availability.

Intuitively, if we decrease the time to repair, MTTR, say MTTR equals 0, then the Availability becomes 100%

                                   MTTF / (MTTF+0) = 100%

That's pretty awesome! However, we understand it is not possible in the real world.

On the other hand, if MTTR remains the same, we increase the MTBF, the impact of MTTR could be even smaller in comparison to MTBR.

To increase the Availability, you can either
     (1) Increase MTBF (make the system more reliable by testing or adding redundancy)
   
     (2) Decrease MTTR (shorten the time to repair)

Summary:


  • Availability is a probabilistic metric to measure the percentage that a system is available in a period time.
                              Availability = (MTBF) / (MTBF+MTTR)

  • MTBF and MTTR
  • Increase Availability by increasing MTBR and decreasing MTTR 

Saturday, December 12, 2015

[Software Engineering] Use Cases versus Requirements - Which one do you need?

Use case and Requirements are used to specify what need to be done in a system but are slightly different.
Use case usually described the need of some people with the sentence:
“As a user, I can…”

On the other hand, requirements usually describe the behavior or criteria a system should provide and the sentence is started with
“The system shall provide…"

The major difference is the perspectives. A use case is used to capture the user’s need. Requirements are used to specify the system’s intention.

In agile development, people use the User Story as the form to describe the system behavior. However, this might be not enough for a developer to implement the system. Think about a user story of an ATM system as below:
“As a user, I can withdraw the cash after login the system successfully”

This user story does not capture the details. Of course, there are other user stories of the ATM, but the point is that user story might not capture enough details from the user’s perspective. The user stories or use cases are needed to be further analyzed to have implementable requirements.

My opinion is that you need both use cases and requirements. Use use cases to capture the user’s need and analyze the use cases to get requirements (both functional requirements or quality requirements). Focus on translating the use cases to the right and implementable requirements. Then, you will have a solid foundation of a successful project.

Sunday, April 12, 2015

[教學] 美國汽車保險的幾個省錢方法

前一陣子在伊利諾州辦了汽車保險,過程中跟經紀人討論了幾個可能降低保費的方法。


  1. 保險人的年紀,例如滿三十歲的時候,保費會降低。還有一個好學生專案。
  2. 有信用分數。這個應該是影響最多的,據經紀人說,保費幾乎差了一倍。
  3. 加保房屋險。這樣會讓整體保費下降。

[教學] 加州車牌換伊利諾州車牌轉讓

假設 車是親戚的車,車籍和保險皆在在加州

目標是要換到伊利諾州領牌(伊利諾州牌)並且將車轉讓給自己。


需要準備的東西如下:
1. Bill of Order: 就是賣方買方簽的合約。格式可以google得到
2. Certificate of Title: 用台灣的說法是行照。如果 CoT 過期的話,拿該年度車子
在更新貼紙時會有一張紙。證明車子有Renew就可以了。辦完會收走。
3. 請賣方或轉讓給你的人上加州DMV網站填寫Release of Liability

需要付的金額如下:
1. 車子轉讓費:依據車子的金額、年份、和轉讓者(家人)的關係決定。參考伊利諾州R
UT-50表。另外,家人是指父母與兄弟姊妹。兄弟姊妹的配偶就不算了。需要用支票付款
。如果沒有支票可以去walmart買 money order。

2. 車子領牌費:美金95元。我是付現。忘記問可不可以刷卡了。

辦好之後,當天即可以拿鐵牌。然後就盡快去辦保險了。

以上,如有資訊錯誤的地方,再請大家告訴我。謝謝。

Ptt原文: https://www.ptt.cc/bbs/studyabroad/M.1427341704.A.627.html

Tuesday, January 27, 2015

2014 台北市長選舉心得與觀察

這次的2014九和一選舉,台北市選出了柯文哲當選了下屆台北市長

我個人身為海外留學生,雖然沒有投票,不過還是很關心這場選舉

有幾點心得:

1. 身為留學生,對國家的認同更是深刻。自己的國家,才能用選票決定未來。

2. 成功的要素是:天份,運氣和努力,這點從這次選戰柯文哲身上可以看出。

3. 聰明的人,只要肯認真,換個領域還是可以表現很好

4. 跳出框架來思考。要解決既有的問題,就應該用新的思考。例如:在野大聯盟VS藍綠惡鬥

5. 做事光明磊落,不怕別人檢驗

6. 領導人的領導能力,讓部下敢做,放手做。領導者有能力承擔後果

7. 沉著。例如MG149案,雖然早已拿到律師回函,還是等到適當時機才拿出來回應。

8. 厚道。不隨意批評人。(不過,KP到是常常說出有爭議的話)

9. 熱愛自己的專業

10. 把事情做到最好

11. 娶到一個好老婆,聰明,懂事,負責。有自己的事業。 XD

12. 找到一個好團隊:姚立明,與辦公室的夥伴

13. 有錯就改。不怕犯錯,犯錯及檢討為何犯錯及如何避免,Root Cause Analysis (RCA)

14. 字醜沒關係 XD

15. SOP的制定與遵守。遇到錯誤就檢討改進SOP。一直iterative的改進SOP

總而言之,選完2014選舉後,像是面對了一個新的台灣。眾多縣市,如北市、桃園市、台中市等皆換了新市長。希望都有好表現,不要愧對選民囉!

Thursday, November 6, 2014

Illinois DMV 伊利諾州考駕照 準備與注意事項


去了幾次DMV考照,都因為不同原因,無法順利應應考。今天終於可以考路考並且一次就考過了。

整理一了一些留學生在伊利諾州考駕照要注意的事情,希望可以幫大家省點時間,避免白跑一趟(或是很多趟....)


準備文件:

1. 護照
2. I-20
3. I-94 (由此站列印,https://i94.cbp.dhs.gov/I94/request.html)
4. 汽車保險文件
5. SSN卡與地址都帶 (如果有的話) 
6. Bank statement (證明居住地址用)
直接去銀行請行員印出即可,免費

7. 房屋租約 or 水電帳單 (證明居住地址用)
參考: https://www.cyberdriveillinois.com/publications/pdf_publications/dsd_x173.pdf


準備車子:

1. 汽車保險文件
2. 前後牌照貼紙確定是否在期限內
3. 前後左右方向燈正常
4. 煞車燈正常
5. 熟悉你考試用的車子,例如油門煞車鬆緊度 距離感

以上文件,缺任何一件 DMV的辦事人員都會毫不留情地請你下次再來。
(不確定沒有SSN可不可以考照)


路考注意事項:

1. 雖然考官的臉都很臭,不過不要緊張,照自己的平常練習或開車的時候開就好
2. 考官指令都只說一次,要仔細聽。我考的時候,有問要停在哪裡pull over,考官都不回答...
3. 上路注意車速,一般而言大路40 小路30~35
4. stop sign一定要停死
5. T turn的時候左轉進去,不要太靠右邊,因為倒車右轉出來得時候會就容易壓到curb
6. 大路口左轉時,有綠燈左轉箭頭就果斷左轉,只有綠燈且你是第一台要左轉的車時,就進路口,等安全的時候迅速左轉。若是第二台,則在線後等,再視情況進入路口。


其他注意事項:

1. 星期日和星期一公休
2. 星期六07:30開門 其他日08:00
3. 人非常多,如果不想浪費時間,最好營業前就去排隊
4. 因人手不足,當日路考名額有限,越早去越好。例如我星期日約八點半到,就被告知當日已沒有名額路考了...
5. 進去趕快抽號碼牌
6. 遇到一些節日例如Election day, Columbus day DMV,都會休息不開門。去之前查清楚當日是否營業。
7. 筆試完會收費(金額有點忘記了,約20~30),不確定可不可以刷卡,記得帶現金
8. 人潮: 星期六人很多。平日星期二人最多(因為星期一放假)。最好避開這兩天去(DMV的人說的)。

希望大家一次就可以考過囉!

Monday, December 16, 2013

2013 台灣鍵盤趴 之 中大獎啦!

星期天下午參加老貓舉辦的2013台灣鍵盤趴,實在太好玩了!

一到會場,繳完報名費跟填完抽獎卷後,一走進會場


不誇張,真的是滿坑滿谷的鍵盤,大家都在東摸摸西摸摸。

老貓的講解很有趣,也很會帶氣氛現場一片笑聲。

最好笑的就是,有人抽到大獎但不在現場,於是老貓打電話去

老貓: "先生,您好,請問還在現場嗎?"

A先生: "不好意思我離開了" (現場開擴音)

老貓: "恭喜你抽到大獎,不過我們把它捐出去了!" 現場一片叫好 XDDD

我列出幾隻現場印象最深刻的鍵盤

左手配置的Ducky


Ducky 黃色小鴨,鍵帽質感很好,原以為陰顆摸起來會不太好,沒想到卻意外地好摸


Ducky 這隻鍵好像茶軸,不過感覺較重,手感QQ的。


很像殺人武器的鍵盤



Race 加金屬鍵帽


Realforce 104UG-HiPro


中間凹凹的鍵帽


雙色Cheery鍵帽


印象最深的兩隻鍵盤:
第一隻 Tex 藍白配色好看,整體質感也很優,唯獨右邊shift實在有點小 (旁邊白色的是Race II)



第二隻 韓國的 Leopold FC660C (Topre電容) VS FC660M (Cheery MX)
這兩隻簡直完美,大右Shift,薄邊框 PBT,要是右上角可以是Page Dn/Up就完美了!


不過現場有聽說Leopold有分韓國版跟大陸版

會場一角



本日紀念品



抽獎贈品,實際數量大約有這堆的兩倍吧!


最後的抽獎抽了好久,剛開始抽到小獎品的人,上去領獎表情都有點不爽

開講開始約一個小時,看著周圍的人都領了大獎,內心有點失落...加上肚子餓,有點想離開現場

不過抽到高級鼠墊的朋友說再待一下好了。

突然,中獎了! 是 Cherry G80-3800 黑軸中文! 好爽 XD


最後謝謝老貓,還有工作人員和自備鍵盤的朋友,明年還是要繼續辦下去啦!

其他有趣的照片







Tuesday, May 1, 2012

[教學] [Hyper-V] PowerShell 自動載入HyperV module

裝完 PowerShell Management Library for Hyper-V 後


每次重新開啟 PowerShell 後 都需要用到Import-Module ,這樣的確有點麻煩!


不過如果可以加在個人profile裡的話,以後重開PowerShell 就會自動載入此module!


步驟如下:
0. 打開PowerShell
1. 檢查是否有profile :>   Test-Path $profile
2. 若有則跳到步驟3
    若沒有則新增一個 :>    New-Item -path $profile -type file -force 


3. 編輯Profile :> notepad.exe $profile
4. 假設你已經裝好 PowerShell Management Library for Hyper-V
則直接在此notepad貼上 Import-Module "C:\Program Files\modules\HyperV\HyperV.psd1"
並存檔離開
5. 接著可以試試看重新打開PowerShell如果沒有出現錯誤訊息的話,就是HyperV Module已經正確載入囉!!


參考資料:
http://technet.microsoft.com/en-us/library/ee692764.aspx



Thursday, April 19, 2012

[開箱] iFixit dual hard drive kit

MAC mini 也用了一段時間了,其實沒有我想像中的快。為什麼這樣說呢?
朋友買得IBM 小黑是Core i3,同時開程式我的i5 mini竟然沒有比較快,彩虹球都會一直轉轉轉。
看了01版上許多版友的開箱,確實是心癢癢,不過對於一個兩千多塊還要加一千塊運費的產品,實在下不了手。

前幾天,心一狠,就上了iFixit訂了 雙硬碟套件組……不到幾天東西就快速的寄來我家了!
外面用iFixit專用塑膠袋包裝

總共有:工具組、拆硬碟架、防震塞、塑膠棒(拆排線用)、硬碟排線

工具組是透明的


很有趣的是…打開工具組後,右邊的各種專接頭會自己站起來!! 蠻炫的!
不過後來因為要拿出一根根緊密排列的鑽頭實在太困難了…一用力之下,竟然斷了….
所以目前的情況是打開後,右邊的工具就不會再站起來了。


握把





轉接座



鑷子(這跟很重要不要小看他喔)

拆硬碟架

黑色塑膠棒 尖頭


黑色塑膠棒 平頭



防震環 與 硬碟固定螺絲


最重要的!!! 硬碟排線….我看整個套件組這個硬碟排線應該佔總價的七成以上吧!


小結: 雖然拿到東西時,曾經一度懷疑這樣幾個東西真掉花我三千多嗎? 尤其是工具組的精密度又沒我想像的好。不過到最後,我才發現裡面列的東西,都有他特別可以使用的時機,也就覺得這麼套件不錯囉! 請看下一篇

[教學] 2011 MAC mini 安裝 iFixit 雙硬碟套件

[教學] 2011 MAC mini 安裝 iFixit 雙硬碟套件

前言請看:[開箱] iFixit dual hard drive kit

這是我的MAC mini,應該跟大家的長得都一樣......XD

翻倒背面,將後蓋向左轉取下後蓋


拆完後可以看到,上方銀色圓狀物體是無線網路模組,中間有凹槽的是風扇,最右邊是記憶體

由於我們目的是將整台MAC mini全部拆下,所以我就把RAM拆下囉!

將紅色的地方像左右兩邊同時推開,ram應該會自己立起來,再取出即可。


注意! 拆風扇時要先將此排線(紅色所示)輕輕的用黑色塑膠棒往上輕輕推,就可以將排線鬆脫



接著將風扇的螺絲卸下,這根長的螺絲不用理他,就讓他連在風扇上即可

拆開後的樣子,紅色部份是最後取出主機板前要再檢查的地方,所有螺絲...排線...等等都要卸下後才可以取出主機板!!




接著取出,無線網卡,一樣鬆開螺絲,並向後緩緩的取下模組! 注意!!這邊有一條排線,需用塑膠棒細頭將排線挑出。




取出無線模組後,可以看到原廠第一個硬碟就是在無線模組下!
左邊紅色框框的是第一個硬碟(原廠)的排線,右邊的是待會要裝的第二顆硬碟排線!





取出的硬碟,側邊有鎖上固定用螺絲,待會要插在防震環內。

灰塵......


打開後,可以發現內部空間頗大!



此時,即將取出主機板!!!!!!!!!!!!!!!!! 且慢!
注意!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

檢查紅色部位都有清除後才可以拆喔!!

不然就會.......排線被扯斷...........OrZ...


費了一番苦心才接回的排線


用原廠附得拆主機板工具(ㄇ字型),插入兩個孔後,輕輕的向後搬,在將主機板取出。


取下電源模組排線


此時,主機板請緩緩、輕輕、柔柔的推出

現在要取出 電源模組

將紅色金屬的卡榫向右抽出


將電源頭向左轉45度,慢慢抽出電源模組,這裡我拆了很久才拆下來......

確定有點鬆動之後才可以抽出電源模組



接著將硬碟的托架也拆掉

大部分解完畢!!!!



這時候在裝上防震環,可以用黑塑膠棒的尖頭部份來輔助,會較好使用。



先裝第二個硬碟


裝回硬碟支架、電源模組、主機板


裝回主機板時,要確定電源孔有對齊,才可以將主機板卡進去

將第二個硬碟的排線接到主機板上


最後逐一裝回剛剛拆的零件,記得每個螺絲都要鎖上!


開機測試!!  成功啦~~




心得:
1. 雖然看板上文章已經很久了,但是自己動手時,還是蠻緊張的。

2. 我看iFixit的影片,那個女生輕鬆的就拆完,想畢機器應該拆過很多次了,都很鬆。我的經驗是應該沒這麼好拆啦。

3. 排線之所以會斷掉,是因為我漏看了iFixit拆那段排線的影片。剛剛斷掉了時候,我在椅子上發呆好久,想說,完了,兩萬的機器就這樣弄壞了.....

過了十分鐘後,我拿起內附的黑色鑷子,一根一根的將線插回去對應的孔(要聽到卡一聲),心臟一直噗通噗通的跳。心裡忐忑不安,還好最後開機是成功的,目前用了約一星期, 一切正常!!

4. Apple的模具開得真的很好,裡面作工很精細,也很少有太多空隙。拆完很開心,也很有成就感。

5. 感謝板上許多大大地開箱、教學文,才可以讓小弟成功換裝雙硬碟!

iFixit 網址:http://www.ifixit.com/Apple-Parts/Mac-Mini-Dual-Hard-Drive-Kit/IF171-005

































Labels