# Source

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 %% start of file madhusudancs-short.tex'. %% Copyright 2009 Xavier Danaux (xdanaux@gmail.com) and Madhusudan.C.S . % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License version 1.3c, % available at http://www.latex-project.org/lppl/. \documentclass[10pt,a4paper]{moderncv} % moderncv themes \moderncvtheme[green]{casual} % optional argument are 'blue' (default), 'orange', 'red', 'green', 'grey' and 'roman' (for roman fonts, instead of sans serif fonts) %\moderncvtheme[green]{classic} % idem % character encoding \usepackage[utf8]{inputenc} % replace by the encoding you are using % adjust the page margins \usepackage[scale=0.85]{geometry} %\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates %\AtBeginDocument{\setlength{\maketitlenamewidth}{6cm}} % only for the classic theme, if you want to change the width of your name placeholder (to leave more space for your address details \AtBeginDocument{\recomputelengths} % required when changes are made to page layout lengths % personal data \firstname{Madhusudan} \familyname{Cheelangi} \address{3801 Parkview Lane Apt 23A}{92612 Irvine, CA} % optional, remove the line if not wanted \mobile{+1-949-864-9635} % optional, remove the line if not wanted % \phone{+91-80-28385761} % optional, remove the line if not wanted \email{madhusudancs@gmail.com (preferred)} % optional, remove the line if not wanted \extrainfo{\httplink{https://github.com/madhusudancs}, \httplink{https://plus.google.com/113141282929084508748/posts}, \httplink{https://www.ohloh.net/accounts/madhusudancs}} % optional, remove the line if not wanted %\photo[64pt]{picture} % '64pt' is the height the picture must be resized to and 'picture' is the name of the picture file; optional, remove the line if not wanted %\quote{If you have a tough job that you need to get done quickly, give it to the busiest person''} % optional, remove the line if not wanted %\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page % Madhusudan.C.S command \revnum{v0.10.0} %---------------------------------------------------------------------------------- % content %---------------------------------------------------------------------------------- \begin{document} \maketitle \makefooter \section{Proudest achievement} \cvline{}{\textbf {PL241-MCS-Compiler}} \cvline{}{Implemented an optimizing compiler all from scratch, reading from the source stream character-by-character and writing out 0s and 1s. This compiler has its own parser, the algorithms to build the dominator tree and transform the program to Static Single Assignment (SSA) form. It implements Common Sub-expression Elimination, Constant Propagation, Constant Folding and partially implements Dead Code Elimination. I also wrote a \textbf{ SAT-solver based Register Allocator} which does register allocation on \textbf{SSA}. I also implemented the ELF generator, an assembler and a simple linker and hand-wrote binaries to read and write integers from/to STDIN/STDOUT. Source: \colorhttplink{https://github.com/madhusudancs/PL241-MCS-Compiler}} \section{Education} \cventry{2011--(expected 2013)}{Master Of Science, Computer Science}{University of California, Irvine}{GPA: 3.97/4.00}{}{} \cventry{2005--2009}{Bachelor Of Engineering, Information Science And Engineering}{Visvesvaraya Technological University}{B.M.S. College Of Engineering, Bangalore}{First class with distinction (80.23\%)}{} \cventry{2003--2005}{Pre University College}{M.E.S College Of Arts, Science And Commerce}{Bangalore}{First class with distinction (86\%)}{} \section{Technical skills} \cvline{}{\textbf {From hand-writing x86 machine binaries (\colorhttplink{https://github.com/madhusudancs/PL241-MCS-Compiler/commit/66656d22638b5ebe4eb7a3ffb3ef61581405b0b1} ) to writing web applications with technologies like Python/Django, Ruby/Ruby on Rails and a few things in between like C/C++.}} \cvline{}{For more details please checkout my \colorhttplink{https://github.com/madhusudancs}, \colorhttplink{https://bitbucket.org/madhusudancs} and \colorhttplink{http://code.google.com/u/madhusudancs/} profiles. } \section{Master thesis - work in progress} \cvline{Title}{\textbf{External Sort: Forecasting-based optimizations}} \cvline{Advisor}{Prof. Michael J. Carey} \cvline{}{In this project I am trying to improve the performance of external sorting by getting an overlap between the disk I/O and the in-memory merging during the merge phase of external sorting. I am essentially trying to implement disk-level pipelining by exploiting the properties of merge sort. Source: \colorhttplink{http://code.google.com/p/hyracks/source/browse/\#svn\%2Fbranches\%2Fhyracks\_optimized\_sort}} \section{Bachelor thesis} \cvline{Title}{\textbf{Astute Song Hunter: Playback File Retrieval From Media Servers Based On Humming Patterns}} \cvline{Advisor}{Prof. R.Ashok Kumar} \cvline{}{Along with 2 other team mates, I designed and implemented a search engine that takes in the hum of the tune as a query, and efficiently searches and retrieves the (closest) corresponding songs from the media server. In this paper we have implemented a technique for searching a song based on its acoustic properties. I was particularly responsible for designing and implementing one of the two algorithms used for comparisons, the MaxMin approach and the for the searching technique which matched the processed query against the database on the server side. Paper, source code and more details at: \colorhttplink{http://code.google.com/p/astute-song-hunter/}} \section{Projects} \cventry{Academic}{Twitter sentiment analyzer}{}{}{} {Along with two other team mates, I implemented a twitter sentiment analyzer. The analyzer reads the live tweets using the twitter API, builds the feature vector and passes it to a classifier and returns the response based on classifier's response. For the backend we used Scikit-Learn, a Python based Machine Learning library and MapReduce (Discoproject) to fetch live feeds and build the feature vector. For the frontend we used bootstrap. Source: \colorhttplink{https://github.com/madhusudancs/sentiment-analyzer}} \cventry{Academic}{UI Design for U.S. Presidential Elections simulation game}{}{}{} {Along with the 3 other team mates, I created the wireframes and designs using HotGloo wireframe system for implementing an online multiplayer real-time game that simulates the U.S. Presidential Elections. I was particularly responsible for designing the home screen, the controls and the dashboards.} \cventry{Google Summer of Code 2009}{Implementation of Task-based GCI-like Work Flow for Melange}{}{}{} {Implemented a system, where administrators can create and mange tasks, students can claim these tasks and submit their work, which can be reviewed by the mentors which helps to run the Google Code-in (GCI) contest. This code is already in use and Google Code-in 2010 and 2011 contests were run the on this code \colorhttplink{http://code.google.com/gci}. This contest was previously called Google Highly Open Participation(GHOP). The project was implemented in Python, Django and Google Appengine. Source: \colorhttplink{http://bitbucket.org/madhusudancs/melange-mq}} \cventry{Google Summer of Code 2008}{GNU/Linux Compatible /proc Filesystem for GNU Hurd Operating System}{}{}{} {Implemented a sophisticated procfs pseudo-filesystem for “the Hurd” Operating System. The project thus made the GNU/Linux process management tools like ps, top, vmstat, skill, nice, pgrep, pstree, etc., run out of the box without porting the them to Hurd. Source: \colorhttplink{http://github.com/madhusudancs/procfs}} \cventry{Paper}{Optimal Streaming Protocol for Video-on-Demand Using Client's Residual Bandwidth}{}{}{} {Along with the 3 other team mates, I designed a protocol through which videos can be streamed through well connected network using cooperative chaining. The protocol avoided wastage of bandwidth by implementing dual level chaining at the client and the proxy server levels. I was particularly responsible for designing the protocol and the chaining mechanisms.} \cventry{Internship at Vee Technologies}{Dynamic Form Generation Application}{}{}{} {Along with 3 other team mates, I implemented a web application, written in PHP, to generate forms on the fly based on the definitions given by the admins. We used MySQL, XML and related technologies like XSL and XSLT for data management. I was particularly responsible for the modules that stored, retrieved and manipulated meta-data of the dynamic forms in XML format. I was also responsible for the module that rendered the form given the meta-data.} \cventry{Academic}{Co-Sequential Processing Of Files}{}{}{} {Implemented a Co-Sequential Files Processing System'' in C++ where the bank transactions will be processed and posted on a day-to-day basis.} \section{Experience} \cventry{June, 2012--Sept, 2012}{Software Engineering Intern}{Google}{}{} {I worked on implementing/integrating data analysis tools for Project Hosting on Google Code.} \cventry{January, 2009--Current}{Core Developer}{Melange}{}{} {I am a core developer (committer) on the Melange project. Melange is used by Google's Open Source Programs Office to run its Google Summer of Code\texttrademark and Google Code-in\texttrademark programs. I work on Melange along with a globally distributed team. I work on all the aspects of the project from \textbf{Python}, \textbf{Django} and \textbf{Google Appengine} code in the backend to \textbf{HTML}, \textbf{CSS} and \textbf{Javascript} code used in the frontend. I have over 1000 commits to date. \colorhttplink{http://code.google.com/p/soc/}} % arguments 3 to 6 are optional \cventry{October, 2011--April, 2012}{Advanced Ruby on Rails Developer}{Office of Information Technology}{University of California, Irvine}{} {I work on the academic personnels project called Recruit''. Recruit is a University of California wide online system for recruiting faculty to the respective universities. I am responsible for implementing new features on the backend. The project is written in \textbf{Ruby on Rails}.} \cventry{July, 2009--July, 2011}{Reasearch Assistant}{Free and Open Source software in Science and Engineering Education(FOSSEE)}{Indian Institute of Technology, Bombay}{} {Worked as a content generator, instructor, programmer for both \textbf{scientific computing} packages and websites that fossee maintained like \colorhttplink{http://scipy.in} etc. Also maintained the \textbf{Mercurial} server hosted at \colorhttplink{http://hg.fossee.in} and served as a part-time sys-admin for maintaining \colorhttplink{fossee.in} servers to fill in the shortage of sys-admin resources. As part of the work I delivered courses at various educational institutes in India. Have delivered talks/lectures in ten workshops and two conferences till date.} % arguments 3 to 6 are optional \cventry{Google Summer of Code 2011}{Mentor}{Google Code-In with new architecture}{Melange project}{} {Mentored an University student during the summer to implement the Google Code-in (previously GHOP) module based on the Melange v2 architecture.} % arguments 3 to 6 are optional \cventry{Google Summer of Code 2010}{Mentor}{Social features for Melange}{Melange project}{} {Mentored an University student during the summer to implement the features like user profiles, calendar and documents sharing, etc. for Melange to make it more social.} % arguments 3 to 6 are optional \end{document} `