Install a Mac OS X Tiger on your PC June 28, 2007
Posted by metalickl in Software Insights.1 comment so far
How to install a Mac OS X Tiger on your own PC, originally by vinceqz
Here my man installed Mac OS X 10.4.8 on one of his notebooks. It’s actually quite simple when you doing it, you only need a dvd and computer. haha
Well if you want duo system (install OS X in addition to your xp), just make an additional drive, 15G should be enough. If you want single system, you can install straight away.
check for hardware compatiability: http://wiki.osx86project.org/wiki/index.php/Main_Page
First step: the most important step… Download Mac OS X JaS 10.4.8 AMD Intel. You can find the file through eMule or BT, here is a link to the seed for BT: http://www.sendspace.com/file/lpt3jg
Good, now burn a dvd from the image file you’ve just downloaded.
Now, for duo system users. You should do a disc partition, an application called Partition Magic, or Acronis disk Director Suite 10 should do the trick. But remember, the disc format for the OS X must be “FAT 32 Logical” not “NTF“, remember!!! After you install the system, you then need to change “FAT 32 Logical” to “FAT 32 Primary“, remember!!! SO that OS X can start properly.
put the dvd into computer, restart and you will see…
here you select the language, you can choose chinese.
After choosing which driver you will install OS X, e.g. D:\ or E:\, you will be asked to format the disc into Mac OS Extended (Journled)
Very simple.
If you have Intel CPU, choose the file for Intel CPU!!!!!
Skip…
The total instalation time is about 30 minutes or so, you can rest aside and listen to some music or watch some tv.
Haha, you are done. Here is a comparison with MacBook pro.
——————————
E-Insight, 2007
Things to look for when select a cellphone June 27, 2007
Posted by metalickl in Gadegets Insights, PDA and Mobile Insights.1 comment so far
Things to look for when select a cellphone
Many of you will be going on holidays overseas this summer, and consider buying a cellphone, digital camera, mp4 and etcetera. Here I would give you some suggestions in picking a cell phone, as the last gift I can give you before we say goodbye.
The integration of camera, mp3 into cellphone is almost an inevitable procedure of any phone behind the glass display case. Sony Ericsson has just released w610i is one of the delegates of these popular walkman/digital cam phones, though it is not the type of phones I would select.
For professionals, businessmen, many of the functions such as push-email from the highly successful Blackberry, schedule/calendar, notepad, internet and etcetera are equally important to entertainment functions. PDA (personal digital assistants), those that lack the function of mobile phone, but would serve all the above needs are dying out. The future belongs to the decedents of PDA’s, which combines the functions of pocket pc and mobile phone. Such phones are called Smartphones. The obvious choice comes to mind would be an iPhone, which is coming out in just 4 days (June 29th). Other choices includes Blackberry phones, the latest is Blackberry 8300 (Curve), but slightly too expensive both to purchase and to maintain (the service that is).

The secret to Smartphones’ power lies within its integrated firmware, which includes an OS (operation system); so that one can update its software at convenience, e.g. install/uninstall softwares, games. You can do absolutely anything you do on a computer, read pdf books, listen to mp3’s, watch optimized movie clips, play games and ectcetera.

Some popular phones, like Nokia 3250, an excellent smartphone with Symbian 9.0 has a problem that dust can get inside the space under the glass screen. Motorola also have some great phones, the new Razr looks slick, but the drawback is its short battery duration and it’s not a smartphone so that you are limited in installing applications. Some additional aspects you should look out for is that the phone should be at least tri-band or quad-band GSM phone, it specifies the frequency it supports so that it will work in Canada. Other things I would personally look in a phone are the size of its screen, talking time, wifi/Bluetooth support, battery duration (this is most important), signal and its ability to resist dust/water/impact.
Long story short, buy a phone, buy a smartphone. If the phone was a man, than its OS (symbian/Microsoft/linux) is its brain so that it can accept new applications that would serve other purposes than a simple mobile phone. The screen is its face and the battery duration whos how long it lasts without sleep, haha. Good luck finding your phone.
——————————
E-Insight, 2007
How to setup OpenGL in Win32 environment June 3, 2007
Posted by metalickl in Software Insights.2 comments
How to setup OpenGL in Win32 environment
Because of different computer games have different qualifications in terms of graphics, compatibility, hardware and operation, so their programming are done differently, especially there is quite a few distinctive platforms and different companies also have their own preferences. Some popular platforms are Microsoft’s XBOX, Sony’s PlayStation, Nitendo’s Wii etcetera. When you want to play a specific game, you need to know which platform it runs on. For example, you need to own a Playstation to play its games.
There is one more platform, perhaps the most well known of all, is PC. Although the performance of PC is not as superb as those specialized gaming platforms, it still holds a great market share in gaming entertainment. Most of PC is based on Win32, and runs Windows. Many popular PC games are developed with DirectX because it is introduced by Microsoft and contains all the graphic displays, operations and controls. If you want to develop these kinds of games, you need to download a very large SDK (free) library. Today, I will describe another graphic engine, OpenGL.
OpenGL (Open Graphics Library) is a standard for a cross-platform graphics development. Some of the games developed by OpenGL are Doom3, Quake, and etcetera. Strictly speaking, OpenGL can be developed for any platform, and you don’t need to download a SDK, (if you have Visual Studio) because Microsoft cooperated with SGI, so it provides the running library.
Ok, you can now see the code attached; ‘I’ copied it from the Microsoft website. When you run it, you will see a little red light flashing and spinning.
You should have Visual Studio C++, start a new Win32 Project, and use any name you wish. Under Application Settings, choose Windows Application and Empty Project. When the project is initialized, you will see a folder called Source Files. Right Click it and choose Add New Items, choose Code in the popped up window. Then choose C++ File(.cpp), give a name, and hit ‘ok’.
Copy & paste the code included as followed. Then run it.
Source Code:
// MyOpenGL.cpp : Defines the entry point for the application.
//#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
#define _WIN32_WINNT 0×0501 // Change this to the appropriate value to target other versions of Windows.
#endif#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#include < windows.h >
#include < GL/gl.h >
#include < GL/glu.h >
#include < gl/glaux.h >
#include < math.h >#pragma comment( lib, “opengl32.lib” )
#pragma comment( lib, “glu32.lib” )
#pragma comment( lib, “glaux.lib” )/* Windows globals, defines, and prototypes */
TCHAR szAppName[]=L”Win OpenGL”;
HWND ghWnd;
HDC ghDC;
HGLRC ghRC;#define SWAPBUFFERS SwapBuffers(ghDC)
#define BLACK_INDEX 0
#define RED_INDEX 13
#define GREEN_INDEX 14
#define BLUE_INDEX 16
#define WIDTH 600
#define HEIGHT 450LONG WINAPI MainWndProc (HWND, UINT, WPARAM, LPARAM);
BOOL bSetupPixelFormat(HDC);/* OpenGL globals, defines, and prototypes */GLfloat LightAmbient[]= { 1.0f, 0.0f, 0.0f, 1.0f };
GLfloat LightDiffuse[]= { 1.0f, 1.0f, 1.0f, 1.0f };
GLfloat LightPosition[]= { 0.50f, .50f, -6.0f, 1.0f };
GLfloat Lightspecular[] = { 0.5f, 0.5f, 0.5f, 1.0f };GLfloat LightAmbient1[]= { 1.0f, 1.0f, 0.0f, 1.0f };
GLvoid resize(GLsizei, GLsizei);
GLvoid initializeGL(GLsizei, GLsizei);
GLvoid drawScene(GLvoid);
GLfloat yrot=0.0f;
GLfloat xrot=0.0f;
GLfloat zrot=0.0f;/*Win32 code*/
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;
WNDCLASS wndclass;/* Register the frame class */
wndclass.style = 0;
wndclass.lpfnWndProc = (WNDPROC)MainWndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon (hInstance, szAppName);
wndclass.hCursor = LoadCursor (NULL,IDC_ARROW);
wndclass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wndclass.lpszMenuName = szAppName;
wndclass.lpszClassName = szAppName;if (!RegisterClass (&wndclass) )
return FALSE;/* Create the frame */
ghWnd = CreateWindow (szAppName,
L”OpenGL Sample”,
WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
CW_USEDEFAULT,
CW_USEDEFAULT,
WIDTH,
HEIGHT,
NULL,
NULL,
hInstance,
NULL);/* make sure window was created */
if (!ghWnd)
return FALSE;/* show and update main window */
ShowWindow (ghWnd, nCmdShow);UpdateWindow (ghWnd);
/* animation loop */
while (1) {
/*
* Process all pending messages
*/while (PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE) == TRUE)
{
if (GetMessage(&msg, NULL, 0, 0) )
{
TranslateMessage(&msg);
DispatchMessage(&msg);
} else {
return TRUE;
}
}
drawScene();
}
}/* main window procedure */
LONG WINAPI MainWndProc (
HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam)
{
LONG lRet = 1;
PAINTSTRUCT ps;
RECT rect;switch (uMsg) {
case WM_CREATE:
ghDC = GetDC(hWnd);
if (!bSetupPixelFormat(ghDC))
PostQuitMessage (0);ghRC = wglCreateContext(ghDC);
wglMakeCurrent(ghDC, ghRC);
GetClientRect(hWnd, &rect);
initializeGL(rect.right, rect.bottom);
break;case WM_PAINT:
BeginPaint(hWnd, &ps);
EndPaint(hWnd, &ps);
break;case WM_SIZE:
GetClientRect(hWnd, &rect);
resize(rect.right, rect.bottom);
break;case WM_CLOSE:
if (ghRC)
wglDeleteContext(ghRC);
if (ghDC)
ReleaseDC(hWnd, ghDC);
ghRC = 0;
ghDC = 0;DestroyWindow (hWnd);
break;case WM_DESTROY:
if (ghRC)
wglDeleteContext(ghRC);
if (ghDC)
ReleaseDC(hWnd, ghDC);PostQuitMessage (0);
break;case WM_KEYDOWN:
switch (wParam) {
case VK_LEFT:
zrot+=1.0f; break;
case VK_RIGHT:
zrot-=1.0f;break;
case VK_UP:
xrot+=1.0f;break;
case VK_DOWN:
xrot-=1.0f;break;
}
default:
lRet = DefWindowProc (hWnd, uMsg, wParam, lParam);
break;
}return lRet;
}BOOL bSetupPixelFormat(HDC hdc)
{
PIXELFORMATDE***OR pfd, *ppfd;
int pixelformat;ppfd = &pfd;ppfd->nSize = sizeof(PIXELFORMATDE***OR);
ppfd->nVersion = 1;
ppfd->dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL |
PFD_DOUBLEBUFFER;
ppfd->dwLayerMask = PFD_MAIN_PLANE;
ppfd->iPixelType = PFD_TYPE_COLORINDEX;
ppfd->cColorBits = 8;
ppfd->cDepthBits = 16;
ppfd->cAccumBits = 0;
ppfd->cStencilBits = 0;pixelformat = ChoosePixelFormat(hdc, ppfd);
SetPixelFormat(hdc, pixelformat, ppfd);
return TRUE;
}/* OpenGL code */GLvoid resize( GLsizei width, GLsizei height )
{
GLfloat aspect;glViewport( 0, 0, width, height );aspect = (GLfloat) width / height;
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
gluPerspective( 45.0, aspect, 3.0, 7.0 );
glMatrixMode( GL_MODELVIEW );
}
//construct the basic objects, and put them in a list
GLvoid createObjects()
{
GLUquadricObj *quadObjBody;
GLUquadricObj *quadObjNet;
GLUquadricObj *quadObjTop;
GLUquadricObj *quadObjUp;
GLUquadricObj *quadObjDown1;
GLUquadricObj *quadObjDown2;
GLUquadricObj *quadObjHandle;
GLUquadricObj *quadObjHead;glNewList(1, GL_COMPILE);
glPushMatrix();
glScalef(0.7,0.7,0.7);
//draw the handle
glPushMatrix();
glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmbient1);
glTranslatef(0.0f,.0f,-1.4f);
quadObjHandle = gluNewQuadric ();
gluQuadricDrawStyle (quadObjHandle, GLU_SILHOUETTE);
gluCylinder(quadObjHandle,0.02,0.02,0.5f,32,32);
quadObjHead = gluNewQuadric ();
gluSphere (quadObjHead, 0.05f, 64, 64);
glPopMatrix();
//draw the top
glPushMatrix();
glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmbient1);
glTranslatef(0.0f,.0f,-1.05f);
quadObjUp = gluNewQuadric ();
gluQuadricDrawStyle (quadObjUp, GLU_SILHOUETTE);
gluCylinder(quadObjUp,0.25,0.3,0.1,32,32);quadObjTop = gluNewQuadric();
gluQuadricDrawStyle (quadObjTop, GLU_LINE);
gluDisk(quadObjTop,0.02f,0.25,10,10);
glPopMatrix();
//draw the body
glPushMatrix();
glScalef(1.0,1.0,.80);
quadObjNet = gluNewQuadric ();
gluQuadricDrawStyle (quadObjNet, GLU_LINE);
gluSphere (quadObjNet, 1.205f, 8, 64);glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmbient);
quadObjBody = gluNewQuadric ();
gluSphere (quadObjBody, 1.20f, 64, 64);
glPopMatrix();
//draw the bottom
glPushMatrix();
glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmbient1);
glTranslatef(0.0f,.0f,0.95f); quadObjDown1 = gluNewQuadric ();
gluQuadricDrawStyle (quadObjDown1, GLU_SILHOUETTE);
gluCylinder(quadObjDown1,0.25,0.3,0.2,32,32); quadObjDown2 = gluNewQuadric ();
gluQuadricDrawStyle (quadObjDown2, GLU_SILHOUETTE);
gluCylinder(quadObjDown2,0.15,0.2,0.3,32,32);glPopMatrix();
glPopMatrix();
glEndList();
}
//initial, lighting, enable something
GLvoid initializeGL(GLsizei width, GLsizei height)
{
GLfloat aspect;glClearIndex( (GLfloat)BLACK_INDEX);
glShadeModel(GL_SMOOTH); //make the color smoothly
glClearColor( 0.50, 0.50, 0.50, 1.0 ); //set the screen clear color
glClearDepth(.0f); //set the depth of buffer
glEnable(GL_DEPTH_TEST); //allow depth test
glDepthFunc(GL_GREATER); //the type of depth test
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);glEnable(GL_LIGHTING);
glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmbient);
glLightfv(GL_LIGHT0, GL_DIFFUSE, LightDiffuse);
glLightfv(GL_LIGHT0, GL_SPECULAR, Lightspecular);
glLightfv(GL_LIGHT0, GL_POSITION,LightPosition);
glEnable(GL_LIGHT0);glEnable(GL_NORMALIZE);
glFrontFace(GL_FRONT_AND_BACK);
glMatrixMode( GL_PROJECTION );
aspect = (GLfloat) width / height;gluPerspective( 45.0, aspect, 5.0f, 10.0f );
glMatrixMode( GL_MODELVIEW );createObjects();
}//move
GLvoid drawScene(GLvoid)
{
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );glLoadIdentity(); glPushMatrix();
glTranslatef(0.0f,0.0f,-4.0f);
glRotatef(xrot,1.0f,0.0f,0.0f);
glRotatef(zrot,0.0f,0.0f,1.0f);
glPushMatrix();
glRotatef(yrot,0.0f,1.0f,0.0f);
glPushMatrix();
glRotatef(90,1.0f,.0f,.0f);
glCallList(1);
glPopMatrix();
glPopMatrix();
glPopMatrix();if(abs(yrot – 360.0f) < 0.01)
yrot=0.0f;
yrot+=0.5f;glFlush();
SWAPBUFFERS;
}
please excuse me for any spelling/grammar errors, I don’t proof read.
——————————
E-Insight, 2007
