Time flies, and now my internship have come to an end. The project, HoloTouch will now be passed to the hands of professors and research officers, who will bring it into the next stage and into the future. As I sit in my workplace for the last time today, I begin to recall all the moments since the start of the internship. There were so many memories, so many great moments to cherish. My workplace have now become so beautiful, so inspirational to me, never before was it so.
I will never forgot Mr.Kevin, Mr.Ming Hong,Dr.Cheong, Mr.Yeo, Dr.Calvin and other collegaues in the DMV team, and will definitely come back to visit this place in the future. Hopefully by the time I am out of National Service,HoloTouch would be the next big thing in IHPC, like what LightDraw did.
Well, my time serving IHPC is now over, and its now time for the next batch of students to continue the work that has been done, and I am confident of them.
Before ending this last post, I would wish to say thank you to all of you who guided us, provided advice and worked with us throughout this HoloTouch project. It was a memorable experience for me which I shall never forget. Thank You!
==================Reflection======================
Since this is my last reflection I will write on, I will write it based on the entire internship experience.
This internship experience has taught me on many different things.
One of these important ones is communication skills. Although we all learned communication skills in the workplace during Polytechnic education, it is a totally different thing to apply it to the workplace. Throughout my internship, I have learned and seen the impact of good and bad communication, and they can really make a difference in how people see you as. Small mistakes in communication can easily cause unnecessary misunderstandings, affecting important relations with other people.
Another of these important ones is something called Dynamics. Dynamics is one's ability to bring the best out of himself at all times, and it has a strong relationship to the quality of the work we produce. The more dynamic we are, the more we can complete a task faster with better quality in a given environment. Dynamics can be enforced with a number of things. In my case, I list out 20 things on why I should be giving my best for this project, and 20 things on the bad things that would happen if I do not. Everytime I am feeling lazy and demotivated, one look at that brings me back to my feet, allowing me to finish my tasks faster.
I have also learned that it is crucial to learn at least the basics of all technologies that we can touch our hands on, for we will never know in the job that we get, what kind of technology will it be requiring from us.
This internship have truly given me a glance of what to expect and how to prepare for a long term work in the software development sector, and how to maintain positive relations and stay away from office politics. I now feel much more prepared for the working world.
In summary, this internship programme at IHPC has been a great one, and I definitely hope there will be more of such great internship provided for students.
Thursday, February 25, 2010
Week 22 Day 4
Today I finished the SIP Report, and submitted all the software and presentation to Mr.Kevin Veragoo and Mr.Koa Ming Hong. It has been a memorable time working at IHPC, and I wish to thank both of you for your guidance all along.
Tuesday, February 23, 2010
Monday, February 22, 2010
Week 22 Day 1
Today was the first day of the last week of work, Victor and me finished up the remaining coding for the new calibration and tested it before presenting to our supervisor. I was glad that the application is now fully completed after weeks of hardwork, sweat and blood.
With the application now completed, our next task would be doing the SIP report now.
With the application now completed, our next task would be doing the SIP report now.
Sunday, February 21, 2010
Week 21 Day 5
Today Victor and I helped Kevin to cleanup the workplace and make it appear like the first day of work. Now whenever I take a look at my workplace after the cleanup, it looked as if I have travelled back in time to my first day of work. Though I knew that the day I will be leaving is near (just next week), I somehow feel sad leaving this place. However, life goes on, I told myself, and the best I can do now is to put my best effort in the HoloTouch app before I leave this place.
For the afternoon, I leave for Temasek Polytechnic to attend a trip to NTU, and to also submit my supporting documents to NUS.
===================Reflection===================
Upon nearing the end of my SIP, I begin to think of a quote by my favourite motivation speaker, Adam Khoo. In his book, Paving the way to the top, he mentioned : "If you are not doing what you like doing, you will never be the best in whatever you are doing". This had me thinking to myself, through this internship, am I happy with what am I doing? is this the type of job that I have all along wanted ? Why and Why not? Well, some of my answers to this question are no, and some are yes. I now know more of what I really want to do with my life now.
For the afternoon, I leave for Temasek Polytechnic to attend a trip to NTU, and to also submit my supporting documents to NUS.
===================Reflection===================
Upon nearing the end of my SIP, I begin to think of a quote by my favourite motivation speaker, Adam Khoo. In his book, Paving the way to the top, he mentioned : "If you are not doing what you like doing, you will never be the best in whatever you are doing". This had me thinking to myself, through this internship, am I happy with what am I doing? is this the type of job that I have all along wanted ? Why and Why not? Well, some of my answers to this question are no, and some are yes. I now know more of what I really want to do with my life now.
Week 21 Day 4
Today Kevin came to inform us we will need to archive all our applications we developed, blog posts we have done, presentation slides we have created, and reports that we have done with regards to HoloTouch all into a single DVD.
As the calibration application was already working well, I then worked on retrieving my previous work and presentation slides and storing them onto a single location. I then continued to work on my SIP report, which I have just begin since the other day.
As the calibration application was already working well, I then worked on retrieving my previous work and presentation slides and storing them onto a single location. I then continued to work on my SIP report, which I have just begin since the other day.
Week 21 Day 3
Today, I tested the new code logic, and the detection is now better, even though sometimes there is a little bit interference from background objects. Today I couldn`t do much coding due to the Automatic Blood Pressure Monitor wrapping around my right arm. It was strapped around my bicep so tightly that even a single movement of my finger hurts! Thus the whole day I was doing coding with fingers from my left hand, which puts me in low productivity mode.
For today, I worked on the file saving issues that occurred since the application went for PSRP presentation. I then figured out the problem was from forgetting to put file.Close() at the end of my saving method -.- It worked thereafter.
For today, I worked on the file saving issues that occurred since the application went for PSRP presentation. I then figured out the problem was from forgetting to put file.Close() at the end of my saving method -.- It worked thereafter.
Week 20 Day 5
Today, before presenting to Kevin, I tested the application and confirmed that it is able to detect the color markers clearly. However, when Kevin came, the application decided to take a break : ( In the same environment I recalibrated twice, and only red worked. I then went back to research on the reason for this and realised that the range of yellow and green were set incorrectly. For instance, their area was set to 2000 min and 0 max. Such range will definitely fail for the detection. I investigated further, and realised a mistake in the code I wrote. Other than modifying and fixing it, I also added codes to ensure if 0 is detected for the maxiumum or minimum, then set it to the default area range instead.
I tested it, and realised that this time round, it still failed. The minimum area detected was too large. Hence I modified the code more. I force the area to be set to 300 when the minimum area detected was more than 300. Why do I choose 300? This is because after various testing in different environments, I came to the conclusion that provided the detection is accurate, the area of background noises are always 100 and below. I finished coding this up, but didn`t have the time to test it as I have to leave for my phyiscal examination or Napfa examination.
I look forward to testing this new code next Wednesday, and hereby wish all readers a Happy Chinese New Year! Cheers :) [for 2 days of extra holidays!]
I tested it, and realised that this time round, it still failed. The minimum area detected was too large. Hence I modified the code more. I force the area to be set to 300 when the minimum area detected was more than 300. Why do I choose 300? This is because after various testing in different environments, I came to the conclusion that provided the detection is accurate, the area of background noises are always 100 and below. I finished coding this up, but didn`t have the time to test it as I have to leave for my phyiscal examination or Napfa examination.
I look forward to testing this new code next Wednesday, and hereby wish all readers a Happy Chinese New Year! Cheers :) [for 2 days of extra holidays!]
Week 20 Day 4
Today, I tested out the application and to my joy, it worked successfully! I was overjoyed.....for the first try. However for the second try, it was not as good as background objects start to appear and interfere with what should be correctly detected.
I went back and look at my code for changes that I can make to improve this situation, and finally found something that I could improve on in the background (or automatic calibration) calibration method. Apparently the reason the background calibration will cause the correct range set by my current calibration method, as it was based on last time's logic, where it calibrate simply by the default hue, saturation and value range. I edited the logic by changing it to adjust a maximum of +20 and -20 changes to the hue, saturation and value range without clearing the modifications to the hue, saturation and value range that my current calibration does. I tested it out and it worked fine. I then proceed to invite Kevin to see this current application tomorrow.
I went back and look at my code for changes that I can make to improve this situation, and finally found something that I could improve on in the background (or automatic calibration) calibration method. Apparently the reason the background calibration will cause the correct range set by my current calibration method, as it was based on last time's logic, where it calibrate simply by the default hue, saturation and value range. I edited the logic by changing it to adjust a maximum of +20 and -20 changes to the hue, saturation and value range without clearing the modifications to the hue, saturation and value range that my current calibration does. I tested it out and it worked fine. I then proceed to invite Kevin to see this current application tomorrow.
Week 20 Day 3
Today I finished up the coding for the detection based on correct region. I tested it and apparently only 2 out of 9 detections were accepted. I investigated this by viewing the images detected in HSV view and realised that although some of the detections identified was in the correct area of detection, but it indirectly got dismissed as it was apart by just 5 to 7 pixels.
I then modified my code to accept the detection if the area that is detected is less than 20 pixels away from the correct detection area. I have just finished the code for this and will test this out tomorrow.
I then modified my code to accept the detection if the area that is detected is less than 20 pixels away from the correct detection area. I have just finished the code for this and will test this out tomorrow.
Week 20 Day 2
Today I decided to implement codes to ensure the Hue Saturation and Value ranges detected are only based on the correct detection area. To do this, I compare the rectangle portion data returned after the detection with the white square's position. If the white square is inside the rectangle portion of the detection, it will be acceped, or else it will be discarded.
I spend the whole day in the midst of implementing this as well as changing the existing code to suit them to this new way of detection.
I spend the whole day in the midst of implementing this as well as changing the existing code to suit them to this new way of detection.
Monday, February 8, 2010
Week 20 Day 1
Today I tested the new calibration method that I have developed. It worked to a small extend as it seems to detect a huge range of values for Hue, Saturation and Value, causing other background obstruction objects to be shown too. The workaround I have implemented today was to take the largest out of all minimun ranges detected. This method, although works better than the previous method, still failed to completely ignore background objects in the surroundings. I am now considering the detection of area, which maybe difficult seems the area detected may not always be of the object intended.
week 19 Day 5
Glad today its Friday! Today I continued on the small left over coding tasks from yesterday, but time passes quickly and soon when I finished the new calibration method, it was 5.40pm. As such, I will be testing this new calibration method next Monday.
Best Wishes to everyone reading this! Have a nice weekend!
Best Wishes to everyone reading this! Have a nice weekend!
Week 19 Day 4
Today morning I have accepted a trade invitation to visit the AirShow 2010. It was my first time in my life watching an Air Show, and it was great!!! The airplanes were doing all sorts of aerobatic stuns, and there was one which even spit fire!
After the Air Show, I went back to continue coding on the application. The rest of the day was spend on finishing up the coding for the calibration method.
After the Air Show, I went back to continue coding on the application. The rest of the day was spend on finishing up the coding for the calibration method.
week 19 Day 3
Today I am almost finished implementing the code for red on the new calibration method. The whole day was spend on thinking on how to store the scanned region, how to measure as accurately as possible, and how to detect other background objects and ignore them. Pardon me for these short and late blog posts, have been spending most of the time busy developing and focusing on the new calibration method.
week 19 Day 2
Today, I have started on developing the new manual calibration method, have finished with coding up the square that moves when the user press space. I have also changed the existing codes to suit to the current logic
Week 19 Day 1
Today we will assigned with the new tasks of simplifying the calibration process. Basically instead of requiring the users to adjust the values on their own, the users will simply have to move their fingers with the respective color markers around, and the calibration process will then detect the HSV values accordingly, and use it for HoloTouch.
Today was spend on thinking out the logic on how to implement the code, what to change on the existing ones, basically working out the workflow.
Today was spend on thinking out the logic on how to implement the code, what to change on the existing ones, basically working out the workflow.
Sunday, January 31, 2010
Week 18 Day 5
Today Victor and I went to school for photo-taking for IT Project Show. I feel so old when I was back in TP, and truly missed the times where I have just entered Polytechnic. All the fun things my class did, all the chalets and birthday parties being organized, and all the tutorial and lecture sessions with my class. How I wish time could turn back...
Back at the workplace, today, Victor and I worked on the final stage of video development. The video parts are merged and now pending for conversion.
Conversion, unfortunately was very slow, and it was not due to the lack of processing power, but due to the application (Corel Video Studio) itself. Hence, for the entire day, we were waiting for the video to convert and couldn`t do anything else due to the lagness it generates.
===============Reflection==================
Through this week, I have encountered failure, and it truly tested me and my perspective in life. It has set me asking myself times and times again why I have not be able to win this competition. Due to that, I have been reading up on presentation skills, time management skills and practicing then in my own freetime.
This is indeed a big setback not only for me, IHPC, but also for Temasek IIT School, and I definitely regretted losing the competition, with all that faith placed in me to win it. Though I lose in this competition, I have brought back something : things that I can improve on. I have noted them and will find ways and means of preventing them from hindering my success.
Back at the workplace, today, Victor and I worked on the final stage of video development. The video parts are merged and now pending for conversion.
Conversion, unfortunately was very slow, and it was not due to the lack of processing power, but due to the application (Corel Video Studio) itself. Hence, for the entire day, we were waiting for the video to convert and couldn`t do anything else due to the lagness it generates.
===============Reflection==================
Through this week, I have encountered failure, and it truly tested me and my perspective in life. It has set me asking myself times and times again why I have not be able to win this competition. Due to that, I have been reading up on presentation skills, time management skills and practicing then in my own freetime.
This is indeed a big setback not only for me, IHPC, but also for Temasek IIT School, and I definitely regretted losing the competition, with all that faith placed in me to win it. Though I lose in this competition, I have brought back something : things that I can improve on. I have noted them and will find ways and means of preventing them from hindering my success.
Week 18 Day 4
Today, I worked on creating a project video for both HoloTouch and the Student Portfolio System for our school's IT project show. Victor and I also worked on the writeup for each of these projects, the music to use for the video, and the subtitles for them.
Wednesday, January 27, 2010
Week 18 Day 3
Today we worked on providing a workable demo for IHPC that Kevin and Ming Hong will be able to show as the first developed protype of HoloTouch.
Week 18 Day 2
Today will be the day of competition, so far the preparation for us is ok, and we wish to thank Dr.Eng, Mr.Yeak, Ms Lim, Mr.Cheng Teng, Mr.Kevin, Mr. Ming Hong, as well as fellow MSP team members for providing feedback for us.
Will be going for the competition now, and hopefully will post the good news tonight : )
=========Tonight=============
Although hard work does pay off, we got the 3rd, Applied Science students who presented on Dengue vaccine and Saliva Stress test won the 2 awards. It was indeed disappointing that the chain of winnning by Diploma in IT is now broken in this continuous 4 year. My apologies to all who stood by to advise and prepare us for this PSRP award, I have indeed let you down.
However, this failure will not stop me in my steps. I now recall what Rocky says in his movie :
"The world ain't all sunshine and rainbows. It's a very mean and nasty place and I don't care how tough you are it will beat you to your knees and keep you there permanently if you let it. You, me, or nobody is gonna hit as hard as life. But it ain't about how hard you hit. It's about how hard you can get it and keep moving forward. How much you can take and keep moving forward. That's how winning is done! "
If you happen to be reading this and you are starting your SIP internship at IHPC in 2010, based on my experience, since you start work on any projects, do have the PSRP in mind, and there will be a definite chance of winning the award for IIT school.
Will be going for the competition now, and hopefully will post the good news tonight : )
=========Tonight=============
Although hard work does pay off, we got the 3rd, Applied Science students who presented on Dengue vaccine and Saliva Stress test won the 2 awards. It was indeed disappointing that the chain of winnning by Diploma in IT is now broken in this continuous 4 year. My apologies to all who stood by to advise and prepare us for this PSRP award, I have indeed let you down.
However, this failure will not stop me in my steps. I now recall what Rocky says in his movie :
"The world ain't all sunshine and rainbows. It's a very mean and nasty place and I don't care how tough you are it will beat you to your knees and keep you there permanently if you let it. You, me, or nobody is gonna hit as hard as life. But it ain't about how hard you hit. It's about how hard you can get it and keep moving forward. How much you can take and keep moving forward. That's how winning is done! "
If you happen to be reading this and you are starting your SIP internship at IHPC in 2010, based on my experience, since you start work on any projects, do have the PSRP in mind, and there will be a definite chance of winning the award for IIT school.
Week 17 Day 5
Today, I have decieded to post and make my reflection for the week.
The preparation is indeed stressful, having less of sleep and some missed deadlines currently, but no competition is not stressful, and I am and will perserve through this challenge.
Reflection :
This week have indeed been a challenging and tiring week for me, but only in this week did I realize and learn more of the potential of HoloTouch, instead of just C++ codes. I have now experienced and learned that competition produces not only results, but also the awakening of our goals.
The PSRP award competition has set me thinking on my life, how I have achieved so far, and is the type of job I am in currently the job I want and dream of? Indeed when year 3.2 comes to an end, it will be the end of opportunities to achieve, opportunities to work with familiar team members and the start of a 2 year long trip where most of us are unfamiliar with. Thinking about this, it has make me feel the importance (once again) of cherishing things before they are history
The preparation is indeed stressful, having less of sleep and some missed deadlines currently, but no competition is not stressful, and I am and will perserve through this challenge.
Reflection :
This week have indeed been a challenging and tiring week for me, but only in this week did I realize and learn more of the potential of HoloTouch, instead of just C++ codes. I have now experienced and learned that competition produces not only results, but also the awakening of our goals.
The PSRP award competition has set me thinking on my life, how I have achieved so far, and is the type of job I am in currently the job I want and dream of? Indeed when year 3.2 comes to an end, it will be the end of opportunities to achieve, opportunities to work with familiar team members and the start of a 2 year long trip where most of us are unfamiliar with. Thinking about this, it has make me feel the importance (once again) of cherishing things before they are history
Week 17 Day 3
Today we spend the day on preparing for the PSRP, and will be doing the same thing till next Tuesday, hence to concentrate on the PSRP, I will not be making any blog posts till next Tuesday.
Week 17 Day 2
Today after presenting the full 3D rotation to Kevin, we received email on our nomination in Poly Students Research Projects award. Kevin and the rest of the colleagues have a short meeting, and we will be spending this week till the next Tuesday (PSRP presentation) on creating videos, fixing application problems, preparing and rehearsing the slides.
Week 17 Day 1
The beginning of this week, I continued on developing the rotation of the rubik cube via the center cube being identified.
However, this method did not work well as the application still tends to identify the side cubes as the center. As such, we have currently decided to shift developments on other areas, such as the 3D rotation.
We manage to get the 3D rotation up by today, and spend the rest of the time implementing 3D rotation for other planes
However, this method did not work well as the application still tends to identify the side cubes as the center. As such, we have currently decided to shift developments on other areas, such as the 3D rotation.
We manage to get the 3D rotation up by today, and spend the rest of the time implementing 3D rotation for other planes
Monday, January 18, 2010
Week 16 Day 5
Today I realized that the existing method to snap the cube is not efficient. This is because since every cube has different source and destination to adjust to, it is just not possible to cater different angles of each cube as it will be very time consuming and heavy on the processing too.
Hence today, I have begin on implementing a new algorithm for snapping that only depends on 1 single cube at the center front at each layer. This method works by identifying the front center cube, and how many degrees more does it need in order to successfully snap back to a complete 90 degrees angle.
==================+Reflection+=======================
During this week, I have re-programmed the snapping method, and learned more on radiant, and how it applies to the Rubic cube application. Though a short week, this week has been more on programming and implementing our supervisor's feedback to improve the application.
Thursday, January 14, 2010
Week 16 Day 4
Today, I continued to work on the alternate method for the snapping effect. Although the new method is able to turn the cube, but due to the z plane's snapping not implemented yet, the rubic cube does not yet snap correctly.
Week 16 Day 3
Today I worked on implementing a new method for snapping the entire cube. This was because the previous snapping method was implemented and achieved by using a stored variable which stores the distance the user have moved for each layer and each plane. This may became inaccurate over time due to the number of movements a user have to move to solve the rubic cube.
Hence the new method would snap the cube by measuring first, where each of the cube are, and second, where is the nearest point it should snap to based on its current position.
Hence the new method would snap the cube by measuring first, where each of the cube are, and second, where is the nearest point it should snap to based on its current position.
Week 16 Day 2
Today I went for National Service Medical Checkup, and hence was not in office for work.
Week 16 Day 1
Today was the start of the second week of 2010.
In the morning, we did our last rehearsal and preparation before presenting to Ming Hong and Kevin in the afternoon.We were glad that everything went well for the presentation.
In the afternoon, I spend the day working on implementing an in-game menu for the user to re-calibrate the colours if he or she needs to. This will then allow the end users to re-calibrate the colors without the need to restart the game.
In the morning, we did our last rehearsal and preparation before presenting to Ming Hong and Kevin in the afternoon.We were glad that everything went well for the presentation.
In the afternoon, I spend the day working on implementing an in-game menu for the user to re-calibrate the colours if he or she needs to. This will then allow the end users to re-calibrate the colors without the need to restart the game.
Week 15 Day 5
Today I worked on improving the powerpoint slides, and adding music into it. Other than that, I have also realised in certain project demostrations, people tend to make a slideshow with its own transition timing to bring the story to people in a way similar to watching a movie.
I researched on how to do this in Mac's Keynote (macintosh version of powerpoint), and managed to succeed in making it with the help of my Collegue, victor.
We rehearsed a few times, corrected each other about common presentation mistakes, and ensured similar mistakes are not made again before calling it a day.
Overall, we are now ready for the presentation, and confident about it than the previous one.
=======Reflection=======
In a blink of an eye, the first working week of 2010 has passed. Through the numerous preparation and rehearsal for the Holotouch Project, it has made me realised the importance of not only being able to make a good application, but also impressing the end users on the project. A good application that fails to impress users will mean it will lose out to similar products, and hence causing developers to have difficulty selling it around.
One of the software application that have impressed me most in terms of its marketing is Eset Smart Security. The developers not only focus on developing a great antivirus, but also on animation, creating a nice looking robot avatar, and also on TV commercials.
I know of many people who have purchased the product and benefitted greatly from it, just through its impressive advertisements, which other brands of antivirus failed at.
Hence, the ability to impress consumers (and get them excited) on the software is important.
I researched on how to do this in Mac's Keynote (macintosh version of powerpoint), and managed to succeed in making it with the help of my Collegue, victor.
We rehearsed a few times, corrected each other about common presentation mistakes, and ensured similar mistakes are not made again before calling it a day.
Overall, we are now ready for the presentation, and confident about it than the previous one.
=======Reflection=======
In a blink of an eye, the first working week of 2010 has passed. Through the numerous preparation and rehearsal for the Holotouch Project, it has made me realised the importance of not only being able to make a good application, but also impressing the end users on the project. A good application that fails to impress users will mean it will lose out to similar products, and hence causing developers to have difficulty selling it around.
One of the software application that have impressed me most in terms of its marketing is Eset Smart Security. The developers not only focus on developing a great antivirus, but also on animation, creating a nice looking robot avatar, and also on TV commercials.
I know of many people who have purchased the product and benefitted greatly from it, just through its impressive advertisements, which other brands of antivirus failed at.
Hence, the ability to impress consumers (and get them excited) on the software is important.
Week 15 Day 4
Today I worked on reducing the rubic cube application from needing 2 windows to be shown to just one single window by integrating the color identifier in opengl. The user is now able to play the rubic game with just a single window.
Week 15 Day 3
Today we spend the day on preparing the presentation slides, rehearsing and finding ways to improve the presentation.
Tuesday, January 5, 2010
Week 15 Day 2
Today was spent on preparing for the presentation tomorrow, writing scripts and creating the slides
Monday, January 4, 2010
Week 15 Day 1
Today I have implemented a temporarily method to solve the mismatch between the open GL camera's view and the real video camera's view by translating the real camera's view by -15 units for the y axis.
I have also implemented a method to scramble the cube, and through it, I realised that the count that I have intended for the number of scrambles does not match the actual count that happens due to the frame rate. As such, I have multiplied the number of counts by 2 to meet my expected count.
I have also implemented a method to scramble the cube, and through it, I realised that the count that I have intended for the number of scrambles does not match the actual count that happens due to the frame rate. As such, I have multiplied the number of counts by 2 to meet my expected count.
Week 14 Day 4
Today I worked on attempting to solve an issue where what the camera views is different from what the 3D camera shows.
Today's New Year's Eve and there is a half-day off. As such, I hereby wish all blog readers
Happy 20101'
Today's New Year's Eve and there is a half-day off. As such, I hereby wish all blog readers
Happy 20101'
Subscribe to:
Comments (Atom)
