<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Aniket Pant - Notes and Essays by a developer</title>
    <description>Aniket is a full stack developer who loves Go and JavaScript.</description>
    <link>http://aniketpant.com</link>
    <atom:link href="http://aniketpant.com/feed" rel="self" type="application/rss+xml" />
    
    

    <item>
      <title>Two-Zero-Seventeen</title>
      <description>&lt;p&gt;2017 is becoming a distant memory as I write this as 2018 comes to an end. The ending of a year doesn’t hold much to me anymore as reflecting on the time spent at any given moment is completely worth it. I’ll attempt to capture as much of the last year as I can and I hope recollecting events in a chronological order will help.&lt;/p&gt;

&lt;p&gt;Focusing on a few things at a time is a fantastic way to improve. After many years of thinking that multitasking works, I spent most of last year focusing on one activity at a time. It would come as no surprise that I performed better when I would write code as opposed to watching TV at the same time. We hear about various productivity techniques but the one that stuck was Pomodoro.  &lt;em&gt;Tomato One&lt;/em&gt; is a wonderful app for macOS and it allows you to customize your breaks. I have attempted some variations of schedules - 20 minute work, 1 minute short break, 5 minute long break.&lt;/p&gt;

&lt;p&gt;In late 2016, I switched my keyboard layout to Dvorak and now I’ve been  using it for a little over a year. The progress has been personally transformative as I get to use all my digits and as a Vim user, certain keyboard shortcuts are much more comfortable. I used to occasionally feel pain and numbness around my wrist and some fingers and all that pain is slowly subsiding. I’m quite excited to see how it turns out 3-4 years from now.&lt;/p&gt;

&lt;p&gt;The last thing I genuinely tried my very best at was understanding nutrition. I signed up for a three month program aiming to understand nutrition according to my lifestyle. I would have never known that this would be a pretty long journey which will actually play a very important role in fundamentally changing me as a person. The more I learned about what food choices we make, how we make them and potential impact on my health in the long run, the more I realized that everything is a long journey in life. If you spend enough time genuinely trying to learn something, you’ll bear more fruits from this interest. I now cook more than occasionally and really enjoy the food I prepare.&lt;/p&gt;

&lt;p&gt;Sometime around the start of the year, I made the decision of moving to the US and I made the move in mid-2017. Now I live in NYC and work on Uber for Business products. This is the first time when I’m living in the US and the experience has been so far overwhelming. It’s a massive cultural shift personally and professionally which deserves an essay of its own.&lt;/p&gt;
</description>
      <pubDate>Fri, 16 Nov 2018 06:18:00 +0100</pubDate>
      <link>http://aniketpant.com/2018/11/two-zero-seventeen</link>
      <guid isPermaLink="true">http://aniketpant.com/2018/11/two-zero-seventeen</guid>
    </item>
    
    
    

    <item>
      <title>Two-Zero-Sixteen</title>
      <description>&lt;p&gt;I have managed to outplay myself by reading zero books. On the side I have written nothing apart from what my job demanded.&lt;/p&gt;

&lt;h2 id=&quot;life-at-uber&quot;&gt;Life at Uber&lt;/h2&gt;

&lt;p&gt;A year has passed since I joined Uber as the first software engineer joining the Bangalore office. This has been an exciting time for me as I had never worked in such a large organisation earlier. The amount of in-house tooling is nothing short of impressive and every week tends to bring in something new to learn. We have been able to get our numbers up and now have a ~20 people team working as 3 teams. The projects for this year seem super interesting.&lt;/p&gt;

&lt;h2 id=&quot;to-2017&quot;&gt;To 2017&lt;/h2&gt;

&lt;p&gt;The year has had a fun start where I worked from Nepal for a week. I am going to continue to take time off for travel every now and then.&lt;/p&gt;

&lt;p&gt;The other exciting thing I picked up recently is the &lt;a href=&quot;http://tinyhabits.com/&quot;&gt;Tiny Habits&lt;/a&gt; program. If you have a tough time building new habits, this might be for you.&lt;/p&gt;
</description>
      <pubDate>Sun, 22 Jan 2017 19:34:00 +0100</pubDate>
      <link>http://aniketpant.com/2017/01/two-zero-sixteen</link>
      <guid isPermaLink="true">http://aniketpant.com/2017/01/two-zero-sixteen</guid>
    </item>
    
    
    

    <item>
      <title>Two-Zero-Fifteen</title>
      <description>&lt;p&gt;I usually do my yearly round up post on either the last day of the year or the
first day of the new year, but this time I did not have my laptop around me.
After working at Zomato for about a year and a half I decided that I wanted to
move out to a new company. The exciting news from all of this is that now I am a
Software Engineer in Uber and I also happen to be the &lt;em&gt;first engineering hire&lt;/em&gt;
from India. Fancy, right?&lt;/p&gt;

&lt;h2 id=&quot;work-at-uber&quot;&gt;Work at Uber&lt;/h2&gt;

&lt;p&gt;Uber is an absolutely fantastic place to work and anyone who wants to write
great quality code and work on some epic projects, please &lt;a href=&quot;https://www.uber.com/careers/&quot;&gt;join
us&lt;/a&gt;!  If you are looking for some knowledge on
what we are doing and how you can contribute, get in touch with me. Hit me up on
&lt;a href=&quot;https://twitter.com/noremap&quot;&gt;Twitter @noremap&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;2016 is going to be the year where I get to work heavily on Python. I have
always been reluctant to use Python for any of work for a long time simply
because I don’t like the language’s aesthetics. Not a big fan of the lack of
braces. I keep feeling the lack of terseness when I work in Python as the
language tends to be more verbose than required. This might be happening because
I have been programming in Go recently.&lt;/p&gt;

&lt;h2 id=&quot;moving-to-bangalore&quot;&gt;Moving to Bangalore&lt;/h2&gt;

&lt;p&gt;My current location has changed from Gurgaon to Bangalore. I am slowly getting
used to the city but so far everything has been fairly pleasant. People in
Bangalore, if you are interested in grabbing a coffee or just jamming over ideas
with me, hit me up!&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;I am eagerly looking forward to this year. The first quarter is already over but
this year I will try putting out a post every month.&lt;/p&gt;
</description>
      <pubDate>Sun, 13 Mar 2016 18:48:00 +0100</pubDate>
      <link>http://aniketpant.com/2016/03/two-zero-fifteen</link>
      <guid isPermaLink="true">http://aniketpant.com/2016/03/two-zero-fifteen</guid>
    </item>
    
    
    

    <item>
      <title>Two-Zero-Fourteen</title>
      <description>&lt;p&gt;We all wait eagerly for an year to get over so that we can make a few more
promises to ourselves and keep ourselves going. The last year was enjoyable to
me in every single aspect.&lt;/p&gt;

&lt;p&gt;I am person who keeps very high expectations for themselves. I try to push
myself every single day to learn more, to do better and these are the things
that keep me going. My promise for this year is going to be the very same as my
last year:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;To push harder.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;the-best-of-2014&quot;&gt;The best of 2014&lt;/h2&gt;

&lt;p&gt;I completed my graduation in Mechanical Engineering and ended up as a &lt;a href=&quot;/2014/06/joining-zomato&quot;&gt;software
engineer at Zomato&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A couple of months back I participated in a half-marathon and fared well for my
first time. Since, then I have tried to put in more effort into running and I am
pretty sure that I will clock a time under 2 hours in my next attempt.&lt;/p&gt;

&lt;p&gt;This Christmas I participated in my first ever Secret Santa and to be frank,
this was the best experience I have ever had with gifting. Since then, I have
been telling all my friends about it and encouraging them to be a part of it.&lt;/p&gt;

&lt;p&gt;Regarding my health, I can very well say that I am not in my best shape and I am
working towards it. After lurking on the
&lt;a href=&quot;https://www.reddit.com/r/keto&quot;&gt;/r/keto&lt;/a&gt; subreddit for a long time, I have
finally decided that I am going to give it a shot. I am about to complete a week
but so far I have not been able to keep my carbohydrates in check, though every
day turns out to be better than the last.&lt;/p&gt;

&lt;h2 id=&quot;plans-for-2015&quot;&gt;Plans for 2015&lt;/h2&gt;

&lt;p&gt;There are a few projects of my own that are pending since the last year, and I
hope to complete them this year.&lt;/p&gt;

&lt;p&gt;I have also been engaged in a long battle of
writing often since I have started working professionally and I will try my best
to do justice to it.&lt;/p&gt;

&lt;p&gt;Thanks to my Secret Santa, I have the entire series of &lt;a href=&quot;https://en.wikipedia.org/wiki/A_Song_of_Ice_and_Fire&quot;&gt;A Song of Ice and
Fire&lt;/a&gt; that I need to start
reading.&lt;/p&gt;

&lt;p&gt;I will also eat healthy and try to run more often.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let’s make the most of this year and try to be better!&lt;/strong&gt;&lt;/p&gt;
</description>
      <pubDate>Thu, 01 Jan 2015 17:36:00 +0100</pubDate>
      <link>http://aniketpant.com/2015/01/two-zero-fourteen</link>
      <guid isPermaLink="true">http://aniketpant.com/2015/01/two-zero-fourteen</guid>
    </item>
    
    
    

    <item>
      <title>I love Digital Ocean</title>
      <description>&lt;p&gt;I have been using &lt;a href=&quot;https://www.digitalocean.com/?refcode=bcad489cfa67&quot;&gt;Digital
Ocean&lt;/a&gt; for only a few months
now and the service is remarkable. Yesterday, I got a tiny surprise from them!&lt;/p&gt;

&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-version=&quot;2&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:658px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:8px;&quot;&gt;&lt;div style=&quot; background:#F8F8F8; line-height:0; margin-top:40px; padding-bottom:55%; padding-top:45%; text-align:center; width:100%;&quot;&gt;&lt;div style=&quot;position:relative;&quot;&gt;&lt;div style=&quot; -webkit-animation:dkaXkpbBxI 1s ease-out infinite; animation:dkaXkpbBxI 1s ease-out infinite; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAAGFBMVEUiIiI9PT0eHh4gIB4hIBkcHBwcHBwcHBydr+JQAAAACHRSTlMABA4YHyQsM5jtaMwAAADfSURBVDjL7ZVBEgMhCAQBAf//42xcNbpAqakcM0ftUmFAAIBE81IqBJdS3lS6zs3bIpB9WED3YYXFPmHRfT8sgyrCP1x8uEUxLMzNWElFOYCV6mHWWwMzdPEKHlhLw7NWJqkHc4uIZphavDzA2JPzUDsBZziNae2S6owH8xPmX8G7zzgKEOPUoYHvGz1TBCxMkd3kwNVbU0gKHkx+iZILf77IofhrY1nYFnB/lQPb79drWOyJVa/DAvg9B/rLB4cC+Nqgdz/TvBbBnr6GBReqn/nRmDgaQEej7WhonozjF+Y2I/fZou/qAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-44px; width:44px;&quot;&gt;&lt;/div&gt;&lt;span style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:12px; font-style:normal; font-weight:bold; position:relative; top:15px;&quot;&gt;Loading&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin:8px 0 0 0; padding:0 4px; word-wrap:break-word;&quot;&gt; A lovely handwritten note by the wonderful folks at @digitalocean :)&lt;/p&gt;&lt;p style=&quot; line-height:32px; margin-bottom:0; margin-top:8px; padding:0; text-align:center;&quot;&gt; &lt;a href=&quot;https://instagram.com/p/tunl4vlXBj/&quot; style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; text-decoration:none;&quot; target=&quot;_top&quot;&gt; View on Instagram&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;style&gt;@-webkit-keyframes&quot;dkaXkpbBxI&quot;{ 0%{opacity:0.5;} 50%{opacity:1;} 100%{opacity:0.5;} } @keyframes&quot;dkaXkpbBxI&quot;{ 0%{opacity:0.5;} 50%{opacity:1;} 100%{opacity:0.5;} }&lt;/style&gt;&lt;/blockquote&gt;

&lt;div class=&quot;space&quot;&gt;&lt;/div&gt;

&lt;blockquote class=&quot;instagram-media&quot; data-instgrm-captioned=&quot;&quot; data-instgrm-version=&quot;2&quot; style=&quot; background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:658px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);&quot;&gt;&lt;div style=&quot;padding:8px;&quot;&gt;&lt;div style=&quot; background:#F8F8F8; line-height:0; margin-top:40px; padding-bottom:55%; padding-top:45%; text-align:center; width:100%;&quot;&gt;&lt;div style=&quot;position:relative;&quot;&gt;&lt;div style=&quot; -webkit-animation:dkaXkpbBxI 1s ease-out infinite; animation:dkaXkpbBxI 1s ease-out infinite; background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAAAGFBMVEUiIiI9PT0eHh4gIB4hIBkcHBwcHBwcHBydr+JQAAAACHRSTlMABA4YHyQsM5jtaMwAAADfSURBVDjL7ZVBEgMhCAQBAf//42xcNbpAqakcM0ftUmFAAIBE81IqBJdS3lS6zs3bIpB9WED3YYXFPmHRfT8sgyrCP1x8uEUxLMzNWElFOYCV6mHWWwMzdPEKHlhLw7NWJqkHc4uIZphavDzA2JPzUDsBZziNae2S6owH8xPmX8G7zzgKEOPUoYHvGz1TBCxMkd3kwNVbU0gKHkx+iZILf77IofhrY1nYFnB/lQPb79drWOyJVa/DAvg9B/rLB4cC+Nqgdz/TvBbBnr6GBReqn/nRmDgaQEej7WhonozjF+Y2I/fZou/qAAAAAElFTkSuQmCC); display:block; height:44px; margin:0 auto -44px; position:relative; top:-44px; width:44px;&quot;&gt;&lt;/div&gt;&lt;span style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:12px; font-style:normal; font-weight:bold; position:relative; top:15px;&quot;&gt;Loading&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin:8px 0 0 0; padding:0 4px; word-wrap:break-word;&quot;&gt; Thank you for the love @digitalocean :)&lt;/p&gt;&lt;p style=&quot; line-height:32px; margin-bottom:0; margin-top:8px; padding:0; text-align:center;&quot;&gt; &lt;a href=&quot;https://instagram.com/p/tuncxFlXBZ/&quot; style=&quot; color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; text-decoration:none;&quot; target=&quot;_top&quot;&gt; View on Instagram&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;style&gt;@-webkit-keyframes&quot;dkaXkpbBxI&quot;{ 0%{opacity:0.5;} 50%{opacity:1;} 100%{opacity:0.5;} } @keyframes&quot;dkaXkpbBxI&quot;{ 0%{opacity:0.5;} 50%{opacity:1;} 100%{opacity:0.5;} }&lt;/style&gt;&lt;/blockquote&gt;

&lt;script async=&quot;&quot; defer=&quot;&quot; src=&quot;//platform.instagram.com/en_US/embeds.js&quot;&gt;&lt;/script&gt;

&lt;div class=&quot;space&quot;&gt;&lt;/div&gt;
</description>
      <pubDate>Sun, 05 Oct 2014 06:22:00 +0200</pubDate>
      <link>http://aniketpant.com/2014/10/i-love-digital-ocean</link>
      <guid isPermaLink="true">http://aniketpant.com/2014/10/i-love-digital-ocean</guid>
    </item>
    
    
    

    <item>
      <title>Deploying Sinatra on Digital Ocean</title>
      <description>&lt;p&gt;Deploying a Ruby application on a server of your own can get challenging when
you wish to make the deployment procedure simple.&lt;/p&gt;

&lt;p&gt;Recently, I got myself a Digital Ocean account. My primary motivation of
shifting to a VPS was to learn more about deploying applications and to be able
to ship out my side projects.&lt;/p&gt;

&lt;p&gt;It would hardly take you a couple of minutes to get a droplet up and running.&lt;/p&gt;

&lt;p&gt;I quickly created a GitHub repository called &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;hello&lt;/code&gt; and wrote a tiny Sinatra
application. After this, I created a user account on my server for handling the
deployments.&lt;/p&gt;

&lt;p&gt;My first choice for a deployment tool was &lt;a href=&quot;http://capistranorb.com&quot;&gt;Capistrano&lt;/a&gt;
and I setup my application to use it. After fiddling with Capistrano for a few
days, I realised that SSH Kit doesn’t really work that well for me. Having been
used to a Grunt based deployment setup at my present organisation, Capistrano’s
in-built tasks did not suit my needs. At present, I wish to have more control
over the deployment procedure. Since, I had heard so much praise about the tool
and because of the abundant documentation available online, I decided to give it
some more time. Even after a few more tries, it didn’t really work out.&lt;/p&gt;

&lt;p&gt;Initially, when I was looking around for deployment tools, I had come across
&lt;a href=&quot;http://mina-deploy.github.io/mina&quot;&gt;Mina&lt;/a&gt;, but for some strange reason I
dismissed it. After my repeated failures with Capistrano, I decided to use Mina.
What Mina does is that it creates a single batch script which it then sends to
the server and executes. According to me, this is a fantastic technique because
it reduces the number of requests made during the procedure. Also, it allows for
the usage of other commands straight away.&lt;/p&gt;

&lt;p&gt;My current &lt;a href=&quot;https://github.com/aniketpant/hello/blob/master/config/deploy.rb&quot;&gt;deploy
script&lt;/a&gt; is pretty neat:&lt;/p&gt;

&lt;div class=&quot;language-ruby highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;require&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'mina/bundler'&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;require&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'mina/git'&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;require&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'mina/rbenv'&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;require&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'configatron'&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;require&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'./config/settings.rb'&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:domain&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;configatron&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;server&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;host&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:deploy_to&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;configatron&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;server&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;deploy_to&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:repository&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;configatron&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;git&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;repository&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:branch&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;configatron&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;git&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;branch&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:user&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;configatron&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;ssh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;user&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:forward_agent&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;configatron&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;ssh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;forward_agent&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:identity_file&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;configatron&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;ssh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;identity_file&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:shared_paths&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;'log'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'tmp'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;task&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:environment&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;invoke&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:'rbenv:load'&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;task&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:setup&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:environment&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;queue!&lt;/span&gt; &lt;span class=&quot;sx&quot;&gt;%[mkdir -p &quot;#{deploy_to}/shared/log&quot;]&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;queue!&lt;/span&gt; &lt;span class=&quot;sx&quot;&gt;%[chmod g+rx,u+rwx &quot;#{deploy_to}/shared/log&quot;]&lt;/span&gt;

  &lt;span class=&quot;n&quot;&gt;queue!&lt;/span&gt; &lt;span class=&quot;sx&quot;&gt;%[mkdir -p &quot;#{deploy_to}/shared/tmp&quot;]&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;queue!&lt;/span&gt; &lt;span class=&quot;sx&quot;&gt;%[chmod g+rx,u+rwx &quot;#{deploy_to}/shared/tmp&quot;]&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;desc&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Deploys the current version to the server.&quot;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;task&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:deploy&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:environment&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;deploy&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;invoke&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:'git:clone'&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;invoke&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:'deploy:link_shared_paths'&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;invoke&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:'bundle:install'&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:launch&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;invoke&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:restart&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;desc&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Restart the server.&quot;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;task&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:restart&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:environment&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;in_directory&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;deploy_to&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;current_path&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;queue&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;bundle exec thin -R config.ru -p 4567 -d restart&quot;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;desc&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Start the server.&quot;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;task&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:start&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:environment&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;in_directory&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;deploy_to&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;current_path&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;queue&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;bundle exec thin -R config.ru -p 4567 -d start&quot;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;desc&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Stop the server.&quot;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;task&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:stop&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:environment&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;in_directory&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;deploy_to&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;current_path&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;queue&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;bundle exec thin -R config.ru -p 4567 -d stop&quot;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;desc&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Report server process id&quot;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;task&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:info&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;:environment&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;in_directory&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;deploy_to&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shared_path&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;queue&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;print 'Server running with pid:' `cat tmp/pids/thin.pid`&quot;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
      <pubDate>Tue, 23 Sep 2014 20:32:00 +0200</pubDate>
      <link>http://aniketpant.com/2014/09/deploying-sinatra-on-digital-ocean</link>
      <guid isPermaLink="true">http://aniketpant.com/2014/09/deploying-sinatra-on-digital-ocean</guid>
    </item>
    
    
    

    <item>
      <title>Joining Zomato</title>
      <description>&lt;p&gt;I am excited to say that I have joined &lt;a href=&quot;http://zomato.com&quot;&gt;Zomato&lt;/a&gt; as a Software Engineer.&lt;/p&gt;

&lt;p&gt;Over here I will work on anything and everything web where most of my work will engage me with PHP. In my free time, I will try to engage myself in developing tools to assist myself and team here!&lt;/p&gt;
</description>
      <pubDate>Sat, 07 Jun 2014 11:22:00 +0200</pubDate>
      <link>http://aniketpant.com/2014/06/joining-zomato</link>
      <guid isPermaLink="true">http://aniketpant.com/2014/06/joining-zomato</guid>
    </item>
    
    
    

    <item>
      <title>Two-Zero-Thirteen</title>
      <description>&lt;p&gt;Another year came to an end and I have learnt a great deal about life from this one. Coding was a major part of it but meeting people, living in a different city and learning about a new culture is definitely fascinating.&lt;/p&gt;

&lt;p&gt;The year started the very same way as each year starts. There was college, loads of work and a number of other things on my list which kept me busy.&lt;/p&gt;

&lt;p&gt;By June, I had the chance to go for a small vacation to Bhutan where I got to witness a culture which is absolutely different from anything I have seen to date.&lt;/p&gt;

&lt;p&gt;In July, I started with my six month internship at Tata Autocomp Systems Ltd., Pune where I was working on one aspect of industrial engineering. In these six months, I was also reading up a lot on compiler and language design. A friend of mine helped me pave my way through functional programming and I picked up Haskell and Elixir.&lt;/p&gt;

&lt;p&gt;Along with all of this, I read a good amount of books which I was missing out on since I joined college. This was definitely something I was craving for. I still have a dozen books that I need to read before I set off on a new journey which will start in May when college gets over.&lt;/p&gt;

&lt;p&gt;We all should realize the importance of people in our lives. Being in an new city without any support from my parents was an experience in itself. Getting the opportunity to reconnect with old relations and making new relations is just amazing. I met two people who actually helped me shape my outlook towards many things in life. I learnt about what I was missing out on while I stayed in the college enclosure.&lt;/p&gt;

&lt;p&gt;So, that was pretty much my life in 2013. At the moment I am working with Instamojo and helping them build front-end.&lt;/p&gt;

&lt;p&gt;I am sure the future holds a lot of excitement.&lt;/p&gt;
</description>
      <pubDate>Wed, 01 Jan 2014 19:21:00 +0100</pubDate>
      <link>http://aniketpant.com/2014/01/two-zero-thirteen</link>
      <guid isPermaLink="true">http://aniketpant.com/2014/01/two-zero-thirteen</guid>
    </item>
    
    
    

    <item>
      <title>Musket Fire</title>
      <description>&lt;p&gt;Musket is the latest RubyGem I am working on. The project started off after I was fed up of writing standard files again and again. We front-end developers need to create many HTML files which have a standard structure. We also write a a lot CSS and JS, and most of these files have a similar starting point.&lt;/p&gt;

&lt;p&gt;As of now &lt;a href=&quot;https://rubygems.org/gems/musket&quot;&gt;Musket&lt;/a&gt; doesn’t do a lot of things other than generating a file with a standard HTML template but I do have a few things in mind for extending it. I wish to bring in templates for jQuery plugins and other HTML modules that are always required for demos and mockups. These HTML templates would include elements like tables and lists, as they are the elements I need frequently.&lt;/p&gt;
</description>
      <pubDate>Sun, 09 Jun 2013 06:48:00 +0200</pubDate>
      <link>http://aniketpant.com/2013/06/musket-fire</link>
      <guid isPermaLink="true">http://aniketpant.com/2013/06/musket-fire</guid>
    </item>
    
    
    

    <item>
      <title>HNsearch, my first gem</title>
      <description>&lt;p&gt;I finally wrote my first Ruby gem and it’s called &lt;a href=&quot;https://github.com/aniketpant/HNsearch&quot;&gt;HNsearch&lt;/a&gt;. All it does is allows me to search for users and items on Hacker News from my terminal. It was a great experience for me to write a gem of my own and if you like to work with Ruby, then you should write one too.&lt;/p&gt;

&lt;h2 id=&quot;what-all-did-i-use&quot;&gt;What all did I use?&lt;/h2&gt;

&lt;p&gt;HNsearch uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Nestful&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Thor&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;JSON&lt;/code&gt; gems.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Nestful&lt;/strong&gt; is a simple gem that allows one to make requests. I used it to communicate to the &lt;a href=&quot;https://www.hnsearch.com/api&quot;&gt;hnsearch API&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Thor&lt;/strong&gt; is a powerful gem that helped me write the command line interface.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;JSON&lt;/strong&gt; does what it is supposed to do. It parses the generated hash to a JSON object which was easy to fiddle with.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;how-did-i-do-it&quot;&gt;How did I do it?&lt;/h2&gt;

&lt;p&gt;It wasn’t a lot of effort to write a small gem of this sort. I started with some starting queries on the Internet like &lt;em&gt;writing your first ruby gem&lt;/em&gt; and &lt;em&gt;how to write your first ruby gem&lt;/em&gt;. I found some great posts on the same -&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/2194547/ruby-how-to-write-a-gem&quot;&gt;How to write a gem?&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://guides.rubygems.org/make-your-own-gem/&quot;&gt;Make your own gem&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/radar/guides/blob/master/gem-development.md&quot;&gt;Develop a RubyGem using Bundler&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since, I was trying to write a command-line application, the third link was the most useful for me. I quickly set up a Bundler project using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bundle gem HNsearch&lt;/code&gt; and it created my starting directory structure.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;% tree
.
|-- .gitignore
|-- Gemfile
|-- HNsearch.gemspec
|-- lib
|   |-- HNsearch
|   |   `-- version.rb
|   `-- HNsearch.rb
|-- Rakefile
`-- README.md
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;As I needed a gem that I could run directly from the terminal, I created a directory &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bin&lt;/code&gt; and created a file called &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HNsearch&lt;/code&gt; inside it. The file just starts the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CLI&lt;/code&gt; from my module &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HNsearch&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Writing a gem of your own is a satisfying experience and you get to learn a lot from it. And another advantage that comes along with it is the part where others can download your gem and use it.&lt;/p&gt;

&lt;h2 id=&quot;screenshots&quot;&gt;Screenshots&lt;/h2&gt;

&lt;div class=&quot;media&quot;&gt;
  &lt;img src=&quot;/images/hnsearch-my-first-gem/screenshot-1.jpg&quot; title=&quot;Screenshot 1&quot; alt=&quot;Screenshot 1&quot; /&gt;
&lt;/div&gt;

&lt;div class=&quot;media&quot;&gt;
  &lt;img src=&quot;/images/hnsearch-my-first-gem/screenshot-2.jpg&quot; title=&quot;Screenshot 2&quot; alt=&quot;Screenshot 2&quot; /&gt;
&lt;/div&gt;
</description>
      <pubDate>Sun, 19 May 2013 12:25:00 +0200</pubDate>
      <link>http://aniketpant.com/2013/05/hnsearch-my-first-gem</link>
      <guid isPermaLink="true">http://aniketpant.com/2013/05/hnsearch-my-first-gem</guid>
    </item>
    
    
  </channel>
</rss>
