<?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: Kamban</title>
    <description>The latest articles on DEV Community by Kamban (@kambanthemaker).</description>
    <link>https://dev.to/kambanthemaker</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%2F186948%2Ffa14c847-76b6-452f-9ac4-847fbd44f727.png</url>
      <title>DEV Community: Kamban</title>
      <link>https://dev.to/kambanthemaker</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kambanthemaker"/>
    <language>en</language>
    <item>
      <title>Maximizing Productivity for Web Developers: How to Use GPT-3 for Day-to-Day Tasks</title>
      <dc:creator>Kamban</dc:creator>
      <pubDate>Sun, 12 Feb 2023 08:41:32 +0000</pubDate>
      <link>https://dev.to/kambanthemaker/maximizing-productivity-for-web-developers-how-to-use-gpt-3-for-day-to-day-tasks-636</link>
      <guid>https://dev.to/kambanthemaker/maximizing-productivity-for-web-developers-how-to-use-gpt-3-for-day-to-day-tasks-636</guid>
      <description>&lt;p&gt;LLM(Learning Language Models) has made a big entry in recent times. They have applications in a wide range of domains. One of which is web development.&lt;/p&gt;

&lt;p&gt;GPT-3, one of the popular LLMs, can be used to tackle some of the day-to-day challenges for web developers. Given the fact web developers spend considerable time searching the web, this can cut down the time to handle tasks.&lt;/p&gt;

&lt;p&gt;Let me cover a few in this article. I have given GPT-3 specific instructions for common development tasks. You can use these on the OpenAI playground or directly on your Mac with the Elephas app. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Debugging an error&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So you run your code and get a weird error that does not make sense at first. You can ask GPT-3 to answer to it. Simply giving the prompt,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Explain in detail why this error shows up and ways to fix it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here is an error in a python code to test it,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2ghn3KF_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://superblog.supercdn.cloud/site_cuid_cl495vqej08071jpawt8inf39/images/cleanshot-2023-02-12-at-14-1676192139396-compressed.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2ghn3KF_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://superblog.supercdn.cloud/site_cuid_cl495vqej08071jpawt8inf39/images/cleanshot-2023-02-12-at-14-1676192139396-compressed.png" alt="" width="880" height="168"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I got,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IXwhw7ly--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://superblog.supercdn.cloud/site_cuid_cl495vqej08071jpawt8inf39/images/cleanshot-2023-02-12-at-14-1676192242673-compressed.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IXwhw7ly--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://superblog.supercdn.cloud/site_cuid_cl495vqej08071jpawt8inf39/images/cleanshot-2023-02-12-at-14-1676192242673-compressed.png" alt="" width="880" height="482"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Generating SQL&lt;/p&gt;

&lt;p&gt;When you need to write SQL and have clear instructions, you can easily turn into a SQL query with GPT-3.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Turn the instruction to a MySQL query.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can replace with the respective database type, such as, Postgres or SQL Server.&lt;/p&gt;

&lt;p&gt;Let's say I want to generate a MySQL query for this requirement,&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Fetch the three highest salaries from the Worker table.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When you run the instruction above,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;_SELECT salary FROM Worker ORDER BY salary DESC LIMIT 3;_  

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note: I use &lt;a href="https://elephhas.app?ref=dev-blog-1"&gt;Elephas.app&lt;/a&gt;'s snippet feature to run GPT-3 everywhere on my Mac.&lt;/p&gt;

&lt;h2&gt;
  
  
  Translate code
&lt;/h2&gt;

&lt;p&gt;Want to translate code from one programming language to another? That would normally require hours for even a simple program. Now, GPT-3 can translate them in seconds. Here is an instruction you can use,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Translate the following code Python.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here is a sample PHP code I gave,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&amp;lt;?php

$filename = 'cars.csv';

// The nested array to hold all the arrays

$the\_big\_array = []; 

// Open the file for reading

if (($h = fopen("{$filename}", "r")) !== FALSE) 

{

 // Each line in the file is converted into an individual array that we call $data

 // The items of the array are comma separated

 while (($data = fgetcsv($h, 1000, ",")) !== FALSE) 

 {

 // Each individual array is being pushed into the nested array

 $the\_big\_array[] = $data; 

 }

 // Close the file

 fclose($h);

}  

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and the output I got,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
import csv

filename = 'cars.csv'

# The nested list to hold all the lists

the\_big\_list = []

# Open the file for reading

with open(filename, 'r') as f:

# Each line in the file is converted into an individual list that we call data

# The items of the list are comma separated

data = csv.reader(f, delimiter=',')

     # Each individual list is being pushed into the nested list
     for row in data:

the\_big\_list.append(row)

# Display the code in a readable format

print(the\_big\_list)

​

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In a few cases, you may need to tweak a bit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enforcing coding standards
&lt;/h2&gt;

&lt;p&gt;When you want to make sure your code follows the coding standards, you can use GPT-3 to update it as required.&lt;/p&gt;

&lt;p&gt;Instruction,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Convert this PHP code to PSR-4 standard but without changing the logic or used methods.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Input code,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&amp;lt;?php 

  $num = mt\_rand(100000,999999); 

  printf("%d", $num);

?&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The output I got,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;namespace App;
class RandomNumber
{
    public function generate()
    {
        $num = mt_rand(100000, 999999);
        printf("%d", $num);
    }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Boilerplate code
&lt;/h2&gt;

&lt;p&gt;You don't want to write all the basic code. What if you can generate boilerplate code easily for common tasks?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Write a bootstrap 3 boilerplate code for a website. 5 menus, three body region, and a footer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Output included the full HTML. I would double the external links before using the code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding code
&lt;/h2&gt;

&lt;p&gt;You can understand any code with GPT-3. If you use Elephas, you can get explanation for code across apps. Here is the instruction you can use,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Explain the following code as if I were a new developer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ptJ5brBH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://superblog.supercdn.cloud/site_cuid_cl495vqej08071jpawt8inf39/images/cleanshot-2023-02-12-at-15-1676197544831-original.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ptJ5brBH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://superblog.supercdn.cloud/site_cuid_cl495vqej08071jpawt8inf39/images/cleanshot-2023-02-12-at-15-1676197544831-original.gif" alt="CleanShot 2023-02-02 at 21.21.04@2x.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Slow code?
&lt;/h2&gt;

&lt;p&gt;Find bottleneck in your code with ease.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;​Explain why the following code is slow and propose better ways.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Input code,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lsxBmNgi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://superblog.supercdn.cloud/site_cuid_cl495vqej08071jpawt8inf39/images/cleanshot-2023-02-12-at-16-1676198318223-compressed.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lsxBmNgi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://superblog.supercdn.cloud/site_cuid_cl495vqej08071jpawt8inf39/images/cleanshot-2023-02-12-at-16-1676198318223-compressed.png" alt="" width="800" height="517"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Recommendations,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vRZP13Qy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://superblog.supercdn.cloud/site_cuid_cl495vqej08071jpawt8inf39/images/cleanshot-2023-02-12-at-16-1676198331477-compressed.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vRZP13Qy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://superblog.supercdn.cloud/site_cuid_cl495vqej08071jpawt8inf39/images/cleanshot-2023-02-12-at-16-1676198331477-compressed.png" alt="" width="880" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Write documentation
&lt;/h2&gt;

&lt;p&gt;You can have GPT-3 write technical use cases.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We wish to develop a broad-ranging corpus of regular expressions that tests a variety of real-world use cases. Give 10 general categories that would be appropriate for organizing this corpus and several subcategories for each. Give your response as a hierarchically numbered list.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This might produce,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8-UY_wRj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://superblog.supercdn.cloud/site_cuid_cl495vqej08071jpawt8inf39/images/cleanshot-2023-02-16-at-07-1676513044753-compressed.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8-UY_wRj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://superblog.supercdn.cloud/site_cuid_cl495vqej08071jpawt8inf39/images/cleanshot-2023-02-16-at-07-1676513044753-compressed.png" alt="" width="800" height="856"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I hope you find this useful. Check out &lt;a href="https://elephas.app"&gt;https://elephas.app&lt;/a&gt;, which lets you use GPT-3 as a layer on top of your Mac to save you hours every day.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Using Google Analytics without that annoying consent popup</title>
      <dc:creator>Kamban</dc:creator>
      <pubDate>Fri, 07 Aug 2020 05:01:37 +0000</pubDate>
      <link>https://dev.to/kambanthemaker/using-google-analytics-without-that-annoying-consent-popup-5cd2</link>
      <guid>https://dev.to/kambanthemaker/using-google-analytics-without-that-annoying-consent-popup-5cd2</guid>
      <description>&lt;p&gt;Note: I have written this article on my linkedIn as well.GDPR has been the talking point for a while. Google Analytics is having enough trouble since users need to show cookie consent popup even when users don’t need the private information in ques...&lt;/p&gt;

</description>
      <category>googleanalytics</category>
      <category>gdpr</category>
      <category>cookiepopup</category>
      <category>consentpopup</category>
    </item>
    <item>
      <title>Creating a dynamic website from a Twitter list and Google Sheet</title>
      <dc:creator>Kamban</dc:creator>
      <pubDate>Fri, 22 May 2020 08:24:53 +0000</pubDate>
      <link>https://dev.to/kambanthemaker/creating-a-dynamic-website-from-a-twitter-list-and-google-sheet-2fod</link>
      <guid>https://dev.to/kambanthemaker/creating-a-dynamic-website-from-a-twitter-list-and-google-sheet-2fod</guid>
      <description>&lt;p&gt;Integromat, Google Sheet, and MyQuickSite (Update: You can support our ProductHunt launch &lt;a href="https://www.producthunt.com/posts/myquicksite"&gt;here&lt;/a&gt;) are the tools I will be using to create a website from Twitter list, you can do the same within 10-15 minutes too. Here is the  &lt;a href="http://philosophy.kambanthemaker.com/"&gt;final website&lt;/a&gt; ,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kdPbv2Kr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1590126509886/lkyVn91ol.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kdPbv2Kr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1590126509886/lkyVn91ol.png" alt="grid4.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Twitter List
&lt;/h2&gt;

&lt;p&gt;Twitter lists, curated group of  Twitter accounts. By default Twitter timeline feeds are generated by its algorithm. With lists, you can control who you want to read. A list can be public or private.  &lt;a href="https://twitter.com/i/lists/1148223153291743232"&gt;https://twitter.com/i/lists/1148223153291743232&lt;/a&gt; is my Twitter list that we are going to convert into a website.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Integromate and Google Sheet
&lt;/h2&gt;

&lt;p&gt;They call themselves the glue of internet. Its an automated tool similar to Zapier, you can link any number of services together to create a data flow. &lt;a href="https://www.integromat.com/en/integrations"&gt;https://www.integromat.com/en/integrations&lt;/a&gt; lists the list of services supported. Google Sheet has evolved into one of the powerful tools lately. Create a Google Sheet upfront, with the header row. Here is my  &lt;a href="https://docs.google.com/spreadsheets/d/16T8gpn7QKLcnej0yhkqCc1384OXYIlwAqm_EJluJyHo/edit?usp=sharing"&gt;Google Sheet&lt;/a&gt;  that I use.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--P2H4JwUK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1590128691178/GtI_vkimZ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P2H4JwUK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1590128691178/GtI_vkimZ.png" alt="Screen Shot 2020-05-20 at 6.28.37 PM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lets get into the actual steps, Sign up with Integormat if not already you have an account. Create a new scenario that starting with Twitter, choose the Twitter Search module, we need to search twitter with the list id to the get most recent Tweets,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0iz4JdcC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1590128715984/HWowp_7E3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0iz4JdcC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1590128715984/HWowp_7E3.png" alt="Screen Shot 2020-05-20 at 6.11.26 PM.png"&gt;&lt;/a&gt;&lt;br&gt;
Then choose one more module Google Sheet Update Row,&lt;/p&gt;

&lt;p&gt;Here is the Google Sheet field mapping,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3W7KkwWT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1590128728870/ACQwTsoe0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3W7KkwWT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1590128728870/ACQwTsoe0.png" alt="Screen Shot 2020-05-20 at 6.29.09 PM.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can see I am adding the tweet row position with 1 to ignore the header. First tweet will be written on second row of Google Sheet, second tweet will be written on third of Google Sheet, removing previous old tweets. Save the scenarios and configure it to run on a schedule, say every 4 hours.&lt;/p&gt;

&lt;h2&gt;
  
  
  MyQuickSite
&lt;/h2&gt;

&lt;p&gt;Coming to the website part, &lt;a href="https://myquicksite.com"&gt;MyQuickSite&lt;/a&gt; lets you convert your Google Sheet into a website. This should take only a few minutes. There are predefined templates you can choose or bring your own CSS or combine both. Create an account, add your Google Sheet you created earlier. Rearrange the field if needed to match the template positioning (left to right, top to bottom is the order of resolution), and apply the Twitter list template. You can watch the video (click to play the full video) to get an idea,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt; You can support our ProductHunt launch &lt;a href="https://www.producthunt.com/posts/myquicksite"&gt;here&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.youtube.com/watch?v=1hzpuxgW1fE"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---51HaqC_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://myquicksite.com/img/banner.gif" alt="MyQuickSite Demo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can read my &lt;a href="https://kambanthemaker.com/convert-your-google-sheet-into-a-website-ckahux5cb01cslns1aozc4ll5"&gt;introductory blog&lt;/a&gt; for more details.&lt;/p&gt;

</description>
      <category>twitter</category>
      <category>myquicksite</category>
      <category>googlesheet</category>
    </item>
    <item>
      <title>Convert your Google Sheet into a website</title>
      <dc:creator>Kamban</dc:creator>
      <pubDate>Fri, 22 May 2020 07:02:45 +0000</pubDate>
      <link>https://dev.to/kambanthemaker/convert-your-google-sheet-into-a-website-2go5</link>
      <guid>https://dev.to/kambanthemaker/convert-your-google-sheet-into-a-website-2go5</guid>
      <description>&lt;p&gt;We all love Google Sheet (at least who use it), which took the Excel struck on the Desktop to the cloud, no more attaching files to email. When such a powerful collaborative tool is exposed to other apps like Zapier, Integromate, it can do wonder. Google Sheet can act as a dynamic data store,  but what it lacks is a familiar web interface. Say, you have a table of data you want to present it to your users or customers, won't it make a difference?&lt;/p&gt;

&lt;p&gt;I had the same question, collected some feedback on Reddit. Not to mention, there are a few solutions, tackling in their own ways. &lt;/p&gt;

&lt;p&gt;We have launched on  &lt;a href="https://www.producthunt.com/posts/myquicksite"&gt;Product Hunt&lt;/a&gt; , do share your feedback there! &lt;/p&gt;

&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;I decided to build MyQuickSite.com, using a simple stable tech stack.  MyQuickSite lets you convert your Google Sheet into a nice Website or Webpage. You can,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choose basic layouts like Table, List, or Grid&lt;/li&gt;
&lt;li&gt;Enable search on any fields&lt;/li&gt;
&lt;li&gt;Enable or disable Sidebar&lt;/li&gt;
&lt;li&gt;Choose a template or write your own CSS or combine both&lt;/li&gt;
&lt;li&gt;Map your own domain&lt;/li&gt;
&lt;li&gt;Make your website public or private&lt;/li&gt;
&lt;li&gt;Configure your site theme (like colors)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No data is stored on our servers, all happen in realtime. Here is a quick look, click to play the full video,&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.youtube.com/watch?v=1hzpuxgW1fE"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---51HaqC_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://myquicksite.com/img/banner.gif" alt="Video"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Behind the scene
&lt;/h2&gt;

&lt;p&gt;I host the static files on AWS CloudFront, MongoDB is the database. MyQuickSite requires permission to your Google Drive, retrieves the OAuth token, saves the encrypted token in the database. NodeJS and VueJS is the technology stack. A more technical writeup to follow up soon.&lt;/p&gt;

&lt;h2&gt;
  
  
  Payment plans
&lt;/h2&gt;

&lt;p&gt;As of now, there 3 payment options,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free&lt;/li&gt;
&lt;li&gt;Ultimate &lt;/li&gt;
&lt;li&gt;Premium&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here are some websites I created to showcase,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;a href="http://philosophy.kambanthemaker.com/"&gt;http://philosophy.kambanthemaker.com/&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://news.kambanthemaker.com/"&gt;http://news.kambanthemaker.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://corona.myquicksite.com/"&gt;http://corona.myquicksite.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://books.myquicksite.com/"&gt;http://books.myquicksite.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Head to  &lt;a href="https://myquicksite.com"&gt;MyQuickSite.com&lt;/a&gt; to know more.  Also, a big thanks to &lt;a href="https://peterthaleikis.com"&gt;Peter&lt;/a&gt; for helping MyQuickSite getting ready and out there.&lt;br&gt;
Any questions, feel free to contact me on  &lt;a href="https://twitter.com/@kambanthemaker"&gt;Twitter&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;You can read my &lt;a href="https://kambanthemaker.com/creating-a-dynamic-website-from-a-twitter-list-and-google-sheet-ckahxurlo01f9lns1c8q0njlf"&gt;other blog&lt;/a&gt; to learn how you can create a website from Twitter lists.&lt;/p&gt;

</description>
      <category>googlesheet</category>
      <category>nocode</category>
    </item>
    <item>
      <title>AWS Cost Visualization and Savings</title>
      <dc:creator>Kamban</dc:creator>
      <pubDate>Sun, 12 Jan 2020 15:38:14 +0000</pubDate>
      <link>https://dev.to/kambanthemaker/aws-cost-visualization-and-savings-c3g</link>
      <guid>https://dev.to/kambanthemaker/aws-cost-visualization-and-savings-c3g</guid>
      <description>&lt;p&gt;I have been using AWS for a few years now. I love the eco system, how easily the services can work together, starting from S3, DyanmoDB,SES to Lambda. One thing that kept me bothering was the billing interface. I love simplicity, though the AWS Cost explorer is good, sometimes it feels clunky. For a technical person it might look fine, but what about the top level people who want to know where they spend money, how much is the unreserved cost.&lt;/p&gt;

&lt;p&gt;Having built &lt;a href="https://flatga.io"&gt;https://flatga.io&lt;/a&gt;, decided to take advantage of the codebase and built a simple tool to view AWS Cost called &lt;a href="https://cloudsavings.io"&gt;https://cloudsavings.io&lt;/a&gt;. The key features are,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cost breakup by service&lt;/li&gt;
&lt;li&gt;Reservation coverage and utilization&lt;/li&gt;
&lt;li&gt;Cost breakup by accounts and regions&lt;/li&gt;
&lt;li&gt;Cost forecast&lt;/li&gt;
&lt;li&gt;Savings recommendations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All the information are pulled using official AWS API. The cost breakup should give you the high level overview of which services are costing you a lot, along with the filters, you can drill down on a few items, like data range, service-wise filtering, region-wise filtering.&lt;/p&gt;

&lt;p&gt;Recommendations are split into two, one&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reservation recommendation - The default reservation system&lt;/li&gt;
&lt;li&gt;Savings plan recommendation - The new reservation system specifically for compute devices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One caveat is AWS Cost Explorer costs $0.01 per request, but we use 48 hour caching to keep your access cost around $1 to $2 per month. As of now, &lt;a href="https://cloudsavings.io"&gt;cloudsavings.io&lt;/a&gt; costs from $0 to $29 per month based on your monthly bill. If your bill is less than $1000, it's free.&lt;/p&gt;

&lt;p&gt;I hope this could help a few people out there who find it difficult to navigate the AWS billing dashboard.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Redshift slow WHERE IN performance</title>
      <dc:creator>Kamban</dc:creator>
      <pubDate>Sun, 05 Jan 2020 11:57:56 +0000</pubDate>
      <link>https://dev.to/kambanthemaker/redshift-slow-where-in-performance-9jn</link>
      <guid>https://dev.to/kambanthemaker/redshift-slow-where-in-performance-9jn</guid>
      <description>&lt;p&gt;Redshift is an amazing service when you need to run analytics on your data. Redshift uses columnar data storage, which means, it is very good when you run aggregation queries for reporting purposes.&lt;/p&gt;

&lt;p&gt;Considering anaytical reports are generally genarated on a daily or weekly basis, Redshift uses query compilation to optimize query timing. This could impact the some dynamic queries (that you need to run very often with dynamic set of conditions). Say, you want to run a query with big set of static WHERE IN conditions, at this time, query compilation will slow down the query execution time even though the same query will not be run again.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT SUM(score) from results WHERE student_id IN (LONG_LIST_OF_IDS)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;You can find the compilation state of any query using the following query,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;select userid, xid, pid, query, segment, locus, datediff(ms, starttime, endtime) as duration, compilefrom svl_compilewhere query = QUERY_IDorder by query, segment;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;If you see compile=1, it means this query's some part of execution is being compiled for future use. This internal feature may not be prevented. As an workaround, you can use temporary table and do inner join.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TEMPORARY TABLE temp_student_ids (id int); INSERT INTO temp_student_ids values ((ID_1),)((ID_2)))SELECT SUM(SCORE) from results INNER JOIN temp_student_ids ON (student_id=id);
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



</description>
    </item>
    <item>
      <title>FlatGA Email Reports</title>
      <dc:creator>Kamban</dc:creator>
      <pubDate>Sun, 11 Aug 2019 03:45:11 +0000</pubDate>
      <link>https://dev.to/kambanthemaker/flatga-email-reports-8aj</link>
      <guid>https://dev.to/kambanthemaker/flatga-email-reports-8aj</guid>
      <description>&lt;p&gt;I am pleased to introduce email report feature for your website analytics, now you can receive the same beautiful FlatGA interface into your email as an embedded image. Take a look at a &lt;a href="https://flatga.io/img/gmail.png"&gt;sample report here&lt;/a&gt;. The email can also include top pages and referrers data as a CSV file for easier reference.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Daily or weekly email report&lt;/li&gt;
&lt;li&gt;Referrers and top pages as attachments&lt;/li&gt;
&lt;li&gt;Embedded image to save you from one additional click&lt;/li&gt;
&lt;li&gt;The pageview/user chart will have previous days included for easier comparison. i.e if you have chosen weekly report, the series will include last 2 weeks data while all other statictics will be for only one week.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cost&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It has 15 days trial period without requiring any credit card. Its $12 per year for upto 5 websites. That's just $1 per month. After the trial period, get your &lt;a href="https://gum.co/zKiDs"&gt;gumroad.com&lt;/a&gt; license key and enter it on your settings page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to activate this feature?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Login at &lt;a href="https://flatga.io"&gt;flatga.io&lt;/a&gt;, click "Subscribe via Email!" button next to duration. You can now add a new report from this page!&lt;/p&gt;

&lt;p&gt;Never miss to see your website growth and see who are your influencers!&lt;/p&gt;

&lt;p&gt;Feel free to contact me on &lt;a href="https://twitter.com/barsareillusion"&gt;Twitter&lt;/a&gt; for any questions!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Chrome plugin - CloseMyTabs</title>
      <dc:creator>Kamban</dc:creator>
      <pubDate>Sat, 13 Jul 2019 10:24:10 +0000</pubDate>
      <link>https://dev.to/kambanthemaker/chrome-plugin-closemytabs-3ka1</link>
      <guid>https://dev.to/kambanthemaker/chrome-plugin-closemytabs-3ka1</guid>
      <description>&lt;p&gt;I used to open too many browser tabs, then find it difficult to close them. Many plugins outthere focus on suspending the tabs while I wanted to close the older ones. Having struggled with too many browser tabs, I built this to view &amp;amp; close browser tabs based on the last active time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Close multiple tabs based on last access time&lt;/li&gt;
&lt;li&gt;Adjustable duration&lt;/li&gt;
&lt;li&gt;Badge count&lt;/li&gt;
&lt;li&gt;Search bar to search based on title or URL&lt;/li&gt;
&lt;li&gt;Opening a tab from the list&lt;/li&gt;
&lt;li&gt;Ignore a specific tab&lt;/li&gt;
&lt;li&gt;Multiple window support&lt;/li&gt;
&lt;li&gt;Last accessed details&lt;/li&gt;
&lt;li&gt;Favicon for easy identification&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Download on Google Chrome Web Store: &lt;a href="https://chrome.google.com/webstore/detail/closemytabs/pjjdjbdoipimhkcfidhnekpfcgahfjca"&gt;CloseMyTabs&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>FlatGA - Simplified Interface for Google Analytics</title>
      <dc:creator>Kamban</dc:creator>
      <pubDate>Fri, 28 Jun 2019 12:12:18 +0000</pubDate>
      <link>https://dev.to/kambanthemaker/flatga-simplified-interface-for-google-analytics-723</link>
      <guid>https://dev.to/kambanthemaker/flatga-simplified-interface-for-google-analytics-723</guid>
      <description>&lt;p&gt;I want to introduce you my product, &lt;a href="https://flatga.io"&gt;FlatGA&lt;/a&gt;, a simplified interface for Google Analytics. I used to build many small products, and look at Google Analytics to see the performance. I always wanted only high level metrics without the information overload GA gives you. One day, I decided to take advantage of Google Analytics API and built FlatGA using VueJS frontend and NodeJS backend.&lt;/p&gt;

&lt;p&gt;We have launched the product today on ProductHunt,&lt;a href="https://www.producthunt.com/posts/flatga"&gt;Product Hunt Page&lt;/a&gt;, do share your feedback there.&lt;/p&gt;

&lt;h2&gt;
  
  
  Some important features
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Ability to view the core metrics in a single page interface&lt;/li&gt;
&lt;li&gt;You can download top referral pages, &amp;amp; your top performing pages as CSV&lt;/li&gt;
&lt;li&gt;No information other than your public email/access token is saved. Every information is fetched in realtime from Google Analytics!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Feel free to let me know your feedback through &lt;a href="https://twitter.com/barsareillusion"&gt;My Twitter&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>googleanalytics</category>
    </item>
    <item>
      <title>A light-weight text classifier in Python</title>
      <dc:creator>Kamban</dc:creator>
      <pubDate>Fri, 28 Jun 2019 01:30:00 +0000</pubDate>
      <link>https://dev.to/kambanthemaker/a-light-weight-text-classifier-in-python-4o36</link>
      <guid>https://dev.to/kambanthemaker/a-light-weight-text-classifier-in-python-4o36</guid>
      <description>&lt;h2&gt;
  
  
  Text classification
&lt;/h2&gt;

&lt;p&gt;Text classification is a famous topic inside NLP (Natural Language Processing), which in a broader sense divided into two categories,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supervised&lt;/li&gt;
&lt;li&gt;Unsupervised&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Supervised classification
&lt;/h2&gt;

&lt;p&gt;To categorize a given text into a predefined set of categories. Say, you have incoming emails, that you want to group into 2 categories Social or Promotions. In this case, you will need to have training set for each category, build a model with that, then the classification engine will perform classification for any given text.&lt;/p&gt;

&lt;h2&gt;
  
  
  Unsupervised classification
&lt;/h2&gt;

&lt;p&gt;It does not need training dataset, instead groups given set of document into logical units. Unsupervised learning is a form clustering. K-Means is a popular algorithm here.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lightweight supervised classification
&lt;/h2&gt;

&lt;p&gt;We are interested in the supervised classification in this article. Generally this requires decent amount of training data to give right prediction. I wanted to have classification for one of my projects related to email handling, most of the tools outhere required good amount of datasets which I don't have, but I had a small amount of accurate data. So, I built a lightweight classifier in Python, which takes a small training dataset, produces results based on the words.&lt;/p&gt;

&lt;p&gt;Checkout &lt;a href="https://github.com/kambanthemaker/textclassifier"&gt;https://github.com/kambanthemaker/textclassifier&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This tool totally relies on the words presence and count the total occurance on the given input against the training set, and returns a list of categories.&lt;/p&gt;

&lt;h3&gt;
  
  
  Training file format
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;__label__ category1 training data
__label__ category1 some other data
__label__ category2 some data
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Text followed by label is the category name, followed by a space then the input sentence. This format is chosen to be consistent with &lt;a href="https://github.com/facebookresearch/fastText"&gt;fasttext&lt;/a&gt; library, so that in case you want to move to that, the training file can remian the same.&lt;/p&gt;

&lt;h3&gt;
  
  
  Invoking the classifier
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import classifierresults = classifier.classify("offer linkedin linkedin", "somerandomcategory")
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;results will be a list of tuple, like &lt;code&gt;[('category'1', 10), ('category2',5)]&lt;/code&gt; sorted by top match first. 10,5 are the scores i.e number of word matches. "somerandomcategory" is the default category that you will receive in the event of no match!&lt;/p&gt;

&lt;p&gt;This small library should work in both Python 2.x and 3.x, and has no dependencies.&lt;/p&gt;

&lt;h3&gt;
  
  
  How it works
&lt;/h3&gt;

&lt;p&gt;This library prepares the training into a counted words, then compares that with the given input text, orders the result by word matches. For the above training data, it will have&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{'category1':['training','data','some','other','data'],'category2':['some','data']}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;when you give input of &lt;code&gt;Hello data&lt;/code&gt;, then it will return [('category1', 2),('category2',1)], since &lt;code&gt;data&lt;/code&gt; exists twice in category1 and once in category2.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tools for Text Classification
&lt;/h2&gt;

&lt;p&gt;When you need more powerful classification, a few good options are,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Apache Mahout&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.oracle.com/technetwork/community/bookstore/taming-text-sample-523387.pdf"&gt;https://www.oracle.com/technetwork/community/bookstore/taming-text-sample-523387.pdf&lt;/a&gt; has some basic details.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Facebook's FastText&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://github.com/facebookresearch/fastText"&gt;https://github.com/facebookresearch/fastText&lt;/a&gt;, written in Python, it claims that it runs faster. Our training set format is compatible with this tool.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS Classification&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/comprehend"&gt;https://aws.amazon.com/comprehend&lt;/a&gt; is a NLP service to find insights and releationships in text. The other two services we discussed here requires to setup on your own server while this one can be accessed using API and you pay as per your usage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Download
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/kambanthemaker/textclassifier"&gt;https://github.com/kambanthemaker/textclassifier&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Making Google Analytics work from your browser plugin</title>
      <dc:creator>Kamban</dc:creator>
      <pubDate>Tue, 25 Jun 2019 03:30:00 +0000</pubDate>
      <link>https://dev.to/kambanthemaker/making-google-analytics-work-from-your-browser-plugin-2j8</link>
      <guid>https://dev.to/kambanthemaker/making-google-analytics-work-from-your-browser-plugin-2j8</guid>
      <description>&lt;p&gt;Google Analytics may not work as it is if you want to get it working from your browser plugin due to security limitations and protocol conflict. To resolve it, follow the steps explained below,&lt;/p&gt;

&lt;h2&gt;
  
  
  Manifest
&lt;/h2&gt;

&lt;p&gt;First step is to get your manifest file allow GA domain.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"content_security_policy": "script-src 'self' https://www.google-analytics.com; object-src 'self'"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Installing GA
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');ga('create', 'UA-YOUR_ID-1', 'DOMAIN_NAME');ga('set', 'checkProtocolTask', null);ga('send', 'pageview', 'user');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;ga('set', 'checkProtocolTask', null);&lt;/code&gt; line is important as it makes GA ignore the protocol check. This was causing me a lot of trouble. See here &lt;a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/tasks" rel="noopener noreferrer"&gt;Google Analytics&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DOMAIN_NAME is also important, as GA can't detect that for your plugin. Set that to your domain name you want to track!&lt;/p&gt;

&lt;h2&gt;
  
  
  Debugging
&lt;/h2&gt;

&lt;p&gt;GA has a hidden gem, instead of &lt;code&gt;https://www.google-analytics.com/analytics.js&lt;/code&gt; just use &lt;code&gt;https://www.google-analytics.com/analytics_debug.js&lt;/code&gt; which will print useful debug messages on the chrome console!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FXVv0gVk%2FScreen-Shot-2019-06-25-at-8-59-16-AM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.ibb.co%2FXVv0gVk%2FScreen-Shot-2019-06-25-at-8-59-16-AM.png" alt="Screen-Shot-2019-06-25-at-8-59-16-AM"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Refer &lt;a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/debugging" rel="noopener noreferrer"&gt;Debugging&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Getting to know AWS Lambda - FaaS</title>
      <dc:creator>Kamban</dc:creator>
      <pubDate>Sun, 23 Jun 2019 03:30:00 +0000</pubDate>
      <link>https://dev.to/kambanthemaker/getting-to-know-aws-lambda-faas-1ec2</link>
      <guid>https://dev.to/kambanthemaker/getting-to-know-aws-lambda-faas-1ec2</guid>
      <description>&lt;p&gt;AWS Lambda is a FaaS (Function as a Service), a serverless approach to code units. I have been using AWS Lambda for a while and I am impressed by its capabilities. Let me do a writeup on the basics, pros and cons.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AwBGM3VP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/DzPR22L/iu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AwBGM3VP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ibb.co/DzPR22L/iu.jpg" alt="Lambda"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Under the hood
&lt;/h2&gt;

&lt;p&gt;Under the hood, Lambda uses docker containers to run your code. The container is ephemeral because it may only last for one invocation or a few invocations depending upon the frequency. Function as a Service here does not mean you can only run a single function. I have my big Python project including dependent libraries inside lambda.&lt;/p&gt;

&lt;h2&gt;
  
  
  Important features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Fault tolerance - Since your code is maintained in multiple instances&lt;/li&gt;
&lt;li&gt;Scalability - AWS scales the compute capacity based on the incoming request without needing any configuration&lt;/li&gt;
&lt;li&gt;Integration with other AWS Services like S3, API Gateway, SNS, CloudFront, DynamoDB&lt;/li&gt;
&lt;li&gt;On demand - You won't be charged when not invoked. Pretty cool!&lt;/li&gt;
&lt;li&gt;Ability to call other lambda functions from one lambda&lt;/li&gt;
&lt;li&gt;Support many programming languages like Java, Python, Node.js, C#, Go, and so on.&lt;/li&gt;
&lt;li&gt;1,000,000 free requests per month under free tier&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Limitations &amp;amp; caveats
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Maximum execution time is 15 mins (previously 5 mins)&lt;/li&gt;
&lt;li&gt;The temporary directory size is 512 MB, so you need to be careful when downloading big files&lt;/li&gt;
&lt;li&gt;By default maximum of 1000 concurrent executions can happen for an AWS account. This is to protect unexpected costing. So, for production system, raise a request with AWS to increase the limit.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tools
&lt;/h2&gt;

&lt;p&gt;Though you can manage Lambda from AWS console, it is suggested to use other tools to manage the development and deployment. A few options are,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aws.amazon.com/cli/"&gt;AWS Command line tool&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Eg:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;aws lambda create-function --function-name test --runtime nodejs8.10 --role arn:aws:iam::XXXXXXXXXXXX:role/my-role --handler tensorml --region ap-south-1 --zip-file fileb://./Test.zip&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aws.amazon.com/cloudformation/"&gt;AWS CloudFormation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://serverless.com/framework/docs/providers/aws/guide/intro/"&gt;Serverless&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Serverless Framework helps you develop and deploy your AWS Lambda functions, along with the AWS infrastructure resources they require.&lt;/p&gt;

&lt;p&gt;Thank you!&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
