Tuesday, April 25, 2017

[C#] Roman numerals converter - 羅馬數字轉換

Two little function can translate Roman Numerals(String) to Number(Int) and trans back.
兩個小function可以將羅馬數字(字串)轉成數字(整數)再轉回

//1990=>MCMXC
public static string IntToRoman(int num)
{
 String[] m = { "", "M", "MM", "MMM" };
 String[] c = { "", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM" };
 String[] x = { "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC" };
 String[] i = { "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX" };
 return m[num / 1000] + c[(num % 1000) / 100] + x[(num % 100) / 10] + i[num % 10];
}

//MCMXC=>1990
public static int RomanToInt(string s)
{
 Dictionary d1 = new Dictionary { { 'I', 1 }, { 'V', 5 }, { 'X', 10 }, { 'L', 50 }, { 'C', 100 }, { 'D', 500 }, { 'M', 1000 } };
 Dictionary d2 = new Dictionary { { "IV", 4 }, { "IX", 9 }, { "XL", 40 }, { "XC", 90 }, { "CD", 400 }, { "CM", 900 } };
 int num = 0;
 foreach (var d in d2)
 {
  if (s.Contains(d.Key))
  {
   num += d.Value;
   s = s.Replace(d.Key, "");
  }
 }
 foreach (var d in d1)
 {
  var c = s.Count(x => x == d.Key);
  if (c > 0)
  {
   num += d.Value * c;
  }
 }
 return num;
}

Monday, April 24, 2017

空襲來時要躲哪 ?

今天北韓開戰的機會不小,前幾天北韓太陽節搞得大家人心惶惶,雖然最終以北韓飛彈試射失敗告終,但還是讓東亞國家都緊張了一個周末,戰爭的陰霾也還未散去。雖然北韓開戰影響台灣的機會很小,但天底下不怕一萬只怕萬一,就算北韓影響不到台灣,還有幾千顆飛彈對著台灣啊。

說到空襲,在和平了許久的台灣,最多人聯想到的應該是伍佰的【空襲警報】,至於防空演習,這年代除了參與演習的單位,其他人只會覺得一小時不能上街有點麻煩吧。但是你有想過,若今天空襲警報響了,幾分鐘後你查了一下,發現這不是演習,這時候你要躲到哪裡去嗎 ?

電影中打仗有戰壕躲,伍佰【空襲警報】裡說種田的都躲樹下,學生時代遇到空襲演練,老師說要躲在課桌底下,而現在呢 ? 老實說我還真的不曉得台灣有甚麼規定要怎麼躲,按照我的知識,遇到空襲若在市區,應該要就近找堅固的建築物做掩蔽,祈禱炸彈別炸到頭上把你埋了,但這只是我的想法,理論上台灣辦過那麼多場萬安演習,應該會有清楚的指示才對.....

Thursday, April 13, 2017

[實測] 捷運PM2.5真的比較高嗎 ?

事情是這麼來的,在FB PM2.5 開放資料社群上看到了這篇地鐵PM2.5飆高不只國外 北捷實測也相符,文中引用英國研究,並在台北捷運測得車站密閉空間的PM2.5數值較室外空間高出不少,由於文章內沒有當天的空汙資料可以參考,所以也不太曉得背景值大約是怎樣,只能用室外空間測出來的數據來推測應該是個空氣很好的天氣。

看了這樣的文章,我剛好有帶之前買的空汙偵測小工具,所以就在搭捷運時測試了一下,看看結果會如何。


Screenshot_20170412-192640
這是我開始測試前截的圖,看的出來台北市空氣蠻糟的,這個糟糕的空氣持續到半夜,截圖的時候是七點半,我九點多有再看一次,感覺上有更糟一點,大致上是沒有大風吹過空氣變好的情況在測試時發生。

Monday, April 10, 2017

自製求生盒 - DIY SOS Box

IMG_3481

求生盒(SOS box)這東西算是一個比較奇妙的東西,不像避難背包那麼出名,但又因為體積關係,不少廠商都有出套裝產品可供選擇,網路上搜尋SOS Box可以找到很多產品能參考,而不少對於此方面有經驗的人,都傾向於自己組求生盒,來對應自身會(或是預期)遭遇的狀況。

自組求生盒的第一步,就是找到適合的容器,一般而言都是找個大小適中,方便攜帶的堅固容器,如果能防水最好,比較常見的尺寸從海底雞罐頭這種大小,到便當盒大小都有人用。個人建議是別太小,至少要能裝進求生毯,也別大到放不進口袋,如果工作褲口袋或是外套口袋裝進去會妨礙行動,就太大了。

至於內容物,一般來說在都市準備的核心都是以刀、火、燈為基礎,古典一點求生盒會有針線、釣具、鏈鋸等等,比較常見的還有哨子、反射鏡、指南針,基本上是針對自己所需,還有能放進多少東西進盒子來思考。