-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
136 lines (136 loc) · 9.23 KB
/
index.html
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
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<!-- CDN -->
<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400' rel='stylesheet' type='text/css'>
<link href="http://netdna.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.css" rel="stylesheet">
<!-- Skeleton -->
<link rel="stylesheet" href="stylesheets/base.css">
<link rel="stylesheet" href="stylesheets/skeleton.css">
<link rel="stylesheet" href="stylesheets/layout.css">
<link rel="shortcut icon" href="images/favicon.ico">
<link rel="apple-touch-icon" href="images/apple-touch-icon.png">
<link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png" />
<!-- Custom CSS -->
<link rel="stylesheet" href="stylesheets/main.css">
</head>
<body>
<div class="container">
<div class="sixteen columns">
<header class="header">
<h1>Charith Tangirala</h1>
<hr/>
</header>
<div class="social">
<a href="https://charithtangirala.wordpress.com/"><i class="fa fa-wordpress fa-lg"></i></a>
<a href="https://github.com/charithtangirala"><i class="fa fa-github fa-lg"></i></a>
<a href="http://www.linkedin.com/pub/charith-tangirala/2/47/38"><i class="fa fa-linkedin fa-lg"></i></a>
<a href="https://twitter.com/ctangirala"><i class="fa fa-twitter fa-lg"></i></a>
</div>
<h2>Namaste!</h2>
<p>
I am a Full Stack Developer primarily interested in building SaaS based applications. I have extensive background in the area
of Unified Communications and IP Telephony through Cisco. My most recent job was to build a healthcare analytics platform to
improve hospital’s operation cost. My passion lies in understanding how to effectively store huge sets of data, writing
analytical APIs and building beautiful and user-friendly visualizations to untangle the data. I am constantly learning new and
effective tool/methodologies to master all three components to Big Data – storage, analytics and visualization. If you are
interested in knowing more about my professional accomplishments, then take a look at my <a href="resume.html">resume</a>.
</p>
<p>
When I am not writing code, you will find me surfing the web for unique and interesting recipes. I love food, not just the
eating part but also cooking. I grew up in three different countries – Iran, India and U.S.A - and I have grown to love
traveling and indulge in diverse foods. Some of the other things I enjoy are playing video games (MMOs and RPGs in particular),
gardening and photography.
</p>
<h2>What's new...</h2>
<div class="row">
<div class="three columns alpha">
<h3>Big Data</h3>
</div>
<div class="thirteen columns omega">
<p>
The recent outburst of social media web sites such as facebook, twitter and linkedin has introduced new challeges and
business opportunities. The challenge is that end users such as you and me are constantly uploading massive amounts of
media (audio, video and text) and the challenge is twofold, storage and computing.
</p>
<p>
Lets talk storage issues. Up until now relational databases have done a decent job in storing end user data. Typically,
there is a cluster of database servers and each server in the cluster is replicated for redundancy and high availabitly.
All the data is stored in a single database server. But once data starts to grow into massive numbers for a single user,
it starts putting a hole in this model. This is because it is not possible to store all this data on a single database
server. The solution is to distribute the data across multiple database server. This is where NoSQL databases come to
your rescue!
</p>
<p>
As data grows larger, processing the data and performing complex operations also becomes challening and time consuming.
Distributed and/or parallel computing is a logical solution in this scenario. In particular the MapReduce programing model
is used to process large sets of data using parallel, distributed algorithms on a cluster of computers. The most popular
open-source implementation of MapReduce programming model is Apache Hadoop. If you haven't already jumped on the Big Data
bandwagon, it is time you jump on it as this field is growing fast.
</p>
</div>
</div>
<div class="row">
<div class="three columns alpha">
<h3>WebRTC</h3>
</div>
<div class="thirteen columns omega">
<p>
If you aren't already familiar with the ongoing efforts in the area of WebRTC, then let me catch you up quickly! Google
started to toy around with the idea that any real-time communication (audio, video and data) over web should be browser independent
and plugin-free. In other words, media streaming capabilities must be native to all browsers and must be easily available
to developers in form of javascript APIs and HTML syntax. You might be thinking, "WoW! Thats a huge effort to get all browser
vendors to implement this." You are right, it is a massive effort and thats where IETF steps in. IETF formed a group called
RTCWeb (Real Time Communications over Web) in order to impose standards and specifications and in general to govern the
implementation by various browser vendors. RTCWeb and WebRTC are exactly same except that the term RTCWeb is used when someone
is talking about the IETF specifications and WebRTC is often used when someone talks about the W3C implementation of IETF specs.
</p>
<p>
Does it sound exciting yet? You can keep up with the latest news by visiting <a href="http://webrtc.org">webrtc.org</a>.
I am currently working with Mozilla Firefox team through Cisco by helping them implement WebRTC APIs in Firefox, more
specifically in the signalling layer. It has been a challenging process thus far because for the past seven years, I have been
working in the application layer. On the contrary, WebRTC' signaling layer is mostly C and C++. It is fun and I get to learn a
lot. So far, I have been still in the learning phase and fixed a few defects. I am hoping to get involved with more core features
soon. I have a sample WebRTC application (still a work in progress) hosted in github,
<a href="https://github.com/charithtangirala/webrtc-app"> https://github.com/charithtangirala/webrtc-app</a>.
Currently it supports end-to-end video and audio calling. Feel free to fork! If you are looking for a step-by-step tutorial,
take a look at <a href="http://www.html5rocks.com/en/tutorials/webrtc/basics/"> HTML5 Rocks</a> site.
</p>
<p>
You might be wondering how Cisco is involved in WebRTC. Let me explain, Cisco open-sourced its SIP stack, SDP Engine and
Call-Control application logic used in Cisco's Soft Phone product. The open source project can be found on GitHub by name
<a href="https://github.com/ethanhugg/ikran">ikran</a>. A few engineers from Cisco have been collaborating with Mozilla team
to implement WebRTC in Firefox and that is how I got involved.
</div>
</div>
<div class="row">
<div class="three columns alpha">
<h3>Web Operations</h3>
</div>
<div class="thirteen columns omega">
<div class="eight columns alpha">
<p>
I recently started reading a book by John Allspaw on Web Operations. Web Operations is all about site reliability, architecture
and computing. A Web Operations engineer is an all-rounder who has broad understanding of several architectural components such as
processor architectures, memory systems, storage systems, network switching and routing, HTTP, database, etc. I think it is simply
awesome to be involved in architecting a solution which is thourougly monitored and easy to diagnose in the event of major downtime.
If you are about to build such an infrastructure or have aspirations to be an architect or web/dev operations engineer, then this
book is a very good read.
</p>
</div>
<div class="five columns alpha">
<blockquote>
<p>
"Operations is all about understanding where theory and practice collide, and devising methodologies to limit the casualties from
the explosions that ensue."
</p>
<cite>John Allspaw & Jesse Robins, Web Operations</cite>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</body>
</html>