Sunday, January 02, 2011

How To : 利用Time Capsule/Airport Extreme Base Station以及MobileMe在網 路 上使用AirDisk









AirPlay_Shared



Apple的Time Capsule/Airport Extreme Base Station(分別簡稱TC/AEBS)有一項主打的功能,是讓你能夠在遠端利用MobileMe的帳號存取你連接在TC/AEBS上面的儲存裝置。奇怪的是,這項功能雖然被寫在網頁上,可是說明書上並沒有詳細的使用方法(好歹我買AEBS跟MobileMe有一半的理由是為了他阿 orz)。這篇文章就來談談怎麼讓這個功能「啓動」。

MobileMe有一個功能稱為「Back To My Mac」,這是一個遠端remote自家產品的方法(包含iMac, MB系列....事實上也包含TC/AEBS)。首先,我們必須先讓這個功能啓動一下。







201101020224.jpg

這功能位置在System Preference->MobileMe->Back to My Mac。如果你還沒啓動過這個功能的話,把他給啓動一次。成功的啓動完畢以後,看你要關掉他還是怎樣都可以。啓動一次的目的在於讓他跟MobileMe的Server溝通,取得密碼。















接下來我們啓動Keychain Access。







Screen shot 2011-01-02 at 2.27.17 AM.png











先在畫面左邊點選System,然後在Name裡面找出.mac.com(某些人的MobileMe賬號產生的會是.me.com,這些以下同,不再贅述)。然後請右鍵(或者雙指壓觸控板)後選擇「Copy password to clipboard」,把密碼拷貝起來吧!(他會跟你要管理者權限),等等會用到。











到這邊,目前準備工作已經就緒了。現在讓我們打開我們的AirPort Utility。







讓我們開始設定AEBS吧(TC其實以下同)!先進入Advanced->MobileMe加入你的MobileMe帳號(這應該不用附圖吧冏)







再進入AirPort->Base Station 按下Edit











Screen shot 2011-01-02 at 2.49.11 AM.png











Screen shot 2011-01-02 at 2.49.52 AM.png











最重要的一點就是Password不是你的MobileMe賬號,很多人都搞錯了再跟我哀 冏...











然後進去AirDisk把裡面分享打開Screen shot 2011-01-02 at 2.49.32 AM.png











請先確定一下你區網內可以正常Access AirDisk!AirDisk只能是HPS+(MacOS的檔案格式)/FAT32/exFAT而已,他無法讀取NTFS,如果你在區網下都讀取不到AirDisk了,那怎麼可能在Internet下就可以了呢?請務必先確認這個(按下Disks標簽進去看一下吧)











最後,不能免俗的,update我們的AEBS吧,AEBS重開機以後應該就沒問題了。











OK,接下來我們來談談測試的方法跟Back to My Mac的原理。事實上MobileMe有一組隱藏的(使用者也不知道)的動態DNS服務,他的DNS Host在(你的使用者名稱).members.mac.com,帳號就是剛剛那一組,密碼則是Server會產生一組給你。所以只要我們能夠有這組賬號密碼,我們就能在Internet上取得我們AEBS的網路位置。而這組位置是能ping的喔,所以我們要測試的話並不需要離開區網,只要打開terminal去ping他看看...











Screen shot 2011-01-02 at 3.13.57 AM.png











只要能夠ping到這組位置,其實我們就可以確定他在internet下能夠正常作業了。Finder上的Shared標簽中的AirDisk,即使你離開區域網路環境,也可以毫無問題的正常使用喔。






Saturday, July 24, 2010

Ogre SDK on Mac

Ogre SDK在Mac XCode下的安裝



首先,我們當然要有SDK

Download

選擇Mac OS X, 這個版本應該就可以了 (iPhone又是另外一個故事,下一篇再介紹)



接下來把他解壓縮到本機,我個人是直接丟到Documents



然後各位應該就會碰到第一個障礙:XCode Project打開後build出一堆錯(多半是CMake找不到甚麼檔案有的沒有的)這是一個已知bug,請升級CMake到2.8.2以上

Download



再度執行看看,如果再不行的話就需要重建.xcodeproj

Screen shot 2010-07-24 at 4.00.47 AM.png

重建也沒那麼恐怖,按照下面一步一步來

首先先在Application裡面找出CMake按下去

將Source指到你的sdk跟目錄,build binaries也指到同樣的地方

按下Configure會出現選擇編譯器跟目的檔的畫面

Screen shot 2010-07-24 at 4.05.36 AM.png

選好後再按Configure一次,Generate就亮了,按下Generate,收工。夠簡單了吧



接下來.xcodeproj似乎就可以正常運作了,記得把左上角調整成Release或者RelWithDebInfo

Screen shot 2010-07-24 at 4.08.23 AM.png



ok 接下來就是build and run! 大多數的人會在這裡碰到第二道難題:奇怪,為什麼build and run跑不出執行檔?這時候應該要打開console看一下了!

Screen shot 2010-07-24 at 3.56.33 AM.png



歐賣尬,要是一輩子沒想到開console不就被它栽到了。這個問題的成因是,nVidia顯卡下它需要CG Toolkit來執行demo(ATi要不要我不知道,有人能給個答案嗎 =P) 來吧,我們拿個最新版本來玩玩

Download



安裝好以後,再度執行他的執行檔,成功!

Screen shot 2010-07-24 at 4.13.48 AM.png





希望這對用Mac OSX開發Ogre3D遊戲的人有點幫助 :3



Wednesday, February 03, 2010

else....where??

http://thedailywtf.com/Articles/Else-where.aspx

「我手下曾經有一個非常強的專家,他留下一句名言:給我足夠的NAND Gate(譯註 : 這是一種邏輯閘,相當於先取and再取not...剩下的請查閱這裡),我將統治全世界」,Rob B,在他的一本書裡面寫到:「其實換個繞口令一點的說法,你用上一整片的NAND Gates,你可以做出其他邏輯閘能作到的任何事情。當然啦,因為有其他邏輯閘能作這些事情,你實在不該浪費一狗票NAND gates來作這種無聊的事情。恩...這樣的確是辦得到的...寫code的時候偶爾也會有類似的思維」

「前陣子我們從我們的外包商那裡看到了一份實在是爛到爆炸的C++ code。這東西平均每行出錯率實在是真他媽的高,而且他的寫碼風格讓我們越看越想咒他老母。不過,這種What the fuck的感覺,到我們看到這組code的時候達到了最高點。」


while(true)
{
if(mainType == 7)
{
subType = 4;
break;
}

if(mainType == 9)
{
subType = 6;
break;
}

if(mainType == 11)
{
subType = 9;
break;
}

break;
}


「來來來我們看看這堆鳥東西....」Rob繼續寫到:「我花了些時間在想,他幹麼寫這樣?這個while loop到底是幹麼的?只是拿來搭配break跳過下面那些if的嗎?我還真沒看過那麼蠢的,完全不是拿來作條件判斷的break...好啦,這是我第一次看到。」

Bob補充:「我幾乎可以確定這傢伙完全不知道什麼叫做else if....他好像只知道if while break,所以就把他們拼在一起了...用這種超白爛的方法做出這個邏輯。」

Tuesday, February 02, 2010

Classic WTF : What the hell enum!?

One day, while I was roaming through Internet, I bump into a article while I was viewing a frequently viewed forum =3

in HeaderDefine.h(This is a header file that will be included in almost every files)


/*----Be sure you have READ this!----
...
...(a long term of manual of this header)
...

I have made this way to make sure
everyone will read this manual.
By Genius Jason
----------------------------------------------/*
enum DECLARE
{
I_HAVE_READ_THE_MANUAL_AND_KNOW_WHAT_I_AM_DOING_THIS = 38106,
I_HAVE_READ_ABOVE_AND_AGGREED_THE_TERM_OF_USE = 39100
};


You might be confused what the hell it is for, ya, it's a trick. While using some function or callback, you have to follow his way or a assert will be invoked :

KaimCore.Init(I_HAVE_READ_ABOVE_AND_.....
KamiCore.CleanupDump(I_HAVE_READ_THE_MANUAL_AND...



"Fuck you Jason you damn moron!"

Game loop in C#

Game update loop is a problem in C#. Of course, first thought of us must be attach the Idle event of Application, like this.


Application.Idle += new EventHandler(OnAppIdle);
Application.Run(mMainFrame);

........
........

static void OnAppIdle(object sender, EventArgs e)
{
//Do some game loop update here
mMainFrame.DoUpdate();

}



It seems reasonable, we register a listener to Idle event, so it must be run OnAppIdle while application idle, right?

Partially right.

When the application keep going, it will only get message while "When application need to be updated". It means, therefore, if you leave mouse out of this application form(so no MouseMove event sent), it will totally stop, so it will be updated only when getting some message : such like OnMouseMove....etc.

Solution is from Rich, and he found it in sample of MDX applications. Don't ask me how to do it, just need to know use this way to keep the game loop.

We might discuss this in later post =3


static class Program
{
///
/// The main entry point for the application.
///

///
static SceneEditorMain mMainFrame;
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

mMainFrame = new SceneEditorMain();
Application.Idle += new EventHandler(OnAppIdle);
Application.Run(mMainFrame);
}

static void OnAppIdle(object sender, EventArgs e)
{
while (AppStillIdle)
{
mMainFrame.DoUpdate();
}
}


private static bool AppStillIdle
{
get
{
NativeMethods.Message msg;
return !NativeMethods.PeekMessage(out msg, IntPtr.Zero, 0, 0, 0);
}
}


}

public class NativeMethods
{
/**/
/// Windows Message
[StructLayout(LayoutKind.Sequential)]
public struct Message
{
public IntPtr hWnd;
public uint msg;
public IntPtr wParam;
public IntPtr lParam;
public uint time;
public System.Drawing.Point p;
}

[System.Security.SuppressUnmanagedCodeSecurity]
[DllImport("User32.dll", CharSet = CharSet.Auto)]
public static extern bool PeekMessage(out Message msg, IntPtr hWnd, uint messageFilterMin, uint messageFilterMax, uint flags);
}

Friday, November 27, 2009

只是「為了呼吸自由空氣,所以你應該...」的話,真是大可不必

說真的,對我來講,如果用linux只是為了覺得與眾不同,還是高人一等,還是只是『想呼吸自由空氣』,那我真的覺得何必這樣。我個人也是非常反MS,可是我之所以用ubuntu只是因為「他對於開發程式的我來講是另外一種選擇,而且很好用」。我也不用諱言說我因為他沒辦法執行Visual Studio 2008所以可能會想把他換回winxp or win7。



很多人把「使用ubuntu linux」想得太異端或者太特別了。我一直認為,會一直用些偏激的語言推廣linux的,多半反而是生手,而真正熟練的使用且知道自己需要的,才是至少有一定使用程度的使用者。投其所好,自己需要什麼就用什麼吧,什麼微軟奴隸那麼難聽的話都大剌剌POST在社群網站上,這真的是... (重點是還用匿名來post,唉)



說真的這種環境下,只要想用,不可能拿不到windows,至少要拿個XP是輕而易舉的。自己需要用哪種作業系統就用吧,用linux並沒有比較高手。



我自己這篇文章就是在ubuntu下用BloGTK打出來的,這東西可不比MS的Live Writer差(也許感覺還更好一點),對我來講,linux適合我現在開發環境,所以對我來說就是好用。相對的,我相信也有更多人在windows底下才是適合他們的環境。



不要像那些 Aggressive apple fan 阿...

Monday, November 23, 2009

最近在忙的另外一個Project

另外一個在忙的是比較偏企劃面的Project Infinity,與Iris不同,這個完全是以企劃導向的一個方案。Iris設定上是一個Ogre Wrapper,基本功能已經完備,但是沒有東西給她玩(疑)的情況下,目前沒有需求就沒有任何動作跟推力。

Infinity則是相反面的東西,她主要提供的是一組世界跟一組接口,負責產生以及運算整個世界,然後告訴Iris怎麼把它畫出來以及怎麼控制。這基本上還只是一個概念的產物(以及一堆UML Code),慢慢的會把這東西完備起來。

不過同樣的問題依然存在,恩,美術面... Iris仍然缺乏一組工具來做美術方面的東西,不過由於沒有美術人員,我想應該暫時一樣是陷入需求跟推力的迴圈。不管怎麼樣,先把相對技術門檻比較低的Project Infinity開始動工會好一點(望著一堆UML文件...)

另外,這個可能會當作自己對於Design Pattern的期中考,看看自己到底對Design Pattern了解多少的一種測試。Project Infinity暫時還不會開放給小組人員下載,等把雛形弄出來再說。

Monday, July 20, 2009

Recently Update

Project Iris is still in progress, and Milestone1(aka basic tile construction) will be finished estimated in 2 weeks, then Milestone2 – Game Basic Logic. I am confused by myself designed architecture – which one should take reasonability of updating? and which one should responsible for managing Rendering Window and Root management? Really confused by myself :/


Anyway, I am a bit happy to have more talking with someone =P. Maybe with bad karma I have made, and I shall have more effort to… never mind, hum.


Just meet Cecilia again, in fact, nothing special… maybe a bit to worth scribing into my update. It is a dust covered old memories….

Saturday, July 11, 2009

Soul Hacking - 淺談非物理入侵(2)

Reality Hacking在前面的章節已經談過了,接下來我們要進入更深一層-名字聽起來也更虛幻的一層,Soul Hacking。


Soul Hacking其實是一種心理戰,基本上就是結合心理學的一種入侵方式。我們在設計一個安全系統的時候,通常只會考慮到"如果使用者XXX,我們就要以OOO的方式來對應"(普通的邏輯系統似乎都是這樣寫的,對吧?),而不太會去考慮相反的事情:"如果我們做了XXX,使用者下一部會做什麼?"


最簡單的例子,假設現在有一個安全系統,如果要登入管理層的話,除了使用者的ID以外,還需要多輸入一層管理者密碼,可能很多設計者會這樣設計 : A. 提示使用者輸入ID B:提示使用者輸入第一層密碼 C:提示使用者輸入管理層密碼


聽起來非常合理,不是嗎?所以我們就會給使用者資訊:這個登入流程需要一個ID 需要一個密碼 需要一個管理者密碼。

我們換個角度想,如果我們登入流程變成這樣,換你是入侵者,你會有什麼反應? A. 提示使用者輸入ID B.提示使用者輸入密碼 C. 提示使用者輸入了錯誤的密碼,要求重新輸入:不過事實上,第二層密碼驗證是對的,系統正在等你輸入管理者密碼。


我們在舉個比較簡單的例子,也是大家比較容易碰到的例子。以前,BBS基本上都會要求使用者輸入帳號,如果帳號不存在,系統會提示你這個帳號不存在。可是,現在的PTT,無論你輸入什麼帳號,他都會要求你輸入密碼,也只有"帳號密碼不對!"的提示,而不會告訴你無此帳號還是密碼不對。


這個就是Soul Hacking的一環,跟使用者的心理戰。這是防禦面的說法,下一篇會聊聊攻擊面的說法。

Reality hacking - 淺談非物理入侵

Reality hacking - 這個其實不是很為人所知的名詞,其實是資安理面幾乎是最重要的一環。不管你用多昂貴的多複雜的firewall,多訓練精良的網管,多有效的多層次存取(MLA)系統,公司的資訊仍然是有機會以人為的可能性外流-防火牆檔的住over-exceed request,也許檔的住部分back-oriphance,很不幸的是他們對於員工的大腦跟嘴巴通常無能為力。


"你好,這裡是XX旅行社,您這次出差的轉機機票程序都定好了喔,祝您這次有個愉快的旅行。"


"謝謝,不過我記得這次不是我出國阿,您是不是把我跟李經理的資訊弄錯了呢?"(得到資訊,這次是李經理要出國)


"疑?是這樣嗎,抱歉我查一下。可是從您的員工編號我們看起來的確是您的資料阿,沒關係,不過這個東西我們要在跟您確認一下,也許是我們內部人員KEY錯了,讓您多賺到一天假期呢"

"哈哈,能賺到就好了。"

"抱歉那我在跟您核對一下資料,您的員工號碼是?"


"B83920C0”


"可是查出來的一樣耶,也許是我們內部錯誤,我們換種方法好了,您的出生年月日跟身分證字碼麻煩一下好嗎?"


這樣其實就可以撈到非常多的資料了。一個IT不夠嚴謹的公司,這些資訊已經足夠造成非常大的損害。Reality Hacking並不見得需要像電影情節裡面的hacker一樣,潛入他人公司,分析鍵盤密碼,偷偷接上sniffer...他們需要的也許只是稍微好一點的口才,一些看起來不是很重要的資訊,以及一點運氣。


"哈,看起來的確是我們弄錯了,不好意思,我們去連絡一下李經理,抱歉打擾您的時間。對了,為了表達我們的歉意,最近我們公司有一團因為人數湊不夠,我們願意用成本價湊團,您有興趣的話請上....."


好啦,這個人多傳幾個同事,大概名字身分證字號地址就全部被抓包了,甚至有些人資安習慣很差,每個網站都用一樣的密碼,那只要該網站要加入會員才能看內容,設定個帳號密碼,那大概就可以phish到一堆帳號密碼可以try了。需要任何007情節嗎?需要任何特別的技術設備嗎?都不用。


Reality Hacking就是那麼一回事,可以很複雜,但是也可以那麼簡單。

Thursday, July 09, 2009

可憐的Jason XD

thor = jason says:
*미연 說 (上午 12:26):
晚安!

/*Rayer*/ T.R.I. says:
*...
*韓國妹還真是欲求不滿 連你要睡了都不罷手
*不過那邊更晚耶 一點了
thor = jason says:
*囧
*ya
*不過他說玩就離線了
/*Rayer*/ T.R.I. says:
*看起來是個你可以吃的對象(瞄)
thor = jason says:
* ...
*我還沒出們就跟我說早安

Wednesday, July 08, 2009

Recently Update…for myself

A bit busy here, for either official project or own Iris project. I have learned a new sort of algorithm for Iris-Mimic, but it consumes loki::smallobject technology to perform.


After the great separation, it cost me some days to get recovered. Just let the ugly past pass, I hope so.


Dolice closed her blog, due to her confliction toward her boyfriend. It’s a pity to see a bobby-headed girl’s fantastic diary…. ok, and the invaluable technical note. I can image that racial conflict(she is a Malaysian, and he is a Chinese) between them, as Dolice always complains so. Cultural difference makes hard to communicate… even become a plunk between them two. Good luck, pal.


I think I need a target to chase, after someone talked to me(and makes me so happy :) ), I felt my power recovered then. New living style makes me to feel time is so easily exceeded, and I need more. I need more time to learn, to relax, to enjoy my everyday….and to love. I don’t know what she thinks, but she is my battery … in secret =P


I might have a motivation to become great. As I will…


Coasta Tempo is my favorite song. In fact I don’t like Koreans, but music passed the barrier. Clicky rap plus soft voice makes an excellent combination. Who can ever image K-Rap can be so freshy?


Netbook is a magical tool for me, it can let me do my writing( article or code) while enjoying smelly coffee, and never lost any idea while in anywhere. It is another good investing for me… a bit costly ;P. I bought HP mini 2140HD and cost me around 600USD. It’s funny, while I was in SLC, my house rent goes 450 per month, 600 seems not so much for me. But in Taiwan, it down to 190 per month, so 600 illustary become a big deal. Anyway, it’s a good deal.

Thursday, April 16, 2009

繪圖板入手!

不過第一次拿來玩就... XD

/*Rayer*/ The Adventurer says:
*怎樣,新玩具畫的,畫的不錯吧!
*我把你畫得更漂亮了!

*The Dirge with LUM says:
*我下次碰到你我ㄧ定要打死你.... -_-

Tuesday, April 14, 2009

久違了 Z1!

該死我今天居然忘了帶手機相機出公司!!!

今天特地六點鐘出公司趕車去追214直,除了把吉他送過去收錢(疑XD)以外,就是為了看我以前用的那台Korg Z1!

沒想到完全沒變阿,別死阿XD 一死了就沒材料可以修了!這把琴可是七年以上的老古董呢 :3

I'm still missing past happy days... 當我把插頭插進COM的時候那種奇怪的感覺又湧上了全身,就好像我以前拿著他混音一樣...等等,那台根本沒幾個人看過的ZIP軟碟是怎麼回是 XD

新主人對他還不錯呢...

Saturday, April 11, 2009

So many things to do, so little time

想學的東西還真天殺的多,又想學Ogre(事實上已經學不少了),又想學3d pipeline,清單裡面還有core thread concept, 電吉他...族繁不及被宰

可是我總覺得我浪費了好多時間... 在想其它的事情

有時候還真覺得我會莫名其妙迷失,難怪我老是希望別人帶我,我卻沒辦法帶人 :/

Friday, April 10, 2009

This is the reason I HATE you

You wish me there when you are down..
When I am down, where are you?
When I am MADE down by your, where are you?

stupid nonsense.....

Wednesday, April 08, 2009

活起來了...

最近生理時鐘極端不正常,一回家有時候就呼呼大睡,然後兩三點又爬起來寫code打電動到五點出門-我覺得我快要lich化了 =口= 今天早上出門一看溫度明明有23度,可是上了公車卻冷到不行,加上路上又被雨淋濕...

原來飢寒交迫是這種感覺阿 XD

不過在公車上快死翹翹,進辦公室卻不知道為什麼馬上又有精神生龍活虎了起來,maa...我果然需要人氣阿(?)

Sunday, April 05, 2009

LibIris

剛剛看一下上個更新, 03:41....
在LibIris終於有雛形了,具有基本的輸入功能,以及基本的場景匯入,貼地功能...


好累阿.... -o-||(看看時間)

Iris目前工作進度

其實進度比想像快很多,現在只差resource management的問題要解決,就可以著手開始撰寫LibIris了。

感謝某兩個一天到晚跟我拌嘴的傢伙 - -+ 辛苦你們了

目前來講碰到的問題有幾個 :

  1. OIS輸出入系統非常方便,不過loading實在有點慢,要不要考慮直接自己寫呢?可是OIS又很簡單易用(參照ExampleFrameListener.h)
  2. Resource managing事實上並不是只有parse resources.cfg那麼簡單,尤其是他很多rendering相關的東西全部會塞在script裡面用resource parse,這個要搞懂似乎要花很久。Ogre的material等等資料都是寫成script去parse,這點跟D3D比是方便,可是也令人頭大,因為等於要多學一個語言...我不覺得以後script全部都是由我來寫...
  3. 目前來講如果要把整個example的resource.cfg搬過去用的話(當然,裡面我偷偷做了很多修改),他會parse太多用不到的東西。parse用不到的東西其實問題不大,問題是他parse會去試圖load裡面指向的檔案(比方說.jpg..),一個個砍好像有點累...不過這也提供了不少能用的素材就是...那台機器人不錯 XD

Friday, April 03, 2009

Trying to wipe you out of my head…

but I always failed, just like my attempt to contact with you :(


What Ju have said about you seems so unreal, and don't I believe it. Your cold response toward me, twisted my thought every time. Sometimes I am asked why I seems just drag into a deep thought, how can I reply? On such a uncertainable aptitude…. Did I really silent toward you? why what I feel is contrary?


No doubt I like you, but....just say you don't like me, to release me…