<?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: Vipul Gupta</title>
    <description>The latest articles on DEV Community by Vipul Gupta (@vipulgupta2048).</description>
    <link>https://dev.to/vipulgupta2048</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%2F251355%2F77aa38a3-205b-4183-b89b-25eef3dd6d3a.jpeg</url>
      <title>DEV Community: Vipul Gupta</title>
      <link>https://dev.to/vipulgupta2048</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vipulgupta2048"/>
    <language>en</language>
    <item>
      <title>4 months of full-time remote: Hits, Misses, and Infectious Initiative</title>
      <dc:creator>Vipul Gupta</dc:creator>
      <pubDate>Sat, 19 Sep 2020 13:55:14 +0000</pubDate>
      <link>https://dev.to/vipulgupta2048/4-months-of-full-time-remote-hits-misses-and-infectious-initiative-561</link>
      <guid>https://dev.to/vipulgupta2048/4-months-of-full-time-remote-hits-misses-and-infectious-initiative-561</guid>
      <description>&lt;p&gt;In the last 4 months, I pseudo graduated without a farewell, couldn’t see my friends for the last time, joined a new role at a startup, put on several hats at work, organized meetups, mini-confs, and now &lt;strong&gt;&lt;a href="https://in.pycon.org/2020"&gt;helping out with a major Python conference&lt;/a&gt;&lt;/strong&gt; who’s tickets are selling out crazy fast. &lt;em&gt;Subtle promotion tactic, I know&lt;/em&gt;. I experimented, grew out to do new things, built my remote setup, and now here’s me writing about the hit, misses, and infectious initiative about remote work of my past 4 months in a world that is burning both figuratively and literally. &lt;em&gt;Let’s begin.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9qdT3ony--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/b.gif%3Fw%3D500" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9qdT3ony--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/b.gif%3Fw%3D500" alt=""&gt;&lt;/a&gt;It’s has been something I been thinking about for a long time.&lt;br&gt; From the @&lt;a rel="noreferrer noopener" href="https://www.instagram.com/thegoodadvicecupcake/"&gt;gooadvicecupcake&lt;/a&gt; on Instagram!&lt;/p&gt;

&lt;p&gt;While all of this has been happening, I have been experiencing a rather strange feeling. I confessed the same to many people, in an attempt to subdue or share it but I thought it be helpful to put it to words. It’s a feeling of being at calm. People that know me, know that I rarely stay calm at one point in life. Yet, these days I am at peace in my core. Don’t get me wrong, I am still hustling. I am restless and trying to learn, build, and work upwards both personally and professionally like everyone else.&lt;/p&gt;

&lt;p&gt;It’s strange because this feeling started to take shape when college officially ended for me. Before that, months used to go by with the usual panic, stress, exhaustion, and restlessness of assignments, side projects, getting a good job, grades, or life. Trying to make the most of college life by doing everything I reasonably can. It’s a tremendous rat race from the very start and this blog is my way of stopping for a breath. Try and look back at the journey, and switch over to the race of unadulterated real life.&lt;/p&gt;

&lt;p&gt;I finished my previous race haphazardly no thanks to Covid19 and 2020. Even though the stakes are now much higher than before. I feel strangely content these days when I look back at young Vipul who was &lt;a href="https://mixstersite.wordpress.com/2019/05/24/mixster/"&gt;starting all of this up in 2016&lt;/a&gt; with my first day on campus.     &lt;/p&gt;

&lt;p&gt;I have been writing this draft for quite some time now. Often having trouble trying to map it all this into words of how this change came about and what exactly lead to it. I feel it is mostly about this &lt;a href="https://mixstersite.wordpress.com/2020/05/20/working-from-home-with-the-world-in-lockdown-a-letter/"&gt;new adventure I have taken on&lt;/a&gt; in 2020. This blog will be about penning down all the hits, misses, and infectious initiative I have experienced that lead to this incredible feeling. Hope this helps you as someone who is going through something similar in life and looking for a silver lining in their 2020.&lt;/p&gt;




&lt;h2&gt;
  
  
  [Major hit] Remote @ balena is just a blast! It has been a great 4 months.
&lt;/h2&gt;

&lt;p&gt;In one of my &lt;a href="https://mixstersite.wordpress.com/2020/04/21/next-for-vipul/"&gt;previous blog&lt;/a&gt;, I gave a fair view of how tough was it get a remote job as a fresher. I have been helping out several individuals in the community with the spirit of paying it forwards.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BkWgQycL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/x5lz1dd2qnw2uantj8fy.gif%3Fw%3D512" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BkWgQycL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/x5lz1dd2qnw2uantj8fy.gif%3Fw%3D512" alt=""&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
My work outcome for first month, Party Balena! Check out my project, &lt;a href="https://dev.to/vipulgupta2048/using-serverless-at-scale-to-build-a-party-parrot-gifs-generator-32be" rel="noreferrer noopener"&gt;PartyStarter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Regardless, my core advice still remains. “Interview the company as they interview you” and I am glad every day of choosing to work at balena. The culture and the product is market-tested, mature, and driven on strong feedback with years of iteration. The team is great, and still ticks every checkbox I ever had for my first full-time commitment. We have a flat hierarchy with a focus on support driven development which helps me make more impact and learn deeply about balena’s use-cases in the field. With hack Fridays, donut calls, freedom to diversify work, and solved timezone problem. &lt;strong&gt;I am glad to say remote @ balena has been a great experience overall.&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  [Hit] Paid to work in open-source
&lt;/h2&gt;

&lt;p&gt;I didn’t wanna write about this… but it’s such a good feeling.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uusalnUH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/getting-paid.png%3Fw%3D338" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uusalnUH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/getting-paid.png%3Fw%3D338" alt=""&gt;&lt;/a&gt;Image credit to &lt;a href="https://opensource.guide" rel="noreferrer noopener"&gt;opensource.guide&lt;/a&gt; and licensed under CC BY 4.0&lt;/p&gt;

&lt;p&gt;I have been working in open-source for about 4 years now. So it made sense for me to continue working in that direction whether it was working on &lt;a href="https://mixstersite.wordpress.com/2019/05/24/mixster/"&gt;my initiative, Mixster&lt;/a&gt; or when I am taking up a full-time serious commitment like balena. Something I have been really enjoying is the freedom to continue &lt;a href="https://github.com/vipulgupta2048/talkswith2048"&gt;my work of contributing to open-source&lt;/a&gt; and staying connected to my grassroots. Balena itself contributes back to open-source through several projects and takes pride in itself being a good citizen of FOSS which I immensely love about the team. Someways, it just feels like I am being paid to contribute to open-source, and again it’s quite fulfilling in itself!&lt;/p&gt;


&lt;h2&gt;
  
  
  [Miss] Taking your time when starting up, also go easy yourself!
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aQQqQ12d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/giphy.gif%3Fw%3D480" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aQQqQ12d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/giphy.gif%3Fw%3D480" alt=""&gt;&lt;/a&gt;&lt;strong&gt;Care for yourself, like Cuppy does!&lt;/strong&gt;&lt;br&gt;From the @&lt;a rel="noreferrer noopener" href="https://www.instagram.com/thegoodadvicecupcake/"&gt;gooadvicecupcake&lt;/a&gt; on Instagram&lt;/p&gt;

&lt;p&gt;When onboarding at a new job, try to take up as much time as you like to learn the ropes, processes, and tasks of the company. Don’t feel guilty nor obsessive about how much time you are spending to learn the product in-depth. Turns out, it really helps to know the overview of what the company and its products are all about. Read blogs, articles, case studies, documentation, and internal guides detailing more on what to do and especially what NOT to do. As always &lt;strong&gt;ask questions&lt;/strong&gt;. I am counting it as a miss because I like to keep improving with the same mindset.&lt;/p&gt;


&lt;h2&gt;
  
  
  [Hit &amp;amp; Miss] Making the right intro + Over communicate responsibly
&lt;/h2&gt;

&lt;p&gt;On your first day, you expect to meet your colleagues, team, and everyone else in the company. It’s always exciting and really makes me anxious thinking about it. I am a huge advocate of &lt;strong&gt;living in the moment&lt;/strong&gt;. Hence, here’s something that helped me get through it easily and not feel isolated during the first few weeks of your remote role.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make sure you &lt;strong&gt;take your time&lt;/strong&gt; sending the first intro message on the team channel!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Introduce yourself as you do with regular humans&lt;/strong&gt; , no one likes to read your 2-page Linkedin bio &lt;/li&gt;
&lt;li&gt;Mention hobbies, quirks, past roles, mistakes that make people smile or intrigued. &lt;strong&gt;Not to forget your pets&lt;/strong&gt; if you have one for everlasting impressions with other team members!&lt;/li&gt;
&lt;li&gt;When that’s done, try to form your goto intro message that you send to anyone contacting you later on in the coming weeks on personal chat. I really like doing it, and helps to break the ice more efficiently with them, just Cuppy here! &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IQnHhQ8---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/giphy1.gif%3Fw%3D480" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IQnHhQ8---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/giphy1.gif%3Fw%3D480" alt=""&gt;&lt;/a&gt;&lt;strong&gt;Aim to dazzle! Every. Single. Time.&lt;/strong&gt;&lt;br&gt;From the @&lt;a rel="noreferrer noopener" href="https://www.instagram.com/thegoodadvicecupcake/"&gt;gooadvicecupcake&lt;/a&gt; on Instagram&lt;/p&gt;

&lt;p&gt;Here’s mine, you might need to tweak each intro according to context.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Heyyo Mark!&lt;br&gt;&lt;br&gt;
I am Vipul. I am based out of New Delhi, India. I joined balena in late April and still feel I am pretty new to things going around. I just wanted to come around the table and say hi. Thanks for helping me out with OmegaPro and I would love to know more about your work in team Omega. Looking forward to interacting with you moreover Friday calls. Happy to connect online too if you are on Twitter or something.&lt;/p&gt;

&lt;p&gt;I work in the Alpha team with John Doe and Jane Doe. Quite closely with Omega so looking forward to seeing you in sync up calls&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HbPpaUXG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f423.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HbPpaUXG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f423.png" alt="🐣"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Cheers! Have a great day ahead.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here’s an article by &lt;a href="https://zapier.com/blog/how-to-make-small-talk-at-work-remotely/"&gt;Justin Pot on small talking (Without being weird)&lt;/a&gt;. These little messages really helped me in taking the conversation forward since, since we won’t be seeing each other for about 1.5 years or so at &lt;a href="https://balena.io/team"&gt;our annual SUMMIT&lt;/a&gt; due to COVID. *Sighs*&lt;/p&gt;


&lt;h2&gt;
  
  
  [Miss] Build the ideal schedule and let 2020 wreck it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---26XZsFe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/a.gif%3Fw%3D480" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---26XZsFe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/a.gif%3Fw%3D480" alt=""&gt;&lt;/a&gt;&lt;strong&gt;2020, be like for all my plans.&lt;/strong&gt;&lt;br&gt;From the @&lt;a rel="noreferrer noopener" href="https://www.instagram.com/thegoodadvicecupcake/"&gt;gooadvicecupcake&lt;/a&gt; on Instagram&lt;/p&gt;

&lt;p&gt;I covered this bit in my &lt;a href="https://mixstersite.wordpress.com/2019/07/19/n-honest-truths-about-working-remote-community-edition/"&gt;Community Edition of remote working tips&lt;/a&gt;. I too started with a schedule and stuck to it religiously. It was filled to the brim with tons of fun exercises, hobbies and also gearing up for building my remote setup. But, all that got thrown out of the window when COVID hit us in May so yeah. Sticking to a schedule against all odds is something I have to figure out for myself. These days, I am happy with my work life. The personal life is 404 and rarely found on the weekends with lukewarm check-up calls with friends. I should also start taking it easy on the weekends, otherwise, too many weekends working on things would eventually lead to burnout. Eessh!&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--Iz-9s1cg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1129437530019979264/vPIGe7Yp_normal.jpg" alt="Vipul Gupta 🐣 profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Vipul Gupta 🐣
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="comment-mentioned-user" href="https://dev.to/vipulgupta2048"&gt;@vipulgupta2048&lt;/a&gt;

      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P4t6ys1m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      No one told me building a remote setup in 2020 would turn out to be a competitive sport.
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      11:51 AM - 22 Jul 2020
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1285905178885935104" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-reply-action.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1285905178885935104" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-retweet-action.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      1
      &lt;a href="https://twitter.com/intent/like?tweet_id=1285905178885935104" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-like-action.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
      35
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;





&lt;h2&gt;
  
  
  [Major Hit] Infectious Initiative and Putting on Several Hats
&lt;/h2&gt;

&lt;p&gt;Oh yes! I feel after working remotely for all this time, taking initiative is the most underrated quality that people don’t really mention in remote working tips or guides. Balena wouldn’t be as successful as it is without its amazing team that often goes above and beyond to take daring initiatives. Maybe this happens everywhere, and I just don’t have enough experience of working full-time. But, I feel right at home seeing folks taking new initiatives, hacking out their problems, and discussing alternative solutions. This also helped me feel comfortable to diversify my working portfolio inside and outside the organization by taking up several other roles or hats.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zZhtKil---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/c.gif%3Fw%3D480" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zZhtKil---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/c.gif%3Fw%3D480" alt=""&gt;&lt;/a&gt;&lt;strong&gt;The world heading into remote be like! Not the case for me!&lt;/strong&gt;&lt;br&gt;From the @&lt;a rel="noreferrer noopener" href="https://www.instagram.com/thegoodadvicecupcake/"&gt;gooadvicecupcake&lt;/a&gt; on Instagram&lt;/p&gt;




&lt;h2&gt;
  
  
  [Miss] Losing focus on the long term
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Xa6R7xYs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/d.gif%3Fw%3D480" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Xa6R7xYs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://mixstersite.files.wordpress.com/2020/08/d.gif%3Fw%3D480" alt=""&gt;&lt;/a&gt;&lt;strong&gt;Life rushing by with a speed of 6 WTF/hour&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the drawbacks of feeling content with your current milestone in life is that makes you lose focus and control in the long term. I count it as a miss because I don’t really like losing control. I feel &lt;strong&gt;control over the perspective is paramount to keeping your eye on the prize&lt;/strong&gt;. So even though I will still continue to not focus on the long term. I have made it my ultimate goal to do better in the short term and focus on the now. I am taking it one step at a time and will think long term sometime later. &lt;em&gt;That’s what I have been telling myself for the past 4 months&lt;/em&gt; in &lt;em&gt;regards to the vaccine for COVID&lt;/em&gt;. Anyday now…&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion..?
&lt;/h2&gt;

&lt;p&gt;That’s about it of what I had to say. I hope it goes on to show remote is tough and needs a lot of work both before and after you get the job. A misconception I hope to break for folks thinking life is awesome when you get a remote job. This is kinda the followup to the truths on working remotely I wrote in the post below, and I hope you enjoy both of them as I did writing them. The past 4 months have been incredibly fulfilling so be ready for some technical posts dropping soon! Live in the mix, folks!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I thought remote would be easy. I was dead wrong. And, you know what. You would think the same after reading this next post.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://mixstersite.wordpress.com/2019/07/19/n-honest-truths-about-working-remote-community-edition/"&gt;‘n’ honest truths about working remote (Community Edition)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Featured GIF credits goes to &lt;a href="https://twitter.com/siddharthkp/status/1289915525129097216"&gt;@siddharthkp’s popular tweet&lt;/a&gt; that I saw while back! Thanks for letting me use it! &lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--Fj54ubRR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1264188476771176448/s1i5IWN1_normal.jpg" alt="Mixster profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Mixster
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        @mixster_
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P4t6ys1m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      4 months of full-time remote: Hits, Misses and Infectious Initiative &lt;a href="https://t.co/vJfbcWfYyq"&gt;mixstersite.wordpress.com/2020/08/23/fou…&lt;/a&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      13:55 PM - 23 Aug 2020
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1297532884174221312" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-reply-action.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1297532884174221312" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-retweet-action.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      0
      &lt;a href="https://twitter.com/intent/like?tweet_id=1297532884174221312" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-like-action.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
      0
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;Did you hear &lt;a href="https://bit.ly/whatmixster"&gt;Mixster&lt;/a&gt; is now on Twitter now! &lt;/p&gt;

</description>
      <category>mixster</category>
      <category>vipulgupta2048</category>
      <category>experiences</category>
      <category>lifeatbalena</category>
    </item>
    <item>
      <title>[Simple English] The what, why, and how of Serverless the easiest way possible</title>
      <dc:creator>Vipul Gupta</dc:creator>
      <pubDate>Sun, 14 Jun 2020 21:44:52 +0000</pubDate>
      <link>https://dev.to/vipulgupta2048/simple-english-the-what-why-and-how-of-serverless-the-easiest-way-possible-403i</link>
      <guid>https://dev.to/vipulgupta2048/simple-english-the-what-why-and-how-of-serverless-the-easiest-way-possible-403i</guid>
      <description>&lt;p&gt;You read the title of the blog, it's clear enough what we are here for. &lt;strong&gt;Understanding Serverless the easiest way possible&lt;/strong&gt;. If what you read below is too slow for your pace. You can jump right into a more practical, hands-on learning experience where I build a party parrot GIF generator from scratch and deployed it over on serverless. The link at the end, or probably on the sidebar.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Serverless? Well, storytime!
&lt;/h2&gt;

&lt;p&gt;Serverless computing is a cloud computing execution model in which the cloud provider runs the server, and dynamically manages the allocation of machine resources. Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity or bandwidth. &lt;/p&gt;

&lt;p&gt;That's how the &lt;strong&gt;&lt;a href="https://en.wikipedia.org/wiki/Serverless_computing"&gt;Wikipedia definition&lt;/a&gt;&lt;/strong&gt; looks like. It's amazingly adequate. But, it does go over the head of folks looking to understand this Cloud computing model in simple terms for the first time. Trust me we have all been there. I will expand them with a story that I am writing to explain it all. Do Google terms that you have trouble understanding or comment them down below and I will help out wherever I can. I am learning too!   &lt;/p&gt;

&lt;h2&gt;
  
  
  To understand Serverless better, we understand what came before it
&lt;/h2&gt;

&lt;p&gt;Aastha is a software developer working for Foobar Industries. She has been building an application locally and the development is going quite well. It has tests, follows best practices, it's secure, and work on her system. All that good stuff. It basically contains the business logic + data of her entire application. Next, she wants to deploy the application over the cloud for everyone to use and work on.&lt;/p&gt;

&lt;p&gt;Earlier application deployment over the cloud followed a more "Do it all yourself" (DIAY) approach. It's all about setting up your own servers, hiring a specialized team of engineers to run and maintain them, worry about security, routing, and probably 100 different things. It's not common now with cloud providers like AWS, GCP, DO, Azure, and Heroku coming in to do the heavy lifting for you. Yet if companies want the total privacy of their data and their business logic, this methodology is an expensive way to go about it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cloud transforming into a better place
&lt;/h2&gt;

&lt;p&gt;Thankfully Aastha's company wasn't into DIAY rather used Poogle as their cloud providers. Aastha sets up her application to run over Poogle's server which basically means running it on someone's else computer. She still has to set it up, deciding on configuration options like routing, access, resources, security, code deployments, and CI/CD pipelines. But, at least she doesn't have to worry about uptime, maintenance, updates, security, and availability. This is Infrastructure as a service (IAAS).&lt;/p&gt;

&lt;p&gt;With the introduction of new features, PAAS (Platform as a Service), CAAS (Containers as a Service), fully-featured SDKs,  and great documentation. Cloud is now become a better, more easier place to step into. Helping development teams focus more on the business logic instead of maintaining the application. Building software is now cheaper, easier, and quicker for everyone. Aastha is very happy as her application steadily grows both in users and features. Deploying over the cloud truly is a game-changer. But, like all deployments made on Friday are bound to fail over the weekend (I hope not). Aastha's application is yet to face its toughest opponent. &lt;/p&gt;

&lt;h2&gt;
  
  
  Dynamic Scaling with the demand
&lt;/h2&gt;

&lt;p&gt;Aastha's application is doing well, getting more traffic and requests with each passing day. She focuses on the development, adding new features and quashing old bugs. With that, she monitors the instance through Poogle's monitoring tool and streamlines the production pipelines for easier deployments. As the demand increases more, she begins to notice her instance is not able to keep up with the requests coming in throughout the day. &lt;/p&gt;

&lt;p&gt;Hence, she decides to get a bigger instance on Poogle and scales up her application. As users on her application continue to grow. She finds herself in the same scenario of having to move to a bigger instance. Sure in this scenario, throwing more infrastructure in the face of higher demand makes sense. But, although Foobar industries don't own the servers at Poogle. They still have to pay for renting them. It costs money, per hour, per day to rent an even bigger instance of whether the demand is coming in or not. Aastha analyses the traffic coming in each day and find an incredibly useful insight. &lt;/p&gt;

&lt;p&gt;The surge of traffic that warranted the move to a bigger instance earlier was coming in at a specific time or due to a specific action. Aastha begins to wonder if they could dynamically scale their instance according to incoming demand. Leading to higher efficiency and even greater savings. Later, they could scale it back when the demand is not that much. How cool would that be!  &lt;/p&gt;

&lt;h2&gt;
  
  
  Lo and behold, our savior Serverless!
&lt;/h2&gt;

&lt;p&gt;Coming back to the definition of Serverless. Serverless is a type of a Cloud computing model where users are charged only on what they use. It incorporates everything that has been already there in the cloud, using infrastructure, backend, and functions as a service to build a better ecosystem. For a quick example, consider single-page applications and similar use-cases which doesn't require an "always-on" server component or more simply, they don't need that many resources all the time. They need it when someone requests it. &lt;/p&gt;

&lt;p&gt;Even if someone does request, the application can be started upon a small instance which could then be scaled dynamically as per demand/traffic without the need for any oversight. This results in a greatly reduced operational cost, complexity, and engineering lead time whereas making it easier for folks to develop and work on it. Giving more time to focus on their application with little or no monitoring of the instances. Something I have explained at depth while &lt;a href="https://dev.to/vipulgupta2048/using-serverless-at-scale-to-build-a-party-parrot-gifs-generator-32be"&gt;building a real application on serverless and scaling it up&lt;/a&gt;.  &lt;/p&gt;

&lt;p&gt;Coming back to our story, Aastha and her team assesses their needs, and decides it be best to migrate to Poogle's serverless architecture as monitoring instances constantly has been a major effort on her side. As a software developer, her time is better spent working on improving the application and let serverless + Poogle's team of Cloud experts take care of her application. Everyone was really excited and happy to find a solution to this and no nothing failed over the weekend because deploying on a Friday is a really bad idea.&lt;/p&gt;

&lt;p&gt;Fin.&lt;/p&gt;

&lt;h2&gt;
  
  
  More to add in the end, a reality check
&lt;/h2&gt;

&lt;p&gt;Serverless is not the solution to all the problems. It's definitely not the silver bullet that I will or anyone else should be selling you towards. No technology can be. It's too much too ask for at this time. I said the same thing for a similar post that I wrote for &lt;a href="https://mixstersite.wordpress.com/2020/01/07/what-is-kubernetes-k8s-simple-english/"&gt;demystifying K8s&lt;/a&gt; quite earlier. Sure, serverless has all kinds of kickass features with which building applications becomes so much easier. It's awesome that you don't have to be an SME on Poogle's cloud computing model to get started and it also saves you cash. I like working on it just because of the sheer automation of it all. But, with that said I do like scaling servers and handling real-time traffic on my application with as little resources as possible. &lt;/p&gt;

&lt;p&gt;So, going forward after reading my post please do make an informed choice about Serverless. Read, question, and ask if serverless really for you and your use-case. There are some amazing posts, talks, and videos that have been written on serverless over the years. Give them a look. Also, this blog has been written for beginners to understand better. Hence, some concepts might be omitted in favor of brevity. Please comment done below if you like to see more of this content. Also, if you like to see a Party Parrot GIF generator that I built, tested, and deployed with Azure Serverless then head on down towards &lt;a href="https://dev.to/vipulgupta2048/using-serverless-at-scale-to-build-a-party-parrot-gifs-generator-32be"&gt;this link&lt;/a&gt;.  &lt;/p&gt;

&lt;p&gt;Till then folks, hope you have an absolutely vanilla day ahead knowing what and why of serverless! Thanks for reading!&lt;/p&gt;

</description>
      <category>serverless</category>
      <category>beginners</category>
      <category>simple</category>
      <category>mixster</category>
    </item>
    <item>
      <title>Using Serverless at scale to build a Party Parrot GIFs generator</title>
      <dc:creator>Vipul Gupta</dc:creator>
      <pubDate>Fri, 12 Jun 2020 18:14:52 +0000</pubDate>
      <link>https://dev.to/vipulgupta2048/using-serverless-at-scale-to-build-a-party-parrot-gifs-generator-32be</link>
      <guid>https://dev.to/vipulgupta2048/using-serverless-at-scale-to-build-a-party-parrot-gifs-generator-32be</guid>
      <description>&lt;p&gt;Have you ever loved something so much that you might never get enough of it? Party Parrots are something like that for me. There hasn't been a single time when these quirky parrots weren't successful in making me smile. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--65JdShKg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cultofthepartyparrot.com/parrots/hd/partyparrot.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--65JdShKg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cultofthepartyparrot.com/parrots/hd/partyparrot.gif" alt="Deal with it Party Parrot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since the time the world slipped into a pause. It only made more and more sense to why not build a &lt;a href="https://github.com/vipulgupta2048/partystarter/"&gt;Party Parrot GIF generator&lt;/a&gt; called &lt;strong&gt;PartyStarter&lt;/strong&gt; for my love of the parrots. As crazy as the idea sounds, I wanted to go a step ahead fit the use-case to be a serverless deployment, and hence this blog for taking you through my build process and how you can do stuff with serverless. GIF's looked absolutely gorgeous, I tweeted some out.&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media ltag__twitter-tweet__media__video-wrapper"&gt;
        &lt;div class="ltag__twitter-tweet__media--video-preview"&gt;
          &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vpQN9AWg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/ext_tw_video_thumb/1271161167335968768/pu/img/6WnRGz9DD5-okeZc.jpg" alt="unknown tweet media content"&gt;
          &lt;img src="/assets/play-butt.svg" class="ltag__twitter-tweet__play-butt" alt="Play butt"&gt;
        &lt;/div&gt;
        &lt;div class="ltag__twitter-tweet__video"&gt;
          
            
          
        &lt;/div&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--Iz-9s1cg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1129437530019979264/vPIGe7Yp_normal.jpg" alt="Vipul Gupta 🐣 profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Vipul Gupta 🐣
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="comment-mentioned-user" href="https://dev.to/vipulgupta2048"&gt;@vipulgupta2048&lt;/a&gt;

      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P4t6ys1m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Love Party Parrots?&lt;br&gt;Wanna create your own Party Parrots like GIFs?&lt;br&gt;&lt;br&gt;PartyStarter coming soon on a browser near you! 🐣 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      12:41 PM - 12 Jun 2020
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1271422247182336001" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-reply-action.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1271422247182336001" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-retweet-action.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      0
      &lt;a href="https://twitter.com/intent/like?tweet_id=1271422247182336001" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-like-action.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
      3
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;Cutting straight to the chase, I planned to keep my build as straightforward as possible. Focusing just on the application logic rather than worrying about deployment, scaling, or even setting up the server as serverless will take care of it all.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview"&gt;Azure Functions&lt;/a&gt; are nothing but small fragments of code that can be run without worrying about the underlying infrastructure, scaling, security, and 100 other things that come up when deploying code to production. Hence, this containerized style deployments of Azure functions seemed like the right fit for PartyStarter going serverless. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0SCtJ_v3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kr4wk2v9llf1jk09nh2y.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0SCtJ_v3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kr4wk2v9llf1jk09nh2y.gif" alt="Microsoft Party Parrot GIF"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Understanding how PartyStarter works!
&lt;/h2&gt;

&lt;p&gt;Through &lt;a href="https://github.com/jmhobbs/cultofthepartyparrot.com/issues/483"&gt;John Hobbs's help&lt;/a&gt;, the maintainer for "Cult of the Party Parrot" website. I was able to find accurate colors of the OG Party Parrot GIF. With that piece of information, a little Python, and a cup of coffee. I sat down to build the v1 of PartyStarter. &lt;/p&gt;

&lt;p&gt;The first hurdle I had to jump through, was transforming the right pixels on an image that contains a color and not alter the ones in the background. Hence, a necessary requirement ofPartyStarter are to be &lt;strong&gt;transparent image&lt;/strong&gt;. This also makes sense because &lt;strong&gt;GIFs look considerably better with a transparent background&lt;/strong&gt; &amp;amp; work better with my use-case. Let's try to understand this better in Python (Azure Functions is available for several popular languages &amp;amp; stacks) &lt;/p&gt;

&lt;h2&gt;
  
  
  Crash course in RGBA color coding
&lt;/h2&gt;

&lt;p&gt;So, each image you see is made of pixels. Lots and lots of pixels. If we have a &lt;code&gt;200x200&lt;/code&gt; image. That means we will be parsing through 40k data points pixel by pixel, change color of said pixels, and save the image. It's a resource-intensive task which is &lt;strong&gt;another great reason behind going with Serverless&lt;/strong&gt;. No matter how big the picture a user uploads, our server can handle it like a boss.&lt;/p&gt;

&lt;p&gt;In programming terms, each image is basically a 2-dimensional array that can be traversed with an &lt;code&gt;X&lt;/code&gt; and &lt;code&gt;Y&lt;/code&gt; coordinate telling us what pixel is at which position in the image. Let's open a random image and load it using &lt;code&gt;Image.load()&lt;/code&gt; method of &lt;a href="https://pillow.readthedocs.io/en/stable/"&gt;Python Pillow library&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; Image.open('~/partystarter/input/twitter.png')                                                                                                             
&amp;lt;PIL.PngImagePlugin.PngImageFile image mode=RGBA size=400x400 at 0x7F86416BFCF8&amp;gt;

&amp;gt;&amp;gt;&amp;gt; im.load()                                                                                                                                                                          
&amp;lt;PixelAccess at 0x7f864285b170&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;The next requirement, is images need to be RGBA mode. In next iterations, we can work towards converting them into RGBA and maintain transparency. We check what color is the pixel at [223, 123] in the image and find it to be(29, 161, 242, 255) according to RGBA color model (Red, Blue, Green, Alpha) where Alpha is transparency. These are the &lt;strong&gt;pixels we want to alter into a different color&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; pixels = im.load()                                                                                                  
&amp;gt;&amp;gt;&amp;gt; pixels[223,123]                                                                                                                                                                       
(29, 161, 242, 255)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Similarly, for a &lt;strong&gt;pixel located in a transparent area&lt;/strong&gt; for which we get the output as (0,0,0,0) are ones that we don't want to alter. And, that's about it. Simple right?&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; pixels[0,0]                                                                                                                                                                           
(0, 0, 0, 0)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Concept is clear, show me the code!
&lt;/h2&gt;

&lt;p&gt;With Python, I traverse through &lt;strong&gt;only color pixels&lt;/strong&gt; of the original image, changed their colors to what and how we want them. Later, repeat this about a total of 18 times to basically create 18 different frames. And voila! Generate a GIFs from that runs at 18 FPS. Here's how the color altering &lt;code&gt;party_changer()&lt;/code&gt; method looks like.&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;



&lt;p&gt;While the party is being changed, there needs to be someone willing to step in and save the party as well. Hence, here's how I save the party GIF with the &lt;code&gt;party_saver()&lt;/code&gt; method.&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;The FPS or Frames per second matters a lot when creating great GIF's. Low FPS means your GIF will stutter and won't look smooth. While keeping a higher FPS GIF would mean folks seeing it might have a chance to contract a seizure. Let me demonstrate.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ca6LgavS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/x5lz1dd2qnw2uantj8fy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ca6LgavS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/x5lz1dd2qnw2uantj8fy.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see the difference, the GIF on the left is showing 18 frames at 150 milliseconds (ms) and the on the right is showing just 6 frames in 180 ms. The GIF on the right is stuck at one color for some ms to keep in sync with the other GIF in the collage. Here's how the entire code looks when it comes together. &lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;





&lt;h1&gt;
  
  
  Houston, we ready for deployment!
&lt;/h1&gt;

&lt;p&gt;Till this point, I have created my application, the code works on my machine and it looks great to be honest. PartyStarter is ready to party and get deployed. To deploy the Azure Function, I used VScode to build a new Azure function locally for testing and later tweaked my code to deploy it over Azure. If a practical approach is not your thing, why not read a story that I wrote about serverless in &lt;a href="https://dev.to/vipulgupta2048/simple-english-the-what-why-and-how-of-serverless-the-easiest-way-possible-403i"&gt;The what, why, and how of Serverless the easiest way possible&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding the Why Serverless? for PartyStarter!
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;If users grow, serverless helps to auto-scale dynamically as per traffic using only what's needed leading to higher efficiency and greater savings on your subscription.&lt;/li&gt;
&lt;li&gt;If users upload HD photos and PartyStarter needs more resources to process then serverless manages performance like a pro without supervision &lt;/li&gt;
&lt;li&gt;and other 100 things that I won't sell you on rather you can read &lt;a href="https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview#features"&gt;here&lt;/a&gt;. Let's build Devs!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oRJctm5T--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ow81dc1olanqq6kfefxl.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oRJctm5T--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ow81dc1olanqq6kfefxl.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Refactoring the code to work with Azure Functions
&lt;/h2&gt;

&lt;p&gt;Like functions we code in Python or any language, they need to be called somewhere in the code to make them run when needed. Similar is the case for Azure Functions where they are "called" by triggers that lead to event-driven execution of functions. These triggers can execute our code with as simple events as making an HTTP call on an endpoint or processing files when they get uploaded onto Blob storage or even timer triggers that run at predefined schedules much like cron jobs. You can check them all of them out on &lt;a href="https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview#what-can-i-do-with-functions"&gt;Azure Docs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;What I envisioned PartyStarter in a serverless use-case was for users to upload images on to containers which triggers a Function to basically run my code to create a GIF of that image. Therefore, I will be going with the BlobTrigger for my use-case, where we can process new and modified Azure Storage blobs. Blobs are nothing but files that we can upload on containers hosted on Azure Storage account. Check out the diagram below to get a better idea of the same. We will be managing our blobs with &lt;a href="https://docs.microsoft.com/en-in/azure/storage/blobs/storage-quickstart-blobs-python"&gt;Python SDK for Blob Storage&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--23nriONn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://docs.microsoft.com/en-in/azure/storage/blobs/media/storage-blobs-introduction/blob1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--23nriONn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://docs.microsoft.com/en-in/azure/storage/blobs/media/storage-blobs-introduction/blob1.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
Source: &lt;a href="https://docs.microsoft.com/en-in/azure/storage/blobs/storage-quickstart-blobs-python"&gt;Microsoft Azure Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Much like that awesome tutorial, I always tend to find 15-20 examples, guides, tutorials detailing every use-case and feature right in the &lt;a href="https://docs.microsoft.com/en-us/azure/azure-functions"&gt;Azure docs&lt;/a&gt; whenever I was looking for an idea to build something. That way I didn't have to consult any other sources for &lt;a href="https://docs.microsoft.com/en-us/azure/developer/python/tutorial-vs-code-serverless-python-01"&gt;getting started with Python Azure Functions&lt;/a&gt;. The best part and NECROMANCY ALERT that I saw. Everything just ... works right from the get-go. VScode integration of setting up the entire project locally with the right stack, virtual environment, settings, authorization keys, .gitignore gives the control back to the user to build, customize, and test. It gives you ready to test the function template and code in nearly seconds. I went wrong with a couple of steps, but once I got the hang of it. I was flying off from screen to screen like a ninja. What a rush!&lt;/p&gt;

&lt;p&gt;Here are my details of setting up a new local Azure Functions projects + the configuration for the Azure Blob Storage Trigger. When you have tested them locally, then be sure to connect them to a subscription for them to run without interruptions. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--y43OjuIP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/b9w7sjtnqezwtfiyttil.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--y43OjuIP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/b9w7sjtnqezwtfiyttil.gif" alt="Setting up local function"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Uploading the Azure Function that I just created and testing it out through the Code+Test playground on Azure was a breeze and exactly what I hoped for. Making a few tweaks to my PartyStarter code. It was ready for the party!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1juYhW7e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ynueux8i2238urv9ng29.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1juYhW7e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ynueux8i2238urv9ng29.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  PartyStarter goes Serverless: The road ahead
&lt;/h2&gt;

&lt;p&gt;With the PartyStarter now a serverless app. I can use it however I like. I could build a web or native app around it, integrate with a command-line interface, use it to generate a bunch of emoji packs for folks to use in their organizations. The possibilities for PartyStarter feel truly endless. The best part the code is open-source at &lt;a href="https://github.com/vipulgupta2048/partystarter"&gt;GitHub&lt;/a&gt; and go ahead take a crack at it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mmrAvk_d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/i8g7sbmy4hp8v6kpev8m.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mmrAvk_d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/i8g7sbmy4hp8v6kpev8m.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Looks Pretty Good, right?!&lt;/p&gt;

&lt;p&gt;Well, that's about it. Starting these many parties has been tiring. I have to fix a lot of bugs that come up in the code as well. I hope this build blog helps you get some motivation to build your next idea, project, or work stuff with serverless!&lt;/p&gt;

</description>
      <category>serverless</category>
      <category>azure</category>
      <category>beginners</category>
      <category>azuredevstories</category>
    </item>
    <item>
      <title>Transcending Limitations and Fulfilling Goals as a GSoC Student</title>
      <dc:creator>Vipul Gupta</dc:creator>
      <pubDate>Mon, 16 Dec 2019 18:12:27 +0000</pubDate>
      <link>https://dev.to/vipulgupta2048/transcending-limitations-and-fulfilling-goals-as-a-gsoc-student-4jcb</link>
      <guid>https://dev.to/vipulgupta2048/transcending-limitations-and-fulfilling-goals-as-a-gsoc-student-4jcb</guid>
      <description>&lt;p&gt;&lt;em&gt;Capturing the bigger picture of the global program celebrating its glorious 15 years.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;As we come toward the end of the decade in just about 15 days, I feel it’s important to put life into perspective. To think back on things that actually worked out, and those which didn’t. From the things that we did, Google Summer of Code has been one of the few experiences that I can chalk out to being the most impactful early on in my career and the same for countless more before me. &lt;/p&gt;

&lt;p&gt;To introduce myself, my name is Vipul Gupta; I am an open-source enthusiast, a Python developer, and a documentation writer. I was a GSoC student in 2018 with Sugar Labs and recently in 2019 with The Scrapy Project. I absolutely love talking about communities, product, and Calvin &amp;amp; Hobbes. &lt;/p&gt;

&lt;p&gt;Google Summer of Code (GSoC) is a 12-week program that connects students with open source organizations to work on projects over the summer. But, for me, it has been much more than that. It’s amazing how much it has helped shape my perspective on open source. &lt;/p&gt;

&lt;p&gt;How you ask? Let’s big picture this. &lt;/p&gt;

&lt;h2&gt;
  
  
  Unparalleled opportunity to work with industry’s best
&lt;/h2&gt;

&lt;p&gt;Great internships can be challenging to get — I think everyone can relate to the grind for getting their first break into the industry. Although, Google Summer of Code isn’t an internship. The program is the perfect blend of a tech-oriented, project-driven initiative. You receive hands-on experience on a project with an organization. It’s paid (Thanks Google for the support!) and it’s also remote so no visa troubles. This means the initial limitations of students are already a thing of the past. &lt;/p&gt;

&lt;p&gt;Most importantly, it’s a great learning experience that students can undertake independently over the summer while working with the world’s foremost organizations in open source. You get to think, plan, execute and document your own projects. Every mistake teaches you more and every interaction with the community helps you learn something. I feel proud to be more productive and active during my GSoC work periods than anytime else. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CJogq-Nv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/8gmom8brdjd456crhe2y.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CJogq-Nv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/8gmom8brdjd456crhe2y.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Mentors, becoming lifelong connections
&lt;/h2&gt;

&lt;p&gt;Coming from the part of the world which has the highest number of accepted GSoC students annually, I was introduced to open source pretty early in college via my mentors and the community I run (ALiAS). Everything I have done since then is because of their constant guidance and support. Point being, good mentorship early on is really important. &lt;/p&gt;

&lt;p&gt;This is one of the limitations that students can overcome fairly easy with Google Summer of Code. The cumulative wealth of knowledge that mentors in GSoC have is unprecedented. Meetings, where you get detailed feedback on your work, is the most valuable time with my mentors. You learn how to do better as they constantly watch over you. And most importantly, they put time aside to focus on your success and your goals.&lt;/p&gt;

&lt;p&gt;The best part? After GSoC, mentors become connections, friends, and partners you cherish and still continuously learn from—I know I do. My mentors and I make plans for meeting over conferences to add faces to usernames. I think that's the beauty of it all.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I1fFcD37--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/tc45mk43w6h9o8x84xwg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I1fFcD37--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/tc45mk43w6h9o8x84xwg.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Exercising the experience, to help others grow
&lt;/h2&gt;

&lt;p&gt;Google Summer of Code sure teaches you a lot, but what if you can leverage that experience to help others overcome their limitations. After my Google Summer of Code ‘18, I have been quite active in meetups organized by local communities like PyDelhi &amp;amp; ILuGD. Always trying to volunteer and give back to the community. Speaking, writing and sharing insights to raise awareness about my organization and Google Summer of Code. Helping folks actively take part in programs such as these is something that helps make the community stronger. This also helps me as a student learn more with each talk, and improve my skills.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Contribute to Open Source, be part of a community
&lt;/h2&gt;

&lt;p&gt;I have been contributing to open-source communities both offline and online for about four years now. I am proud to say there is no better feeling than knowing that you are part of a bigger whole and knowing that your work is helping people indirectly. I feel with Google Summer of Code everyone of us is a part of something bigger than ourselves, too. Where we get an opportunity to contribute to open-source, build communities around amazing organizations and come together as one for a good cause. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XW7CDT6_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/igyaz496qur3z69n9gc6.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XW7CDT6_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/igyaz496qur3z69n9gc6.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Well, this was my first post on Dev.to! Happy to join this amazing community of developers and writers. Post originally written for the Google Open Source blog, but as you can see it's here rather than here meaning it didn't get selected. Still, always be happy to get a chance to write about Google Summer of Code.  &lt;/p&gt;

</description>
      <category>gsoc</category>
      <category>student</category>
      <category>opensource</category>
      <category>community</category>
    </item>
  </channel>
</rss>
