Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Sriram Panyam Ph: 0401 33 18 94 RESUME SRIRAM PANYAM 27, Oatlands St, Wentworthville, NSW, 2145 Email: sri.panyam@gmail.com Blog: http://panyam.wordpress.com Qualifications Professional History WMS Gaming (Jan 2007 – Current) - Game Development Engineer • Development of games in the Gambling arena with C++ and Linux. • Analysis of game and product requirements from clients taking into account various jurisdictional issues. • Mentored and provided technical leadership to small teams of talented engineers in meeting tight deadlines in the face of changing requirements. • Proposed and designed rule templates appropriate for the business need and the technology utilized in increasing the efficiency of the game development process. • Review business requirements, use cases and provide feedback to management and/or business analysts. • Created and maintained game design documents and functional specification. • Lead and participated in design and code reviews. • Provided valuable input in creation and execution of integration level test plans. • Assist QA by reviewing test plans, test case scenarios as well as resolving test findings. • Created, reviewed and updated user implementation and functional documentation. • Constantly identified and implemented technical and process improvements. • Designed and developed prototypes of the next generation of games to run on iPhone and Android platforms. • Proposed and implemented a functional scripting language engine for scripting core parts of the framework and OS code. This reduced the number of builds of the game by up-to 60% • Developed a multi-threaded server (in C++) to probe and modify game parameters and behaviour at run time in order minimize the number of game reloads. • Developed a web client (in Adobe Flex) to enable developers to connect to the above server and modify game easily. • Developed a scalable and easily extendible web server (Halley) with Comet support – Available on Google Code at http://code.google.com/p/halley/. Scalability is obtained with multiple threads which can be allocated in a customsed fashion (per functional stage instead of per request/connection). Ultimate goal is to match the C10K requirements (for static pages) and allow foreign language bindings for dynamic pages. Page 1
  2. 2. Sriram Panyam Ph: 0401 33 18 94 • Developed a debugger for Lua scripts that are embedded in C/C++ applications. Client interface is via a Flex/Flash application running in a browser. Server uses the Halley web server described above. Available on Google Code at - http://code.google.com/p/lunarprobe/. • Automated web based code review system for use within the team (using Perl and AJAX). • Developed automated build and testing frameworks for improved QA. • Developed True Type Font support in the Core Video Server. • Technologies Used: C, C++, Linux, Python, Lua, Adobe Flash/Flex/Action Script, FreeType, Multi-threading. Seeker Wireless (July 2006 – Dec 2006) - Senior Software Engineer • Design and development of distributed modules for SeekerWireless’ patented Location Engine (enabling mobile handsets to track their positions without the use of GPS or external hardware). • Propose and design enhancements for the entire Location Server for incorporating newer networking protocols. • Improved logging module capable of external archiving of system log-files (using CURL library for ftp archival). • Designing and implementing a highly portable and scalable architecture for porting the proprietary Matlab code (the core of the Location Engine) to highly efficient C++, capable of increasing the throughput by roughly thirty times. • Developing Oracle stored procedures for enabling task-progress monitoring of distributed transactions. • Technologies Used: C++, Matlab, STL, Multithreading, XMLRPC, Visual Studio, Oracle, Perl and Shell scripting, Linux and Solaris. Canon Information Systems Research Australia (Aug 2004 – July 2006) - Software Engineer • Advanced Rendering Research Project: o Development of scalable rendering algorithms to complement the patented UFR technology (see below), in order target low printing devices. o Developed and fine tuned incremental vectorisation techniques for providing on-demand segmentation of graphical curve primitives (eg cubic splines). o Integrated vectorisation modules with key CISRA modules to achieve end to end rendering with low memory footprints. • Common Core Drivers (CCD) -RIP/C3PL Project: o Development of Windows and Linux printer drivers based on CISRA’s patented Ultra Fast Rendering (UFR) technology. o Development of lightweight graphics library in Win32. o Developed interfaces for porting the windows CCD drivers to Linux as part of the C3PL sub project and wrote modules to optimize the driver for Linux. o Designed and developed THX – a light weight , robust, highly modular test harness to test the C3PL (Common Core Drivers for Linux) driver. o Developed an automated build system for building and deploying the C3PL driver which immensely assisted in the release of alpha, beta and final candidate versions of the drivers to our Japanese Customers. o Built a highly flexible nightly regression testing system for C3PL used for validating and regression testing of nightly driver releases. This provided early detection of bugs and assisted in increased quality assurance of driver releases. o Provided regular driver releases and technological support for Japanese customers. o Regular defect analysis and bug fixes during driver development. o Documentation for C3PL and THX. o Provided technology transfer to several teams and mentored junior members of the team. • PosterArtist: A world famous application for creating high quality posters quickly and easily. o Design and development of improvements to existing application and creation of new GUI widgets. Page 2
  3. 3. Sriram Panyam Ph: 0401 33 18 94 o Development of the key Variable Data Printing feature for version 1.2. • Patent Activities: o Invented and Filed UFR89 Patent: A method of isolating difference inducing commands in two different versions of software. o Patent infringement searching for discovering several patents critical to several key features of PosterArtist 1.2. o Contributed to new Patent Ideas:  Display List Compression techniques.  Object Caching Heuristics while employing fallback to disk during low resource rendering. • Miscellaneous o Developed add-ins for Microsoft Visual Studio using the EnvDTE framework to enable faster and efficient debugging capabilities. • Technologies Used: C/C++, MFC, OpenScreen, ICI, Shell scripting, Linux Telstra Australia (Feb 2001 – Aug 2004) - IT Systems Specialist • Translation of high-level business and functional requirements into efficient Object Oriented implementations. • Object Oriented Design and Data modeling for formalizing functional and business requirements. • Epicenter Domain Manager project: o Create data validation and data cleansing tools for Customer Service Operations Management (CSOM) data migration in the EpiDomain platform (a network management system for Telstra’s Wideband IP platform) by designing and developing intelligent probing robots used for analyzing and verifying data consistency in backend databases. o Developed multithreaded standalone clients in Java to communicate with back-end network and product systems (e.g. Device and Service databases) for providing non-web based secure access to customers. o Developed web-based front end for the CSOM application for communicating with the CSOM application in order to present network and service specific information to authorized users. o Design of graphical web interfaces conforming to published Style Guide and accepted coding standards. o Developed business components for implementing business objects in the business logic layer, between the enterprise systems (billing and database systems) and front-end clients. o Developed modules to create application specific content for portability across several nominated applications (e.g. Network discovery, Topology creation, billing systems). Technologies Used: • Design and Modelling: o UML for Object Oriented Design and Business Domain Modelling. o Extensive use of Java and J2EE design patterns in order to provide a highly flexible, easily extendible and scalable design to cater for specified business requirements. • Presentation Layer: o JavaScript, CSS, XML and DHTML for web-based GUI. o Swing and Java2 for Applets and Application based GUI. o JSP for presentation layer of the web applications. o Servlets in the Controller module of the web application’s front end. • Business Logic/Application Layer: o EJB, o XML (IBM’s Xerces XML parsing libraries) and SOAP for application specific content generation and storage. Page 3
  4. 4. Sriram Panyam Ph: 0401 33 18 94 o JMS for writing messaging adaptors to connect to the TIBCO bus. • Data Storage Layer: o Oracle for back end databases for storage of application data. o SQL as the database query language. o JDBC for drivers to connect to the database from Java. • Network Device Testing Platform o Developing customized packet generation tools for testing and validating vendor specification of untested network elements. o Development of networking software for creating custom protocol handling “plugin” libraries. o Writing automated database query scripts (with SQL statements) in order to store test results and query existing results. o Creating GUIs for presenting and customized reporting for extracted information pertaining to nominated devices. o Linux Kernel development for optimized packet filtering. o Researching and analyzing VoIP products and protocol libraries. Technologies Used: • MPI application level clustering library for utilizing multiple devices in parallel. • MFC and X-Windows for front-end reporting GUIs for Windows and UNIX platforms. • Shell and Perl scripting for creating installation scripts and running database queries for storing and retrieving information from back end databases. • Configuration of Cisco routers and switches. • Development of software to generate packets for Audio and Video protocols (H.263, H.264, MPEG1, MPEG2 and MPEG4). • Strong understanding of internet and media transport standards and protocols especially (IP, UDP, RTP, RTCP and RTSP). University of Melbourne (Apr 2000 – Mar 2001) - Lead Software Engineer • Developed multimedia Java applets for demonstrating aspects of physics. • Developed applets capable of incorporating QuickTime for Java and real time movie analysis. • Software Design was based on J2EE tiers and patterns. Also developed use cases, activities, states, objects and components. Software modeling was performed with UML. Lead, designed and developed key modules such as Connector, Session Manager and Assessment Logger. • Designed and developed XML-based metadata verifier for maintaining and analyzing experiment trials and assessment modules of engineering students. • Technologies Used: Java, J2EE, QuickTime, XML, Apache, Servlets, JSP, JavaScript. Mainstream Computing (Dec 1999 – July 2000) - Software Engineer • Develop Java applets capable of simulating complex mortgage and investment scenarios. • Model financial problems in a software perspective to create the financial tools. • Analyze situations posed by major banks pertaining to home loans and investment planners, and design and develop the required product. • Develop tools and libraries for improved and optimized visualization and representation of data. CSIRO (Aug 1998 – Nov 1998) - Industrial Trainee • Develop and incorporate programs written in various platforms to facilitate easy and efficient communication between CSIRO’s systems. • Create graphical analysis tools in Java and Visual C++ to analyse CSIRO’s data mining requirements using. Technologies Used: • Java, Java3D, Visual C++, STL, CORBA, IDL and X-Windows. Page 4
  5. 5. Sriram Panyam Ph: 0401 33 18 94 Personal Projects - http://www.geocities.com/spany_1/my_sw.html Gulliver – Google Android Challenge Created a mobile client running on the Android SDK, to assist users plan a trip in Sydney using public transport. OMNI FS A linux file system driver (using Fuse) for mounting Omnidrive accounts as mount points. Metronome A little tool for helping musicians in maintaining beats and rhythms during practice. Equation Editor A java applet for Equation Editing. 3D (OFF) Model Viewer Basic ray-tracing applet for visualization of three-dimensional models stored in OFF files. Also illustrates various lighting and shading models. Pack-it A tool for automatic generation of packet filtering code, based on a high level syntax used to describe networking protocols. Created in C++ for the Linux platform, this tool allows newer protocols to be “declared” in a simple XML-like syntax, which is then converted into native binary code resulting in high-speed packet generation modules. Snake Java version of the “Snake” game popularized by early Nokia phones. MineSweeper Jave version of the popular Minesweeper. Computer Science Honours Thesis Developed tools (in Java) for analyzing image compression techniques using Space-Filling curves, and the Discrete Wavelet Transform (DWT). Focus was on: • Effects of different space-filling curves on the compression efficiency of images. • Ability to incorporate various bit-rate coders (Huffman and Arithmetic encoders) for entropy coders. • Used Burrows Wheeler Transform and LZW based compression techniques for improving compression efficiency. • Investigated effects of the recent Wavelet based transform (which is a core component of the JPEG2000 standard). • Creation of Bitmap and PS based output images. Final year Electrical Engineering Project - SkyCam Page 5
  6. 6. Sriram Panyam Ph: 0401 33 18 94 A real-time applet to broadcast live images captured from a camera to clients logged globally using any Java enabled browser. This was developed as part of the final year electrical engineering project under the supervision of Dr. Vaughan Clarkson (now at University of Queensland). Features Include: • Image Broadcasting by JPEG and Wavelet based compression • Framework for MPEG compression and decompression included. • Fully multi-threaded server capable of handling multiple clients. • Customised Graphical User Interface. • Highly interactive and easy to use. • Real-time tracking of objects with various Digital Signal Processing techniques. • Multiple user chat feature Page 6