Abbas Nayebi فارسی

nayebi [a t] [gmail] dot com

My Technical CV (PDF)

My Academic CV (PDF)

Last modification date: 2011 Dec.

I am a software engineer at Google, Inc. My colleagues and I design systems to eliminate bad ads (alchohol sales, porn, gambling, drugs, ...) and protect our users by providing family-safe ads to them.

Education :

B.Sc. : Hardware Engineering, University of Tehran, Avg 17.2 / 20 (first rank in HW major)

M.Sc. : Software Engineering, Sharif university of technology, Avg 17.53 / 20

Rank in national M.Sc. entrance exam : 3'rd in the country 

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

Taught Courses:

University of Tehran:

- Internet engineering

Tarbiat Modares University

- Architecture and Programing of Web-based Systems (grad. course)

Islamic Azad University of Qazvin :

- 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:

- Programming

- Computer basics

Payam-e Noor University of Qazvin:

- Data structures

- Advanced programming

Work Experience :

-Google, Inc. as a Software Engineer 2011-now

-Initiating the ERP project for RIPI and leading a 12 people team, 2004-2011

-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 Co., 1995-2000 

-Initiating the "New technologies in education and research" office of IAUQ, 2003 

-Coaching the first ACM programming contest team from 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 

Interests and experienced fields:  

- Software architecture and design

- Digital signal processing

- Voice and sound processing

- Java programming

- Internet and web programming

- Programming to control hardware

- Network systems

- System analysis and design 

- RUP software development process / UML

- Enterprise applications   

- O/R Mapping

- Hibernate, NHibernate, Log4j, Log4net, Nant

Programming languages and software environments:

- Java ( more than 40,000 lines of code before joining Google )

- Visual C++ ( more than 30,000 lines of code )

- C and C++ ( more than 20,000 lines of code )

- C# ( more than 80,000 lines of code )

- PHP

- JSP

- HTML, and Javascript

- ASP

- J2EE

- ASP.NET

- X86 and 68K assembly language

Workshops:

Technical Reports :

Published Papers :

• M. Zolghadr, K. Mirhosseini, S. Gorgin, A. Nayebi, “GPU-based NoC simulator,” In Proc. of 9th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE), pp. 83-88, July 2011.

• Abbas Nayebi, Amin Dehesh, H. Sarbazi-Azad, “Providing Mobile Internet Service Using MOnetary Wireless Networking (MOWNET),” In Proc. of The 36th IEEE Conference on Local Computer Networks (LCN), Bonn, Germany, Oct. 2011.

• Hamideh Sadat Cheraghchi, Abas Nayebi, “Human Society Inspired Routing For Wireless Sensor Network,” In Proc. of The 36th IEEE Conference on Local Computer Networks (LCN), Bonn, Germany, Oct. 2011.

• Abbas Nayebi, Hamid Sarbazi-Azad, "Analysis of k-Neigh Topology Control Protocol for Mobile Wireless Networks," Computer Networks, Vol 53, Issue 5, pp. 613-633, doi: 10.1016/j.comnet.2008.10.024, Elsevier, 2009. PDF

• Hamid Shokrzadeh, A. T. Haghighat, Abbas Nayebi, "New routing framework base on rumor routing in wireless sensor networks," Computer Communications, Vol. 32, Issue 1, pp. 86-93, doi: 10.1016/j.comcom.2008.09.027, Elsevier, 2009.

• A. Nayebi, Hamid Sarbazi-Azad, and Gunnar Karlsson, “Performance Analysis of Opportunistic Broadcast for Delay-Tolerant Wireless Sensor Networks,” Journal of Systems and Software, Vol. 83, Issue 8, pp. 1310-1317, Elsevier, Aug. 2010.PDF

• R. Moraveji, H. Sarbazi-Azad, A. Nayebi, K. Navi, “Modeling the Effects of Hot-spot Traffic Load on the Performance of Wormhole-Switched Hypermeshes,” To be appeared in Computers & Electrical Engineering, Elsevier.

• A. Nayebi, Gunnar Karlsson, Hamid Sarbazi-Azad, “Neighbor Discovery in Mobile Wireless Networks,” to be appeared in to Ad hoc Networks, Elsevier. PDF

• A.Nayebi, "Improving Dynamic Spectrogram using Inverse Color Method and Base-band Representation," In Proc. of ICEE 2005, 2005.

• A. Khonsari, M. Ould-Khaoua, A. Nayebi, H. Sarbazi-Azad, "The impact of timing constraints on virtual channels multiplexing in interconnection networks," Proceedings of 25th IEEE International Performance Computing and Communications Conference (IPCCC’06), March 28-30, 2006, Phoenix, Arizona, USA.

• A. Nayebi, M. Rahimi, H. Sarbazi-Azad, "Time-based Random Waypoint Mobility Model for Wireless Mobile Networks," Proceedings of The Australian Telecommunication Networks and Applications Conference (ATNAC2006), Dec. 4-6, 2006, Melbourne, Australia. PDF

• A. Nayebi, M. Rahimi, H. Sarbazi-Azad, “Analysis of time based random waypoint mobility model for wireless mobile networks,” Proceedings of International Conference on Information Technology- New Generations (ITNG2007), IEEE Press, April 2-4, 2007, Las Vegas, USA.

• A. Nayebi, A. Khosravi, H. Sarbazi-Azad, "On the Link Excess Life in Mobile Wireless Networks," Proceedings of International Conference on Computing:Theory and Applications ICCTA, IEEE Press, India, 2007. PDF

• A. Nayebi, A. Khosravi, H. Sarbazi-Azad, "The impact of stationary nodes on the performance of wireless mobile networks," Third International Conference on Wireless and Mobile Communications (ICWMC2007), IEEE Computer Society Press, March 4-9, 2007, Guadeloupe, French Caribbean.

• S. Meraji, A. Nayebi, H. Sarbazi-Azad, "Empirical Performance Evaluation of Adaptive Routing in Necklace Hypercubes: A Comparative Study," Proceedings of International Conference on Computing:Theory and Applications ICCTA, IEEE Press, India, 2007.

• A. Nayebi, S. Meraji, A. Shamaei, H. Sarbazi-Azad, "Xmulator: A listener-based integrated simulation platform for interconnection networks," Proceedings of Asian Modelling Symposium (AMS2007), IEEE Press, Thailand, 2007. PDF

• A. Nayebi, A. Shamaei, S.G. Miremadi, "Traffic Analysis of f-cube Fault-Tolerant Routing Algorithm in Mesh Interconnection Networks", In Proc. of CSICC, Iran, 2007.

• A.Shamaei, A. Nayebi, H. Sarbazi-Azad, "Performance Evaluation of Fault-Tolerant Routing in Mesh Interconnection Networks", In Proc. of CSICC, Iran, 2007.

• A. Nayebi, A. Shamaei, H. Sarbazi-Azad, "Improving of f-cube fault-tolerant routing algorithm based on detailed traffic analysis," In proc. of HPCC 2007, Houston USA, LNCS 4782, pp. 766-775, Springer, 2007.

• R. Moraveji, H. Sarbazi-Azad, A. Nayebi, K. Navi, "Performance Modeling of Wormhole Hypermeshes under Hotspot Traffic," LNCS 4649, Computer Sceience-Theory and Applications, Springer, Sep. 2007.

• S. Meraji, A. Nayebi, and H. Sarbazi-Azad, "Simulation-Based Performance Evaluation of Deterministic Routing in Necklace Hypercubes," In proc. of AICCSA 2007, Jordan, IEEE Press, 2007.

• A. Nayebi, H. Sarbazi-Azad, and K. Alishahi, “Analysis of k-Neigh Topology Control Protocol for Wireless Networks,” In Proc. of HWISE-2008 workshop (AINA), 2008.

• H. Shokrzadeh, A. T. Haghighat, A. Nayebi, F. Tashtarian, “Directional Rumor Routing in Wireless Sensor Networks,” In Proc. of ICI 2007, IEEE Press, Tashkent, Uzbekistan, 2007.

• ** A. Nayebi and H. Sarbazi-Azad, “Lifetime Analysis of the Logical Topology Constructed by Homogeneous Topology Control in Wireless Mobile Networks,” In Proc. of 13th International Conference on Parallel and Distributed Systems (ICPADS2007), IEEE Press, Hsinchu, Taiwan, 2007.

• A. Nayebi, H. Sarbazi-Azad, "Analysis of the Effect of Nodes’ Mobility on the Performance of Wireless Networks," (in Persian) In Proc. of The First International E-city Conference, Tehran, Iran,2008.

• Arash Shamaei, Abbas Nayebi, Hamid Sarbazi-Azad, “Fault-tolerance improvement of planar adaptive routing based on detailed traffic analysis,” In proc. of 22nd international symposium on Computer and information sciences (ISCIS), IEEE Press,2007.

• H. Shokrzadeh, M. Mashaiekhi, A. Nayebi, “Improving Directional Rumor Routing in Wireless Sensor Networks,” In Proc. of The 4th International Conference on Innovations in Information Technology, IEEE Press, November 18 – 20, UAE, 2007.

• Mohammad Mirza-Aghatabar, Arash Tavakkol, Hamid Sarbazi-Azad, Abbas Nayebi, "An Adaptive Software-Based Deadlock Recovery Technique," In Proc. of AINA, pp. 514-519, IEEE Press, Japan, 2008.

• Arash Shamaei, Abbas Nayebi, Hamid Sarbazi-Azad, "A Simple and Efficient Fault-Tolerant Adaptive Routing Algorithm for Meshes," LNCS 5022, Algorithms and Architectures for Parallel Processing, pp. 54-57, Springer, 2008.

• Abbas Nayebi, Gunnar Karlsson, “Beaconing in Wireless Mobile Networks,” In Proc. of IEEE Wireless Communications and Networking Conference (WCNC), Budapest, 2009.

• Abbas Nayebi, Hamid Sarbazi-Azad, and Gunnar Karlsson, “Routing, Data Gathering, and Neighbor Discovery in Delay-Tolerant Wireless Sensor Networks,” In Proc. of IEEE International Parallel & Distributed Processing Symposium (IPDPS), Rome, 2009.

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 to play a voice channel as well. 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 year 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 few years I switched to an Amiga 500 and after a while to an Amiga 1200. It was a more serious device 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 that field. 

I also participated in a computer graphic team to make TV ads. I made some ads and learned many useful things about graphical concepts that I used many years later to design web sites.

Here, I list some of projects I've already developed. It's only a part of what I have done. 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 nationwide. 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 made things difficult in early computers.

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 the software are :

-High performance: It's a real-time system that must perform many tasks like gathering signals, filtering, scrolling the signal on monitor, storing data, interacting with user, controlling the treadmill, and executing the protocols in a non-real-time operating system.

-Reliability: Any bug in this software is dangerous and may lead to death of patient. The software has shown a high level of reliability.

-Multitasking ( specially in MS-DOS )

-Well designed to have a long life time: Core piece of the software has not been re-designed after these many changes.

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 signed a contract with 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  started a new project focusing on these features:

- A high performance, highly stable, and reliable server

- A nice looking, flexible, and stable client ( a java applet )

- An ActiveX component to capture and play voice

- 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 base on Java Servlets

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.

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

 

Gmail and Google logos are trademarks of Google, Inc.