Wednesday, February 25, 2009

Final Week

23 February 2009

I updated the OS for the MacBook Pro which I'm using while working on the presentation slides with the rest on Leonard's iMac. We practically spent the day working on the presentation slides and testing of the applications to work on the MacBook Pro which You Hock is using.


24 February 2009

Didn't go to IHPC today because we have our Major Project presentation. For me, I had to do 2 presentation for my projects - 1 for Lightdraw & 1 for my own project, FlexCam.


25 February 2009

In the morning, only Leonard and I were here because Ryan and You Hock were having a presentation in school. So when we arrived, Ming Hong showed us the new lasers he bought. The new lasers are stronger than the older ones, which means that Lightdraw would have a better chance to work on the 3 x 2 tile display. After we tested the new lasers, we modified the presentation slides that we used yesterday so that we could use it to do the presentation to Terence and Kevin.

After lunch, Ryan and You Hock returned to IHPC and together, we did a presentation for Terrence and Kevin. Besides both of them, there were other IHPC staff who came in and listened to our presentation. We presented to them on what we have worked on for the past 4 months. They gave us their feedback on the applications which we developed and were also pleased with our work. We told Kevin about our plan to test the 3 x 2 tile display after the presentation and he agreed.

While we were setting up Lighdraw at the 3 x 2 tile display, we were informed that there was a demo going on. So we kept the equipments and returned to our lab. Kevin then asked me to try reformatting the MacBook Pro which I'm using to Mac OS X Leopard. He managed to get a disc image from one of the staff and I researched on how to reformat from external hard disk. Managed to find a tutorial and these are the steps that I did:
  1. Restart MacBook Pro

  2. Hold onto the alt/option key at the grey screen

This steps is actually to bring the MacBook Pro to its 'BIOS' mode, so that we could specify the boot device. However, when I did that, it prompted me to input a password. Kevin and I were unsure of the password and tried to find another way on how we could reformat the MacBook Pro.

Kevin then found another article online, and we tried it. These are the steps that we did according to the article:
  1. Find Disk Utility

  2. Select on the external hard disk and click on the Restore tab

  3. Drag the Mac OS X installer imager to the source Textbox

  4. Drag the mounted external hard disk onto the Destination texbox

  5. Click Restore and wait for the files to be copied

  6. Go to System Preference and select Startup Disk

  7. Select your external hard disk and click on restart

When we restarted the MacBook Pro, everything seemed fine. However, the installation failed after I select the installation language. An error message which popped up displayed this message, "Mac OSX cannot be installed on this computer". Perhaps its because of the MacBook Pro's chipset?

Kevin was there when we tried to reformat, he asked me to do more research on how to install the OS X Leopard onto the MacBook Pro. So I spent the rest of the day researching on how to install the OS X Leopard onto the MacBook Pro.


26 February 2009

I researched on how to reformat the MacBook Pro and found others with the same problem. Here's a link on how this person manage to solve this problem. However, the solution isn't really feasible as the person simply purchased a new CD from the store. So I decided to take a break from the research and help out with the testing to make Lightdraw work with the 3x2 tile display.

We had some problems calibrating as Lightdraw crashes when it tried to calibrate. So we seek help from Ming Hong. He managed to fix the problem and we got it to work. After calibration, we tested the screen with the new lasers which Ming Hong bought and we found new problems with the screen. The surface of the screen is not entirely flat. It is a little slanted on the top and bottom part on the screen. Nonetheless, we still managed to make Lightdraw work on the 3x2 tile display to a certain extend with the new lasers.

We gave Ming Hong a treat for lunch because he had helped us a lot during our time here as interns. We were not able to treat the rest for lunch because they were busy.

When done with lunch, we discussed about the poster design for PSRP and Leonard volunteered to design the poster. We had a photo-shoot with the rest of the team for the article we wrote a few weeks back. Once the photo-shoot was done, we had a 1 to 1 feedback session with Kevin and Ming Hong where they asked us for feedback and gave us some advice on how we could improve ourselves.

After the feedback session, we sent Daryl from Corporate Comms some pictures to be used for the article. We also planned out the new video we want to do for Lightboard, which is to be used for our presentation at the PSRP award. Once the plan had been finalized, I went to look for Cheng Teng to get help with the video shoot for both the 3D visualizer application and LightBoard. However, he was busy and we were unsure on how we should film the 3D visualizer application. So I went to look for Kevin to inform him about the situation. He then told me how the 3D visualizer application is to be video-ed and I went to inform the rest. However, the 3D visualizer application needs to be able to load 3 models for the video. So You Hock worked on getting the 3D visualizer application to load 3 models while the rest of us worked on the PSRP presentation slides.


27 February 2009

In the morning, we were trying to do the video shoot for the 3D visualizer application, however, we faced some problems and the video shoot had to be delayed until after lunch.

For lunch, Kevin gave us a nice treat at a French restaurant where the "seniors' interns" had their last lunch. So it's sort of like a customary thing between Kevin and the interns that worked on Lightdraw. During lunch, we had a great talk about what are our plans after finishing our attachment and other stuff.

After lunch, Leonard and I did the video shoot for the 3D visualizer application while Ryan helped You Hock to reformat the MacBook Pro. After the video, we wanted to do the video shoot for the Lightboard. However, when we wanted to do the video, we realized that Lightdraw couldn't work on You Hock's "fresh" MacBook Pro as there were some stuff we had to install to get it running. Here are some pictures we took when we were doing the video shoot for the 3D visualizer application:



We also handed in our time sheet for the month of February and returned our Fusionopolis temp pass. In a blink of an eye, 4 months have passed and this marks the end of my internship stint at IHPC. During this short span of 4 months, we had learn loads of stuff, be it technical or interpersonal. I truly enjoyed working here at IHPC for my internship.

And before I left the building, I received a farewell gift from JTC:


How nice of them. =P


Reflection for the week:

It's kind of like a joyful, yet reluctant feeling on our last day of work. Joyful, because our internship is ending and we are going to graduate in a few months time. Reluctant, because we know we would miss the times we had working together at IHPC. Nonetheless, we know that we are different from the first time we stepped into IHPC. All of us had grown wiser and more knowledgeable. We also do understand about our strengths and weakness through the feedback session with Kevin and Ming Hong.

Thanks to these people, we had truly enjoyed our time here at IHPC.

Thursday, February 19, 2009

PSRP Week

16 February 2009

When I got to work, I found out that there were some problems with the 3D application - missing linkage between patches. So I went to correct the problems before having a discussion with Kevin on the powerpoint slides for PSRP(Polytechnic Student Research Program). So we worked on the powerpoint slide for then entire day before going over to school to get Dr Eng's views on what we are going to present.


17 February 2009

Told Kevin about Dr Eng's approach to the PSRP presentation, however Kevin feels that we did not do a good job conveying the message properly. So we edit the slides with Kevin's help and we continued to work on our presentation with Kevin's help for the entire day.


18 February 2009

Didn't go to work today as we had a photo-shoot for our Project Show and presentation for PSRP.

The presentation didn't really go very well because I felt that we did not do a good job conveying the message clearly. However, Dr Eng said that we might still have a chance of winning because out of the 10 engineering projects, only 2 projects were standing out. So now it has to depends on the judges if our project would be able to win.

Nonetheless, it was a good experience doing a presentation because of the research element. Normally in school, our presentation were just based on a format. However, in this presentation, we had to describe about our thinking process and how our application could help solve a problem. The toughest part of the presentation was to try to use the simplest term to explain to the judges as they might not have any IT background.


19 February 2009

We went down to Marketplace to get some food while the lab was being vacuumed. After returning to the lab, we did a presentation to Kevin on what we presented at the PSRP. The way we presented was worse than how we presented yesterday. I think I offended Kevin a little by interrupting his conversation with Ming Hong with my random thoughts. After the presentation, I sent him my SIP report for review and apologized to him about my mistake and rudeness before lunch.

After lunch, I worked on modifying the codes for 'Rotation' because since we are using laser, the 'trackmouse' properties of the patch cannot be used. I wanted to do the rotation like how I did the 'Scaling' function. However, Ming Hong explained to me that rotation and scaling works differently. So did some research on how to do rotation and came across this website which teaches me how to calculate the maths for 3D.

While researching, we received news that our project got selected for the PSRP award. It was a surprise for us as we felt that we did not do very well in terms of presentation. It was a total mood changer. So we broke the news to Kevin and he was happy for us. We'll definitely have to work harder on our presentation skills.

After breaking the news, I went to look for Ming Hong and asked him whether we could apply the formula to our application. He said that it was unnecessary for the formula because we are just computing the value for x and y rotation. So he explained how he intend to make the model rotate. Helped out with the testing of the application while he was working to compute the new formula. At the end of the day, we managed to make the model rotate. However, the rotation wasn't working as what Ming Hong expected. I guess we could finish the prototype for the 3D application by tomorrow.


20 February 2009

Leonard and I started working on our presentation for Lightdraw next week. While working on the presentation, I also help out with the testing of the rotate function for the '3D Visualization' application. We went to NUS for lunch because Ryan and You Hock needed to submit their documents for their university application.

After lunch, we spent the day reformating our computers while You Hock and Ming Hong worked on the '3D Visualization' application. I continued helping them to do testing while waiting for the MacBook Pro to be reformatted. Initially, I had problems trying to reformat because I wasn't able to use the disc provided by Kevin. I asked Kevin about it and he explained to us about the difference in the chipset - 32bit and 64bit.

It turned out that the MacBook Pro I was using is an older MacBook Pro which runs on a 32bit chipset. So Kevin passed me another disc. This time, it worked. However, after finishing the reformatting process, I found out that I had installed the Tiger OS instead of the Leopard OS because the look of the desktop is different. Here's how my desktop look like after the installation.


I tried to install the Leopard OS with other disc that Kevin passed me. However, the installation failed because there's a problem with the disc. Kevin told me not to worry and he'll try to find me the CD and pass it to me on Monday.


Reflection for the week:

It had been a roller-coaster week for me here at IHPC - rushing to complete applications and presentations. Thankfully, I'm glad that our hardwork had paid off as our project was selected to represent Temasek Polytechnic for the PSRP(Polytechnic Student Research Programme) in 2 years running. We really got to thank Dr. Eng and Kevin for their help.

Although we had won, we didn't feel really elated because we felt that we did not do well enough during our presentation. As Harold mentioned, "You don't want to just win, you want to win with style.".

That's the mentality that we all should have - "If we are going to do something, we are going to do our best. If not, I rather we not do it.".

Friday, February 13, 2009

Integration of 3D Application

9 February 2009

I worked on integrating with Leonard's menu patch. Managed to integrate successfully with his part before lunch. However, there were some enhancement to be done. Here are some picture of the integrated 3D application:





After lunch, I changed my desktop's wallpaper. Here's the website I got my wallpaper from. It checks the computer's resolution and generates the wallpaper image accordingly. Here's how my desktop looks now:


Done with customizing my desktop, I modified the codes for 'Moving' function and passed my part to Ryan for integration. While integrating, I continued working on enhancing the 'Functions' Menu'. Bernard then brought a few guys to upgrade the projector. Before the 5.30pm, I managed to finish my enhancement and passed ryan the latest patches for integration. I also tried to help Leonard with his function with You Hock.


10 February 2009

I worked on the 'Clear All' function of 'Whiteboard' application with You Hock. We completed the function before heading down to Marketplace to grab a bite as we skipped breakfast to work on our application. We resumed work and tried implementing a new function for the 'Whiteboard' application - creating a new marker when a laser is shone on the screen. Before going for lunch, I showed Kevin my progress for the 3D application.

During lunch, we discussed on what are our next plans. I was tasked to work on the interaction with more than 1 models. Kevin also gave us advice on what we should do when applying for university.

When we were back at the office, I worked on the interaction with more than 1 models while the You Hock and Ming Hong worked on 'Whiteboard' application's new function. Before the end of the day, I allowed the scaling and rotating on the second model. I also helped out with the testing of the 'Whiteboard' application.


11 February 2009

When I got to work, I tried to improve the rotation function by disallowing the auto-rotation of the models. Managed to finish the rotation before we discussed on how we should we present to Mr Yeak tomorrow when he arrives. After the discussion, I added a new function to the 'Function Menu' - make the menu button unable to be selected while a model is moving/scaling/rotating. I managed to finish disallowing the moving and scaling button to be selected before lunch.

After lunch, we practiced for how we should present our work to Mr Yeak when he arrive for the rest of the day.


12 February 2009

I did the write-up for TP IT project show with leonard in the morning till about 9.30am before going through a dry run on what we are going to present to Mr Yeak later. After going through 1 round of dry run, we went back to do our tasks. Leonard and I managed to finish the write-up before lunch and emailed it to Kevin.

After lunch, we cleaned up the lap in preparation for Mr Yeak's visit. Kevin then came in to gave us feed back on how we could improve the project write-up. We did another round of dry run before Mr Yeak came. Kevin started by introducing him to what Lightdraw is about and what we had been doing here at IHPC. We showed him the 4PP, Puzzle application, the 3x2 tile display, the Whiteboard application and what we are currently doing.

After the demonstration, Mr Yeak went to the meeting room with Kevin and Ming Hong while we continued doing our work. I edited the project write up and after finishing, I continued working on the 3D application. At the end of the day, I managed to finish the interaction with 2 separate models with the mouse. Here's some picture of the application:






13 February 2009

We had a discussion on how long we have to complete our tasks before we end our attachment. So I was task to work on the 3D Model application while Kevin helped us with the IT Project Show write-up. So before lunch, I managed to set the initial position when 2 models are loaded. Kevin also passed me his version of the IT Project Show write-up.

During lunch, Kevin told us how different is being at work and at school. In school, we usually have the group mentality while at work, it is important to make decision by not getting affected by others. He also told us a few of his experiences at work.

After lunch, I went back to the lab and continued working on the 3D Model application. I managed to solve the rotation problem with Ming Hong's help before passing my part over to Ryan for integration. I read through Kevin's version of the IT Project Show write-up and made some changes before sending it to Kevin for the final review. However, he was busy filming the video for our applications. So he asked me to submit the write-up without the images. After submitting the write-up, I went to help Ryan with the integration. We managed to integrate successfully and I continued working on enhancing the 3D Model application - resetting the models to the initial positions when loading. I managed to finish that feature by the end of the day with Ming Hong's help.


Reflection for the week:

It has been a busy week for me at IHPC, rushing the 3D Model application while doing TP IT Project show's write-up. What I had left an impression in my mind this week is not the technical skills, but the conversations we had during lunch. Especially the one about the differences between school and work life.

In school, we often hang around our friends and make decisions to follow our friends even though we may not feel like it. The reason why we do that is to fit in. And it is a mistake to bring this mentality to the work environment. This is so because at work, even though we have teams/groups, we are still individuals with our own way of thinking and doing things.

As Kevin said, I too find it important to have our own stand. So the things I've learnt his week would be very useful, for both in school and at work in the future.

Friday, February 6, 2009

Development of 3D Model App

2 February 2009

We discussed about using different macro patches instead of array in Javascript. After much debate, we decided to continue working with the Javascript. So we worked on the matching algorithm till lunch.

After lunch, we got help from Cheng Teng. After awhile, he went over to help Ryan and Leonard because they had problems loading the models provided from him. So we went to compare the codes we did in the application with Lightdraw's. We then realized that we missed out one line of code. Added that line of code in and it was working. We finally made progress after so many days of trying.

The application now allows multi-user support. However, if there were 2 pens on the screen and the first pen got idled/removed, only the second laser is able to select the remaining pen. So we discussed on how to solve the problem and concluded to check the 'moving' patch.

Not long after, Kevin came in and told me that I'll start working with Ryan and Leonard on the 3D model application until You Hock and Ming Hong finished the multi-user function before I return to work on the 'Toggle' and 'Idle' function. We continued to work on the multi-user function for the rest of the day.


3 February 2009

After the usual breakfast routine, I installed Kineme 3D plugin with the help of Leonard. After the installation, a pop-up appeared informing me that the trial period would only last for 1 more day as Leonard had installed the plugin before.

I then started to explore what functions could the plugin do and tried to load a model. The Kineme 3D object loader could support different model formats such as .FBX, .DAE, .MD2, DXF, .OBJ, 3DS. However, I was unable to load. Ryan then advice me to restart the computer because he had faced the same problem before. I restarted the computer and the model is then able to load. Here's the model I loaded:



I managed to make the model rotate before lunch. After lunch, I tried making the model move. However, I need to know the model's initial size. So I went to look for Kevin to inform him to inform him about the plugin trial deadline and his suggestion on how to move the model before his meting. He said he would discuss with Ming Hong about the plugin and he asked me to find out if I could set the model's size to 'Fit to Screen'.

I went to help You Hock with the testing of the 'Whiteboard' application before researching on how to fit the 3D model to screen.


After much research, I found out that in Kineme 3D object loader, there's a Normalize function which would set the model's size to fit the screen's size. I then continued working on trying to move the model for the rest of the day.


4 February 2009

I continued working on getting the model to move. I decided to implement an easier way of moving the model - moving the model to where the mouse is clicked. I then asked Ming Hong about what Z-axis rotation is about because I need to change the rotation axis of the model once it is moved. He explained it to me and then I went on to complete the 'Move' function.

Kevin then came in and we showed him our progress. After showing him, I found a cool function in Mac which works like using the remote computer in Windows before heading for lunch. Here's a screenshot:


After lunch, I tried to load the Rolls Royce model. However, it wasn't able to load because my version of Kineme has expired. So I tried using the iMac to load. The iMac's version also expired while trying to load the model. So we went to look for Kevin and informed him about our situation. He went to discussed with Ming Hong and bought the Kineme 3D plugin. We then registered with the serial key provided.

After registering, Kevin taught me a Mac shortcut - apple+tab+q to quit applications because I was attempting to close several applications. After registering, I tried loading the Rolls Royce model again. This time, it took more than 10 minutes and not yet done. So I decided move on and revert my model back to the skateboard to work on the scale function.

Before we left, we saw a very pretty sight of a rainbow from Kevin's desk. Here's a picture of the rainbow:



5 February 2009

I tested the loading of 2 models on the same application after breakfast because Kevin mentioned about getting the 3D application to work with more than 1 models at 1 time. Quartz Composer is able to load more than one as one of the examples that came with Kineme3D could load 3 models. Here's a screenshot of the Quartz Composition:


This means that I have to modify the codes for the 'Moving' function. I guess I'll modify it after I'm done with the 'Scaling' function. After finishing the 'Scaling' function, we left for NUS because we had to attend a talk there. At NUS, we saw Cheng Teng's project.


6 February 2009

I continued working on the 'Scaling' function when I reached the office. Not long, Leonard requested the 'objLoader' plugin as he wanted to test how fast could a ".obj" format model load on it. Before lunch, I managed to scale the model. What's left is only to compute how much to scale down.

Bernard invited us for lunch at level 5 because it's IHPC Chinese New Year Celebration. Here are some pictures I took during lunch:




After lunch, Kevin informed us that we were not suppose to be at the lunch as we were interns and we do not have the same benefit as IHPC's staff. We sent an email to him to apologize and will consult him if we before we do anything.

After apologizing, I asked Ming Hong on how to compute the scaling. He taught me how and I implemented the formula. Once again, this situation showed me how important mathematics is. I managed to finish the 'Scaling' function at the end of the day. I'll integrate my part with Leonard's on Monday.


Reflection for the week:

In a blink of an eye, it's the final month of my attachment here at IHPC. I've truly learnt a lot for the past few months. This week is no exception. I've learnt more about 3D modeling by working on an application to manipulate the model. Normally, to manipulate a model based on pure coding itself is tough. Luckily, we are working on Quartz Composer which provided us an easier platform to manipulate a 3D model.

I've also discovered a few other interesting functions on the Mac with the help of Kevin and listening to some podcasts.