Name: Abbas Nayebi

Date of birth: 1977
info [a t] nayebi.com
Modification date: 2010 Feb
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
- Internet engineering
-
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
-
Programming
- Computer basics
-
Data structures
- Advanced programming
-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
- 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
- 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
"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.
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.
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.
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.
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.
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 :)
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.
This was a Farsi to English and English to Farsi dictionary developed for Amiga and published nationwide.
This is a tool to generate dynamic and static spectrogram. This software is developed in VC++.
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.
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.
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.
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.
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 !
A remote management system to create and manage chat hosts in windows and Linux servers (All in JSP).
An online support and online help system.
A Windows based RADIUS server (accomplished to module design stage).
This was a project to control a mechanical puncher used in textile companies.
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.
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.
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.
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.
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.
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