This CV summarizes Srinivasa Rao Myla's educational and professional experience. He has a PhD from IIT Kharagpur and masters from IIT Kanpur. He currently works as an R&D engineer at Synopsys in Bangalore since 2011. Previously he worked at Samsung India and prepared for the UPSC civil services. He has over 10 years of experience in software development using C/C++ and has worked on several projects related to FPGA design, compiler design, and network programming. He has a strong academic record and received several awards for his performance in engineering entrance exams.
Java v/s .NET is an age old debate! We have compared both Java and .NET on parameters like technical performance and future scope. NIIT provides certification courses for both Java and .NET. View our presentation and choose which course to enrol for at NIIT!
Java v/s .NET is an age old debate! We have compared both Java and .NET on parameters like technical performance and future scope. NIIT provides certification courses for both Java and .NET. View our presentation and choose which course to enrol for at NIIT!
This lecture overviews today leading technologies in web applications development and provides a detailed comparison between the three. This lecture is relevant both for software developers and software development managers who need to select which technology to use, for students who are doing their first steps in the practical world and for people without and background in software development.
More information about the Java course I deliver can be found at java.course.lifemichael.com
More information about the PHP course I deliver can be found at php.course.lifemichael.com
More information about the C# course I deliver can be found at csharp.course.lifemichael.com
Are you still struggling to pick the best object oriented programming language? If yes, then here we are offering the best ever comparison on C++ vs java. This comparison will help you to pick the best programming language between these two.
This lecture overviews today leading technologies in web applications development and provides a detailed comparison between the three. This lecture is relevant both for software developers and software development managers who need to select which technology to use, for students who are doing their first steps in the practical world and for people without and background in software development.
More information about the Java course I deliver can be found at java.course.lifemichael.com
More information about the PHP course I deliver can be found at php.course.lifemichael.com
More information about the C# course I deliver can be found at csharp.course.lifemichael.com
Are you still struggling to pick the best object oriented programming language? If yes, then here we are offering the best ever comparison on C++ vs java. This comparison will help you to pick the best programming language between these two.
Learn how to develop an AndroidApp from a senior developer — for free! We decided to make one of our “Showmaxers teaching Showmaxers” events public. This one is from our Android developer Michal Ursiny. Check it out.
What you will learn and do:
- Introduction to Android development and what it takes to develop for Android - it’s actually pretty easy to start compared to other mobile platforms
- Java vs Kotlin - you can use both, but we recommend Kotlin
- How to create new project using Android Studio, the official IDE for Android development
- How to choose the appropriate minimum SDK version
- Understanding basic project structure:
sources
resources
AndroidManifest.xml
build.gradle
- You will run the demo project generated by Android Studio and modify it
- The basic building blocks:
Activity
Fragment
View
- How to build basic layouts using resources and themes
- The challenges - lifecycles and why to use viewmodels
- Permissions - how to access REST APIs using Retrofit library and why using third party image libraries is a good idea
Getting started
Download Android Studio - the official IDE based on IntelliJ IDEA. Configure your emulator or enable developer mode on your device and connect to the computer. Get acquainted with Android Studio.
Originally, the sample project used within the tutorial was targeting our internal Showmax Search API. It was changed to use GitHub Users Search API so it’s available and useful for everyone.
On our blog on https://tech.showmax.com/2021/02/android-crashcourse/ you can watch Michal’s easy-to-digest and comprehensive presentation embedded from YouTube.
Or just read the deck and learn the basics.
Try building the app yourself by following the shared sample project: https://github.com/Showmax/GithubUsersSearch
PVS-Studio advertisement - static analysis of C/C++ codeAndrey Karpov
This document advertises the PVS-Studio static analyzer. It describes how using PVS-Studio reduces the number of errors in code of C/C++/C++11 projects and costs on code testing, debugging and maintenance. A lot of examples of errors are cited found by the analyzer in various Open-Source projects. The document describes PVS-Studio at the time of version 4.38 on October 12-th, 2011, and therefore does not describe the capabilities of the tool in the next versions. To learn about new capabilities, visit the product's site <a>http://www.viva64.com</a> or search for an updated version of this article.
The ultimate cheat sheet on .net core, .net framework, and .net standardConcetto Labs
Here you will learn the difference between .Net core, .Net framework, & .Net standard and will guide you to choose the best as per your business requirements.
APIs are part of mobile apps and mobile app development projects. When you hire .net developers to work on APIs, they’ll want to use gRPC for the purpose. If you wish to learn about this API-building technology, you should keep reading.
The Development History of PVS-Studio for LinuxPVS-Studio
Earlier this year, we started doing something that we had felt uncertain about for a long time, namely porting PVS-Studio to Linux. In this article, I will tell you how we made the decision to create a product for Linux distributions after 10 years of the Windows version's existence. It's a big job, which, unfortunately, involves much more work than simply compiling the source files for the new platform, as some may think.
DevBCN Vertex AI - Pipelines for your MLOps workflowsMárton Kodok
In recent years, one of the biggest trends in applications development has been the rise of Machine Learning solutions, tools, and managed platforms. Vertex AI is a managed unified ML platform for all your AI workloads. On the MLOps side, Vertex AI Pipelines solutions let you adopt experiment pipelining beyond the classic build, train, eval, and deploy a model. It is engineered for data scientists and data engineers, and it’s a tremendous help for those teams who don’t have DevOps or sysadmin engineers, as infrastructure management overhead has been almost completely eliminated. Based on practical examples we will demonstrate how Vertex AI Pipelines scores high in terms of developer experience, how fits custom ML needs, and analyze results. It’s a toolset for a fully-fledged machine learning workflow, a sequence of steps in the model development, a deployment cycle, such as data preparation/validation, model training, hyperparameter tuning, model validation, and model deployment. Vertex AI comes with all classic resources plus an ML metadata store, a fully managed feature store, and a fully managed pipelines runner. Vertex AI Pipelines is a managed serverless toolkit, which means you don't have to fiddle with infrastructure or back-end resources to run workflows.
MLFlow: Platform for Complete Machine Learning Lifecycle Databricks
Description
Data Science and ML development bring many new complexities beyond the traditional software development lifecycle. Unlike in traditional software development, ML developers want to try multiple algorithms, tools, and parameters to get the best results, and they need to track this information to reproduce work.
MLflow addresses some of these challenges during an ML model development cycle.
Abstract
ML development brings many new complexities beyond the traditional software development lifecycle. Unlike in traditional software development, ML developers want to try multiple algorithms, tools, and parameters to get the best results, and they need to track this information to reproduce work. In addition, developers need to use many distinct systems to productionize models. To address these problems, many companies are building custom “ML platforms” that automate this lifecycle, but even these platforms are limited to a few supported algorithms and to each company’s internal infrastructure.
In this session, we introduce MLflow, a new open source project from Databricks that aims to design an open ML platform where organizations can use any ML library and development tool of their choice to reliably build and share ML applications. MLflow introduces simple abstractions to package reproducible projects, track results, and encapsulate models that can be used with many existing tools, accelerating the ML lifecycle for organizations of any size.
With a short demo, you see a complete ML model life-cycle example, you will walk away with: MLflow concepts and abstractions for models, experiments, and projects How to get started with MLFlow Using tracking Python APIs during model training Using MLflow UI to visually compare and contrast experimental runs with different tuning parameters and evaluate metrics
The interest of coding aptitudes is soaring and not just only for designers, writing computer programs is assuming a greater job in each profession way. The main importance of 'Code Up' is to learn to code interactively. In this project we are providing interface with different levels of question to enhance their programming skills based on the level of the questions solved. We are using Servlet, JSP and oracle database with Model 2 architecture so that request and response can be handled easily. We are using reflection Application Program interface API and runtime API for the execution and compilation of the code at runtime. An online based program compiler to enhance platform independent services for multiple languages support. Regardless of dynamic working nature of compiling the program, it is also capable of handling multiple request of code execution. Even though it is specially designed for student programmers who want to learn and improve their knowledge about the multiple languages and understand the various complexities of code to be improved before implementing it into real world software as a part or a component. This platform provides a web portal where one makes their account for daily improvement as well as to gather information about their coding knowledge growth and other important guide. It will help indivisible, mainly student to increase their knowledge in the field of coding .The present working code compiler is available but it has a slate limitation it won't execute all the programming languages. Moreover it might sometime throw an error. Some of the language like java IDE Integrated Development Environment Eclipse, Net Beans takes up a lot of space in the personal computer but the portable code compiler is completely mobile and can be accessed from anywhere in the world. Rimmy Kumari | Ganeshan M "Portable Code Compiler" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-4 | Issue-4 , June 2020, URL: https://www.ijtsrd.com/papers/ijtsrd30911.pdf Paper Url :https://www.ijtsrd.com/computer-science/programming-language/30911/portable-code-compiler/rimmy-kumari
Advantages of golang development services & 10 most used go frameworksKaty Slemon
Golang is a programming language trusted by companies like Dropbox, Facebook, Netflix & Uber. Here we are providing Golang pros & list of top 10 Golang Frameworks.
Build Great Networked APIs with Swift, OpenAPI, and gRPC
resume
1. Curriculum Vitae
Personal Details
Name : Srinivasa Rao M
References:Madhav Chikodikar (Senior manager R&D Synopsys),
Padmanathan Panthatcharam(R&D Engineer Synopsys)
Subhankar Ghosh (R&D Engineer Synopsys)
Email Id: srmyla@gmail.com
Company Designation Time Period
Synopsys ( Bangalore) R&D Engineer Sep 2011-
Prepared for UPSC Civil Services Cleared Initial Phases 2007-2009
Samsung India Software
Centre(Noida)
Senior Software Engineer July 2005-Mar 2006
Class School/College
Year of
Passing
Percentage/CPI
Obtained
(PhD) IIT Kharagpur(July2010-July 2011) -- 8.00/10
Master of Technology
(M.Tech) in Computer
Science and
Engineering (CSE)
Indian Institute Of Technology,
Kanpur (http://www.cse.iitk.ac.in)
2005 8.00 / 10
Bachelor of
Technology (B.Tech)
in (CS&E)
Bapatla Engineering College, Bapatla.
Guntur Dist. Andhra Pradesh(State).
(http://www.becbapatla.ac.in/)
2003 80.23
Intermediate
M.C.Junior College, Board of
Intermediate Education(AP)
1998 87.9
X Class
A.B.M high School, Board of
Secondary Education(AP)
1996 82.3
Programming Languages: C, C++, Tcl/Tk, Shell, AWK programming
HDLs: Verilog, VHDL, SystemVerilog
Scientific Tools: Matlab, NS (Network Simulator)
Parallel Programming languages: MPI, PVM, POSIX threads
Database Query Languages: SQL, PL/SQL, Embedded SQL in C.
Applications: HTML and Web Programming.
Network Libraries on which I worked: Libwww, openssl
Automated tools: Automake, Autoconf, libtool, Lex, Yacc
Document Preparing Packages: Latex, MS Office
Job Experience
Educational Information
Skill Set
Main Projects
2. Distributed SLP writer:
o Programming Language: C
o Duration, Company: 6 months, Syopsys
o Role: Main developer
This is currently ongoing project. Currently for writing the slp writer we are loading
the whole netlist of the design. This is consuming lot of memory and makes run
time very slow. In this project we load netlist only partially and load modules on
demand using skeleton netlist.
Adding initial value support for registers and memories in slp writer, vm writer
o Programming Language: C
o Duration, Company:1 month, Synopsys
o Role: Main Developer
In 1403 release slp writer is not forward annotating initial values for registers and
memories. Without it may cause simulation failures and logic bugs. In this project we tried
to handle that.
Making slp writer output System Verilog compatible and implemented rotl,rotr rtl
models
o Programming Language:C
o Duration, Company:3 months, Synopsys
o Role: Main Developer
In this project we made the slp writer output system Verilog compliant. That means the
Verilog code written by slp writer is a valid system Verilog code as well. Like there will be
no system Verilog keywords in any module ports and the Verilog written is a legal system
Verilog as well. In this project we implemented rtl models for rotate left and rotate right
operators.
Using System Verilog constructs force/bind to reduce number of modified modules
o Programming Language:C,Verilog
o Duration, Company:3 months, Synopsys
o Role: Main Developer
When a module has to be machine generated due to various reasons like partition, complex
ports then we have to machine generate all the modules above that module in the hierarchy.
This increases number of modified modules. If we use force/bind constructs of system
Verilog then we can prevent machine generation of whole hierarchy. In this project we
have implemented it which is yet to be productized.
Automatic VCS Script generation for post partition netlist simulation for
Certify/Protocompiler
o Programming Language:C,Verilog
o Duration, Company:3 months, Synopsys
o Role:Main Developer
After partition all most all designs are simulated to verify their functional correctness.
The most popular tool for simulation is VCS. As part of slp generation stage itself, we
will create a vcs script sothat user has no need to write a vcs script can make changes to
the Automatic generated vcs script.
Writing One module per file for SLP writer for Certify/Protocompiler
o Programming Language:C,Verilog
o Duration, Company:3 months, synopsys
o Role: Main Developer
Till 2014.03 release all machine generated modules are being written in a single file.
This has some disadvantages/limitations like if the machine generated modules has
more than one encryption then we cannot open the file in more than one encrypted
form. And if the user wanted to ignore some modified modules, he has to explicitly
delete them. On the other hand, if the module is generated per file we can open the file
in the specific encryption form of the module and if the user does not want some
modules then he can simply do not add the corresponding files in the fpga mixed
project.
3. Supporting System Verilog multidimensional ports(2d ports) in SLP Writer for
Certify/Protocompiler
o Programming Language: C,System Verilog
o Duration, Company:3 months, Synopsys.
o Role: Main Developer
Certify and Protocompiler are prototyping multi fpga tools. After the design has
been partitioned, some modules get modified due to partition, failed to uniquify
or modules having ports with keyword names and some other reasons. Till
1403, If the module is system Verilog and it has complex ports like two
dimensional ports, we are machine generating that module. If a module has been
machine generated then modules in the upper level hierarchy are also machine
generated. This increases number of modified modules. The less the number of
modified modules, the better it can be easily simulated. As part of reducing total
modified modules, we are reusing original module with complex ports instead
of machine generating it. As part of this the generated file is system Verilog and
no longer a Verilog one.
Rtl-ilm model creation for Automatic Compile Point flow and running top module as
a separate Compile Point for Synplify:
o Programming Language: C, Posix Threads, Verilog/VHDL
o Platform: Linux
o Duration, Company: 6 months, Synopsys
o Role: Main Developer
Compile Point flow is used to synthesize designs in parallel. Automatic compile
point flow is used to automatically select module with enough logic and to run them in
parallel. There was dependency between the compile points (Only after all child
compile points are mapped we should map its parent using mapped timing models of
child CPs). This project is aimed at removing dependency using rtl level timing model.
In addition to this we have successfully mapped top module as a separate compile
point. This will allow compile points can be run even across machines. Currently this
flow is being applied to Xilinx, Altera, Microsemi mappers.
Read/Write Check Collision Logic for Write first RAM for Synplify:
o Programming Language: C, Xml, Verilog/VHDL
o Platform: Windows
o Duration, Company : 3 months (Synopsys), Main Developer
o This is project is to develop UI switch so that if the user is sure that in his
design there will be no read/write collision, he can set the switch off. If there is
a collision he can set the switch on so that bypass logic will be built around the
inferred RAM. This is implemented for all FPGA technologies (Xilinx,
Altera,..).
Handling Initial values for RAM when it decomposed into registers for Synplify:
o Programming Language: C, Verilog/VHDL
o Platform: Windows
o Duration, Company : 3 months (Synopsys), Main Developer
o When the RAM module is being decomposed into registers either explicitly set
by user or if the RAM cannot be inferred due to some other reason then the
initial values set on the RAM should be propagated to the corresponding
fragmented registers. Honoring initial values is very important for high
reliability designs. This project is aimed at honoring initial values for RAM
when decomposed into registers.
Issues on Automatic Compile Point Flow for Synplify:
o Programming Language: C with posix threads, Verilog/VHDL
o Tools : gdb,vs2010
o Platform: Windows/ Linux
4. o Duration, Company : 3 months (Synopsys), Co-Developer (team of 3)
o In this ongoing project, I have handled some issues like pushing tristate to top,
Honoring syn_probe attribute, resolving multiple CPs with same Name etc.
IHD Browser for HDDVD Player:
o Programming Language: C with POSIX threads ,C++
o Libraries: libwww, openssl
o Tools: Automake, Autoconf, libtool
o Document Preparing Package: Latex
o Duration, Company : 6 months (Samsung), owner of network module
o Platform: Linux
o This project is to develop a high definition browser for HD DVD Player. I
handled Network Module. The function of Network layer is to take request from
FCM(File Cache Manager) for downloading and connects to the network to
download and Present the data to FCM. It also gets request from Programming
Engine (Script Module) through APIs. Important sub modules implemented in
this project are
Disc Authentication
Connecting using SSL when the protocol is https
Server Authentication
Cookies and CA certificate Management
Data Streaming and Compete Downloading
Developing APIs to be used by script module
Used libwww as a main library and the openssl for the support of https and Server
Authentication
Demultiplexing Transport stream for HDTV for simultaneous display of channels on
different windows
o Programming Language: C and OpenGL
o Codecs: MPEG4,MP3,WAV
o Platform: Linux
o Document Preparing Package: Latex
o Duration, Company : 6 months (Samsung), co-developer (team of 5)
o This project is to demultiplex transport stream of TV cable network in real time
and displaying various channels simultaneously on different windows using
open GL. HDTV shows the user selected channel.
MTech Thesis: BioBIRCH: An Incremental Algorithm for Clustering of ESTs
Tools: BLAST, CAP3, Phrap, Phred, TIGR Assembler, Celera
Platform: Linux
Document Preparing Package: Latex
Expressed genes of an organism are not sequenced in single pass due to
experimental limitations. Expressed Sequence Tags(ESTs) are subsequences of
expressed genes, sequenced in single pass. ESTs are clustered to obtain their parent
genes. Whenever ESTs of an expressed gene of an organism are sequenced they are
added to the current database of ESTs of that organism. Due to advancements in
sequencing machines, databases of ESTs become huge with no upper bound on their
size. Clustering of ESTs has become a challenging task because of these huge datasets.
Though number of ESTs of an organism does not have an upper bound, total number of
genes of an organism is constant. Exploiting this property, we designed and
implemented a new incremental algorithm BioBIRCH for clustering of ESTs. To our
knowledge this is first such algorithm to cluster ESTs. The novel features of this
algorithm are 1) whenever a new dataset is added to the database, instead of clustering
updated database from beginning, we emph {merge} new data set with the clusters of
old database and cluster this resultant dataset to form new clusters. 2) time and space
5. required for clustering become negligible, when compared with traditional techniques.
3) since the number of clusters(genes) is constant for an organism, whatever may be
size of the database, this algorithm does not go out of memory which is the biggest
problem in clustering. 4) this algorithm avoids all versus all pair wise alignment of
ESTs, making it time efficient. Using sequential version of this algorithm, we clustered
31,000 Arabidopsis ESTs in 6 days on Pentium IV 3.6 GHz machine. Dataset of 55,000
ESTs of Arabidopsis thaliana is clustered in 4 days on a parallel machine of 11 Pentium
III nodes, with parallel version of this algorithm. The quality of these clusters are good
when compared with clusters formed using PaCE. The current state-of-the-art parallel
softwares like PaCE and TGICL are not able to run on this data set on the same parallel
machine.
B.Tech Project: Design and Implementation of subset of ANSI C Compiler
Languages: C, Shell, AWK
Tools: Lex, Yacc
Document Preparing Package: MS Office
Platform: Unix
In this Project we have taken a subset of C Language and Implemented a
Compiler. This compiler takes a program written in C and converts it into an
Intermediate language. We used Lex as Lexical analyzer and Yacc as syntax
analyzer
COURSES TAKEN IN GRADUATION (Core):
1st Year: Numerical Computational Methods, Differential Calculus, Integral Calculus,
Probability and Statistics, C Programming.
2nd Year: Digital Logic Design, Discrete Mathematics, Data Structures, Computer Graphics,
Electronic Devices & Linear IC’s.
3rd Year: Systems Software, Computer Organization, Automata Theory and Formal Languages,
Object Oriented Programming & Systems, Principles of Programming Languages, Microprocessors &
Interfacing, System Analysis and Design, Operations Research, Operating Systems.
4th Year: Compiler Design, Database Management Systems, Design & Analysis of Algorithms,
Computer Networks, Software Engineering, Distributed Database Systems, Image Processing.
COURSES TAKEN IN POST-GRADUATION:
1st Semester: Advanced Computer Networks, Machine Learning and Knowledge Discovery, Mobile
Computing, Design and Analysis of Algorithms.
2nd Semester: Computational Complexity, Data Mining, Logic in Computer Science.
Cleared PhD comprehensive exam with highest marks at IIT KGP in first semester itself
Best Team Player Award 2005-06 presented by Samsung India Software Centre, New Delhi
Recipient of Gold Medal for getting first position in GATE-2003( National level Entrance
Exam for doing PG in IITs and NITs ) (percentile 99.74, AllIndiaRank-97) among all the
B.Tech students in the college in the final year of B.Tech.
Recipient of Gold Medal for getting first position in GATE-2002 percentile 99.56, AllIndiaR-
ank-83 among all B.Tech students in the college in third year of B.Tech.
Courses
Scholastic Achievements
6. Got 475 rank in EAMCET-98(Region Level Entrance Exam for doing Bachelor Degree in
Engineering Conducted by Andhra Pradesh state Government).
One in Top 10 of the class throughout my educational career
The information given above is true to the best of my knowledge.
Srinivasa Rao Myla