<?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: Sethu Senthil</title>
    <description>The latest articles on DEV Community by Sethu Senthil (@sethusenthil).</description>
    <link>https://dev.to/sethusenthil</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%2F67723%2F61c6962f-2326-438d-a004-859a17539282.jpg</url>
      <title>DEV Community: Sethu Senthil</title>
      <link>https://dev.to/sethusenthil</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sethusenthil"/>
    <language>en</language>
    <item>
      <title>iPod Touch 7th Gen - Made for Devs?</title>
      <dc:creator>Sethu Senthil</dc:creator>
      <pubDate>Sun, 02 Jun 2019 21:49:21 +0000</pubDate>
      <link>https://dev.to/sethusenthil/ipod-touch-7th-gen-made-for-devs-4a15</link>
      <guid>https://dev.to/sethusenthil/ipod-touch-7th-gen-made-for-devs-4a15</guid>
      <description>&lt;p&gt;I don't know why I'm talking about the iPod in 2019. Since WWDC is tomorrow and the recent refresh of the iPod lineup I thought this would be the best time to talk about it.&lt;/p&gt;

&lt;p&gt;TL;DR&lt;br&gt;
The iPod is a great, cheap, throwaway iOS development device&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K33U-rwp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/0btmp1jrisce1t65j7t2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K33U-rwp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/0btmp1jrisce1t65j7t2.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Yeah... It looks pretty ugly (source: 9to5mac)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you haven't heard about iPod 7, I don't blame you. It's a cheap device that runs and will run the latest version of iOS for the next few years. And no, it's not $750 cheap, it's dirt cheap. Starting at only $199 (even cheaper with promos) you get the flagship iPhone like experience .... from 2016. Yes, in 2016. It features the same A10 Fusion chip which is also featured on the iPhone 7. But hold up, all this makes sense. Especially for iOS and Flutter devs. Flutter, unlike iOS devs, might not own an iPhone themselves but now they do. The iPod touch isn't fast in any means but who cares when it's only going to run a few of your development app builds anyway. Sales charts from the statista.com show that iPhone sales are declining presumably because most consumers are using older iPhones since they still work perfectly fine. It is important to note the whole smartphone market is noticing this downtrend Apple isn't alone. And since the iPod touch features older internals, you can test your app in a way many of your users will use it in the real world. &lt;/p&gt;

&lt;p&gt;What are your thoughts on this? Are you a Flutter dev who uses Android? Leave your thought down below!&lt;/p&gt;

&lt;p&gt;P.S: This was kinda a thought experiment, I never knew I would actually write up a post&lt;/p&gt;

&lt;p&gt;Sources:&lt;br&gt;
&lt;a href="https://www.statista.com/statistics/263401/global-apple-iphone-sales-since-3rd-quarter-2007/"&gt;https://www.statista.com/statistics/263401/global-apple-iphone-sales-since-3rd-quarter-2007/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ios</category>
      <category>swift</category>
      <category>xcode</category>
      <category>flutter</category>
    </item>
    <item>
      <title>🌎 World Record Git</title>
      <dc:creator>Sethu Senthil</dc:creator>
      <pubDate>Sun, 27 Jan 2019 18:00:12 +0000</pubDate>
      <link>https://dev.to/sethusenthil/-world-record-git-4g32</link>
      <guid>https://dev.to/sethusenthil/-world-record-git-4g32</guid>
      <description>&lt;p&gt;TL;DR &lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qF2jUiUG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-6a5bca60a4ebf959a6df7f08217acd07ac2bc285164fae041eacb8a148b1bab9.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/world-record-git"&gt;
        world-record-git
      &lt;/a&gt; / &lt;a href="https://github.com/world-record-git/world-record-git"&gt;
        world-record-git
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Most Starred Repo On Github --future
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="instapaper_body md"&gt;
&lt;h1&gt;
🌎 world-record-git&lt;/h1&gt;
&lt;p&gt;Let's make this repo the most starred repo on GitHub by beating bootstrap to the punch!&lt;/p&gt;
&lt;h1&gt;
What makes this repo worthy of reaching that milestone?&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
🐛Bug-Free Code - this is the cleanest and most stable project you will ever find on GitHub&lt;/li&gt;
&lt;li&gt;
🔒Security to the fullest - this repo contains the best and only practices which make your code immune to any attacks.&lt;/li&gt;
&lt;li&gt;
🛡Privacy - Your commits and PR's to this repo will not expose your inability to code or spell.&lt;/li&gt;
&lt;li&gt;
🔴 Hot Version Control - All you changes update in real time, even without git commit.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/world-record-git/world-record-git"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;
Unless you've been living under a rock, you probably heard about the instagram egg phenom. An account which was puerly created with the intention of dethroning Kylie Jenner's current position of the most liked post on Instagram. 


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/BsOGulcndj-/embed/captioned"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;p&gt;Well, as the title suggests. We are gonna do something similar but on github to become the most starred repo and beat Bootstrap to the kick (all horrible puns intended). &lt;/p&gt;

&lt;h1&gt;
  
  
  Why?
&lt;/h1&gt;

&lt;p&gt;Why not? Bootstrap still uses jquery in 2019 🤦. &lt;/p&gt;

&lt;p&gt;P.S Don't forget to read the READ.ME!&lt;/p&gt;

</description>
      <category>worldrecordegg</category>
      <category>git</category>
    </item>
    <item>
      <title>Coder IDE - The Next-gen IDE on the ☁️</title>
      <dc:creator>Sethu Senthil</dc:creator>
      <pubDate>Sat, 25 Aug 2018 17:14:19 +0000</pubDate>
      <link>https://dev.to/sethusenthil/coder-ide---the-next-gen-ide-on-the--1b99</link>
      <guid>https://dev.to/sethusenthil/coder-ide---the-next-gen-ide-on-the--1b99</guid>
      <description>&lt;h1&gt;
  
  
  What is Coder
&lt;/h1&gt;

&lt;p&gt;Coder is an IDE. Not just any IDE like our go-to VS Code or Android Studio but A full-stack IDE with root Linux terminal access. Similar to &lt;a href="https://codepen.io" rel="noopener noreferrer"&gt;Codepen&lt;/a&gt;, &lt;a href="https://jsfiddle.net" rel="noopener noreferrer"&gt;JS Fiddle&lt;/a&gt; or even &lt;a href="https://runkit.com" rel="noopener noreferrer"&gt;Run Kit&lt;/a&gt;.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F3n7n4a6mjx43a33lut7b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F3n7n4a6mjx43a33lut7b.png" alt="Example IDE code"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  The Good and the Ugly
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Famsq172f9snra93pv7y3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Famsq172f9snra93pv7y3.png" alt="Table"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Should you hop on?
&lt;/h1&gt;

&lt;p&gt;Yes, If you are a Node, Go, Java, Python or just a static webpage developer you should give it a try. No matter what computer you are on, including a Chromebook with the power of cloud computing you can code without performance hiccups or compatibility issues. This is all assuming you have access to stable, moderate internet connection with at least 5 gigs of bandwidth every month. Working on mobile hotspots in countries that have so much traffic going through every cell tower like India, isn't really a pleasant experience. &lt;/p&gt;

&lt;h1&gt;
  
  
  This is just the beginning
&lt;/h1&gt;

&lt;p&gt;Our journey to Cloud IDE's has only just begun, hold your browsers since we might see many more attempts from Microsoft's Github that might quite literally put VS code on the cloud for completely free to show off Microsoft azure's power. Or from Google Cloud, in fact, they got something similar named Google Cloud Shell. Perhaps, Maybe, we could see something from Apple that puts Xcode online powered by Google Cloud since they are their go-to vendor. Either way, the IDE I'll be using next year is most likely going to be powered by the cloud ... and electricity.&lt;/p&gt;

&lt;p&gt;Links:&lt;br&gt;
&lt;a href="https://coder.com/" rel="noopener noreferrer"&gt;Coder IDE&lt;/a&gt;&lt;/p&gt;

</description>
      <category>coderide</category>
      <category>node</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Var vs Let vs Const</title>
      <dc:creator>Sethu Senthil</dc:creator>
      <pubDate>Mon, 28 May 2018 00:13:04 +0000</pubDate>
      <link>https://dev.to/sethusenthil/var-vs-let-vs-const-1cgc</link>
      <guid>https://dev.to/sethusenthil/var-vs-let-vs-const-1cgc</guid>
      <description>&lt;h1&gt;
  
  
  Var (Variable)
&lt;/h1&gt;

&lt;p&gt;Var has been with us since the beginning. You might be thinking, "brah this is too basic", but we got to understand how var's work &lt;strong&gt;completely&lt;/strong&gt; and what happens behind the scenes in order to understand the use cases of Const &amp;amp; Let. &lt;/p&gt;

&lt;h2&gt;
  
  
  Scope
&lt;/h2&gt;

&lt;p&gt;The major differentiating factor from the other ways of declaring variables in js is the fact that vars have a function scope. For example:&lt;br&gt;
&lt;/p&gt;
&lt;div class="runkit-element"&gt;
  &lt;code&gt;
    
  &lt;/code&gt;
  &lt;code&gt;
    
(function(){
console.log(i);
//Var's value is undefined, this means the var is declared (but how?)
if("5"==="5"){
var i = 100;
}
console.log(i); //Var's value is 100, but i'm out of the if statement!
})();

  &lt;/code&gt;
&lt;/div&gt;
 

&lt;p&gt;Why didn't the code break? Because js has a property called "hoisting". It tries to bring any sort of declaration (including &lt;strong&gt;named&lt;/strong&gt; functions)on the topmost scope as possible. Since Vars use function scope, it brings it to the first line of the function. Keep in mind the Var is just being declared, not being assigned a value. That's why we are getting the string 'undefined' instead of 'error:var i is not defined'. Here is an example of what exactly is happening behind the scenes: &lt;br&gt;
&lt;/p&gt;
&lt;div class="runkit-element"&gt;
  &lt;code&gt;
    
  &lt;/code&gt;
  &lt;code&gt;
    
(function(){
var i;
//Var is declared but the value is not defined, so it automatically inherits the string 'undefined'
console.log(i);
if("5"==="5"){
i = 100;
//^ its changing var i's value from 'undefined' to the integer 100.
}
console.log(i); //Var's value is 100 like expected
})();

  &lt;/code&gt;
&lt;/div&gt;
 &lt;br&gt;
Note: The variable's value can be accessed outside the if statement. 

&lt;h1&gt;
  
  
  Let
&lt;/h1&gt;

&lt;p&gt;Since we understand var's we can now take a deep look into let.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scope
&lt;/h2&gt;

&lt;p&gt;Here's the twist. the scope for all let declarations is the fact that let statements use block scope similar to other OOPS programming languages such as Java or when 'use strict' in js. Block scope means that it can only be used within the whatever is being declared a.k.a the block. Let's (pun intended) take us old example and replace it with let:&lt;br&gt;
&lt;/p&gt;
&lt;div class="runkit-element"&gt;
  &lt;code&gt;
    
  &lt;/code&gt;
  &lt;code&gt;
    
(function(){
console.log(i); //Error: i not defined
if("5"==="5"){
console.log(i); //Error: i not defined
let i = 100;
console.log(i); //Should print '100' (delete the first two logs)
}
console.log(i);//Error: i not defined
})();

  &lt;/code&gt;
&lt;/div&gt;
 &lt;br&gt;
As runkit suggests, i can only be accessed in the if statement after the line of the declaration. Hoisting has no power when we declare statements with let. 

&lt;h1&gt;
  
  
  Const
&lt;/h1&gt;

&lt;p&gt;Const is a very easy to understand, because it's essentially the same thing as var &amp;amp; let (aren't all of them).&lt;/p&gt;

&lt;h2&gt;
  
  
  Scope
&lt;/h2&gt;

&lt;p&gt;Const just like let uses block scope, so it has all the properties of let besides the ability to prevent redeclaration of the variable. Let's take a look at a few examples: &lt;br&gt;
&lt;/p&gt;
&lt;div class="runkit-element"&gt;
  &lt;code&gt;
    
  &lt;/code&gt;
  &lt;code&gt;
    
(function(){
const message ="what up";
console.log(message);
message = "bye"; //Error: Message is already declared
console.log(message);
})();

  &lt;/code&gt;
&lt;/div&gt;
 &lt;br&gt;
As you can see above, there are a few exceptions. If you have declared a string or a number the value can't be changed either. But when you are declaring as an object, it gets a bit interesting. &lt;br&gt;
&lt;div class="runkit-element"&gt;
  &lt;code&gt;
    
  &lt;/code&gt;
  &lt;code&gt;
    
(function(){
var message = {body:"what up", title:"rcs"};
//Runkit is being weird please fix the obvious syntax error
//If you know why this is happening please comment below!
console.log(message);
message.body = "bye";
message.send = true;
console.log(message);
message = 100; //Error: message is already declared
})();

  &lt;/code&gt;
&lt;/div&gt;
 &lt;br&gt;
Message's properties can be modified, or added but message cannot be redeclared into a integer with a value of 100.

&lt;p&gt;Here is a tiny chart I made:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk59f4pnunkj204htt975.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk59f4pnunkj204htt975.jpeg" alt="Js object dec chart" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>hoisting</category>
      <category>es6</category>
    </item>
  </channel>
</rss>
