Resume

 

Home
About
Favorites
Photo Gallery
Humor!
Projects
Guest Book
News
Contact

 

AHMED REDA

 

SUMMARY:  Over four years of overall IT experience. Expertise in Systems Programming, Object Oriented Design and implementation. More than 7 years of experience in C/C++ and 5 years of experience in Visual C++. Experience in UNIX/Windows 2000/Windows NT/Windows CE environments. Good knowledge of TCP/IP, Multithreaded and Database programming. Good experience with designing/implementing algorithms in different fields like AI/Compilers/Image and video compression.

 

IT SKILLS:

 

Operating System :   Windows NT/2000, Windows 95/98, Unix, Solaris 7/8, Windows CE

Dev. Environments:    VC++(MFC, Win32 SDK, COM, MAPI, DAPI, CDO, ODBC, , STL, Embedded Visual C++(Windows CE Toolkit)), Visual  Basic, VB Scripts, Java Scripts, VHDL, CGIC

Languages:                  C, C++, C-Shell Scripting, SQL, Assembler x86, Pascal, GC Lisp, Prolog

DBMS/Packages:        Microsoft SQL Server, Oracle, Microsoft Visual Source Safe, DET, Clearcase, SDB, DBX, Sun Workshop.

 

PROFESSIONAL EXPERIENCE:

 

Lucent Technologies, Sunnyvale, CA_________________________________________Oct ’01-Present

Porting VitalNet from NT to Solaris

VitalNet is a product for network performance management. The product was written for Windows NT using Visual C++ and the Win32 SDK. My task was to port some of the modules and replacing the Windows NT specific code with its Solaris equivalent.

 Role:

q       Participated in creating a suitable build environment.

q       Rewriting many parts making use of the RogueWave library in POSIX and equivalent in Solaris.

q       Made extensive use of IPC mechanisms on the Solaris platform to substitute for Windows specific features like named events and Mutexes.

q       Ported over 10 programs in the VitalSuite family.

q       Participated in migrating databases from SQL Server to Oracle.

Environment: Solaris 8, C++, Win32 SDK, POSIX, Rougue Wave, POSIX, ODBC, Shell Scripts, Oracle

 

Carlin Group, NJ                                                                                                                                      May’01-Oct’01

GOES™ is professional order routing software for serious equity traders. GOES provides a direct access by routing orders to all Exchanges and major ECNs. Executions are instantaneous for marketable orders. This system was written 3 years ago using the Win32 SDK. I worked on rewriting the whole system using Visual C++ and the MFC.

Role:

q       Developed a stream socket library class on top of the MFC socket classes. Visual C++, Sockets, Windows NT.

q       Developed an owner-drawn list box class for displaying large amounts of data efficiently while taking care of certain issues like flickering. The list box was capable of displaying colors so as to catch user attention in case of certain events like profit or loss. Sorting capabilities were provided on each of the available list column. Visual C++, MFC, Windows NT.

q       Using the socket library to connect to both of the SM server and the Quote server and exchanging messages with them.

q       Developing test cases for the program after migration and performing full white-box testing at different levels.

Environment: Windows NT, Visual C/C++, Sockets, Owner-Drawn Controls.

 

Infowiz, Piscataway, NJ                                                                                                                    Mar’01-May’01

Infowiz is a solution that uses existing email and messaging technologies to perform remote tasks involving data access, Internet operations, administration tasks and report back to any machine with email access (Laptop, mobile, Palm, etc..).  This product is written in C/C++. It has versions on many platforms. (Sample available upon request).

 

Role:

q       Wrote a utility for searching through the Outlook Address Book, Visual C++, MAPI, COM, Windows 2000

q       Wrote a utility for searching through the Outlook Calendar Events, Visual C++, CDO, Windows 2000

q       Wrote a configuration program for the Infowiz/MyMail programs. Created forms for specifying all the settings for infowiz like the list of  blocked email addresses, the outgoing directories, etc. ., Visual C++,  Windows 2000

q       Added the functionality of retrieving and executing commands from MS Outlook, Visual C++,MAPI COM, STL, Windows 2000

q       Was responsible for packaging the products using Install Shield, Install Shield, Windows 2000

q       Participated in porting the program to Windows 98/NT/Windows CE/Linux/Solaris.

 

Environment: Windows 2000/CE,Linux , Solaris, Visual C++, MAPI, CDO, COM, Install Shield, Multithreading/Multiprocessing, Shared Memory, STL.

 

Mentor Graphics, OR                                                                                                                  Aug ’00 - March ‘01

www.mentor.com

Mentor Graphics® is a technology leader in electronic design automation (EDA). I worked with them on the team of the ICStation program. IC Station is a set of tools for IC Layout.

Role:.

q       I was involved in a project for integrating the ICStation with another Mentor product called Teraplace. Teraplace does placement of components and it can accept timing libraries, which the placement module in ICStation cannot.  This integration process required converting the design from the ICStation database format to the Cadence LEF/DEF format and back.

q       Created the GUI forms for invoking Teraplace using AMPLE/C++. Ample is a compiled language only available for Mentor products. Sun Solaris 7, C++.

q       Developed a module for monitoring background processes in ICStation. Sun Solaris7, Shell Scripts/C++.

q       Worked in team to simplify the GUI for ICStation Basic to give it the look and feel of the programs running under MS-Windows, Sun Solaris 7, C++.

 

Environment: Solaris 7, C/C++, Shell Scripting, Ample, CVS, DET, Make Files, VI editor

 

Giza Systems Engineering (R&D Dept.), Cairo                                                                         Jun ’99 – Aug ‘00

www.gizasystems.com

Member of the development team for IVR Studio. This is a program that enables creating Interactive Voice Response (IVR) systems in a way that is easy and efficient. IVR Studio consisted of two parts: one is the designer, which lets the user visually define blocks of execution and linking them in a way that defines the call scenario. Those execution blocks can be playing a WAV file, accessing a database, executing a script, transfer call, etc. The program enables call simulation through a simulation module. The output from the designer is fed to another part of IVR Studio, which is the IVR Server, which starts accepting calls while behaving as specified in the IVR Designer. The server part uses the TAPI library to make use of any TAPI-compliant voice device, which can be a Dialogic E1 board or even a voice modem.  (Sample available upon request).

 

Role:

q       Developed a flow chart editor to define the flow of the call. The basic functionality involved inserting, moving, deleting, linking, cutting/pasting, saving/loading etc. I made extensive use of the MFC classes  to do drawing, scrolling, serializing etc..  Automatic routing between connected components was available, GUI, Visual C++/MFC

q       Developed a scripting language called CScript . The language parser was generated using (Lex/Yacc).  I defined the grammar of the language and implemented the actions using Visual C++. The language included most of the features included in most languages. Examples are: numeric expression evaluation, string manipulation functions, time manipulation, loops (for, while, do-while), conditionals (if, switch), etc..). Most of the functions are executed using corresponding calls in the MFC library.

q       Designed and Implemented many GUI forms that appear in the program.

q       Was involved in many of the core functions including enabling the user to call DLL functions inside a script.

q       Wrote a program for administering the GSE web site for training courses schedules. Windows NT, Visual C++ and MS SQL Server

q       Involved in the implementation of a web site for retrieving the results of the EGCSE for the Egyptian Ministry of Education using ASPs/MS SQL Server. The results were also made available over the phone using the IVR Studio ,Visual C++, Windows NT, Visual Interdev

q       Involved in the development and implementation of a website for retrieving the results of student distribution over the faculties (according to their score) on the web using ASPs/MS SQL Server (Alpha) and over the telephone using the Visual C++, IVR Studio, Windows NT, Visual Interdev

 

Environment: Windows NT (x86 and Alpha), Visual C++ (x86 and Alpha), COM/DCOM/ATL, VAX/VMS, Visual Interdev, LEX/YACC,MS SQL Server (x86, Alpha), ASPs, DLLs

 

 

ETS Net/Egypt 4 U, Cairo                                                                                                                             (Parttime)

ETS is a major ISP company in Egypt. They have a system for controlling user access to the Internet through their system. They are planning to create an Internet Portal site called egypt4u. I worked with them on some modules in both projects.

 

Role:

q       Developed a program for accessing ETS’s Oracle database through ODBC, reading the list of new users, inserting them users into the Windows NT users database while granting them dialup access.  Visual C++, DAPI, MFC, ODBC.

q       Developed a program for disconnecting users from their access server when they run out of time. This required establishing a telnet session with the access server and dealing with all the prompts with the appropriate responses. Visual C++, ODBC, Winsock.

q       Developed an application for extracting news sent in by Reuters in the XML format and storing them in a database table in a way to be used in the Egypt 4 U website. This involved parsing the XML files and extracting the information correctly. Windows NT, Visual C++, XML

 

Environment: Windows NT, Visual C++, DAPI, ODBC, XML

 

Video Live!, Cairo                                                                                                                          Graduation Project

This was a project involving Teleconferencing over low bit rate IP networks. It was written entirely in Visual C++. It involved audio transmission and compression using GSM, Video transmission and compression using H.263, Synchronization of audio/video, Shared Whiteboard, Application Sharing, Remote Desktop Access, Multicasting text chat and a Client/Server Architecture.

Role:

q       Interfaced with the Video For Windows driver for capturing the video stream.

q       Converted the captured images from the RGB color representation to the YUV 4:1:1.

q       Made use of the Video Compression Codecs for (MPEG, H261 and H263) to compress the video stream but after that we decided on building a compression library to get more control.

q       Built a library for H263 Encoding/Decoding from two open source command line utilities for Encoding/Decoding.

q       Enhanced the performance of the H263 Encoder to make it suitable for real time encoding. I used techniques like look-up tables to improve the performance.

q       Sent the compressed video stream using UDP and implementing a buffer to handle lost, delayed and duplicate frames.

q       Synchronized the video and audio streams using timestamps on both kinds of packets.

q       Developed the Application Sharing part of the program. This involved using a timer on the server side to monitor for changes in the shared application window. Changes in the window are detected, compressed using RLE and sent using TCP. The client side captures mouse and keyboard events and sends them to the server side, which emulates those events to the shared program using Win 32 APIs.

q       Implemented the client/server architecture of the program. A server program accepts TCP connections from clients. When a client logs, he gets information about all of the currently logged clients and each logged client is notified of the new client. I used several threads of execution in the server part.

q       Studied different compression algorithms/formats for audio/video like (MPEG, H261, AVI, GSM etc.) and data and choose those that best suit the program. 

q       The user interface for this program was an MDI with multiple Document/Views for each of the features provided. So we had separate Documents/Views for displaying video, application sharing, white board , etc..

 Environment: Visual C++, MFC,Win 32API/SDK, VFW Library, Windows98/NT, WinSock (TCP,UDP/IP)

 

OTHER  SIGNIFICANT  PROJECTS                                                                                     1993 to Present

 

Connect 4CE, 2002: Have written an AI Connect Four game implementing the Minimax with Alpha-Beta cut-off. The Minimax with Alpha-Beta engine was written using STL for the sake of portability and it was written so that it can be used with any two player game like chess for example. The game was compiled under Win 32 as well as Windows CE Pocket PC devices using the Embedded C++ tookit. The game is now being sold at most of the PDA software sites. (Game Website: http://connect4.ahmedreda.com)

 

FIFA 4th U-17 World Cup Championship, Egypt 1997: Member of the IT team of the Giza Systems Engineering. My job was to update the WWW site during matches so that people can watch them through the Internet, 1997

 

Egyptian Fun Pack,1997: This is an entertainment package developed for the PC World M/E 6th annual game-programming contest. It included three games (a 3D soccer game, a card game (Basra) and a bricks game (Tetris)). It was developed using Turbo C++ and Turbo Assembler. In the 3D soccer game, I wrote all of the graphics routines in Assembly x86 and I called them from within the C++ code. The game accepts keyboard/joystick input and it also makes use of the Sound Blaster family of cards to give audio effects like crowd and commentary. The card game won an incentive prize in the game-programming contest held by the Oulu University of Finland ftp site (x2ftp.oulu.fi). (Sample available upon request)

 

The Terminal, 1996: This is a program written entirely in Assembly x86. This program enables simultaneous text chat and full duplex file transfer through the serial port.

 

Alamuna Al Arabi,1993: This is an Arabic tutor about the History and Geography of the Arab World. I wrote it using Turbo C++. I wrote several routines for displaying the Arabic text since there is no support for Arabic by the Operating System. This required doing contextual analysis for each letter to determine how it is going to appear. The program contained animated sequences for illustration as well as sound effects. This program won the first prize of the 2nd annual programming contest held by PC World M/E.

 

EDUCATION:

 

q       BS (Computer Engineering), Cairo University, Egypt

 

TRAINING COURSES:

 

2001

Rational Clearcase Fundamentals for UNIX

Rational University

2000

C Shell Scripting

Tritech Training Center

2000

7 Habits of Highly Effective People

Mentor Graphics

2000

Administering Microsoft SQL Server 7.0

GSE Training Center

1999

Administering Windows NT 4.0

GSE Training Center

 

EDUCATION

 

q       Bachelor of Computer Engineering, Cairo University

 

REFERENCES:

 

q       Kirk Newgard (kirk_newgard@mentor.com) , Mentor Graphics, 503 685 7000

q       Kumar Talluri (kumar@softdomain.com), SoftDomain Inc, 732 465 1234

q       Naveen Rastogi (naveen@lucent.com) , Lucent Technologies, 650 318 1468

 

CONTACT INFORMATION

Email:                     ahmed_reda@usa.com

Telephone:           650 318 1605

                               

     

Home