http://sg.linkedin.com/in/talhaobaid
+65
8444 1677
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
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
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
(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
My job as Senior Research Associate at “Communication
Systems Lab,
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
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
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
· 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
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,
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,
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
B Sc (HONS) Computer Science Jan
1999-May 2003
University of Engineering
& Technology
· 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.
· 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.
· Attended
on-line training of
· 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
Domestic and international references can be furnished on request.