Apply Russia Visa in Singapore is easy, but the problem for me is find the embassy.
*******
俄羅斯這個地方,曾經對我很遙遠。
因為光是要辦簽證,就可以非常折磨人。
一大堆流程,還要準備邀請函。
因為俄羅斯跟台灣沒有互設大使館,只有辦事處。
台灣這邊要申請就需要透過「雙都」交給「莫北協」。
申請的費用也非常昂貴,規定也一大堆。
後來搬到新加坡之後,持台灣護照申請非常容易。
整個過程也沒有太多問題,唯一的麻煩是大使館難找。
因為那邊使館區非常偏僻,搭大眾運輸要走一段路。
出發前要準備的,就是錢還有上網登記填表。
(以下示範的範例是在新加坡申請)
上網登記填表之前要取得邀請函(LOI, Letter of Invitation)。
在多數的情況下,邀請函都要花錢買。
或者由住宿的旅館發出,有的也要收錢。
我的部份是上網購買邀請函,找到最便宜的收費20美金左右。
值得注意的是,在台灣申請會被要求「正本」。
但是多數邀請函發出都是Email給你PDF檔案。
所以如果你要給雙都辦,需要多花非常多錢要求正本。
正本就是那份PDF檔案的正本,有簽名蓋章。
然後從俄羅斯寄過來給你,兼收非常貴的費用。
在新加坡辦只要印出邀請函的PDF檔案就好。
這邊給大家看看邀請函長怎麼樣。
上面登載個人資訊還有預計旅遊的時間。
這個非常重要,千萬不能弄錯。
因為簽證的有效期間是根據邀請函上面的日期。
上網登記填表,網站在這裡。
填寫的登記表就是要產生簽證申請表格用的。
一定要有邀請函,因為要填邀請函的號碼。
上面也會有發邀請函的單位名稱,通常是旅行社。
填表之後要印出來簽名。
注意看資料有沒有錯,然後貼上照片準備送件。
根據這表格的所需資料,建議旅遊險也要保。
不知道保哪一家?看這個Blog右邊有個人頗推的業者。
俄羅斯駐新加坡的大使館在烏節路附近的「荒郊野外」。
地址:51 Nassim Road, Singapore 258439
我是順著GPS從Botanic Gardens地鐵站走過去。
路程大概要20分鐘。
這個很低調的建築物就是俄羅斯大使館。
一般人大概只會到簽證處,就是這個非常重的大鐵門。
要先按電鈴跟警衛告知來意。警衛還會影印你的證件。
進入領務處的辦公室之後,要先抽號碼牌。
之後到指定的櫃台開始初步的文件審查。
大致上就是有效護照(要有兩頁以上的空白頁)
申請表格加上邀請函正本還有副本。
我有附上機票的購票證明、旅館訂房、旅遊險證明。
並且用便利貼寫上我是要透過陸路從烏克蘭到俄羅斯。
工作人員並沒有問太多的問題,只問我要急件否。
我就說不用,一般件即可。
好了之後,請到旁邊櫃台繳錢。
一般件七天取件,收費新幣78元。
只能用現金,不能用NETS。
(我那天錢帶不夠,又跑很遠去領。
官方網站上明明就說可以用NETS付款)
繳款之後工作人員會給一張收據,之後憑這張紙取件。
取件日一樣,先抽號碼牌。
通常就是到付款那個窗口拿回護照。
這就是辦下來的俄羅斯簽證,上面沒有照片。
看起來非常簡單,事實上用光照有暗記。
好像是他們會先在護照那頁蓋章寫東西,然後貼上簽證貼紙。
這樣可以避免簽證被抽換到其他護照上冒用。
*******
簽證處收取件時間通常只到中午而已,請把握時間。
在新加坡申請俄羅斯簽證非常容易。
持台灣護照也沒有特別被刁難,也不用檢查居留證。
所以我可以搞代辦簽證的事業嘛?
您也許同樣感興趣的文章:
從烏克蘭搭火車到俄羅斯的實況
俄羅斯莫斯科地鐵購票指南
2014年1月31日 星期五
2014年1月26日 星期日
Neo4j: Perl與CGI範例
How to using Neo4j perl library?
From local script to Web CGI.
I've create a simple backend case.
*******
這週末嘗試做一些Neo4j的網頁介面整合。
因為資料庫最終還是需要有前端的查詢介面。
測試了很多的Neo4j函式庫,最後還是選擇Perl。
Python的Django我不會,現在也沒空學。
Ruby的部份,我已經忘了RoR(Ruby on Rails)。
用Perl配合CGI的作法還是容易許多。
首先要做的,是安裝Neo4j的Perl函式庫。
用CPAN安裝就好,進入CPAN的指令介面後:
install REST::Neo4p
就會開始安裝所有必要套件,編譯並且測試。
另外,Apache2網頁伺服器也要開啟CGI的支援,
主要是修改設定檔,指定CGI程式的目錄。
以Ubuntu為例,要修改的是/etc/apache2/sites-available/default
加上cgi執行目錄的定義與允許的副檔名
</Directory>
指令是sudo /etc/init.d/apache2 restart
安裝並設定好了以後,先用簡單的Perl程式來測試一下。
主要是驗證資料庫的連接沒有問題。
我先在資料庫主機端測試,避免一些意外狀況。
就建立一個Perl的檔案,然後包含以下的程式碼內容:
#!/usr/bin/perl -w
use strict;
use warnings;
#建立一個查詢的物件
my $query = REST::Neo4p::Query->new(
' match(peptide)-[:HOST_IN]->({name:"Bos taurus"})
return peptide'
#把Cypher語法寫在括弧裡面
);
#送出查詢
$query->execute;
print "Show me which peptide host in \"Bos taurus\"?\n";
while (my $result = $query->fetch)
{
#查詢的結果被回傳,開始Parse結果的JSON檔案
print $result->[0]->get_property('name')."\n";
}
不意外,經過Perl跟Neo4j管理介面回傳的結果都一致
但是我還想知道上面那個案例的回傳矩陣是怎麼運作。
經過了解之後,寫了一個稍微複雜的查詢追蹤程式邏輯。
#!/usr/bin/perl -w
use REST::Neo4p;
use strict;
use warnings;
REST::Neo4p->connect('http://127.0.0.1:7474');
print "The sequence of Chrombacin?\n";
'match (peptide {name:"Chrombacin"})-[:HAS_SEQUENCE]->(sequence)
return peptide,sequence'
);
print $result2->[1]->get_property('seq')."\n";
}
現在要回傳的有兩個值(查詢結果):peptide跟sequence
$result2基本上是一個被parse過的陣列集合
$query2是經由Web Service回傳的JSON檔案
所以陣列集合裡按照順序,peptide就是[0],sequence是[1]
至於Properties的部份,對應的name跟seq。
是Node的屬性設定,這在建立節點時就已經定義了。
執行看看這個perl script,結果符合預期。
現在要把Perl用CGI的方式執行,看看能不能成功用網頁展示結果。
把同樣perl script複製到/var/www/cgi-bin裡面。
開啟瀏覽器看看結果,竟然出現錯誤了。
查看其他可以運作的Perl CGI範例。
發現我少了網頁伺服器可以剖析的元件。
Perl的輸出要符合HTML跟瀏覽器的規範啊!
主要是MIME的定義。
所以一開始要先輸出這一行:
print "Content-type: text/html\n";
然後其他要用HTML顯示的元素也要符合語法。
例如說換行的部份,就要輸出<br>的標籤。
單單是"\n"並沒有用,只有Perl知道。
HTML的換行是<br/>才對
小改一下perl script內容,存檔之後重開就有了。
也請記得這個pl檔案要賦予執行的權限。
sudo chmod +x case.pl
*******
以上,Perl跟Neo4j就是這麼簡單。
附上官方的參考資料
您也許同樣感興趣的文章:
Neo4j: Cypher語法筆記:Match語法
Neo4j: Cypher語法筆記:Pattern呈現形式
Neo4j: Cypher語法筆記:Expressions
From local script to Web CGI.
I've create a simple backend case.
*******
這週末嘗試做一些Neo4j的網頁介面整合。
因為資料庫最終還是需要有前端的查詢介面。
測試了很多的Neo4j函式庫,最後還是選擇Perl。
Python的Django我不會,現在也沒空學。
Ruby的部份,我已經忘了RoR(Ruby on Rails)。
用Perl配合CGI的作法還是容易許多。
首先要做的,是安裝Neo4j的Perl函式庫。
用CPAN安裝就好,進入CPAN的指令介面後:
install REST::Neo4p
就會開始安裝所有必要套件,編譯並且測試。
另外,Apache2網頁伺服器也要開啟CGI的支援,
主要是修改設定檔,指定CGI程式的目錄。
以Ubuntu為例,要修改的是/etc/apache2/sites-available/default
加上cgi執行目錄的定義與允許的副檔名
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory /var/www/cgi-bin/>
Options ExecCGI
AddHandler cgi-script cgi pl
</Directory>
以上面範例,要建一個cgi-bin的資料夾在/var/www目錄下
(這是Ubuntu預設的網頁根目錄)
之後記得要重開Apache2伺服器指令是sudo /etc/init.d/apache2 restart
安裝並設定好了以後,先用簡單的Perl程式來測試一下。
主要是驗證資料庫的連接沒有問題。
我先在資料庫主機端測試,避免一些意外狀況。
就建立一個Perl的檔案,然後包含以下的程式碼內容:
#!/usr/bin/perl -w
#呼叫必要的函式庫,特別是Neo4p
use REST::Neo4p;use strict;
use warnings;
#建立一個與資料庫伺服器的連線
REST::Neo4p->connect('http://127.0.0.1:7474');#建立一個查詢的物件
my $query = REST::Neo4p::Query->new(
' match(peptide)-[:HOST_IN]->({name:"Bos taurus"})
return peptide'
#把Cypher語法寫在括弧裡面
);
#送出查詢
$query->execute;
while (my $result = $query->fetch)
{
#查詢的結果被回傳,開始Parse結果的JSON檔案
print $result->[0]->get_property('name')."\n";
}
不意外,經過Perl跟Neo4j管理介面回傳的結果都一致
但是我還想知道上面那個案例的回傳矩陣是怎麼運作。
經過了解之後,寫了一個稍微複雜的查詢追蹤程式邏輯。
#!/usr/bin/perl -w
use REST::Neo4p;
use strict;
use warnings;
#特別要看的部份是以下
my $query2 = REST::Neo4p::Query->new('match (peptide {name:"Chrombacin"})-[:HAS_SEQUENCE]->(sequence)
return peptide,sequence'
);
#尤其是這裡
$query2->execute;
while (my $result2 = $query2->fetch) {
print $result2->[0]->get_property('name')."\n";print $result2->[1]->get_property('seq')."\n";
}
現在要回傳的有兩個值(查詢結果):peptide跟sequence
$result2基本上是一個被parse過的陣列集合
$query2是經由Web Service回傳的JSON檔案
所以陣列集合裡按照順序,peptide就是[0],sequence是[1]
至於Properties的部份,對應的name跟seq。
是Node的屬性設定,這在建立節點時就已經定義了。
執行看看這個perl script,結果符合預期。
現在要把Perl用CGI的方式執行,看看能不能成功用網頁展示結果。
把同樣perl script複製到/var/www/cgi-bin裡面。
開啟瀏覽器看看結果,竟然出現錯誤了。
查看其他可以運作的Perl CGI範例。
發現我少了網頁伺服器可以剖析的元件。
Perl的輸出要符合HTML跟瀏覽器的規範啊!
主要是MIME的定義。
所以一開始要先輸出這一行:
print "Content-type: text/html\n";
然後其他要用HTML顯示的元素也要符合語法。
例如說換行的部份,就要輸出<br>的標籤。
單單是"\n"並沒有用,只有Perl知道。
HTML的換行是<br/>才對
小改一下perl script內容,存檔之後重開就有了。
也請記得這個pl檔案要賦予執行的權限。
sudo chmod +x case.pl
*******
以上,Perl跟Neo4j就是這麼簡單。
附上官方的參考資料
您也許同樣感興趣的文章:
Neo4j: Cypher語法筆記:Match語法
Neo4j: Cypher語法筆記:Pattern呈現形式
Neo4j: Cypher語法筆記:Expressions
2014年1月18日 星期六
建達出奇蛋AirBus限定版
A gift from my friend, it's Kinder Surprise egg.
Chocolate and the toy.
*******
三個願望一次滿足,從小聽到大。
還記得這東西大概是我小學的時候出現的。
就是巧克力、玩具加上新奇又好玩的東西。
感謝香港的朋友送我這禮物,讓我第一次吃建達出奇蛋。
這當然不是普通的建達出奇蛋,而是有主題的版本。
據了解,這是在香港機場買的限定版產品。
裡面總共有五顆,然後每一顆都是飛機的模型。
而飛機都是AIRBUS A330-300系列的。
聽說這東西已經賣完了,所以可能也找不到了。
限量果真是殘酷的。
抱歉,開箱前被我弄得東倒西歪。
包裝上非常清楚寫著就是5個,透明的盒裝也看得出來。
包裝側邊更清楚了,蛋裡面是飛機喔!
而且是AIRBUS A330-300的機型。
機場獨家限定,旅客才有機會買到。
盒底就是多國語言的說明,外加原料成分描述。
同時還有組裝的方式,跟最後成品的樣子。
特別注意了一下產地,這是在波蘭生產製造的呢!
側邊不怎麼醒目且好撕的封條,不傷外盒。
畢竟這最後是要拿來當展示架的。
打開後,擺好五個蛋的樣子。
「蛋架」那個是儀表板的表面。
近拍出奇蛋的包裝
拿起盒底,嗯!底下沒有現金,更沒有兩萬美元的旅支。
剝開蛋來看看,沒想到還真好剝開。
就這樣,裡面有玩具殼。五個都是這種顏色的!
扭開上蓋,裡面就是飛機模型了。
包含說明書還有模型零件,一個蛋就可以組成一台飛機。
說明書上有機型簡介
油量、乘客數、飛行距離、機身長度
說明書算是頗用心,每個機型都是一種圖樣。
並沒有只用一個版本的說明書統一。
組裝方式簡單,把機身兩截裝好。
裝上機翼
裝好展示底座並粘上貼紙在底座
這樣就好了,下圖是標準的A330-300塗裝。
雖然是小小的飛機模型,只能說機身塗裝非常精緻。
總共有五架,空中巴士原廠、建達塗裝、漢莎航空
土耳其航空還有韓亞航空
好像都是星空聯盟(Star Alliance)的
所以寰宇一家也用A330-300的就不會出現了
這可能是廣告的原因吧!
放上包裝盒的展示架,然後配合背景紙卡。
最後蓋上透明塑膠盒,就是限定版的飛機出奇蛋模型。
好了,開箱完畢!
這就是限定版的飛機模型,再次感謝我朋友。
讓我第一次吃到建達出奇蛋
(自己一人住,一次吃五顆...吃到會怕了)
第一次擁有飛機模型
*******
同場加映烏克蘭版的建達出奇蛋
另外,原來建達出奇蛋跟金莎是系出同門。
都是義大利Ferrero的產品,再補上我在東歐看到的:
白色的金莎!
Chocolate and the toy.
*******
三個願望一次滿足,從小聽到大。
還記得這東西大概是我小學的時候出現的。
就是巧克力、玩具加上新奇又好玩的東西。
感謝香港的朋友送我這禮物,讓我第一次吃建達出奇蛋。
這當然不是普通的建達出奇蛋,而是有主題的版本。
據了解,這是在香港機場買的限定版產品。
裡面總共有五顆,然後每一顆都是飛機的模型。
而飛機都是AIRBUS A330-300系列的。
聽說這東西已經賣完了,所以可能也找不到了。
限量果真是殘酷的。
抱歉,開箱前被我弄得東倒西歪。
包裝上非常清楚寫著就是5個,透明的盒裝也看得出來。
包裝側邊更清楚了,蛋裡面是飛機喔!
而且是AIRBUS A330-300的機型。
機場獨家限定,旅客才有機會買到。
盒底就是多國語言的說明,外加原料成分描述。
同時還有組裝的方式,跟最後成品的樣子。
特別注意了一下產地,這是在波蘭生產製造的呢!
側邊不怎麼醒目且好撕的封條,不傷外盒。
畢竟這最後是要拿來當展示架的。
打開後,擺好五個蛋的樣子。
「蛋架」那個是儀表板的表面。
近拍出奇蛋的包裝
拿起盒底,嗯!底下沒有現金,更沒有兩萬美元的旅支。
剝開蛋來看看,沒想到還真好剝開。
就這樣,裡面有玩具殼。五個都是這種顏色的!
扭開上蓋,裡面就是飛機模型了。
包含說明書還有模型零件,一個蛋就可以組成一台飛機。
說明書上有機型簡介
油量、乘客數、飛行距離、機身長度
說明書算是頗用心,每個機型都是一種圖樣。
並沒有只用一個版本的說明書統一。
組裝方式簡單,把機身兩截裝好。
裝上機翼
裝好展示底座並粘上貼紙在底座
這樣就好了,下圖是標準的A330-300塗裝。
雖然是小小的飛機模型,只能說機身塗裝非常精緻。
總共有五架,空中巴士原廠、建達塗裝、漢莎航空
土耳其航空還有韓亞航空
好像都是星空聯盟(Star Alliance)的
所以寰宇一家也用A330-300的就不會出現了
這可能是廣告的原因吧!
放上包裝盒的展示架,然後配合背景紙卡。
最後蓋上透明塑膠盒,就是限定版的飛機出奇蛋模型。
好了,開箱完畢!
這就是限定版的飛機模型,再次感謝我朋友。
讓我第一次吃到建達出奇蛋
(自己一人住,一次吃五顆...吃到會怕了)
第一次擁有飛機模型
*******
同場加映烏克蘭版的建達出奇蛋
另外,原來建達出奇蛋跟金莎是系出同門。
都是義大利Ferrero的產品,再補上我在東歐看到的:
白色的金莎!
2014年1月13日 星期一
俄羅斯莫斯科地鐵購票指南
Moscow Metro increasing their price every year.
But you still can save some money.
*******
莫斯科什麼都很貴,物價高到難以想像。
但是唯獨地鐵的部份,還算可以接受。
不過莫斯科每年都在調高地鐵費用就是了。
比起日本的高交通費用,莫斯科好處是以次計價。
也就是不管搭多遠都一樣貴。
小弟我到莫斯科時,正好經歷了費用調整。
跨年之後從30盧布漲價到40盧布,幅度非常高。
但是還是有一些方法可以省錢。
例如買多次票,最少五次。
5次票賣150盧布、11次300盧布、20次500盧布
40次1000盧布、50次1200盧布
實際上觀光客要用到50次票有些難度。
一週的行程,頂多20次吧!
除此之外,還有90分鐘票。
就是90分鐘內,各種交通工具組合使用。
1次是50盧布、5次220盧布、11次450盧布
20次750盧布...
你可以地鐵混搭公車、地上電車、火車等等
只要90分鐘內完成
這種計次的票,都是紀錄在這種紙卡。
不管你買1次或是50次票,長得都一樣。
適用於各種交通工具,包含莫斯科區的火車區間車。
如果要省錢,就是跟我一樣用тройка
這是莫斯科最新的儲值卡,押金50盧布可以退。
有了這張卡,單趟就只要28盧布。90分鐘混搭也只要44盧布。
公車、電車只要26盧布。可以透過機器自己儲值。
50盧布怎麼算都划算,搭幾趟就回來了。
像我不退卡還可以留作紀念。
儲值的方式非常簡單,來到一般莫斯科地鐵的購票機前。
先按右上方的語言切換按鈕
選擇最下面的Top-up E-Wallet
畫面提示插入你的Troika
把你的儲值卡插入機器
畫面會顯示目前的餘額
放入鈔票或者硬幣,可以趁機把那些小零錢用掉。
沒有規定最少要放多少,但是畫面有規定硬幣上限。
餘額24盧布再補個4盧布硬幣,就可以再搭一趟了。
畫面即時更新放進去的金額,完成充值後按下面確認的按鈕
稍待一下,然後取出收據跟票
使用Troika就是這麼簡單
*******
比起買票省錢這件小事,莫斯科地鐵更重要的是他的「藝術性」
很多站都值得細細品味他的藝術價值。
關於一些應該停下來欣賞的站,之後再介紹。
But you still can save some money.
*******
莫斯科什麼都很貴,物價高到難以想像。
但是唯獨地鐵的部份,還算可以接受。
不過莫斯科每年都在調高地鐵費用就是了。
比起日本的高交通費用,莫斯科好處是以次計價。
也就是不管搭多遠都一樣貴。
小弟我到莫斯科時,正好經歷了費用調整。
跨年之後從30盧布漲價到40盧布,幅度非常高。
但是還是有一些方法可以省錢。
例如買多次票,最少五次。
5次票賣150盧布、11次300盧布、20次500盧布
40次1000盧布、50次1200盧布
實際上觀光客要用到50次票有些難度。
一週的行程,頂多20次吧!
除此之外,還有90分鐘票。
就是90分鐘內,各種交通工具組合使用。
1次是50盧布、5次220盧布、11次450盧布
20次750盧布...
你可以地鐵混搭公車、地上電車、火車等等
只要90分鐘內完成
這種計次的票,都是紀錄在這種紙卡。
不管你買1次或是50次票,長得都一樣。
適用於各種交通工具,包含莫斯科區的火車區間車。
如果要省錢,就是跟我一樣用тройка
這是莫斯科最新的儲值卡,押金50盧布可以退。
有了這張卡,單趟就只要28盧布。90分鐘混搭也只要44盧布。
公車、電車只要26盧布。可以透過機器自己儲值。
50盧布怎麼算都划算,搭幾趟就回來了。
像我不退卡還可以留作紀念。
儲值的方式非常簡單,來到一般莫斯科地鐵的購票機前。
先按右上方的語言切換按鈕
選擇最下面的Top-up E-Wallet
畫面提示插入你的Troika
把你的儲值卡插入機器
畫面會顯示目前的餘額
放入鈔票或者硬幣,可以趁機把那些小零錢用掉。
沒有規定最少要放多少,但是畫面有規定硬幣上限。
餘額24盧布再補個4盧布硬幣,就可以再搭一趟了。
畫面即時更新放進去的金額,完成充值後按下面確認的按鈕
稍待一下,然後取出收據跟票
使用Troika就是這麼簡單
*******
比起買票省錢這件小事,莫斯科地鐵更重要的是他的「藝術性」
很多站都值得細細品味他的藝術價值。
關於一些應該停下來欣賞的站,之後再介紹。
訂閱:
文章 (Atom)