<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Satish Chandra Gupta</title>
    <description>The latest articles on DEV Community by Satish Chandra Gupta (@scgupta).</description>
    <link>https://dev.to/scgupta</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F172490%2Fd55a8c14-06d8-4a26-9c81-ca6112cc8895.jpeg</url>
      <title>DEV Community: Satish Chandra Gupta</title>
      <link>https://dev.to/scgupta</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/scgupta"/>
    <language>en</language>
    <item>
      <title>MLOps: Machine Learning Lifecycle</title>
      <dc:creator>Satish Chandra Gupta</dc:creator>
      <pubDate>Tue, 13 Sep 2022 05:55:07 +0000</pubDate>
      <link>https://dev.to/scgupta/mlops-machine-learning-lifecycle-2oc7</link>
      <guid>https://dev.to/scgupta/mlops-machine-learning-lifecycle-2oc7</guid>
      <description>&lt;p&gt;Building machine learning products or ML-assisted product features involve two distinct disciplines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Model Development:&lt;/strong&gt; Data Scientists — highly skilled in statistics, linear algebra, and calculus — train, evaluate, and select the best-performing statistical or neural network model.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Model Deployment:&lt;/strong&gt; Developers — highly skilled in software design and engineering — build a robust software system, deploy it on the cloud, and scale it to serve a huge number of concurrent model inference requests.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course, that is a gross over-simplification. It takes several other vital expertise in building useful and successful ML-assisted products:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data Engineering:&lt;/strong&gt; Build data pipelines to collect data from disparate sources, curate and transform it, and turn it into homogenous, clean data that can be safely used for training models.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Product Design:&lt;/strong&gt; Understand business needs, identify impactful objectives and relevant business matrices; define product features or user stories for those objectives, recognize the underlying problems that ML is better suitable to solve; design user experience to not only utilize ML model prediction seamlessly with rest of the product features but also collect user (re)action as implicit evaluation of the model results, and use it to improve the models.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security Analysis:&lt;/strong&gt; Ensure that the software system, data, and model are secure, and no Personally Identifiable Information (PII) is revealed by combining model results and other publicly available information or data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AI Ethics:&lt;/strong&gt; Ensure adherence to all applicable laws, and add measures to protect against any kind of bias (e.g. limit the scope of the model, add human oversight, etc.)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As more models are being deployed in production, the importance of MLOps has naturally grown. There is an increasing focus on the seamless design and functioning of ML models within the overall product. Model Development can’t be done in a silo given the consequences it may have on the product and business.&lt;/p&gt;

&lt;p&gt;We need an ML lifecycle that is attuned to the realities of ML-assisted products and MLOps. It should facilitate visibility for all stakeholders, without causing too many changes in the existing workflows of data scientists and engineers.&lt;/p&gt;

&lt;p&gt;In the rest of the article, I first give an overview of the typical Model Development and Software Development workflows, and then how to bring the two together for adapting to the needs of building ML-assisted products in the MLOps era.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.ml4devs.com/articles/mlops-machine-learning-life-cycle/"&gt;Continue reading »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>machinelearning</category>
      <category>devops</category>
    </item>
    <item>
      <title>Serverless Computing on AWS, Azure, and Google Cloud</title>
      <dc:creator>Satish Chandra Gupta</dc:creator>
      <pubDate>Tue, 06 Sep 2022 04:22:58 +0000</pubDate>
      <link>https://dev.to/scgupta/serverless-computing-on-aws-azure-and-google-cloud-56eg</link>
      <guid>https://dev.to/scgupta/serverless-computing-on-aws-azure-and-google-cloud-56eg</guid>
      <description>&lt;p&gt;Amazon launched its first AWS services in 2006: S3 for Storage and EC2 for Compute. Now there are a plethora of services and offerings from various cloud vendors like AWS, Azure, and Google Cloud. It can be overwhelming to evaluate so many options and pick the right one for you.&lt;/p&gt;

&lt;p&gt;Selecting the right infrastructure alternative is not only about the technical requirements of your application but also about expertise in your team and the growth stage of your business.&lt;/p&gt;

&lt;p&gt;In this article, you will learn about the kinds of cloud deployment alternatives available today, and how to select the right one for your needs. We will also dig into serverless alternatives, and what can make the migration across alternatives easier as your team and business grow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.ml4devs.com/articles/serverless-architecture-for-microservices-on-aws-vs-google-cloud-vs-azure-as-iaas-caas-paas-faas/"&gt;Continue reading »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>serverless</category>
      <category>microservices</category>
      <category>devops</category>
    </item>
    <item>
      <title>SQL Joins: Inner, Left, Right, and Full</title>
      <dc:creator>Satish Chandra Gupta</dc:creator>
      <pubDate>Mon, 25 Jul 2022 14:57:00 +0000</pubDate>
      <link>https://dev.to/scgupta/sql-joins-inner-left-right-and-full-50o1</link>
      <guid>https://dev.to/scgupta/sql-joins-inner-left-right-and-full-50o1</guid>
      <description>&lt;p&gt;For data engineers and data scientists, SQL is valuable expertise. All modern data warehouses as well as data or delta lakes have SQL interfaces. Understanding how an SQL query is executed can help you write fast and economical queries.&lt;/p&gt;

&lt;p&gt;Once you understand SQL concepts like join and window, you will intuitively understand the similar APIs in Spark, Pandas, or R. After all, SQL is one of the ancient programming languages that are still best for what they were invented for (another such example is C for system programming).&lt;/p&gt;

&lt;p&gt;SQL first &lt;a href="https://web.archive.org/web/20070926212100/http://www.almaden.ibm.com/cs/people/chamberlin/sequel-1974.pdf"&gt;appeared in 1974&lt;/a&gt; for accessing data in relational databases, and its latest standard was published in &lt;a href="https://www.iso.org/committee/45342/x/catalogue/p/1/u/0/w/0/d/0"&gt;2016&lt;/a&gt;. It is a declarative language (i.e. a programmer specifies what to do, and not how to do it) with strong static typing.&lt;/p&gt;

&lt;p&gt;SQL Join is one of the most common and important operations to merge data with different attributes (or columns) from different sources (or tables). In this article, you will learn about various kinds of SQL joins and best practices to write efficient joins on large tables.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.ml4devs.com/articles/sql-joins-tutorial-inner-join-left-join-right-join-full-join-cross-join/"&gt;Continue reading »&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fUTLYkOs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r9s39zqsb77p9du7ygga.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fUTLYkOs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r9s39zqsb77p9du7ygga.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Software Architecture Design and Engineering at a Startup</title>
      <dc:creator>Satish Chandra Gupta</dc:creator>
      <pubDate>Wed, 29 Dec 2021 14:03:34 +0000</pubDate>
      <link>https://dev.to/scgupta/software-architecture-design-and-engineering-at-a-startup-3lc0</link>
      <guid>https://dev.to/scgupta/software-architecture-design-and-engineering-at-a-startup-3lc0</guid>
      <description>&lt;p&gt;The great thing about starting a new project is that you get a clean slate. No baggage of design choices that you hated to look at every day in your last project. But how many times have you seen a shiny new project not turning into the same intractable mess?&lt;/p&gt;

&lt;p&gt;It is more likely to happen in a fast-paced startup. The faster the pace, the sooner it happens. So how do you balance moving fast without being trapped in analysis paralysis and keep technical debt at a manageable level?&lt;/p&gt;

&lt;p&gt;You design for change. Ignore the refrain that prevention is better than cure. Instead of preventing the mess, you should embrace it and mitigate it when it happens. That’s what we have done at Slang Labs.&lt;/p&gt;

&lt;p&gt;In this article, I discuss:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Startup Reality: forces and constraints in a startup.&lt;/li&gt;
&lt;li&gt;Engineering Philosophy: our philosophy to manage that reality.&lt;/li&gt;
&lt;li&gt;Slang Architecture: evolution of Slang microservices and SDKs guided by our philosophy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://medium.com/@scgupta/microservices-software-architecture-design-and-engineering-at-a-startup-c2df9587debd"&gt;Continue reading » &lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>design</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Top 10 Programming Languages in 2022</title>
      <dc:creator>Satish Chandra Gupta</dc:creator>
      <pubDate>Wed, 29 Dec 2021 13:58:03 +0000</pubDate>
      <link>https://dev.to/scgupta/top-10-programming-languages-in-2022-49cc</link>
      <guid>https://dev.to/scgupta/top-10-programming-languages-in-2022-49cc</guid>
      <description>&lt;p&gt;What if programming languages were stocks? And you had to make a portfolio to fetch good returns in 2022?&lt;/p&gt;

&lt;p&gt;You probably have seen various surveys and analyses listing the most popular programming languages. Those cover the universe of programming languages, like the S&amp;amp;P 500 does for the stock market. What would be the best portfolio for you to be successful and outperform the rest?&lt;/p&gt;

&lt;p&gt;Of course, it depends on the risk profile, or whether your focus is specific to a specific sector, e.g., web, mobile, enterprise, machine learning, and edge/embedded.&lt;/p&gt;

&lt;p&gt;But let's say you want to pick 10 stocks for a diversified portfolio and a medium-risk appetite. Stocks are of 3 types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Large Cap:&lt;/strong&gt; Big corporations with stable businesses, like Fortune 500 companies. The upside is stable but not manifold, and the downside is limited.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mid Cap:&lt;/strong&gt; Mid-size companies with a high chance of becoming large-cap in the future. These offer much higher returns, but can also go down significantly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Small Cap:&lt;/strong&gt; Upcoming companies. Currently very small, but showing high potential. These might turn out multi-baggers but are very risky too.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you invest only in large caps, your returns will be subdued. If you invest only in small caps, you might hit a jackpot, but can also go bust and lose your shirt. A diversified portfolio allocates money to each asset class. That keeps returns stable, and also has a fair chance at higher returns.&lt;/p&gt;

&lt;p&gt;In this article, I present an opinionated portfolio of 10 general-purpose programming languages, with 50% large-caps, 30% mid-caps, and 20% small-caps. These languages will suffice most of the work done by most teams and organizations.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.ml4devs.com/articles/top-10-programming-languages/"&gt;Continue reading » &lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
    </item>
    <item>
      <title>Actionable Insights from 4 Types of Data Analytics</title>
      <dc:creator>Satish Chandra Gupta</dc:creator>
      <pubDate>Wed, 29 Dec 2021 13:51:01 +0000</pubDate>
      <link>https://dev.to/scgupta/actionable-insights-from-4-types-of-data-analytics-376g</link>
      <guid>https://dev.to/scgupta/actionable-insights-from-4-types-of-data-analytics-376g</guid>
      <description>&lt;p&gt;&lt;strong&gt;“Let’s collect all data we can, and we will fish for insights later.”&lt;/strong&gt; Have you heard this before?&lt;/p&gt;

&lt;p&gt;That approach seldom works. On rare occasions when it does work a little, the RoI is very low w.r.t. the cost of collecting, processing, and storing volumes of data. &lt;br&gt;
Analytics yields better returns when you start with a goal.&lt;/p&gt;

&lt;p&gt;Besides, not all analytics are equal. Fun stats are amusing. But actionable insights that can guide you to the next steps are way more valuable.&lt;/p&gt;

&lt;p&gt;The Drivetrain Approach offers a systematic way to produce actionable insights. It has four steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Define Objective:&lt;/strong&gt; Start by defining your goal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Specify Levers:&lt;/strong&gt; Specify the inputs that you control, the levers you can pull to influence the outcome.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collect Data:&lt;/strong&gt; Figure out what data you need to collect for measuring the effect of pulling those levers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Identify Actions:&lt;/strong&gt; Analyze data and build statistical models to compute which lever to move and how much to achieve the desired outcome.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This article will apply the Drivetrain approach to a problem: starting with a goal to collecting and analyzing data and identifying actions to achieve that goal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.ml4devs.com/articles/drivetrain-approach-actionable-insights-from-descriptive-diagnostic-predictive-prescriptive-data-analytics/"&gt;Continue reading » &lt;/a&gt;&lt;/p&gt;

</description>
      <category>bigdata</category>
      <category>analytics</category>
      <category>datascience</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>NoSQL vs. SQL: 12 Datastores for Your Application</title>
      <dc:creator>Satish Chandra Gupta</dc:creator>
      <pubDate>Tue, 08 Jun 2021 11:51:42 +0000</pubDate>
      <link>https://dev.to/scgupta/nosql-vs-sql-12-datastores-for-your-application-2gl4</link>
      <guid>https://dev.to/scgupta/nosql-vs-sql-12-datastores-for-your-application-2gl4</guid>
      <description>&lt;p&gt;How do you choose a database? Maybe, you assess whether the use case needs a Relational database. Depending on the answer, you pick your favorite SQL or NoSQL datastore, and make it work. It is a prudent tactic: a known devil is better than an unknown angel.&lt;/p&gt;

&lt;p&gt;Picking the right datastore can simplify your application. A wrong choice can add friction. This article will help you expand your list of known devils. It covers the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Database constituents&lt;/strong&gt; that define a datastore’s characteristics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Datastores categorized&lt;/strong&gt; by &lt;strong&gt;data types&lt;/strong&gt;: unstructured, structured (tabular), and various semi-structured (NoSQL) types.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Datastores&lt;/strong&gt; specialized for various &lt;strong&gt;use cases&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decision flow chart&lt;/strong&gt; to navigate the landscape of on-prem and on-cloud alternatives.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.ml4devs.com/articles/datastore-choices-sql-vs-nosql-database/"&gt;Continue reading » &lt;/a&gt;&lt;/p&gt;

</description>
      <category>database</category>
      <category>cloud</category>
      <category>distributedsystems</category>
    </item>
    <item>
      <title>Indic Language Stack for Voice Assistants and Conversational AI</title>
      <dc:creator>Satish Chandra Gupta</dc:creator>
      <pubDate>Thu, 17 Dec 2020 04:27:09 +0000</pubDate>
      <link>https://dev.to/scgupta/indic-language-stack-for-voice-assistants-and-conversational-ai-4j5n</link>
      <guid>https://dev.to/scgupta/indic-language-stack-for-voice-assistants-and-conversational-ai-4j5n</guid>
      <description>&lt;p&gt;&lt;em&gt;Bhārat Bhāṣā Stack will catalyze Voice Assistant and Conversational AI innovations for vernacular Indic languages as India Stack did for FinTech.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;A decade ago, nobody could imagine how digital payments happen today in India. Even street vendors accept money as small as 50 rupees (less than a dollar) on mobile phone. Neither the seller or buyer has to pay any transaction fee. Street vendors don't have deep pockets to build payment gateways either.&lt;/p&gt;

&lt;p&gt;It became possible due to &lt;a href="https://www.npci.org.in/product-overview/upi-product-overview"&gt;Unified Payment Interface (UPI)&lt;/a&gt; of the &lt;a href="https://www.indiastack.org/about/"&gt;India Stack&lt;/a&gt;. It is the digital infrastructure for authentication, payment, and authorization. Every bank implements UPI, so all mobile wallets are interoperable and free of cost.&lt;/p&gt;

&lt;p&gt;India speaks several languages, and a large part of the population is neither tech-savvy nor English literate. In-app Voice Assistants are the natural choice to take the benefits of the internet to the masses.&lt;/p&gt;

&lt;p&gt;But building these assistants takes a huge investment that small companies can not afford. Just as India Stack offered digital payment infrastructure, we need an affordable Indic Language Stack for conversational AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Indic Language Stack
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://www.slanglabs.in/blog/vernacular-indic-language-bharat-bhasha-stack-for-conversational-ai-and-voice-assistant-apps"&gt;Indic Language Stack for Conversational AI&lt;/a&gt; consists of voice and language technologies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Listen:&lt;/strong&gt; Convert speech audio to text. It is called &lt;a href="https://www.slanglabs.in/blog/automatic-speech-recognition-in-python-programs"&gt;&lt;strong&gt;Automatic Speech Recognition (ASR)&lt;/strong&gt;&lt;/a&gt; or &lt;a href="https://www.slanglabs.in/blog/how-to-build-python-transcriber-using-mozilla-deepspeech"&gt;&lt;strong&gt;Speech-to-Text (STT)&lt;/strong&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Understand:&lt;/strong&gt; Understand meaning or intent in the text, and extract important entities. It is called &lt;a href="https://www.slanglabs.in/blog/natural-language-processing-for-voice-assistants-101"&gt;&lt;strong&gt;Natural Language Understanding (NLU)&lt;/strong&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Speak:&lt;/strong&gt; Ask questions to clarify, confirm, or seek needed information from the user. It is called &lt;strong&gt;Speech Synthesis&lt;/strong&gt; or &lt;strong&gt;Text-to-Speech (TTS)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Translate:&lt;/strong&gt; Humans speak different languages. Applications may need to translate text from one language to another. It is called Machine Translation (MT).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Phonetically Translate:&lt;/strong&gt; Many people type Indic languages using phonetic spellings on roman keyboards. The computers may need to do phonetic-translation of the text to Indic language scripts. It is called &lt;strong&gt;Transliteration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;See/Read:&lt;/strong&gt; The ability to recognize images of handwritten or printed characters. It is called &lt;strong&gt;Optical Character Recognition (OCR)&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It has layers to offer diverse entry point based of need and maturity of an organisation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Script:&lt;/strong&gt; India has several scripts, almost one per language&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data:&lt;/strong&gt; Training data is the biggest and most expensive barrier&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Models:&lt;/strong&gt; Even when data is available, traning deep learning model is unaffordable for small organisations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Software as a Service (SaaS):&lt;/strong&gt; SaaS frees developers from hosting the model and managing the service infrastructure. It makes it easier to start building applications.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Software Development Kit (SDK):&lt;/strong&gt; SDKs in popular programming languages and OS platforms form the final layer. SDKs can use the models or SaaS.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PvvfT28W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yzsxmxc1g2vxv4ekot7j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PvvfT28W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yzsxmxc1g2vxv4ekot7j.png" alt="Indic Language Stack" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Ecosystem Participants
&lt;/h2&gt;

&lt;p&gt;It will take systematic and sustained collaboration to design and build the Bhārat Bhāṣā Stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Academia&lt;/strong&gt; sharing research paper with code on Conversational AI problems relevant to India.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Industry&lt;/strong&gt; building voice-enabled products and services for the common man.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Government&lt;/strong&gt; playing a role like the one in building India Stack.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Industry Bodies&lt;/strong&gt; speeding up collaboration through conferences and consortiums.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.slanglabs.in/blog/vernacular-indic-language-bharat-bhasha-stack-for-conversational-ai-and-voice-assistant-apps"&gt;More details » &lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>12 Ways of Applying a Function to Python Pandas DataFrame</title>
      <dc:creator>Satish Chandra Gupta</dc:creator>
      <pubDate>Sat, 10 Oct 2020 02:43:40 +0000</pubDate>
      <link>https://dev.to/scgupta/6-ways-of-applying-a-function-to-python-pandas-dataframe-11i0</link>
      <guid>https://dev.to/scgupta/6-ways-of-applying-a-function-to-python-pandas-dataframe-11i0</guid>
      <description>&lt;p&gt;Applying a function to rows of a Pandas DataFrame is one of the most common operations during data wrangling. There are many ways of doing it.&lt;/p&gt;

&lt;p&gt;I plotted the performance of various ways of applying a function to each row of a Pandas DataFrame, for up to a million rows.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5QBeRP_---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/j21h793oe9vmah7qy81u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5QBeRP_---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/j21h793oe9vmah7qy81u.png" alt="Performance of various alternative for applying a function to Pandas DataFrame" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I was surprised to see itertuples() beating apply(), and humble list comprehension beating them both.&lt;/p&gt;

&lt;p&gt;So far, I was using apply() whenever I found vectorization difficult. Somehow I thought it was the 2nd best option.&lt;/p&gt;

&lt;p&gt;I have been using "%timeit" often. In this exercise, I learned how to do line-level profiling in Python and also plotting the performance over input size.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.ml4devs.com/articles/pandas-dataframe-apply-function-iterate-over-rows/"&gt;Continue reading » &lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>datascience</category>
      <category>machinelearning</category>
      <category>dataengineering</category>
    </item>
    <item>
      <title>Architecture for High-Throughput Low-Latency Big Data Pipeline on Cloud</title>
      <dc:creator>Satish Chandra Gupta</dc:creator>
      <pubDate>Sat, 25 Apr 2020 01:02:20 +0000</pubDate>
      <link>https://dev.to/scgupta/architecture-for-high-throughput-low-latency-big-data-pipeline-on-cloud-2b0j</link>
      <guid>https://dev.to/scgupta/architecture-for-high-throughput-low-latency-big-data-pipeline-on-cloud-2b0j</guid>
      <description>&lt;p&gt;&lt;em&gt;Scalable and efficient data pipelines are as important for the success of analytics and ML as reliable supply lines are for winning a war.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;For deploying big-data analytics, data science, and machine learning (ML) applications in real-world, analytics-tuning and model-training is only around 25% of the work. Approximately 50% of the effort goes into making data ready for analytics and ML. The remaining 25% effort goes into making insights and model inferences easily consumable at scale. The data pipeline puts it all together. It is the railroad on which heavy and marvelous wagons of ML run. Long term success depends on getting the data pipeline right.&lt;/p&gt;

&lt;p&gt;This article gives an introduction to the data pipeline and an overview of architecture alternatives.&lt;/p&gt;

&lt;p&gt;&lt;a&gt;Continue reading »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>bigdata</category>
      <category>analytics</category>
      <category>cloud</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Python Microservices, Part 4: API, Object, and Storage Data Models</title>
      <dc:creator>Satish Chandra Gupta</dc:creator>
      <pubDate>Fri, 24 Apr 2020 03:33:26 +0000</pubDate>
      <link>https://dev.to/scgupta/python-microservices-part-4-api-object-and-storage-data-models-4de5</link>
      <guid>https://dev.to/scgupta/python-microservices-part-4-api-object-and-storage-data-models-4de5</guid>
      <description>&lt;p&gt;&lt;em&gt;Design API data model for communicating with the service, object model for the application logic, and storage model for persisting the data.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;A &lt;strong&gt;data model&lt;/strong&gt; organizes data elements and formalizes their relationships with one another. In database design, data modeling is the process of analyzing application requirements and designing &lt;strong&gt;conceptual&lt;/strong&gt;, &lt;strong&gt;logical&lt;/strong&gt;, and &lt;strong&gt;physical&lt;/strong&gt; data models for storage. However, data storage is only one, albeit an important, aspect of microservices.&lt;/p&gt;

&lt;p&gt;There are three related but distinct data models in a microservice for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;API Data Model&lt;/strong&gt; for &lt;strong&gt;interactions&lt;/strong&gt;: It defines the schema of data payload that can be sent to or is received from the endpoints of a microservice. Also known as communication or exchange data model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Object Data Model&lt;/strong&gt; for &lt;strong&gt;computations&lt;/strong&gt;: It is designed for efficient business logic implementation. Also known as application data model or data structures.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Storage Data Model&lt;/strong&gt; for &lt;strong&gt;persistence&lt;/strong&gt;: It defines the schema of various, occasionally redundant, data stores and caches.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.ml4devs.com/articles/python-microservices-tornado-04-api-object-and-physical-storage-data-models/"&gt;Continue reading »&lt;/a&gt; &lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>python</category>
      <category>microservices</category>
      <category>programming</category>
    </item>
    <item>
      <title>Python Microservices, Part 3: Effective Canonical Logging across Services</title>
      <dc:creator>Satish Chandra Gupta</dc:creator>
      <pubDate>Thu, 23 Apr 2020 02:03:31 +0000</pubDate>
      <link>https://dev.to/scgupta/python-microservices-part-3-effective-canonical-logging-across-services-p1o</link>
      <guid>https://dev.to/scgupta/python-microservices-part-3-effective-canonical-logging-across-services-p1o</guid>
      <description>&lt;p&gt;&lt;em&gt;Learn how to design, implement, test and configure canonical logging across microservices using Python and Tornado web framework.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;Nature is a meticulous logger, and its logs are beautiful. Calcium carbonate layers in a seashell are nature’s log of ocean temperature, water quality, and food supply. Annual rings in tree cambium are nature’s log of dry and rainy seasons and forest fires. Fossils in the layers in sedimentary rocks are nature’s log of the flora and fauna life that existed at the time...&lt;/p&gt;

&lt;p&gt;(Based on a PyCon India 2019 tutorial.) &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.ml4devs.com/articles/python-microservices-tornado-03-effective-canonical-logging-across-services/"&gt;Continue reading »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>python</category>
      <category>microservices</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
