Talha Obaid

 

http://www.talhaobaid.com

http://sg.linkedin.com/in/talhaobaid

talhaobaid@yahoo.com

+65 8444 1677

Summary

Hold 7 years of extensive hands-on professional software analysis, design, research and implementation experience of software and research industry. Currently working as Research Engineer at IntelliSys, Nanyang Technological University, Singapore since Nov 2009. Last engagement was at Embedded Systems Division of Mentor Graphics for 5.5 years. Graduate with honors from University of Engineering and Technology, Lahore, Pakistan having Computer Science as major. During my software development career I participated in the development of several commercial and research projects through complete development life cycle which indeed produced desired results. Developed strong leadership and communication skills both verbal as well as written. An experienced team player with excellent interpersonal skills and analytical skills who has the ability to coordinate and drive projects under pressure.

Professional skills                                                                                

Languages

·     C/C++, JAVA, Microsoft VB 6.0

Technologies

·     Java: Java SE, SWING, AWT, JNI, JAVA3D, JMF, JavaComm, JAI, JDBC, JSP, JavaBeans, Java Servlet

·     Eclipse (Java based): JDT, JFACE, SWT, GEF, EMF, WTP, RCP, Equinox

·     Web: PHP, JSP, JavaScript

Software

·     IDE: Eclipse Framework, Microsoft Visual Basic 6.0/.NET, Microsoft Visual C++ 6.0/.NET

·     Database: Microsoft SQL Server 6.0/7.0/2005, Oracle 8.0/8.5, MySQL 4.1

·     Platform: Microsoft Windows 2000/XP, Redhat Linux 6.2/7.0/FC3, Ubuntu 9.10/10.04

·     Protocols: 6LoWPAN, ZigBee, IPv6

Architecture

·     Instruction Set Architectures: ARM, ColdFire, 68K, x86

·     Wireless Sensor Motes: Sentilla, Gumstix, IntelMote2, tMote Sky, MicaZ

Experience                                                                                              

Research engineer                                                                               Nov 2009-present

Intelligent Systems Center (IntelliSys), Nanyang Technological University, Singapore

(An applied research centre jointly set up by Singapore Technologies Engineering and Nanyang Technological University in 2003. http://www.ntu.edu.sg/intellisys)

 

Working as a Research Engineer, participating in the development of following projects:

 

Virtualization Framework

Developing a scalable virtualization framework middleware for enabling heterogeneous wireless sensor network devices, harmoniously communicate with each other.

 

Description: At present, the sensor node platforms from different vendors cannot easily interoperate with each other due to their heterogeneous programming environments, communication stacks and data management protocols. In this research, my role is to investigate and develop a sensor network framework that will enable the seamless interoperability and scalability of heterogeneous sensor node platforms using state of the art technologies of semantic networks and service oriented design.

Technology: C, C++, NesC

Responsibility: Participating in this project from feasibility study to possible solutions, studying different vendor specific motes, understanding packet formats of different middleware, harnessing different protocols, architecting the core framework middleware and its sub components. I am also responsible for ensuring that the framework architecture will impart heterogeneity/multi-homing of a single mote, as well as interoperability/internetworking/interworking between different WPAN networks having the framework on single mote.

 

SensorGrid

Contributing to the development of SensorGrid under SMART’s CENSAM program.

 

Description: The goals of this project are to develop generic wireless sensor network capabilities to enable real time monitoring of a water distribution network in Singapore. It’s a collaborated effort between Singapore government and MIT namely; Singapore-MIT Alliance for Research and Technology’s (SMART) Centre for Networked Sensing and Modelling (CENSAM). Moreover a scalable Middleware to separate cluster of database servers from application and web servers is also part of this project.

Technology: C, C++, JAVA, PHP

Responsibility: Participated in fixing the optimization of middleware, as well as fixing memory leaks and generating relevant reports for Water distribution system. I am also responsible for architecting a server level middleware solution which should be scalable and adaptable to separate an array of database servers from application and web servers. The middleware should ensure security, scalability, and should harness the principles service oriented architecture when entertaining requests, while not exposing underlying hardware infrastructure.

technical Lead                                                                                       apr 2008-Nov 2009

Senior software development engineer                                  jul 2006-mar 2008

Software Development engineer                                                 Mar 2004-jul 2006

Mentor Graphics Pakistan Development (Pvt.) Limited

(A Corporate R&D site of Mentor Graphics Corporation, USA. http://www.mentor.com)

 

Worked as Technical Lead in the Inflexion Core group at Mentor Graphics Embedded Systems Division. Participated in the development of following projects:

 

Nucleus Graphics Designer

Contributed to the development of Inflexion Platform UI Designer. It’s an IDE whose GUI is developed in Java over Eclipse Framework. However the engine-side is developed in C/C++.

http://www.mentor.com/products/embedded_software/nucleus-graphics/

 

Designer:

Description: Designer; enables the rapid creation of visually rich and compelling user interfaces (UIs) for consumer electronic devices such as mobile phones and personal media players. It’s an XML-based environment for creating, customizing and testing new UI designs on a Windows PC.

Technology: Java, Eclipse Framework

Responsibility: Participated in the development of this product from SRS, to first prototype and later through 1.0 and ahead. Developed the GUI in Java over Eclipse Framework of the product and its significant editors. Incorporated maximum ease of usability and provided full drag-and-drop UI editing capability. Enabled complete UI designs to be produced without any need to resort to direct editing of XML. Simplified the process of producing new UI designs and simulated on-the-fly showing preview, all within the same environment. Harnessed the developed IDE to fulfill the WYSIWYG feature.

 

Packager:

Description: Packager; is responsible to convert the developed UI design project using Designer into its deployable form. It is developed in C/C++.

Technology: C/C++ and JNI

Responsibility: Maintained the Packager product and generated specific source files to be deployed on an embedded target on which the UI will be viewed and used. Improved error reporting and feedback logging within the packager.

 

Also worked with Tools group which is responsible for developing tools for embedded software development.

 

EDGE Debugger

Contributed to the development of EDGE Debugger, including feature enhancement and defect fixing. It includes instruction decoders, transports, call module and simulator. The GUI is developed in Java over Eclipse Framework, whereas the Debugger Engine is developed in C/C++.

http://www.mentor.com/products/embedded_software/edge-dev-suite/debugger/

 

Implemented Support for ARM Cortex-M3, Cortex-A8 & ARM1156 in EDGE Debugger:

Description: Cortex is a new processor family from ARM and M3 is an embedded microcontroller-profiled processor. ARM1156 is a processor from ARM11 family. Both support Thumb-2 i.e. the latest instruction set from ARM.

Technology: C/C++

Responsibility: Created SRS to implementation. Added Disassembler, Instruction Decoder, Call Module and Transport Module within EDGE Engine.

 

Implemented Disassembly Support for Freescale’s ColdFire and 68K Instructions in EDGE Debugger:

Description: Disassembler; A debugger component which is able to translate machine code into the equivalent assembly language coding, and able to identify the components of each instruction by type (mnemonic, register, operand, etc.).

Technology: C/C++

Responsibility: Developed Core Module's Disassembler for both ColdFire and 68K, to be incorporated within EDGE Debugger. Incorporated resolution of effective address decoding and values to known symbols, when available (including labels and function names). Ensured that the developed disassembler is able to identify the addressing mode used for an operand and show that in place of a value, if needed, including Memory Read Ahead mechanism for the same instruction, if required. Support for variable length MOVE instructions, MAC/EMAC instruction, different Instruction Set Architectures i.e. ISA_A, ISA_A+, ISA_B, ISA_C instructions and Floating point unit instructions was also incorporated.

Developed a test bench application to verify the output of disassembler successfully escape reserved and unused op-codes and produce the desired by-the-manual assembly source.

 

EDGE Profiler:

Took part in developing GUI for EDGE Profiler, which is an integral part of EDGE.

http://www.mentor.com/products/embedded_software/edge-dev-suite/profiler/

 

Description: Profiler is mainly composed of a purpose-built Graph Control used for analyzing profiled data from hardware. Different RTOS events are chosen before hand and accumulated afterwards taking input from hardware using RS232 interface. The profiled events are than plotted over time axis and analyzed within a Graph Viewer.

Technology: Java and Eclipse Framework

Responsibility: Implemented support for drawing profiled event over time, Zooming In/Out, ZoomBox, Dynamic Descriptive Tooltip, Pagination, Grid lines snapping to event points, Bi-directional Scrolling in Zoomed Content and Horizontal Scrolling within Graph Control.

 

Also worked with RTOS Group, which is responsible for providing Real-Time Operating System Support.

 

Nucleus PLUS AC Support for NIOS II IDE 5.0

Incorporated support for Nucleus PLUS AC: Mentor Graphics RTOS, in NIOS II IDE 5.0 from Altera.

 

Description: The added support involved generating configured source files and designing dialogs for configuration. Observing Nucleus PLUS RTOS coding standards, source files for Nucleus AC (Auto Configurable) are generated dynamically i.e., C header files containing the Nucleus Product configuration Defines, Assembly file containing the Defines required by assembly files, C header files containing the Defines related with UART & Ethernet, POSIX support files, and Linker command file.

Technology: Java and Eclipse Framework

Responsibility: Designed & developed plug-in to be integrated harmoniously with Altera NIOS-II IDE 5.0 which is based on Eclipse Framework. Developed dialogs within the plug-in which can be used to configure/generate source files for Nucleus PLUS RTOS components like UART, ETHERNET, NET & POSIX on the fly.

 

Senior Research Associate                                                               May 2003-Mar 2004

University of Engineering & Technology Lahore, Pakistan

 

My job as Senior Research Associate at “Communication Systems Lab, Research Center” was to lead a team of software engineers and to perform analysis, designing and implementation of following research oriented projects of industry.

 

Motion Detection Server

Description: The Security System to monitor the stream coming from several cameras. It was implemented using JMF technology. The video obtained from tuner card can be transmitted over the network using RTP Technology. It also detects motion and sounds alarm as well.

Technology: JMF 2.1.1, Java Communication API, Java Advanced Imaging API

Responsibility: Developed this project exclusively.

Site: Provincial Assembly of Punjab http://www.punjab.gov.pk/

 

Nastaliq Unicode Urdu Editor

Description: Nastaliq Unicode Editor is a Unicode based full featured editor for editing Urdu language.

Technology: Java SWING, JBuilder 9.0, FontLab, Macromedia FontoGrapher

Responsibility: Responsible for research, analysis and overall development of a Word Processor for Urdu Language. Well-tried the application by issuing valid and invalid ligature input sequences.

Site: Provincial Assembly of Punjab http://www.punjab.gov.pk/

 

Data Reader

Description: This product was developed exclusively for PhD students of Mechanical Engineering Dept. GIK Institute. The Software is connected to a Strain Meter which transmits the reading obtained from various parts of pipe in which some fuel is injected and strain is applied. It obtains the data using Serial RS232 Interface. Finally after the data is accumulated using multi-threading, it is formatted in the form of Excel sheet using OLE Automation.

Technology: Visual C++ (Multithreading & OLE Automation)

Responsibility: Developed this software entirely from overall design to implementation and deployment. Harnessed the software using offsite purpose built hardware data generators.

Site: GIK Institute http://www.giki.edu.pk

 

Lecturer                                                                                                    Aug 2003-Mar 2004

University of Engineering & Technology Lahore, Pakistan

·     Taught as a Lecturer at Department of Computer Science and Engineering

·     Taught Digital Signal & Image Processing to final year graduate students at Bachelor level having full credit hours course weight

·     Conducted Lab of Design and Analysis of Algorithms

Compiled and marked exams; assigned and evaluated assignments for the afore-mentioned courses.

 

Also handled the following projects during my professional career:

Samsung Techwin                                                                              

Description: Developed an application using Samsung security cameras as video input. Implemented Motion Detection and logging of snaps in DB as BLOB object. Did application integration of a User Login application developed in Visual Basic from Keico, with custom application developed in Visual C++ using TCP/IP Camera.

Technology: Visual Basic 6.0, Visual C++ 6.0

Responsibility: Developed this project and implemented motion detection using API provided by hardware vendor, opted for the TCP/IP solution.

 

NumberPlate Recognition Solution

Description: Developed a NumberPlate recognition Solution using FreeFlow API in Visual Basic. The application captures the numberplate according to State/Province specific format and then logs the image with timestamp in the database as a BLOB object.

Technology: Visual Basic, FreeFlow API

Responsibility: Developed this project exclusively. Analyzed the possible solutions options and then opted for FreeFlow api. Implemented and tested the application with different fonts and orientations of number plates.

 

DQ Manager

Description: Data Quality Manager; a database profiling solution that enables organizations to accurately and efficiently analyze and diagnose the quality of their customer data. DQ Manager supports a large variety of DBMS like Oracle, MS SQL, DB2, MySQL, Access etc. There are three major functions of Data Profiling Manager: Profiling, Validation and Cleansing.

Technology: Java, Eclipse Framework

Responsibility: Designed and developed the core functionalities of profiling, validation and cleansing of a given database.

 

Emailer

Description: Emailer is a multiple email sending application for commercial marketing purposes. Its purpose is to compose and send emails by exploiting SNMP. It used sendmail application over linux. A list of thousands of email addresses serves as input for this project and later emails is send in multiple threads.

Technology: C++, POSIX threads, Unix/Linux, SNMP

Responsibility: Indigenously designed and developed a multithreaded application that can send emails concurrently on hundred threads stream.

 

SCHMIDTS KAPCO

Description: Schmidts is software that runs to monitor the turbines in KAPCO power plant. It logs the details of various parts of the plant functioning in real time.  This software was supposed to operate virtually for-ever. Also it has the capability to generate dynamic reports.

Technology: Visual C++ 6.0, Visual Basic 6.0, MySQL 4.1

Responsibility: Contributed in Analyzing and Overall implementation of a highly robust real-time solution. Trialed the application by executing a cold-run offsite using custom made real-time dongle for valid serial input stream to imitate real world situation.

Site: KAPCO Kott Addu Multan http://www.kapco.com.pk/

 

Software Engineer Intern                                                               Feb 2000-Mar 2002

Lahore Software (Pvt.) Limited

My job as a Software Engineer was to contribute actively in the Office Automation projects being developed at the company. It was a part time job. Happened to fully participate in the Development Cycle of following projects:

 

Kampus2000

Description: An integrated tool for maintaining information about school activities and student records. It was designed with efficient search support and user friendly interface.

Technology: Visual Basic 6.0, SQL Server 7.0, Crystal Reports 8.0, Erwin 3.5

Responsibility: Executed the job as Software Engineer/System Analyst to analyze the system and thus contributing in its overall development. Examined the application to admit valid input from the user.

Site: LGS Defense

 

SmarTill2002

Description: System that maintains the inventory procedures and daily tasks of an environment running inventory and stock management of any volume.

Technology: Visual Basic 6.0, SQL Server 7.0, Crystal Reports 8.0

Responsibility: Served as part of performance tuning team as well as quality assurance staff. Involved in making it more flexible and more efficient.

Site: Tes-Mart Defense

 

Academics                                                                                                

B Sc (HONS) Computer Science                                                          Jan 1999-May 2003

University of Engineering & Technology Lahore, Pakistan

·     Grade A with HONOURS

 

Did my Graduation from “Dept of Computer Science & Engineering”. Lead my Final Year Project as Team Lead explained below:

TISRS: Text Independent Speaker Recognition System

Description: It was my Final year Project in UET. TISRS includes Speaker Recognition and Verification. It was a research oriented project and the focus was on Human Biometrics for Speaker Recognition.

Technology: Microsoft’s VB.NET, Access 2002, Visio 2002

Responsibility: Various speaker specific biometric cues were discovered, researched and implemented. Formants, slopes between adjacent formants, pauses and pitch was extracted and an intelligent system was trained on a unique set of speakers and later identified individually among the masses.

 

Recognitions                                                                                          

·     Awarded Mentor Graphics stock options.

·     Numerously acknowledged on dedication, commitment and performance from managers onshore.

·     Selected after the technical evaluation of 200 teams as Director of Company under the administration of Pakistan Software Export Board PSEB Lahore.

·     Selected as a Lecturer at Computer Science Dept. UET from a group of top merit students.

·     Involved in consulting various Educational Projects in LACAS.

·     Experienced commercial Consulting of Projects on many installations like Provincial Assembly of Punjab, KAPCO, GIKI, Tes-Mart etc.

 

Trainings                                                                                                 

·     Attended on-line training of Mentor's Standards of Business Conduct—Overview 2008

·     Attended on-site lecture series on the topic of Object Oriented Analysis & Design 2006

·     Attended training on “Effective Communication Skills” from Pakistan Institute of Management 2006

·     Attended on-site lecture series on the topic of Advanced Computer Architecture 2006

·     Attended on-site presentation sessions on Advanced C++ topics 2005

·     Attended lecture series for Redhat Linux Administration 2003

 

References                                                                                              

Domestic and international references can be furnished on request.