Senior Software Developer with 18+ years of programming experience - 7 years in C/C++, delivering on-time, on-budget multimedia services; 5 years of experience in Java, PHP, JS, HTML5, and 6+ years in Golang, Python and Objective-C.
Website: https://blog.gametechtutorial.com
In Objective C, an object cannot inherit from multiple superclasses, yet it can conform to
multiple protocols. If you need a GameCenterManageDelegate to be inherited by many Views, you can define as shown below. GameCenterManagerDelegate.h @protocol GameCenterManagerDelegate <NSObject>
Categories are an elegant way to extend any Objective C class without changing original codes. Take a peek at StoreKit framework for example, you can extend SKProduct.h in StoreKit framework as shown below. SKProduct+ priceWithString.h
#import <Foundation/Foundation.h>
#import <StoreKit/StoreKit.h>
@interface SKProduct (priceWithString) // priceAsString : category name
1. assign / unsafe_unretained (no memory management shall be done with this property, it is handled manually by the person assigning the value) (default if not ARC or object type). 2. Assign is used for C primitive property to replace a variable with new values.
Property :
nonatomic (does not enforce thread safety on the property, mainly for use when only one thread shall be used throughout a program)
atomic (enforces thread safety on the property, mainly for use when multiple threads shall be used throughout a program) (default)
retain / strong (automatically retains / releases values on set, makes sure values do not deallocate unexpectedly) (default if ARC and object type)
readonly (cannot set property)
readwrite (can both set and get property) (default)
assign / unsafe_unretained (no memory management shall be done with this property, it is handled manually by the person assigning the value) (default if not ARC or object type)
copy (copies the object before setting it, in cases where the value set must not change due to external factors (strings, arrays, etc).
weak (automatically zeroes the reference should the object be deallocated, and does not retain the value passed in)
Good ref: http://rdcworld-iphone.blogspot.in/2012/12/variable-property-attributes-or.html
Send Text, Voice and Image Messages to your friends
Search nearby restaurants with GPS.
Shake your phone to find nearby events or restaurants.
Publish event information.
App Name: iMagic Fire
- Developed fire animations with voice, touch, and shake interactions by XCode inObject-C language. - Technology : Objective-C - Platform: iPhone - Published date: 2010.2.19
Developed a simple SIP API interface (MySIPStack) in C/C++ for Web Client(.NET), so as Web client can customize and control different SIP call flows.
Feature:
1. Create a conference room 2. Add Party to conference 3. Delete Party to conference 4. Third Party Call Control(3PCC)( rfc3725) 5. Send SIP INFO message 6. Send SIP Cancel message
E-Commerce Web Development
Developed Cosmetic e-commerce website in PHP and MYSQL. Feature: 1. Product management system 2. Member management system 3. Order management system 4. Shopping Car
Research : People Counting System development for Multiple Cameras with Overlapped Field of View
The counting of pedestrian flow provides useful information for managers in stores or shopping malls for making more potential incomes from customers. Using a single camera pointing to the ground from the ceiling to monitor the entrance is commonly used for people counting. But when the size of entrance is larger than the coverage range of a single camera, multiple cameras with overlapped field of view are required. However, when pedestrian passes through the overlapped region, both cameras will count it, which will cause double counting problem.
Solution: - Developed people counting system in C/C++, including detector, tracker, and counter. - Created and Implemented people counting error rate correction algorithm to solve double counting problem.
People Counting System Architecture:
People Detector system flow:
Experiment environment:
Image Processing Screen:
The following images show that when pedestrian passes through the overlapped region.
Conclusion:
The experimental results showed that with the proposed method, the error rate of people counting in overlapped area is significantly reduced. We also study the effect of low frame rate and the experimental results showed that at 6 frame/sec we can still have acceptable accuracy at 80%.
Game History Project
PC Browser Game
1.Homerun heroes
- PC Browser Game
- Game server and API development for Mobage platform.
- Youtube Video
2. Bubble World
- PC Browser Game
- Game server and API development for Mobage platform.
-Youtube Video
Social Game
3. Baseball
- Social card game development on Gree and Mobage.
4. Brave
- Social card game development on Gree and Mobage.
5. Volleyball
- Social card game development on Gree and Mobage.
Native Game
6. Wonderland
- Native iOS Puzzle Game
- Client SDK and Game server and API development.
7. Runrun
- Native iOS / Android Puzzle Game
- Client SDK and Game server and API development.
8. Mystery Journal
- Native iOS Game
- Promotion UI and backend system development
9. MMO Game for Native iOS / Android.
- Login and Payment SDK development
- CMS and KPI development.