2017年12月29日 星期五

[紀錄] Meet with K. K. Ramakrishnan

受到老師的委託
得以有這樣的機會
接見來自University of California, Riverside 的 K. K. Ramakrishnan
當初得知他是印度人後
由於之前看過三個傻瓜
知道他們的英文實在是如同外星人在說話一樣
因此在他來的前一天
特地去找了youtube上面的開放式課程來聽
沒想到
有夠難聽的!!!!
真的怎麼聽都聽不懂
完全不知道他在講什麼
連youtube也自動翻譯也不知道在翻什麼XDDDD
所以滿傻眼的

另外起先我也不知道要怎麼念他的名字
一直請google小姐念給我聽XD
深怕忘記他的念法

不過隔天前往桃園機場接機
拿著大字報等到他出現時
他直接伸手對我們說"Nice to meet you"
我們就直接回"Nice to meet you, too"
完全沒講到他的名字:PPPPP

在車上聊天的時候
忽然覺得他的英文我好像都聽得懂
至少能抓到關鍵字跟他用我的破英文跟他聊
而且聊起來的感覺和藹可親
也多虧他
得以進到平常進不去的招待所一探究竟
房間裡面的感覺接近飯店等級啊~

K. K. Ramakrishnan主要研究核心網路和SDN/NFV相關領域
並且在自己的實驗室有開發一套叫做OpenNetVM的NF管理平台
論文內容心得可以參考這裡

這是很特別的經驗
能夠直接的面對外國人
不論是閒話家常
還是用英文討論學術
很酷~~~~
不過學術的東西自己讀的話真的好難懂
這次聽他演講之後
對於OpenNetVM有多了一點的認識

這幾天感覺扮演一個K. K. 的專屬小服務生
不管是一開始的接機提行李
還是演講時幫他準備咖啡
或是當他的跟班
不知為何就想到聖經的那種場景XD
像是受到主人親自囑咐掌管好家裡的僕人
時時刻刻應當警醒
萬一主人突然回到家裡...........(拖走
哈哈哈

[筆記] 將openair-cn code從C改成C++遇到的error

1. Unknown type name 'class'
該.h同時被.cpp和.c include
因此編譯器會看不懂
Sol:
通通改成.c/.cpp

2. Jump to case label.
因為變數宣告在switch內的某個case
因為在該case以下的部分也看的到該變數
會有未宣告的問題
Sol:
把該變數加個{}
限制他的scope
3. Invalid application of sizeof to incomplete type with a struct
似乎是OAI的問題
Sol:
自行重新手動定義就可以編譯完成
4. int轉換成enum type
Sol:用static_cast<type>(value)去做轉換
5. unable to find string literal operator ‘operator""PRIx32’ with ‘const char [64]’, ‘long unsigned int’ arguments(2018.01.04更新)
把CMakeList的FLAG改用C++11編譯的時候發生的問題
Sol:
直接去把原本在define裡面的字串貼上去
e.g.:
#define TEID_FMT  "0x%"PRIx32
MSC_LOG_RX_MESSAGE (MSC_S11_MME, MSC_SGW, NULL, 0, "0 DELETE_SESSION_RESPONSE local S11 teid " TEID_FMT " ", resp_p->teid);
代換成
MSC_LOG_RX_MESSAGE (MSC_S11_MME, MSC_SGW, NULL, 0, "0 DELETE_SESSION_RESPONSE local S11 teid " "0x%"PRIx32 " ", resp_p->teid);

6.關於gtp函式的undefined reference(2018.01.10更新)
把libgtpnl相關的header 改回用extern "C"編譯
#include <libgtpnl/gtp.h>
#include <libgtpnl/gtpnl.h>

7.cannot declare member function static func_type func_name(parameter) to have static linkage (2018.01.31 updated)
Sol:
remove static for the definition
e.g.
class Foo
{
    static void Bar();
};

...

static void Foo::Bar()
{
    ...
}
the second "static" should be deleted.

8.invalid use of member function (did you forget the ‘()’ ?)
       obj_hashtable_ts_create (32, NULL, NULL, (void (*) (void **))pgw_lite_cm_free_apn, b);
"pgw_lite_cm_free_apn" is a member function in my class.
Sol:
add "static" declaration to pgw_lite_cm_free_apn in class

[公告] 敬告各位尋找 512p 521p 213p 17G 群交趴 套圖片下載 攝影集

敬告各位尋找 512p 521p 213p 17G

512p 521p 213p 17G 小大一群交趴 論壇 PTT 批踢踢 套圖片下載

攝影集 通識課課程 .rar .zip 裸照下載  套圖下載 

rar下載 zip下載 FB名單下載 IG名單下載 影片下載 jpg下載 avi下載

的板友!!
本人絕對不是穆川申 mustation mustation2 攝影師本人
上述圖片根本都只是公開的藝術照 沒什麼好看的!!!
本篇以人工智慧撰寫而成 請各位 不要再找圖片 顧慮一下受害者和基層員警檢察官的心情!!!

呼籲各位正在找

的版友

本人絕對不是穆川申 mustation mustation2 攝影師本人

強烈呼籲各位不要再關注這種東西!!! 只是藝術照!!!!
請顧慮基層員警 檢察官的心情!!!!
請顧慮受害者的心情!!!
謝謝!!!!

希望能阻止這股風潮蔓延><

2017年12月25日 星期一

[教學] Google Cloud Platform VM server啟用密碼登入

GCP預設使用private key登入VM
我們改成用密碼登入VM
就不用每換一台電腦就創立key

→VM執行個體
找到你要的VM後
選取"在瀏覽器視窗中開啟"

1.修改ssh設定檔
$ sudo vim /etc/ssh/sshd_config

2.以/PasswordAuthentication 搜尋
把值改成yes

3.重新啟動ssh服務
$ sudo service ssh restart

由於GCP會把密碼設定為你不知道的密碼
因此現在要把該帳戶密碼改成你要的密碼

$ sudo passwd <your_account_name>
Enter new UNIX password: (輸入你要設定的密碼)
Retype new UNIX password: (再輸入一次)
passwd: password updated successfully
↑看到這一行就成功囉


參考資料