SRIDHAR IYER

ENGINEER / PHOTOGRAPHER / RUNNER

I consider myself a versatile technologist and a gadget freak with industry experience in Data Center Switching & Anti-Spam technologies.. and some experience in shooting events as a photographer.

  • Sridhar V Iyer
  • October 12, 1982
  • 243 Buena Vista Ave, Sunnyvale, CA, USA
  • iyer@sridharv.net
  • +1-408-916-3644

Employment

  • Sr Software EngineerJuly'10 - Present

    Cisco Systems Inc.
    • Involved in the development of the new Cisco n6000 series of switches. Worked on the forwarding layer right from the DOL stage to the release stage. This entailed validating the new asic model (based on RTL code), modifying the existing OS to work with the updated hardware and registers, implementing new forwarding related features and porting existing features to the new hardware. A lot of work was also done troubleshooting the data flows on the switch. This switch would be the first Cisco NXOS switch to be used in the spine layer, between the access and aggregation layer.
    • Develop and maintain the l2 layer of the forwarding plane on Cisco's n5000 series of switches.
    • Developed and maintained various authentication/authorization/monitoring modules on n5000 switches like SNMP, AAA, TACACS, RADIUS etc.
  • Software EngineerJune'07 - July'10

    Mailshell Inc.
    • Designed, wrote and maintained tools used for anti-spam analysis. These ranged from simple Bayesian classifiers to multi-core proprietary engines & enhanced the existing proprietary Anti-spam SDK and developed other tools required by the clients (such as proxies and plugins to use the SDK).
    • Spearheaded the adoption of companywide python usage for regression tests and continuous integration. This lead to a reduction of test development time by a factor of ten and almost doubled the number of regression tests by a factor of three.
  • Research AssistantAugust'06 - May'07

    Dept Of Computer Science, Syracuse University
    Under Dr Wenliang Du
    • Developed instructional laboratory projects for computer security education. These projects are used by the faculties and students (undergraduate and graduate) at various universities as laboratory exercises for computer system security education. These included demonstrating various attacks like buffer overflow, LD_PRELOAD, return-to-libc, format string vulnerability etc.
    • Developed various security related products on Minix 3.1.2a such as Encrypted File System, IPSec (ESP tunneling with authentication based on RFC 2401 and 2406) and ASLR.
    • Project funded by National Science Foundation ($451,682, 01/2007-12/2010. Grant No. 0618680).
  • Research AssistantSeptember'05 - August'06

    Dept Of Psychology, Syracuse University
    Under Dr Marc Howard
    • Did an Independent study on Multidimensional Function Minimization using Genetic Algorithms. The objective was to research the use of genetic algorithm as a viable alternative to Nelder-Mead for fitting cognitive models.
    • Simulated cognitive models (based on Temporal Context Model developed by Dr Marc Howard and Dr Michael Kahana). These simulations are used to prove the correctness of the neural networked model of the short term memory under various hypothetical situations. Standard C++ was used for implementation.

Education

  • M.S. in Computer and Information ScienceAugust'05 - May'07

    Syracuse University, L.C Smith College of Engineering & Computer Science
  • B.E. in Computer Science and EngineeringAugust'01 - June'05

    Visvesvaraya Technological University, S.J.C Institute of Technology
(Download the complete resume)

Other projects (non-work personal pet projects)

  • Working on a non-profit startup idea: Nothing public yet.. working on an app to help charities.
  • Studying the possible interaction of SDN and Hadoop: Was playing with the Bigtop packaging code base for a brief period of time.
  • Various arduino based simple projects: Just really basic stuff.
  • Patch for Real player: Wrote a patch to fix a bug in real player on Linux(based on Helix)

Academic projects (really old stuff.. circa 2004-2008)

  • Compiler for PL language: Designed a compiler for PL language for ~CIS631(Compiler Design) under Prof Per Brinch Hansen.
  • Encrypted File System on Minix3.1.2a: Designed and implemented an Encrypted File System on Minix3. This system was not a hacker's implementation on top of other file system but rather a completely new file system written from scratch(well.. modified version of older file systems). Everything from the inode structure to the super block was modified to give a unified and transparent feel to the end user. It proposed a new solution to solve the group access problem inherent in commercially available EFS. EFS is helpful in case of physical compromise of the storage media.
  • IPSec on Minix3.1.2a: Designed and implemented a VPN implementation on Minix3. This involved modifying the IP layerand inserting code for encryption and decryption. Key management issues were take care. Manual key management was implemented rather than IKE. Separate keys for each communication channel was supported, i.e for a TCP connection one could use two different keys for sending and receiving.
  • Attacks on TCP: Tested transport layer protocols for vulnerability.
  • ARP, IP, ICMP attacks: Tested Minix3 and Linux 2.6.15 for various vulnerabilities.
  • FRAMOF - FRAmework for MOdel Fitting: A C based model fitting framework, designed primarily to fit cognitive models. Uses GAUL(Genetic Algorithm Utility Library) and libxml2 for xml aprsing. Currently it supports only genetic algorithm but will soon be expanded to incorporate other mathematical models too.
  • Final Free Recall Modelling: Modelling the probability of free recall for interlist and intralist data using TCM.
  • Intrusion Modelling: Modelling the recall intrusion data for Temporal Contextual Model.
  • Capability Implementation: Implemented Capabilities in Minix2.0.
  • Directory Synchronizer: Provides facility to synchronize directory across various machines.
  • Profiler Framework: Made an extensible framework for profiling source code. The system was tested with two profilers: call coverage and function timing.
  • Set ~Random-UID: Implemented a sandboxing mechanism on Minix, allowing users to run program with the least privileges possible.
  • XML Dom Parser: Implemented an XML DOM parser in native C++.
  • PAM: Pluggable Authentication Modules (Linux): Hardened the system using PAM in order to avoid hard coding the security policy in the program itself.
  • Set-UID vulnerability tracking: Exploited set-UID programs to get root privilege and discovered security principles that need to be followed while developing an application to avoid getting exploited itself.
  • File Annotator: Wrote a C++ application to automate the annotation process. It automatically adds documentation and comments where ever needed.
  • Dynamic Loader, glibc 2.3.2: Improved the loader by decreasing the access time for loading shared libraries. The project was implemented on Linux 2.4.
  • FIFO Page Replacer: Changed the page replacement algorithm of ~FreeBSD 4.1 from LRU to FIFO. Also changed the page replacement schema.
  • Remote Test Bed: Built a remote test server for testing and building C# programs. Written in C#.NET using .NET sockets.
  • Fairshare Process Scheduler: Wrote a process scheduler for ~FreeBSD 4.1
  • CodeGen: Used for generating broilerplate code for C# programs. Written in C#.NET
  • DB Monitoring Tool: Worked at the database backend to make it more robust. Developed on Solaris 10.
  • Policy Driven Application Manager: A complete robust framework and technological solution for automated scaling of servers. Exploited the concept of ~J2EE to the maximum to achieve automatic scaling of servers.
  • Lancer, A LAN Search Utility: A project which searches the LAN for a particular file and helps the user download the required file using peer to peer communication. It was implemented on Linux using BSD sockets. Qt designer was used for the front end designing.
  • LTaMe, Linux Task Manager: A user friendly task manager for Linux, with interface similar to the task manager provided in ~WindowsXP. Developed on Red Hat Linux 9 using Qt 3.3 as a front end tool.
  • Linux Text Editor: A mini project (text editor) made on Linux platform using Ncurses library in C++.

Contact info

  • 243 Buena Vista Avenue, Apt 105, Sunnyvale, CA 94086, USA

  • Email: iyer@sridharv.net
  • Phone: +1-408-916-3644
  • Website: www.sridharv.net

Let's keep in touch