最近玩玩 node JS 跟 v8 engine to embedded, 當然git 這個套件也是要給他上去跑跑跑....
玩著玩著... 我把它給玩爛了... 還玩爛我的麗娜斯妹妹(大哭。
2013年12月4日 星期三
2013年8月9日 星期五
[Google] V8 JavaScript engine 安心裝
最近開始搞一些有的沒有的,平常是一個慣C人突然短時間跑來寫JavaScript
Ubuntu 安裝上面跟別人有點小小不同,memo 一下。
發現這東西寫起來真的隨興所欲超級隨便(茶)
倒也幫ATV弄了幾個好玩的東西,可以安心看電視了。
熊熊想起有個人再推廣node.js
JS 可以自己脫離瀏覽器,還可以像C一樣(!?)
JavaScript好像有點威Orz。
話說...
這年頭都在流行...自幹OS跟自幹瀏覽器就是了 (抖抖)
Ubuntu 安裝上面跟別人有點小小不同,memo 一下。
1. Tools
git, svn python g++4.6 ... tools (工具一定要)
1. add-apt-repository ppa:ubuntu-toolchain-r/test
2. 更換g++ 到4.6
原本ubuntu 預裝的是4.4
嘗試過幾版4.8 4.xx 只有4.6順利裝好。
換法:
-----
更換 g++ and gcc 版本
2. apt-get update
3. aptitude 進去選你要的版本
4. 更改gcc g++ 軟連結
-----
1. 下載V8 Source code
git clone git://github.com/v8/v8.git v8 && cd v8
2. Rebase 到主TREE
git pull --rebase origin master
3. make dependencies
這裡有點奇怪,他會去抓third-party 的code
但是
走https 一直抓不下來,手動改成http:// 不走SSL
4. make native mode=debug library=shared snapshot=on
基本上就完成了。
會產生
out/native/lib.target/libv8.so
把他COPY到 /usr/lib/
本機執行會用到
5. 小跑一下sample code
#g++ -I../include shell.cc -o shell.o -L../out/native/lib.target -lv8 -lpthread
#./shell.o
V8 version 3.20.15 (candidate) [sample shell]
> print("hi bejo");
hi bejo
> print("hi bejo");
hi bejo
>
----------
收工!!!
2013年6月14日 星期五
[Google] Hangouts 搞啥阿!!!
好啦~~ 是變好用了... 只是很多東西都亂掉了。
現在版本的hangouts 會把對話紀錄全部都丟在寄件備份,還一句話一封信的,
終於iOS 可以支援Gtalk,紀錄一下小問題。
現在版本的hangouts 會把對話紀錄全部都丟在寄件備份,還一句話一封信的,
這樣子整個資料夾都沒辦法用了。
解法: (濾掉)
is:sent -label:chats
不爽解法: (砍掉)
is:sent label:chats
然後全砍了,媽的!!!!
---------
現在hangouts 沒辦法顯示聯絡人是否上線的狀態,這google不知道在想啥,做了很多功能卻忘記很基本的事情...
[Linux] BitTorrent Sync 檔案的祕密旅行
前兩天突然發現BitTorrent Lab在上上個月4/23 發表了 BitTorrent Sync
這個 BTsync 呢? 其實就是 dropbox 的區域網路端版本,但是它不需要Server,傳輸方式靠的是P2P,人越多越快,果然是BT老本家 bitTorrent 的新作品!!!
{
"listen" : "0.0.0.0:8888",
"login" : "bejo",
"password" : "ThisIsPassword"
}
照慣例
媽呀~~~ Local 端的 P2P 正是我一直想做的工具,太讚了~
以後分享檔案不用切來切去了 >////////////<
乾~~~ 這東西好威阿,不只區網,連跨廣域網路(internet)傳送都沒問題啊!!!
家裡一台公司一台到處都可以SYNC!!!
目前支援平台
Win, Linux, ARM Linux, MAC ...
----------------------------
官網表示:(.........下面也可以)
Linux ARM
Linux PowerPC
Linux i386
Linux x64
Linux PPC QorIQ
Linux_i386 (glibc 2.3)
Linux_x64 (glibc 2.3)
FreeBSD i386
FreeBSD X64
手機板的開發中... 有點靠杯多,根本為了嵌入式系統招呼來的。
這個 BTsync 呢? 其實就是 dropbox 的區域網路端版本,但是它不需要Server,傳輸方式靠的是P2P,人越多越快,果然是BT老本家 bitTorrent 的新作品!!!
多好用,以後工作環境、在辦公室、在一堆區域電腦裡不用再開FTP、samba、 webFile就可以分檔案,也不會有主機掛掉的風險啦,還跨平台咧!!! 麗娜斯 小麥麥 都來吧 >////////////<
方法:
先安裝好一台,然後把某個資料夾分享出來GET 特徵碼(Secret)
EX: GXXXXXM3OKJTOIHYSQ3CZHH7XXXXXXXX
像上面這樣,其他台只要先輸入特徵碼,再指定想同步的資料夾即可。
特徵碼可以產生三種,第一種當然是讀寫都可以,另外一種是唯讀,還有一種是24HR讀寫(根本免洗筷特徵碼!!!) 愛給別人什麼就給什麼。
安裝:
[WINDOWS]
只支援winXP SP3 以後 vista win7 都OK
方法: 隨便裝啦。
[MAC]
隨便啦,拉過去就好了。
[Linux]
麗娜斯小女孩就是這樣,小小麻煩 = =+。
- 先把檔案抓回去,解開會發現只有幾個檔案,我們只需要一個bin檔,其他是包裝紙丟掉bin: btsync
- cp btsync /usr/bin/
- btsync --dump-sample-config > /etc/BTsync.conf
- 修改 /etc/BTsync.conf
{
"listen" : "0.0.0.0:8888",
"login" : "bejo",
"password" : "ThisIsPassword"
}
- btsync --config /etc/BTsync.conf
- 完畢。
本身configration file 裡面有經有分享檔案的設定區段,當然預設是mark 掉的。
不用打開,因為她支援 webUI ㄚㄚㄚ
本機
http://127.0.0.1:8888/gui/
OR 遠端連
http://IP:8888/gui/
所以一定要改密碼,一定要))一定要)))一定要))))))小妹妹被人偷玩會令人非常生氣的。
webUI設定就很簡單了,btsync 砍掉重開,原本設定都還會在,應該沒問題。
2013年4月22日 星期一
[OSX] 手動增加Booting script
OSX 怎麼說都像麗娜斯的同父異母妹妹,總是那邊很像這邊差一點,個性很不好捏...
今天想改Ehthernet IP alias 加進去開機booting 裡面才發現,
OSX真的很傲嬌。
首先增加 hook 點到
[ /etc/rc.common ] 的最後面
if [ -f /etc/rc.local ]; then
sh /etc/rc.local
fi
然後OPEN 新檔案
[ /etc/rc.local ]
把想新增的加進去當作 script 用,OSX booting 的時候會把自己當root 身分,所以不用管太多
當麗娜斯的 RC 用吧
[IP alias]
對~~硬是跟 麗娜斯小妹妹不一樣 ifconfig eth0:0 192.168.2.1
換成
ifconfig en2 alias 192.168.2.1
丟進去讓他開機就先alias IP吧。
[題外話]
AX772 chip 裡面同捆的 FT232R USB UART
不要裝太新的驅動,不然 /dev/XXX 裡面會沒有 FD 元件。
參考Link
混再一起就可以安心跑console 啦~~
2012年12月17日 星期一
[Linux] 假裝自己很專業的ctags + function list
古人常說,如果要常常古狗別人,那不如古狗自己吧... (這三小)
[ctags]
先memo 一下 ctags + function list 的好好用組合
[ctags]
照慣例這是官網
安裝方法掏出超好用的 aptitude 搜尋ctags (會找到exuberant-ctags)
裝一裝~
沒了!!!
[function list]
這個就是好好用,vim 側邊叫出function list 讓你 ctrl+w w 兩下跳來跳去好東西
按照慣例這是官網
事實上這是一個vim plug-in, 參照巨集語言寫好的所以直接抓官網的
- taglist.vim
這個檔案!!! 就是他 只需要他!!!
放到
- /etc/vim/plugin/taglist.vim (plugin 目錄或許要自己手動建立)
完成~
這邊小小修改一下taglist.vim
個人習慣是右撇子看右邊,順便調整一下軟硬度阿寬度
右邊關鍵字: Tlist_Use_Right_Window = 1
寬度關鍵字: Tlist_WinWidth = 30
vim 的熱鍵習慣f9 也順便修改一下
- FILE: /etc/vim/vimrc
加入下面這行
- map <f9> :Tlist<CR>
在加一行來暴力搜尋ctags index file 比較安心
- set tags=./tags;../tags;../../tags;../../../tags;../../../../tags;../../../../../tags;../../../../../tags;
不管放在上面三層四層五層 都挖出來.... (只有五層啦)
--
因為是巨集文件,所以直接複製程式碼存檔成taglist.vim 也可以,當然去官網就比較新囉。
2012年1月12日 星期四
[Linux] skb_reserve(2)
我們都知道
skb_reserve(2)
是為了把Ethernet 頭部對齊以增加效率(14+2)
但其實
dev_alloc_skb()...
這funciton 本身也預留了一個
NET_SKB_PAD 大小空間在 headroom,通常是
#define NET_SKB_PAD 32
所以skb_push推的時候... 不要再推過頭啦!!!(痛...
有時各家的driver 會預留不同大小的NET_SKB_PAD,一般是拿來做特製的Buffer Tag(如夾帶特別的Flag,又不想影響封包的內容),這樣skb_copy() 就會複製下去,自己修改skb struct 增加項目是比較麻煩的唷,這樣改要修改其他部分。
參照: __copy_skb_header()
即可知道
當然偷偷使用skb->cb欄位也可以,要注意沒有其他地方也偷用就是XD
--
另外
ip_header()
net_header()
兩個頭部取用的function 要記得
skb->network_header
skb->transport_header
已經init 好位置.... O__Q 棍...
skb_reserve(2)
是為了把Ethernet 頭部對齊以增加效率(14+2)
但其實
dev_alloc_skb()...
這funciton 本身也預留了一個
NET_SKB_PAD 大小空間在 headroom,通常是
#define NET_SKB_PAD 32
所以skb_push推的時候... 不要再推過頭啦!!!(痛...
有時各家的driver 會預留不同大小的NET_SKB_PAD,一般是拿來做特製的Buffer Tag(如夾帶特別的Flag,又不想影響封包的內容),這樣skb_copy() 就會複製下去,自己修改skb struct 增加項目是比較麻煩的唷,這樣改要修改其他部分。
參照: __copy_skb_header()
即可知道
當然偷偷使用skb->cb欄位也可以,要注意沒有其他地方也偷用就是XD
--
另外
ip_header()
net_header()
兩個頭部取用的function 要記得
skb->network_header
skb->transport_header
已經init 好位置.... O__Q 棍...
訂閱:
文章 (Atom)