顯示具有 source 標籤的文章。 顯示所有文章
顯示具有 source 標籤的文章。 顯示所有文章

2016年3月1日 星期二

[翻譯][Ubuntu] 14.04 安裝 Android Studio

簡單說明一下, Android Studio 是 Android 上面的開發工具,在 Ubuntu 上面安裝尤其方便。所以這邊找到一篇 How to Install Android Studio in Ubuntu 14.04/14.10/12.04 via PPA 時,就蠻想為它做個分享和記錄。

道先說明 Android Studio 有什麼特別的:

  • Gradle-based build support.
  • Android-specific refactoring and quick fixes.
  • Lint tools to catch performance, usability, version compatibility and other problems.
  • ProGuard and app-signing capabilities.
  • Template-based wizards to create common Android designs and components.
  • A rich layout editor that allows you to drag-and-drop UI components, preview layouts on multiple screen configurations, and much more.
  • Built-in support for Google Cloud Platform, making it easy to integrate Google Cloud Messaging and App Engine as server-side components.

再來是如何在 Ubuntu 上面透過 PPA 安裝:
先來安裝 Java 環境:
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer oracle-java7-set-default

再來安裝 Android Studio 的部份:
sudo apt-get update
sudo apt-get install android-studio


----
參考來源:How to Install Android Studio in Ubuntu 14.04/14.10/12.04 via PPA

2016年1月31日 星期日

[Linux] Pidgin 登入臉書 認證失敗 xmpp 未認證問題解法

pidgin 想要登入臉書,大概會遇到些問題,還好 google 大神給了解決辦法,只要安裝一個 purple-facebook 的 plugin 就好:


sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/jgeboski/xUbuntu_$(lsb_release -rs)/ /' >> /etc/apt/sources.list.d/jgeboski.list"
cd /tmp && wget http://download.opensuse.org/repositories/home:/jgeboski/xUbuntu_$(lsb_release -rs)/Release.key
sudo apt-key add - < Release.key
sudo apt-get update sudo apt-get install purple-facebook


然後再來就是把 pidgin 煩死人的登入登出提醒關掉,這樣臉書總算可以用 pidgin 來傳訊息了。

--

參考:
* ubuntu 上面可以登入 facebook 的 client 軟體
http://askubuntu.com/questions/662249/chat-client-supporting-facebook
* 如何關掉煩死人的臉書提醒
https://adamwright.wordpress.com/2013/03/05/how-to-disable-pidgins-annoying-facebook-notifications/

2014年7月28日 星期一

[Linux][script] gif 回放 script

因為每次看 gif 圖片,都會看到像這樣的東西:
覺得好像最後跳躍的感覺很不自然,所以心裡想說,用回放的機制就可以讓 gif 看起來比較自然了不是?
所以就用 imagick tool 寫了一個 script ,然後產生下面的結果:
這兩個結果,應該看得出來,下面那個比較自然一點了。(有嗎?

好啦,反正就是一個工具而已,試試看

2013年12月10日 星期二

[HACK] IP-CAMERA ID002A firmware backup [2]

之前寫過這篇 Hack ID002A Camera 的記錄,成功的更新 WebCam 的 script。

後來在 chrome 上面找到 tampermonkey 可以直接修改 script ,就寫了下面 script 出來,現在可以直接使用方向鍵上、下、左、右來控制 webcam 的方向了。

// ==UserScript==
// @name My Fancy New Userscript
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description enter something useful
// @match http://YOUR_WEBCAM_URL:PORT/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
// @copyright 2012+, You
// ==/UserScript==
document.body.onkeydown = function(e){
var lbl, cmd;
switch (e.which) {
case 38: /* Up */
lbl = "Up";
break;
case 40: /* Down */
lbl = "Down";
break;
case 37: /* Left */
lbl = "Left";
break;
case 39: /* Right */
lbl = "Right";
break;
}
cmd = "/cmd.xml?cmd=moveptz&tick=100&dir=btnPtz" + lbl + "&nPtzTimes=0";
$.ajax({url: cmd, success:function(event){
var cmd = "/cmd.xml?cmd=moveptz&tick=100&dir=none&nPtzTimes=0";
$.ajax({url: cmd });
}});
};


--
參考資料:
[HACK] IP-CAMERA ID002A firmware backup

2013年10月6日 星期日

[HACK] IP-CAMERA ID002A firmware backup

在 PCHOME 買了一台 IP-CAM 然後意外的在 這邊 找到很多有趣的討論。本來以為會很順利的刷新的軟體,結果不小心把整台 IP-CAM 都刷到不能動,還好這台的相關資料還不算太難找(只花了我兩個星期而已 Orz),所以最終把舊的版本再刷回來,然後看看是不是哪天想不開再回來改。


--
韌體備份:https://docs.google.com/file/d/0B0Ho92zQYcPCR1prM1BtZzdZVG8/edit?usp=sharing

2013年7月2日 星期二

[C][source][str2mac]

 #include <stdio.h>  
 #include <limits.h>  
 #include <string.h>  
 #include <stdint.h>  
 int str2mac(char *in, uint8_t *mac)  
 {  
     char c1, c2;  
     int len, i;  
     len = strlen(in);  
     for (i = 0; i < (len / 2); i ++) {  
         c1 = toupper(in[2*i]);  
         c2 = toupper(in[2*i + 1]);  
         if (c1 < '0' || (c1 > '9' && c1 <'A') || c1 > 'F')  
       return 0;  
         if (c2 < '0' || (c2 > '9' && c2 <'A') || c2 > 'F')  
       return 0;  
         c1 = (c1 > '9') ? (c1 - 'A' + 10) : (c1 - '0');  
         c2 = (c2 > '9') ? (c2 - 'A' + 10) : (c2 - '0');  
         mac[i] = c1 << 4 | c2;  
     }  
     return 1;  
 }  
 int main(int argc, char *argv[])  
 {  
     uint8_t mac[6];  
     int i;  
     memset(&mac, 0x0, sizeof(mac));  
     str2mac("0012cf368901", mac);  
     for (i = 0; i < 5; i ++) {  
         printf("%02X:", mac[i]);  
     }  
     printf("\n");  
     return 0;  
 }