搜尋此網誌

2009年7月20日 星期一

bit 運算

bit的運算其實沒啥了不起,但除非是作跟硬體相關的程式設計,用到的機會還真是不多.
但很不巧的是,有時就是偏偏會碰上,更不巧的是.因為很少碰.所以也就不知道該怎麼寫處理bit的程式.
其實在C++是使用bitset這個class
bitset的操作行為:
anytrue if any bits are set
countreturns the number of set bits
flipreverses the bitset
nonetrue if no bits are set
resetsets bits to zero
setsets bits
sizenumber of bits that the bitset can hold
testreturns the value of a given bit
to_stringstring representation of the bitset
to_ulongreturns an integer representation of the bitset

範例1 (開啟某個bit):
#include 
#include
using namespace std;

int main ()
{
bitset<4> mybits;

cout << class="comm">// 1111
cout << class="comm">// 1011
cout << class="comm">// 1111

return 0;
}

範例2:
#include
#include
#include
using namespace std;

int main (關閉某個bit)
{
bitset<4> mybits (string("1011"));

cout << class="comm">// 1001
cout << class="comm">// 0000

return 0;
}

2009年7月11日 星期六

品牌與設計

品牌是包含了設計,軟體,硬體與服務.
設計這個名詞代表的涵義很廣.
工業設計是設計,但我熟悉的電腦程式設計也是設計.
其實當設計去除的商業價值之後,它就是一個藝術
工業設計是藝術,程式設計也是藝術
那是發自於人心的自然感動.
自然也就沒有軟體、硬體、服務與品牌.那些充滿商業的包裝.
工程師通常很工程導向,設計師通常很設計導向..但這樣並不是好事.
因為那會造成判斷上的偏頗,
我個人認為如果作為商業(經濟價值)導向的設計,就必須把本身的專業放到第二順位.,
譬如我是學程式設計,我就要把程式設計的重要性放在次要.如此才能看到其他元素的重要性及其影響性.
如此一來,才有利於結合其他元素的特點,開發出更有特色的品牌

2009年7月5日 星期日

後現代主義設計 (Post Modern)

年代: 1960~


特色: (將象徵意義置入設計之中)
  • 後現代主義設計主要是從形式上對現代主義進行修正。
  • 現代主義反對裝飾以節省額外開支,希望讓大眾都享有設計產品。
  • 而後現代主義則恢復裝飾性,無論建築設計師或產品設計師,都強調裝飾性。他們特別從歷史中吸取裝飾營養,採用的對象有各種各樣的歷史風格,從哥德到巴洛克,從古典到文藝復興,無所不包。
  • 後現代主義並不是單純恢復歷史風格,而是在現代主義設計的構造基礎上,對歷史風格採用抽出、混合、拼接等折衷處理方法。

城市風格:
Las Vegas

2009年6月27日 星期六

父親的相機


在我小時後,父親就是用這台相機,幫我們全家留下許許多多的回憶.
雖然父親已經過世,相機早已殘破.
雖然回憶的相片早已泛黃.
但它卻是父親留給我們最珍貴的寶貝.

2009年6月25日 星期四

葉問

葉偉信執導,甄子丹主演


傳統的清末民初武師民族意識的電影,
充滿了商業娛樂性質,卻了無新意,
看了前面就知道結局.
就好像看李連杰主演的霍元甲一般,唯一的差別是他沒打西方人.
視覺效果不錯,但看完之後
我以為我是看 霍元甲2
以這樣的劇情內涵,
它敘說的是不是葉問的故事一點都不重要
因為我只看到視覺上武打特效.
其他部分卻完完全全的乏善可陳
但,
它依舊不失一部可供娛樂的商業電影

2009年6月23日 星期二

取得硬碟序號的方法

硬碟的序號重覆性並不高
所以用來當作防止產品被複製的檢查碼,是有相當的實用價值
以下為取得序號的方式

smartctl -a /dev/hda | grep Serial

以程式截取的方式如下 (qt為例)
QString LinuxSystem::getSerialNumber()
{
struct hd_driveid hd;
int ide;

ide = open("/dev/hda", O_RDONLY);
::ioctl(ide, HDIO_GET_IDENTITY, &hd);
printf("Serial number - %s\n", hd.serial_no);
close(ide);
return QString((const char *)hd.serial_no);
}

xwindow 截取視窗畫面的方法

有時我們在很單純的linux的Xwindow環境中開發程式,
為了寫說明書,常常都需要擷取畫面
以下的指令是很實用的
下了以下的指令後,針對要截取的視窗點一下,即可將畫面儲存下來

xwd | xwdtopnm | pnmtopng > Screenshot.png

如果有缺少的套件,執行下面的指令來安裝必要的套件
yum install netpbm
yum install netpbm-progs