RSSArchive About LinkedIn flickr Links to previous projects

[bizkit|張至] good coders code, great steal.

*
Tag
30
Oct
#git   #mac   #geek   #devel  

用 NerdTool 在桌面即時顯示 git commit tree

P1030408

這幾天和 ftt 跟 傑洛 聚在一起 hackthon ,

想了一個方法用大螢幕即時顯示 git 的 commit tree,看起來很有趣,

在 merge 不同 branch 的時候也十分實用。

我們用的程式是 NerdTool,它跟 GeekTool 類似,

是一個可以把任一 command 的 output 顯示在桌面上。

我最早是在 LifeHacker 發現的,

最大的差別在 NerdTool 可以正確的顯示 ASCII colors。

P1030409

我們先從 bitbucket 上另外 clone 了一份 repo 下來專門用來 watch commit 的變動,

接著讓 NerdTool 三秒跑一次 git pull 並用樹狀圖顯示 log 在桌面上:

cd ~/.gitwatch/<repo_name> ; git pull 2>&1 > /dev/null ; date; git lp | head -47

Screen Shot 2011-10-30 at 2.11.47 AM

git 設定的 alias

lp = log —pretty=oneline —abbrev-commit —decorate —graph —color

Screen Shot 2011-10-29 at 4.57.38 PM

後來翻了翻 git log 的 manpage 又把 alias 改了一下,顯示成自己喜歡的格式,加入了 commiter 、 commit time 兩個資訊,改成照時間排序,又條了一下配色。

lp = log —abbrev-commit —decorate —graph —color —pretty=”format:%Cblue%h\ %Cred%an:%Creset\"%Cgreen%s%Cblue\"\ %Creset%ar” —date-order

gggg

Comments
17
Dec
#geek   #android   #devel   #AR   #QCAR   #library  

QCAR - Augmented Reality Library for Android by Qualcomm

今年十月初,Qualcomm 釋出了 QCAR[1][5] ── 一個運行於 Android 平台上的增擬實境 (AR) SDK,提供幾個基本(?)的 AR 元件,讓開發者可以跳過影像處理,快速、簡單的在 Android 平台上開發各式包含的 AR 功能應用程式。今天終於有點時間,把 QCAR SDK 抓了下來,也跑了跑 sample 程式。因為還玩的很淺,原本不想寫 blog 的,但發現[2]網路上跟 QCAR 有關的中文文章實在少的可憐,還是寫一篇來簡單記錄一下。

QCAR 與 Layer[3]、WikiTude[4] 等 location based 的 AR 引擎有所不同。這類的 AR 系統利用 GPS 或 Wifi 取得使用者在地球上的位置,再搭配由電子羅盤取得的使用者面向,在螢幕上呈現使用者周遭的 POI 距離以及相對方位。Layers 提供了 API ,讓開發者在其程式中顯示自己設計的資料,而 WikiTude 則是進一部的提供了 SDK,讓開發者可以在自己的程式中加入 location based 的 AR 功能。(對 AR 並沒有任何研究,location based AR 這個名字也是胡亂取的:p)

QCAR 系統所提供的 AR 功能,則是藉由攝影機辨認現實生活中的平面 pattern 或材質,並準確的在平面上方(或其他相對方向、位置)的空間繪製 3D 的物件。目前 QCAR 支援了兩個類型的追蹤:Image Target 以及 Frame Marker 並可以搭配 Virtual Button 讓生活中的物品上出現可以用手(或其他物件)使用的按鈕。

下圖就是最基本 Image Target 追蹤,可以看出紙張放置的角度改變,上方的 Utah teapot 也會跟著改變。Image Target 追蹤的實作流程也很有趣,開發者要先將想追蹤的圖片上傳至網站由 Qualcomm 幫你從圖檔抓出 features,接著將 features 從網站下載下來,搭配 SDK 使用。

deice

Read More

Comments
5
Dec
#geek   #linux   #gdb   #qemu   #kernel module   #kernel  

Linux Kernel Development / Debugging (3) - Kernel Module Debugging with GDB/KGDB

此篇文章延續前文 ─ “Linux Kernel Development / Debugging (1) - 第一次玩 qemu/kgdb 就上手”,簡單介紹如何使用 gdb / kgdb 對核心模組 (kernel module) 進行即時的 debugging。

在先前的文章中,介紹了如何使用 qemu、kgdb、gdb 對核心進行動態的 debugging,並在編譯核心時在 vmlinux 中包含 debugging information,使 debug 時能夠直接瀏覽原始碼以及對變數進行存取。然而,kernel module 是在核心之外的,因次就算編譯時加上 -g GCCFLAG 也無法直接在 gdb 中存取其 debugging information。

Read More

Comments
1
Dec
#mac   #geek  

Mac視窗screenshot關閉陰影

osxchat:

這才找到 如何讓 Cmd-shift-3 在抓視窗時不抓陰影:

defaults write com.apple.screencapture disable-shadow -bool true
killall SystemUIServer
Comments
23
Nov
#geek   #linux   #kernel   #syscall   #hooking   #kernel module  

Linux Kernel Development / Debugging (2) - Hooking system calls on 2.6 kernels

昨晚失眠,其實已經累的半死。但看了 The Social Network 之後忍不著帶起耳機,放著洞雌洞雌的 AvB 與 Tiësto 又繼續摸摸 Linux kernel。用電影裡的說法就是 ─ Wired In!!!

修課的作業要求在核心新增一個 system call 提供一個分析記憶體狀態的介面,不過助教學長說我們也可以寫成 kernel module,於是便起了在 kernel module 中寫 system call 的想法。查了一下,要達到這樣的效果要靠 system call hooking 來達成,也就是去 hijack 目前存在的 system call,讓所有程式在呼叫該 system call 時都會變成執行到 module 中的某個 function,該 function 最後會再去呼叫正常的 system call routine。

目前的計畫是在 kernel 中新增一個 system call 來給自己的 module 來 hijack,不知道會不會是很沒有道理開發模式。

Read More

Comments
17
Nov
#geek   #linux   #kernel   #gdb   #qemu  

Linux Kernel Development / Debugging (1) - 第一次玩 qemu/kgdb 就上手

網路上許多 kgdb 的教學都是拿編好的 kernel image 搭配 busybox 來載入 qemu 開機,但這次學校作業內容包含執行 Firefox,所以需要跑在一個較完整的作業系統上。

這篇文章是這幾天摸索的心得,其實還沒包含如何去玩 kernel debugging ,因為我還不會XD。 文章分成三個部份:1. 設定與安裝 Debian 於 QEMU 虛擬機器、2. 編譯 Linux 支援 kgdb 的核心以及 initrd、3. 使用 gdb/kgdb 做核心除錯。

Read More

Comments
#geek   #c   #lib  
Pipeline library for C

// kanru 的 blog 新的 theme 真時髦

Comments
13
Aug
#0xlab   #geek   #devel   #Android   #0xbench  

Introducing 0xBench

Today (Aug 14) we are announcing the release of 0xBench, an open source Android benchmarking app developed by 0xlab.

0xBench comes with several built-in benchmarks including Linpack, Scimark2, LibMicro, … etc. 0xBench can also be extended. Developers can add their own benchmarks (either in native C or Java) to suit their needs.

Read More

Comments
4
Aug
#Android   #geek   #devel  

純文字介面Android程式開發

身為一個重度CLI控,只要看到下面的畫面必定先一陣手軟

Screen shot 2010-05-09 at 1.17.54 AM

因為c9s說真男人就是要用vim!XDDD

Read More

Comments
Page 1 of 2