Projects from year 1998 until NOW ... - Developed by AHYEEK
Wednesday, November 28, 2012
Sunday, November 25, 2012
Presentation Alive, 04th - 05th July 2012, Kuala Lumpur
Sunday, November 27, 2011
Speaker profile: http://pqre.mimos.my/perfunleashedconf/speaker.php
Training: Advance Video Analytic and Emerging Video Surveillance
Sponsorship chair for the Third Malaysian Joint Conference on Artificial Intelligence (MJCAI) and Semantic Technology and Knowledge Engineering (STAKE), year 2011
Paper publication presentation -
S. Y. Tan, C.C. Kiu, Dickson Lukose. Automatic Question Generator Evaluating In 3rd Semantic Technology and Knowledge Engineering (STAKE 2011), UNITEN Putrajaya, Malaysia, July 18-22, 2011
Demo chair for the Artificial Intelligent Demo 2011
Monday, January 10, 2011
Tuesday, August 10, 2010
Event : Knowledge Technology Week (Conference & Exhibition)
Date : 26 July – 30 July 2010
Time : 9am – 5pm
Venue : Damai Beach Resort, Kuching, Sarawak
Responsibility: Demo presenter
Saturday, August 07, 2010
Wednesday, June 30, 2010
1. Generics allow you to define type-safe data structures, without committing to actual data types.
2. Result higher quality of code by reuse data processing algorithm without duplicating type-specific code.
3. Generics allow you to define type-safe classes without compromising type safety, performance, or productivity.
.Net 1.1 way of implementing Stack data structure providing Push() and Pop() methods.
For general purpose of Stack, it used to store instances of various type. Old way using Object-based stack, which is amorphous object. This is because Object is canonical .NET base type, it able to hold any type of items.
1. Performance in boxing and unboxing value types when pushing and popping process.
2. Type safety. Compiler allow anything cast from Object type. Hence, programmer losing compile-time type safety. Cast wrongly will raise an invalid cast exception at run time.
Hence, to solve this, old way is to create type-specific Stack data structure. For Interger, using InsStack, for String, use StringStack.
Writing type-specific data structures is a tedious, repetitive, and error-prone task.
In addition, there is no way to foresee the use of unknown or yet-undefined future types, so you have to keep an Object-based data structure as well.
Sample Code Download : Learn_Generics.zip
1. A Collection of Items containing a Single Item.
2. Can Add any datatype value, every item in arraylist is treated as object.
3. It will dynamically expand and contract when you add/remove elements to it.
1. Collection of key,value pairs.
2. Key Can be any data-type.
3. Key Cannot be null reference, but value can be.
4. Each element is a key/value pair stored in a DictionaryEntry object.
Retrieving by key in Hashtable is faster than retrieving in Arraylist.
Sample Code Download : Hashtable_Vs_ArrayList.zip
Tuesday, June 29, 2010
An event is a message sent by an object to signal the occurrence of an action. The object that raises the event is called the event sender. The object that captures the event and responds to it is called the event receiver. In event communication, the event sender class does not know which object or method will receive (handle) the events it raises. What is needed is an intermediary (or pointer-like mechanism) between the source and the receiver. The .NET Framework defines a special type (Delegate) that provides the functionality of a function pointer.
A delegate is a class that can hold a reference to a method.
A delegate class has a signature, and it can hold references only to methods that match its signature. Thus equivalent to a type-safe function pointer or a callback.
Sample Code Download : Event-Delegate-Learn.zip
Abstract method vs Virtual methods
Abstract method: When a class contains an abstract method, that class must be declared as abstract. The abstract method has no implementation and thus, classes that derive from that abstract class, must provide an implementation for this abstract method.
A subclass which derives from an abstract class and fails to implement abstract methods will fail to compile.
Virtual method: A class can have a virtual method. The virtual method has an implementation. When you inherit from a class that has a virtual method, you can override the virtual method and provide additional logic, or replace the logic with your own implementation.
Virtual methods allow subclasses to provide their own implementation of that method using the override keyword.
A member defined as virtual must be implemented in the base class, but may be optionally overridden in the derived lass if different behavior is required.
Sample Code Download : Learn_Abstract_Vs_Virtual.zip
Abstract Base Vs Interface
An Abstract class without any implementation just looks like an Interface; however there are lot of differences than similarities between an Abstract class and an Interface.
- We cannot make instance of abstract class.
- An abstract class is only to be sub-classed (inherited from).
- In other words, it only allows other classes to inherit from it but cannot be instantiated.
An interface is not a class.
An interface has no implementation; it only has the signature.
It just the definition of the methods without the body.
Similarity between Abstract class and Interface:
They act as a contract that is used to define hierarchies for all their subclasses.
A class can implement more than one interface but can only inherit from one abstract class.
Since C# doesn't support multiple inheritance, interfaces are used to implement multiple inheritance.
Sample Code Download: AbstractBase_Vs_Interface.zip
Monday, June 28, 2010
Will Code In Finally Block Being Executed When There Is A 'Return' In Try Block?
Finally block allow us to specify code that's guaranteed to execute no matter what kind of exception a thread throws.
Sample Code: Try_Catch_Finally.zip
Thursday, January 07, 2010
Home-grown small pipeline inspection system to inspect pipeline interiors welding quality for pharmaceutical industry and food industry, diameter range from 12 mm to 75 mm.
Non-destructive video inspection is required from recent government law enforcement to above industry to increase safety standard and environmental contamination control on above industry facility pipe line and sewage system.
Video evident of the interiors of pipelines for welding defects such as surface discontinuity, corrosion fatigue cracking, creep of dissimilar weld joints and piping conditions such as leakage and blockage is done yearly by pipe line inspection service’s consultant company.
* This project was awarded with entrepreneurship (CIP) grant by CRADLE in year 2009
Wednesday, January 06, 2010
This project is continue research and enhanced from ASIS PCB, Advance Stencil Inspection System in order to achieve new capabilities:
- System able to inspect 1 million apertures, with 1 time scan 8x8 inch wafer disk, by 3200dpi resolution and its accuracy achieve 7um
- System able to inspect 1 million apertures, with 1 time scan 12x12 inch wafer disk, by 2400dpi, resolution and its accuracy achieve 11um
* This project was awarded with entrepreneurship (CIP) grant by CRADLE in year 2008
Research & Developed Prototype In Inspecting Wafer Stencil (Die by Die Inspection) Demonstration:
Green color spot show dust / stain appear on wafer stencil, red color spot shows missing apeature detected.
Due to the wafer stencil surface is dirty, system detect a lot of stain from the image captured. Further research and implementation on hardware and software are required to reduce the errors detection.
Visualization Result On Wafer Map After Inspection Process Completed:
Automatic human eye independent QC tool for stencil inspection
Check missing, extra, position offset and area defective aperture
ASIS™ is a fully integrated, stand-alone measurement and inspection workstation for stencil and screen fabrication or other machined, etched or laser cut eform operations.
ASIS™ uses a PC Windows based software package integrated with a high-resolution, calibrated, A3 size flatbed scanner. This combination allows inspection of both stencils and screens for accuracy and the ability to inspect and measure 100% for absence/presence and correct size of apertures.
* Awarded with pre-seed entrepreneurship grant by MDEC.
Product sold to Hakko Sdn. Bhd., www.hakko.com and Ocular Sdn. Bhd. www.ocular.com.my
Software and hardware design in optical inspection technology effectively prevent human error in product labeling process in a manufacturing system. This technology consists of camera, video card, computer and image processing software to replace human eye and mental comparison process(brain), which is known for not reliable and error prone for repetitive task.
This proprietary solution prevent human mistake happen at the source, verify the source input data in text form against with machine first output unit. Therefore, it totally eliminate possibility of catastrophic product scrap cost, quality and reputation loss. Other competitors system provide solution in the area of “verify ‘first output actual unit’ against subsequence unit”. This comparison method only good for solving mix device and product segregation after mass production.
* This project was awarded with entrepreneurship (CIP) grant by CRADLE in year 2007
Hardware setup environment:
Software interface screen shots:
Saturday, November 15, 2008
Genetic Algorithm (GA) In Solving Multi Variants Problem Implemented In Ms. NET C# (Multivariate Genetic Algorithm Solution)
Programming Language & Tools: Microsoft .NET C#
Source code / Request for customization: www.geneticalgorithm.ahyeek.com
Application For Test: Download
Optimization Using Genetic Algorithm In C#
This is a Multivariate Analysis and Solver using Genetic Algorithm methodology. Simulation application implemented in Ms. Net C#.
Assume we have certain number of farm lands (in area). Each land contain 2 types of insect. Assume we have certain number of fertilizer to be chosen to use where each of them having different cost (per area) and killing effectiveness (in %) for each type of insects.
By using Genetic Algorithm and Dynamic Programing technique, we want to find out, which fertilizer used for each land that satisfied minimum insects of number and also minimum cost of fertilizer.
Imagine if you have 50 farms and 30 types of fertilizer to choose. In order for you to obtain a promising solution by examining all possible combination, it will take years in the computational power we having now.
Using GA in solving multi-variant problem like this need a suitable data structure to represent the problem space. Representation of chromosome and DNA (element in each chromosome) need to be designed in a way to combine different farm lands with fertilizer. By randomly pair the farm land with the fertilizer, checking the fitness value in each chromosome, performing GA operation process to obtain a best fitness value chromosome. Then, the solution set can be obtain by retrieving the information in DNA from the chromosome.
You can go to: GA Project Coding Service for requesting the methodology document in details.
For understand another example of GA in solving shortest path problem, refer to:
Genetic Algorithm (GA) In Solving Vehicle Routing Problem
or access Genetic Algorithm (GA) In Solving Vehicle Routing Software Package
Genetic Algorithm process:
1. Perform a number of loops according to the generation.
2. For each loop:
a. Depend on the chance, perform Cross-Over operation.
b. Depend on the chance, Perform Overlapping operation.
c. Depend on the chance, perform Mutation operation.
d. Perform sort operation on the chromosome list.
Friday, May 23, 2008
Genseq is a start up company incorporated in Jersey (C.I.), which has been founded by two successful entrepreneurs to offer affordable genome sequencing and bioinformatics analysis of the resulting data. The first human genome sequencing was successfully complete in 2005 by the Human Genome Project, a US$3 billion public funded program and by Celera genomics, a private company at a cost of over US$300m. For more information, refer: www.genseq.co.uk
Product developed: www.MyFamilyHealth.com
How is it useful?
# Connect with your relatives to record and track an accurate and up-to-date family health history.
# Find out which diseases and health problems run in your family.
# Discover if you or your family members are at risk of certain diseases - even one's that might otherwise not be considered by your doctor.
# Discover if you or your family members need a specific diagnostic test.
Latest technology developed:
Provided a plug in engine, that able to provide the system in your own site.
This is the example: http://MyHealthyFamily.blogspot.com
Friday, June 29, 2007
Step Up Program For Entrepreneurs
Upgrading Web Development Skill From ASP to Microsoft ASP.NET
Getting Start With .NET
Certificate of Completion For "Introduction to UML"
Microsoft Certificate Of Achievement For Advance Windows Forms Technologies