فارسی       Trekbuddy Map Util

Name: Abbas Nayebi

Date of birth: 1977

info [a t] nayebi.com

Academic CVTechnical CV

Modification date: 2010 Feb

Education :

B.Sc. : 1994 - 1998, Hardware Engineering, University of Tehran, Avg 17.2 / 20 (first rank)

M.Sc. : 1998 - 2001, Software Engineering, Sharif university of technology, Avg 17.53 / 20
Rank in national M.Sc. entrance exam : 3'rd in the country

Ph.D. : 2004-2009, Computer Architecture (Wireless Networks), Sharif University of Technology, Avg: 19.62 / 20

Taught Courses:

University of Tehran (current):

- Internet engineering

Islamic Azad University of Qazvin (past) :

- Internet engineering
- Introduction to internet
- Design of algorithms
- Discrete mathematics
- System analysis and design
- Computer science basics
- Software engineering
- Advanced programming
- Programming in C
- Advanced topics : Java
- Advanced topics : Web design
- Documentation of information systems

Islamic Azad University of Takestan (past):

- Programming
- Computer basics

Payam-e Noor University of Qazvin (past):

- Data structures
- Advanced programming

Work Experience :


-Initiating the project of ERP system development for RIPI (SYP) and leading the 12 people team, 2004-2009
-Development of a comprehensive network simulator (Xmulator), 2005-2009
-Development of a commercial chat software (Glassroom), 2000-2004
-Development of an ECG software for Davinsa company (Tapesh Negar), 1995-2000
-Initiating the "New technologies in education and research" office of IAUQ, 2003
-Coach of the first ACM programming contest team of Islamic Azad Uni. Of Qazvin, 2002-2003
-Initiating the RIPI engineering software development team, 2009
-Initiating the RIPI high performance computing office, 2009
-Webmaster of Islamic Azad Uni. Of Qazvin. Starting the first website of the univ., 2000-2003
-Internship at LMTS laboratory of EPFL University, Switzerland (2 months), 2008
-Research visit at KTH University (6 months), 2008
-Manager of technical committee of the first Iranian Mechatronics Conference, 2003
-Renovating the website of Research Institute of Petroleum Industry (RIPI), 2004

Interests and experienced fields:  

- Software design
- Digital signal processing
- Voice and sound processing
- Java programming
- Internet and web programming
- Web design
- Programming to control hardware
- Network systems
- Software architecture
- System analysis and design
- RUP software development process / UML
- Enterprise applications  
- O/R Mapping
- Hibernate, NHibernate, Log4j, Log4net, Nant
- Developing multilayer distributed enterprise applications in C#.NET environment

Programming languages and software environments:

- Java ( more than 40,000 lines of code )
- Visual C++ ( more than 30,000 lines of code )
- C and C++ ( more than 20,000 lines of code )
- C# ( more than 8,000 lines of code )
- PHP
- JSP
- HTML, and Javascript
- ASP
- J2EE
- ASP.NET
- X86 and 68K assembly language

Workshops:

"Beaconing in Wireless Mobile Networks", EuroNF workshop on wireless and mobility, Stockholm, Sweden, October 23-24 2008.

"Neighbor Discovery in Mobile Networks", Iran Telecom. Research Center (ITRC), Feb. 2009.

Technical Reports :

A. Nayebi, H. Sarbazi-Azad, Fault-tolerant routing in multicomputers, The Computer Report (A bi-monthly publication of the Informatics Society of Iran), No. 168, pp. 11-21, 2006. (Powerpoint format, pdf format)

A. Nayebi, A. Dehesh, A. Khosravi, and H. Sarbazi-Azad, "An Introduction to Mobility in Wireless Sensor Networks and Wireless Ad hoc Networks", Technical report #HPCAN-TC-07-101, HPCAN lab., Sharif Uni. of Tech., Iran, 2007.

Abbas Nayebi and Gunnar Karlsson, “Neighbor Discovery in Mobile Wireless Networks,” Technical Report #TRITA-EE_2008_066, Royal Institute of Technology (KTH), Sweden, 2008.

Published Papers :

Academic Projects :

 

BSc. Project :

Design and implementation of a 30 channels audio card in Iran's Telecommunications Research Center.

In this project, an ISA card was designed to capture 30 voice channels concurrently and played one voice channel. Incoming signals were multiplexed (TDM) and then sampled with a 12 bits flash A2D and sent to computer memory through DMA channels. Since, capturing of 30 channels needs a lot of bandwidth and buffer memories, interrupts and DMA were extensively used in this project and all the buffer on the board was eliminated. For this purpose, the main memory of computer was used instead of limited and expensive buffers on board.

MSc. Thesis :

Sound visualization using human auditory model.

Signal processing researchers need a tool to help them realize characteristics of audio signals. One of these tools can be a sound visualizer. A sound visualizer is the means for converting an audio signal into a static picture or a movie, illustrating the time-frequency properties of sound. Other application of this tool can be in : aid for the deaf, music training, etc.
Different methods for sound visualization have been proposed. Among them are traditional spectrogram, cochleagram, correlogram, and dynamic spectrogram. In this thesis two new ideas were proposed to improve dynamic spectrogram, the first was the base-band representation of filter outputs and the second was inverse color mapping. A software tool was also developed for testing the efficiency of different methods and some experiments were carried out using this tool.

The software was developed in VC++ environment and voice signal was captured from microphone or a wave file and an AVI movie for dynamic spectrogram was made.

An IP-based RPC system (Hejran) :

In this project, an IP-based RPC system was developed for LANs. This system included a service registration, a network interface, and a user interface sub-systems.

Software and Projects :

I started my experience in electronics when I was just 10 years old. My brother taught me the basics of electronics in a simple language. I was trying to build some interesting devices like radio transmitters and receivers, amplifiers, alarm systems, and many other ones.
After some years, I started the computer science by my first computer : A Commodore 64 , a simple home computer with 64KB of memory and a tape device to store programs. I wrote many little programs in BASIC and Pascal using this computer and after some years I switched to an Amiga 500 and after a while to an Amiga 1200. It was more serious and I could write programs in 68000 assembly and C. Amiga systems had many advantages in OS design, indeed, Amiga was a very well designed system in those days. I don't write programs for Amiga anymore, but Amiga has made my foundations of thinking and designing, indeed, I learned how to design and develop robust , stable, and scalable software and systems.
I wrote many programs for Amiga, most of them were a mixture of assembly and C code to execute faster. I wrote a 3D viewer system with polygon graphics with my little knowledge in this field and my hard effort.
I also participated in a computer graphic team to make TV ads. I made some ads and learned many useful things about graphic rules, used many years later to design web sites.

Here, I list some of projects I've already developed. It's only a part of my programs. Actually, I spent a considerable part of my life on my computer 's console. One of my friends has made a joke about me that I earn energy from monitor rather than food :)

Amiga-Negar :

This was a software package I published in my country, Iran. The purpose of this software was to change Amiga's environment to support Farsi language. As you know Farsi language is written from right to left which is an important matter.
This system was my first experience in commercial software and thought me many things about business of software and commercial software.
This system was developed in C and assembly.

Farsi-English dictionary :

This was a Farsi to English and English to Farsi dictionary developed for Amiga and published nationwide.

Seda-Negar :

This is a tool to generate dynamic and static spectrogram. This software is developed in VC++.

Seda-Negar Tester :

A software tool to execute an automatic graded test from subjects and storing the results. This software is specially designed to help audio researches to get fair tests from subjects.

Tapesh Negar, A stress test and ECG software:

This project started at 1995 in Davinsa medical equipments company. The goal of project was to control treadmill system and executing stress test protocols like Bruce, modified Bruce, and Corner and gathering ECG signal at the same time and storing the signal in an internal database. The input ECG signal has a lot of noise and the program must eliminate all of them by applying special digital filters. There is a filter to suppress DC changes caused by movements of patient at extremely low frequencies in range of 0.2 to 0.5 Hertz. There is another notch filter to suppress the 50 Hz power line noise and a filter to suppress high frequency noises.
Although the first version of the program was written in MS-DOS environment but it had a smart GUI. After 2 years the project upgraded to Windows 95 in Visual C++ environment.
This software is currently used in more than 70 medical centers and hospitals in Iran.
Some of the features of this software are :
-High performance : It's a real-time system that must do many jobs like gathering signals, filtering, scrolling the signal on monitor, storing data, interacting with user, controlling the treadmill, and executing the protocols ! in a fully non-real-time operating system.
-Reliability : Any bug in this software is dangerous and may lead to death of patient ! But this software has shown a high level of reliability.
-Multitasking ( specially in MS-DOS )
-Well designed to have a long life time : Core software has not been re-designed yet.

Bi-lingual conferencing and chat software :

This project started at 2000 in Sazman-e Hamyari-e Shahrdarihay-e Qazvin ( a semi-private organization ). The goal of project was to create a voice chat software that support Farsi and English languages. This software had two parts : Client (applet) and a Server both in Java. Duration of this project was 1 year.

Atigana conferencing and chat software :

After success in the previous project, I decided to build a more powerful chat system with more features and more users. I contacted www.salamiran.com one of the most famous Iranian websites with a lot of visitors, and the result was a leading chat software.

GlassRoom(R) chat software :

Having obtained experience of the two last projects, I decided to build a commercial package. Hence, I established www.ChatEssentials.com and started the new project consisting the following parts :
- A high performance, highly stable, and reliable server
- A smart looking, flexible, and stable client ( a java applet )
- An ActiveX component to capture and play voice. GlassRoom is the first half ActiveX half applet chat.
- An installer built by InstallShield environment
- Perl and shell scripts to execute the software in Linux
- A VC++ program to start the program as an NT service.
- A control panel with Servlet technology.

I learned many things from this project:
- World-wide software marketing issues
- Promotion
- Targeted advertisement
- Remote debugging and administration of software
- E-management
- Establishing work groups through internet.

I must confess that was very hard !

SuperGlass:

A remote management system to create and manage chat hosts in windows and Linux servers (All in JSP).

GlassHelp:

An online support and online help system.

InterAcc:

A Windows based RADIUS server (accomplished to module design stage).

Textile puncher project:

This was a project to control a mechanical puncher used in textile companies.

Re-designing www.RIPI.ir website and related sub-sites :

In this minor project all the web pages of RIPI website were reviewed and major changes made in graphical design and structure of website. More over, former system of library was analyzed and a sub-system  for magazines was added to the system. This software was developed in .Net Environment.

RIPI E-Voting software :

This is a web-based software developed in .Net environment to hold an electronic election in RIPI. This package exposes some features like :
-Voter management
-Candidate management
-Email-based voting
-Candidates' personal profile editor, ...
This software was developed in about two weeks and was my first practical project in .Net environment.

Developing an enterprise architecture framework for RIPI total system (VONAS) :

This framework consists of the following parts:

- O/R Mapping : In this part, NHibernate is used as a well known package in this field. NHibernate is fully studied, tested, and modified to accompany with system requirements.
- Transactions : An open source package for handling transactions and defining transactional contexts is used. This package is totally modified to support NHibernate sessions.
- Code security : All the business facade methods are protected by role-based security attributes.
- Authentication : ASP.Net form-based authentication  is used. A piece of code is added to support code security concepts.
- Authorization : Roles are stored in an XML file. Two levels of roles are considered : super-roles and normal roles. A Principal class is developed to accommodate role-based security. Some parts of Microsoft Application Block for Authentication and Authorization is used.
- Configuration : A flexible, XML-XSD based, visually configurable framework is developed to store and retrieve configuration for each application and for the framework from XML files. System is sensitive to changes of XML files made everywhere.
-UI Security : A special package is developed to support UI security issues. Some attributes are defined as extensions to the standard HTML tags to support role-based permissions in UI web-controls.

RIPI total system (VONAS) :

This project is defined in RIPI to provide an integrated system for 17 areas in 2004. RUP software development process is used. A minor project is defined to develop a minor part of the system for the first phase. A three-tire structure with a suitable layering and flexible distribution framework make a unique architecture for the software. Service oriented concepts are considered in designing the system.

Sensor Network for Space Applications (SENSA) :

During the internship in the EPFL University, Switzerland (2008 Feb.-Mar.), I proposed a framework for a special category of sensor networks targeted for space born applications.

Xmulator (an event-based simulation framework) :

It is a general object-oriented event-based simulation software, which is mainly developed to simulate Interconnection Networks and Wireless Networks. The package is used and extended by more than 20 students for their own research projects. The software is developed on a multi-layer architecture in C# language. Xmulator Project

 

Contact : info (at) nayebi.com