Archive

Archive for May, 2010

English Bean: Online 3D Interactive English Learing Website

May 22nd, 2010 No comments

With SK Telecom in South Korea, worked on this web site to teach English online through a game.
The running demo can be found here.

Categories: Project Tags:

Samsung Mobile 3D UI

May 22nd, 2010 No comments

As a tech demo, built this 3D UI demo on a latest mobile 3D acceleration chip from Samsung. 3D Modeling and the scenario is made by “Digicube” and the code is all written in C and OpenGL ES.

Categories: Project Tags: , , , , , ,

Trac Installation on Dreamhost

May 17th, 2010 No comments

trac logo

  1. Install SVN through dreamhost web panel: “Goodies>Subversion”.
  2. Install Trac through dreamhost web panel: “Goodies> One-Click Installs”.
    1. Install more new website software – Advanced mode.
    2. Click Trac and hook up with svn repository just made.
  3. Add your user and authentification through Htaccess/WebDAV.
  4. In order to add Admin, log in to your shell account and type the following to add admin.
  5. Open the trac with your browser and log in as a admin account, change the settings as you wish.
  6. Change the trac.css, the default one is ugly, /path/to/trac/projects/htdocs/css/trac.css.
  7. Set up subversion hooks, this hook forces the users to write a ticket number against the trac. The hooks that I use can be found here. Need to edit “post-commit”, “pre-commit” file to match your path.
  8. Set the permission of /path/to/trac/db directory to 777.

Another Unity3D Project Contineous Integration: Hudson CI on Mac OSX

May 15th, 2010 No comments

Last week, I have automated the build system on windows by Cruise Control .net, unity3d and a couple of ftp tasks. However, there was a couple of problems in running ccnet as a windows service mode. While it was running great in command prompt, it gives errors in service mode. It wouldn’t be an issue if there is a dedeciated build windows server and nobody will mess with the command window. But unfortunately it wasn’t my case.

Now I turned my eyes to mac machine which I use it less frequently.
I spent a few hours to find a good solution for it and came up with this combination.

Hudson CI + Subversion + Unity mac + Hudson SCP plugin + Hudson post build script.

Here are the steps:

  1. Download hudson.war file from http://hudson-ci.org
  2. Place the war file into the directory of your choice. In my case, I made a special directory called “/_infra/” and place it in here. All CI related files will be stored under “/_infra/hudsonci/”.
  3. Though it will run great by running this command “java -jar hudson.war”, I want to run this more of a demon-style. There is another option of installing tomcat and place the war file under webapp but it is too much in my case. So the solution I used is this. Make this file “hundson.ci.plist” with the following information first. You can download it from here. Another trick I used here is that by explictly expressing the installation directy with “-DHUDSON=/_infra/hudsonci”, you can install the hudson in the designated directory instead of  “~./hudson”.
  4. Place the file in ~/Library/LaunchAgents/.
  5. Load this plist file as a service by running this command: “launchctl load -w ~/Library/LaunchAgents/hudson.ci.plist”
  6. Check hudson installation in http://localhost:8080

References:

[35.1] 템플릿에 담겨진 숨은 뜻은 무엇인가요?
[35.2] “class template”의 문법/구문은 무엇인가요?
[35.3] “function template”의 문법/구문은 무엇인가요?
[35.4] 어떻게 명시적으로 어떤 버전의 함수 템플릿이 호출되어야 할지를 선택할 수 있나요?
[35.5] “매게변수화된 형(Parameterized Type)”이란 무엇인가요?
[35.6] “범용성(Genericity)”란 무엇인가요?
[35.7] 내 템플릿 함수는 템플릿 형 T가 int혹은 std::string일때 특별한 동작을 하는데, T가 이렇게 형마다 다를 경우에 어떻게 이에 해당하는 코드를 작성할 수 있나요?
template so it uses the special code when T is one of those specific types?
[35.8] 응? foo나 bar를 사용하지 않는 템플릿 특수화의 예제를 보여주세요.
[35.9] 내 템플릿하무에 있는 대부분의 코드는 다 비슷해요; 소스 코드를 중복시키지 않으면서도 템플릿 특수화를 할 수 있는 특별한 방법이 있나요?
[35.10] 모든 이런 템플릿과 템플릿 특수화를 사용하면 프로그램을 느리게 할 것 같아요, 맞나요?

Successfully Built a Production Pipleline: SVN + Unity3D + CruiseControl.net + Publish To Web

May 8th, 2010 No comments

ccnet logo

As the number of the Unity3D web projects has increased, I was looking for a decent way of automating deployment.
I took some time to research and read some articles about it and finally get it all working.

The whole build pipeline was set up on Windows machine and SVN and TRAC has setup on Linux in a different machine.

Check these articles and I’m sure any one can do the same without too much of hassle.

A few notes:

  • Even though Unity doesn’t allow multiple instances when it’s running in editor, it does allows multiple instances when it’s running in batch mode
  • SVN is really poorly handing binary data such as the art assets. Maybe using Mercurial might be helpful and yet just don’t have a resource to look into it yet.
  • Combining with TDD tools like NUnit will be great and yet there was an unexpected error when handling GUIStyle with NUnit. Should look into more in a near future.