Ali Çehreli

Software Engineer

acehreli@yahoo.com - Mountain View, CA - http://acehreli.org

Skills

C++ Programming Language

D Programming Language

Employment

Riverbed, 2007/06 - present
Member Technical Staff

Member in the device management framework development team of Steelhead, "the best WAN accelerator" award-winning product.

  • C++ library API design and implementation

VMware, 2006/03 - 2007/05
Member of the Technical Staff

Member in the VMware Converter application development team

VMware Converter is the newer version of former P2V application (physical-to-virtual), a tool to convert physical machines or other virtual machines to VMware virtual machines.
  • Implemented the job scheduler to manage the execution of asynchronous machine conversion jobs; utilized C++ Standard, Boost, and VMware internal libraries

  • Implemented the archiving of jobs as XML files; later implemented indexing of job properties through SQLite

  • Contributed to the graphical and command line interfaces of the Converter application as needed

  • Implemented job status message transfers from the back-end logic to the user interfaces

  • Contributed to the incorporation of the Converter functionality to VMware's Virtual Center product

  • Organized the hosting of the ACCU meetings at VMware and acted as the liason between the ACCU and VMware

PayPal, 2004/06 - 2006/03
Staff Software Engineer

Member in the PayPal China team

  • Participated in the UTF-8 strings project

  • Worked on various China localization issues

  • Implemented the Chinese site signup and referral bonus programs

  • Worked on various parts of the development team from the back-end financial processes to the front-end web interfaces

NetContinuum, 2002/02 - 2004/06
Senior Software Engineer

Contributed to configuration agent of the company's NC-1000 application security gateway

  • Redesigned and implemented the statistics collection framework; optimized the execution speed and reduced development and maintenance efforts

  • Redesigned the XML messaging framework; improved the communication with the user interfaces

  • Abstracted the external representation of the configuration tree

  • Designed and implemented a simple and safe output stream wrapper; increased the speed of certain operations by a factor of ten

  • Designed and implemented a profiling class to optimize the configuration agent

  • Improved the quality and robustness of the software; refactored the source code

  • Removed memory leaks; used valgrind and constantly inspected the source code for potential mistakes

Acted as the in-house C++ expert

  • Presented formal and informal in-house C++ seminars

  • Introduced the use of modern C++ idioms, design patterns, and libraries

  • Increased the overall understanding of the safe and robust software practices

Improved the build environment

  • Automated target dependency generation in the make files

  • Tripled the build speed by introducing distcc

Inviscid Networks, 2001/04 - 2002/02
Lead Software Engineer

Inviscid Networks was a start-up company that was spun-off from Marconi, to complete the work on the next generation packet forwarding engines.
  • Principal designer of network processor verification software and network processor development tools

  • Lead contributor to architecture, design, and implementation of full suite of integrated network processor development tools

  • Contributor to the architecture of network processor ASICs

  • Developed run time libraries for table management and hardware abstraction layer for a family of network processors.

  • Designed and implemented an unlimited-width and platform independent bit-field class to represent the varying widths of hardware memory blocks, implemented patricia trie, hash table, and other data structures

  • Abstracted the hardware layer structures as logical operators and functional blocks of a graphical decision tree

Berkeley Networks (acquired by Fore), 1997/02 – 2001/04
Fore Systems (acquired by Marconi)
Marconi Communications
Senior Software Engineer

  • Contributed to the development of a family of application aware Ethernet switches – Exponent E4, E8, and E-Micro. Fundamental contributor from the earliest design stages throughout the entire product life cycle.

  • Identified optimization opportunities in the design of network processors and suggested improvements that were later implemented during successor chip developments.

  • Implemented low level protocols to communicate with line cards over both serial and ethernet ports. Developed tools for ASIC verification, manufacturing diagnostics, and fault isolation. The test methods and programs developed were leveraged from early phases of ASIC design and verification to the eventual deployment into 3rd party manufacturing process flows.

  • Developed a functional test program that simulated a TCP/IP network for the purpose of stressing and exercising routing and bridging protocol software running on a multi-Gigabit switch. The design incorporated one switch as the testing device and one switch as the device under test. The test program ran on a host attached to the switch acting as the testing device. Novel hardware multicast and queuing methods of the testing device were utilized to provide substantial traffic load beyond the capacity of the program host. The test apparatus was capable of providing traffic stimulus and verification of traffic on hundreds of ports of the device under test.

  • Lead developer of diagnostic stress tests utilizing avalanche traffic generation methods within the switch. Hardware multicast, COS queue scheduling and multiple programmable loop-back interfaces were used to advantage. The test program could automatically isolate faults to specific chips and interfaces within the system by dynamically adjusting the program parameters based upon incorrect returned packet data. Stimulus and verification data could be injected and returned at program controlled rates on a single link to enable simple test bench environments suitable for manufacturing.

ITA - Nokia Monitors, 1994/09 - 1996/12
Software Engineer

  • Debugged and extended a proprietary order-entry and invoicing system written in the MS FoxPro database language

  • Integrated the system with FedEx's shipping applications to automatically update the status of orders in the database

  • Connected the system to remote offices via modems and routers for automatic data entry

  • Designed, configured, and maintained multi-site WAN.

Opera Computer, 1991/10 - 1994/06
Founder
Technical Support Manager
Lead Software Engineer

  • Co-founder of Opera Computer, a WordPerfect reseller in Turkey

  • Responsible for training of all customer support personnel

  • Lead programming localization efforts to make WordPerfect available in Turkish

Karel Computer, 1989/06 - 1990/06
Software Engineer

  • Translated the DR DOS operating system and the entire suit of GUI products of Digital Research Corporation, as well as some of the user manuals of those products to Turkish
  • Patched pre-compiled object files to support Turkish keyboard layout and to enable the copy protection of applications

Education

1994 - MS in Physics, Istanbul Technical University

  • Developed tools and emulation programs in C to study fractals, dynamic systems, neural networks, and cellular automata

1989 - BS in Electronics Engineering, Istanbul Technical University

  • Designed microprocessor controlled chronograph for track sports

Courses

2000 - Extreme Programming Software Methodology at SD 2000.

1996 - Electronic Data Interchange (EDI) at UC Berkeley Extension