<?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>Forem: hariharan</title>
    <description>The latest articles on Forem by hariharan (@hariharan_dev).</description>
    <link>https://forem.com/hariharan_dev</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%2F80590%2Fa270523f-5344-42a8-a25a-a1e807897f01.jpeg</url>
      <title>Forem: hariharan</title>
      <link>https://forem.com/hariharan_dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/hariharan_dev"/>
    <language>en</language>
    <item>
      <title>I made a chrome extension called "Twitter Go".</title>
      <dc:creator>hariharan</dc:creator>
      <pubDate>Sat, 17 Nov 2018 14:58:40 +0000</pubDate>
      <link>https://forem.com/hariharan_dev/i-made-a-chrome-extension-called-twitter-go-11kb</link>
      <guid>https://forem.com/hariharan_dev/i-made-a-chrome-extension-called-twitter-go-11kb</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zj30HEB_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/e17tz15oi1vnrm71i230.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zj30HEB_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/e17tz15oi1vnrm71i230.png" alt="Twitter Go"&gt;&lt;/a&gt;&lt;br&gt;
After a long tiring day at the office just when you step out for home, you find that it's been raining cats and dogs for the last 1 hour. Did that ring a bell to you? I have been in such disconnected situations from the outer world many times. To avoid such happenings and be connected with the world, I built a Chrome Extension which shows the latest 20 tweets from my Twitter feed every time I open a new tab. Sounds cool eh? Now let's get to the coding part of it. So after I got this idea, I was looking for tutorials on chrome extension. And I found this &lt;a href="https://www.youtube.com/watch?v=hkOTAmmuv_4&amp;amp;list=PLRqwX-V7Uu6bL9VOMT65ahNEri9uqLWfS"&gt;playlist&lt;/a&gt; by &lt;a href="https://shiffman.net/"&gt;Shiffman&lt;/a&gt; very useful. Initially, I built a dummy extension with mock data to get the front-end part done. Now comes the tricky part. To get tweets from my Twitter timeline, I had to set up an app with my Twitter account on the Twitter developer community. For this also I followed this &lt;a href="https://www.youtube.com/watch?v=RF5_MPSNAtU&amp;amp;list=PLRqwX-V7Uu6atTSxoRiVnSuOn6JHnq2yV"&gt;Twitter bot tutorial&lt;/a&gt; by &lt;a href="https://shiffman.net/"&gt;Shiffman&lt;/a&gt; again. After getting my Twitter credentials to access my Twitter feed, now I had to make an HTTP request to the Twitter APIs with my credentials. To take care of all the headaches in accessing my Twitter, I used this &lt;a href="https://github.com/ttezel/twit"&gt;Twit&lt;/a&gt; library used by Shiffman in the Twitter bot tutorial. So after plugging Twit with my credentials and setting it up with the extension for real data, and when I tried it on browser Twit failed to retrieve the data, but it was able to retrieve it when I ran it on my node js server. So after a bit of digging, I found that &lt;a href="https://stackoverflow.com/questions/35879943/twitter-api-authorization-fails-cors-preflight-in-browser"&gt;Twitter APIs don't support WebApps&lt;/a&gt; :(. A quick workaround I did was, I set up an API for my Twitter feed on my node js server which I made for another toy project. So to get this extension done, I had to set up an API in the back-end to retrieve the tweets from Twitter and access the API in the extension to display the tweets.&lt;/p&gt;

&lt;p&gt;Here is the &lt;a href="https://github.com/hariharan-dev/twitter-go-extension"&gt;Github link&lt;/a&gt; to extension.&lt;/p&gt;

</description>
      <category>chromeextension</category>
      <category>javascript</category>
      <category>node</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I took SPA too seriously and made a short-intro-website for myself.</title>
      <dc:creator>hariharan</dc:creator>
      <pubDate>Sat, 22 Sep 2018 13:26:11 +0000</pubDate>
      <link>https://forem.com/hariharan_dev/i-took-spa-too-seriously-and-made-a-short-intro-website-for-me-4jbm</link>
      <guid>https://forem.com/hariharan_dev/i-took-spa-too-seriously-and-made-a-short-intro-website-for-me-4jbm</guid>
      <description>&lt;p&gt;As a developer, it is natural that all of us would come to a stage where &lt;em&gt;'I should probably be having a website/portfolio of mine in the web by now'&lt;/em&gt;. I decided to build mine on &lt;strong&gt;Angular&lt;/strong&gt;, but I was very adamant that I would do all styling part on my own without any help from BootStrap or Angular Material. So yeah! every pretty thing you see on the site is &lt;em&gt;coded by me&lt;/em&gt;. As the title suggests, the site contains only a short intro about me and I am also thinking of converting it into a portfolio soon.&lt;/p&gt;

&lt;p&gt;Here is the link to the &lt;a href="https://hariharan-dev.herokuapp.com/"&gt;site&lt;/a&gt;. Do Check it out and share your thoughts!&lt;/p&gt;

</description>
      <category>angular</category>
      <category>javascript</category>
      <category>css</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
