<?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: Sandip Mavani</title>
    <description>The latest articles on Forem by Sandip Mavani (@sandipmavani).</description>
    <link>https://forem.com/sandipmavani</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%2F103805%2Fdfc39f8e-e149-4be8-bc1f-20971028561b.jpg</url>
      <title>Forem: Sandip Mavani</title>
      <link>https://forem.com/sandipmavani</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/sandipmavani"/>
    <language>en</language>
    <item>
      <title>What is this "problem-solving", and how do you do it?</title>
      <dc:creator>Sandip Mavani</dc:creator>
      <pubDate>Fri, 28 Jun 2019 04:03:15 +0000</pubDate>
      <link>https://forem.com/sandipmavani/what-is-this-problem-solving-and-how-do-you-do-it-1g8p</link>
      <guid>https://forem.com/sandipmavani/what-is-this-problem-solving-and-how-do-you-do-it-1g8p</guid>
      <description>&lt;p&gt;&lt;strong&gt;1. Bigger tasks always depend on a number of smaller ones.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Completing smaller tasks enables you to progress to the next problem.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Knowing how to identify what next problem to solve should be.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title> Basic principles that will make your programming life in 2019. </title>
      <dc:creator>Sandip Mavani</dc:creator>
      <pubDate>Thu, 10 Jan 2019 13:06:03 +0000</pubDate>
      <link>https://forem.com/sandipmavani/-basic-principles-that-will-make-your-programming-life-in-2019--1e9l</link>
      <guid>https://forem.com/sandipmavani/-basic-principles-that-will-make-your-programming-life-in-2019--1e9l</guid>
      <description>&lt;p&gt;I have seen code that only the programmer who writes it understands how it works. However, when one asks the programmer to explain what the code does, he or she would only say “Only God knows that”.&lt;/p&gt;

&lt;p&gt;That is why I would like to discuss some basic (but very powerful) principles that will make your life (and most of your collaborators’ lives) easier.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. &lt;strong&gt;DRY – Don’t Repeat Yourself&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You must try to maintain the behavior of the functionality of the system in a single piece of code.&lt;br&gt;
On the other hand, when the DRY principle is not followed, this is known as WET solutions, which stands for either Write Everything Twice or We Enjoy Typing.&lt;br&gt;
DRY programming is very useful, especially in big applications where the code is constantly maintained, changed and extended by a lot of programmers.&lt;/p&gt;

&lt;p&gt;A common way to DRY up code is to wrap our duplicated logic with a function and replace all places it appears with function calls.&lt;/p&gt;

&lt;p&gt;Example (with code repetition):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;//flow A&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;getUserName&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;getEmail&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;username&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="cm"&gt;/*do stuff*/&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="c1"&gt;//flow B&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;getUserName&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;getEmail&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;user&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;username&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kd"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;user&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="cm"&gt;/*do stuff*/&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;getUser&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;user&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nx"&gt;getUserName&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="nl"&gt;email&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nx"&gt;getEmail&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="c1"&gt;//flow A&lt;/span&gt;
&lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;getUser&lt;/span&gt;&lt;span class="p"&gt;()).&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="cm"&gt;/*do stuff*/&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;//flow B&lt;/span&gt;
&lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kd"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;getUser&lt;/span&gt;&lt;span class="p"&gt;()).&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="cm"&gt;/*do stuff*/&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;2. KISS – Keep It Simple Stupid&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The simpler your code is, the simpler it will be to maintain it in the future. This will be greatly appreciated by anyone else that needs to examine your code in the future.&lt;/p&gt;

&lt;p&gt;Keeping it simple surprisingly hard. Usually when someone tries to over-engineer a solution to a problem. For example, an Architect suggests creating a Microservice framework for a simple website. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;3. YAGNI – You Aren’t Gonna Need It&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Sometimes, as developers, we try to think way ahead, into the future of the project, coding some extra features “just in case we need them” or thinking“we will eventually need them”. Just one word: Wrong! You didn’t need it, you don’t need it and in most of the cases… “You Aren’t Gonna Need It”.&lt;/p&gt;

&lt;p&gt;A step brother of KISS. Part of keeping it simple is not adding modules, frameworks and dependencies we don’t actually need.&lt;/p&gt;

</description>
      <category>coding</category>
      <category>devtips</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Can’t crack that programming problem? </title>
      <dc:creator>Sandip Mavani</dc:creator>
      <pubDate>Tue, 23 Oct 2018 06:04:24 +0000</pubDate>
      <link>https://forem.com/sandipmavani/cant-crack-that-programming-problem--44mn</link>
      <guid>https://forem.com/sandipmavani/cant-crack-that-programming-problem--44mn</guid>
      <description>&lt;p&gt;Think back to the last time you had that really tough programming problem you couldn’t crack.&lt;/p&gt;

&lt;p&gt;If you’re like me, you may have spent a few hours trying to brute force a solution. Then, in despair and frustration, eventually, you gave up for the night.&lt;/p&gt;

&lt;p&gt;And then the next morning, you wake up and the solution is clear as day in your head. You facepalm yourself, rush to your computer, implement it in 15 minutes, and all is well in the world again.&lt;/p&gt;

&lt;p&gt;Or this — I work a problem all morning to no avail. Lunchtime hits, so I take my dog for a 30-minute walk. And somewhere along that walk I’ve figured out the solution. I get back home and fly through it the rest of the afternoon.&lt;/p&gt;

&lt;p&gt;Look, I realize I’m not saying anything particularly new or profound here. But it absolutely bears repeating because I often forget this too:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sleeping and walking are some of the best techniques to improve your work as a programmer.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;(Pro tip: don’t take your phone to bed or on your walks. Your brain needs to be fully disconnected.)&lt;/p&gt;

&lt;p&gt;I’m no scientist or expert on how the brain works, but there is plenty of science to back it. The basic premise is that free association and fixation forgetting (letting go of what you’re banging your head on) is crucial to problem-solving. Your brain can put together solutions more effectively when it’s allowed to wander.&lt;/p&gt;

&lt;p&gt;This is exactly why “Eat, sleep, code, repeat” is such bullshit. Your brain needs to do something else from time to time (and be rested) to do your best programming.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>coding</category>
      <category>programing</category>
    </item>
    <item>
      <title>How to fall in love with coding?</title>
      <dc:creator>Sandip Mavani</dc:creator>
      <pubDate>Tue, 09 Oct 2018 07:44:35 +0000</pubDate>
      <link>https://forem.com/sandipmavani/how-to-fall-in-love-with-coding-4eol</link>
      <guid>https://forem.com/sandipmavani/how-to-fall-in-love-with-coding-4eol</guid>
      <description>&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%2Fcdn-images-1.medium.com%2Fmax%2F800%2F1%2Abj_qpLZz0Xj0mdQthtNe_Q.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%2Fcdn-images-1.medium.com%2Fmax%2F800%2F1%2Abj_qpLZz0Xj0mdQthtNe_Q.png" title="Logo Title Text 1" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Anything that we do , we should be passionate about it and love it . Talking about coding , I would like to quote what  &lt;strong&gt;Steve Jobs&lt;/strong&gt; had said—  &lt;strong&gt;“Everyone should learn how to code, it teaches you how to think”&lt;/strong&gt; and hence coding becomes essential. Now to start with coding or to explore how to fall in love with coding , we have to understand different aspects of coding .&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Definition of Code&lt;/strong&gt; — To start with lets try to understand the definition of code in a very simple words — codes are the set of lines written in some language to make any electronic system alive and literate. To come up with an analogy from the real world , it would be like to make someone literate by teaching them about different languages and literature. Hence Coding is one of the way to teach machines about different languages (i.e. coding languages) and eventually make them literate , smart and intelligent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Make up our mind&lt;/strong&gt; — In order to have a proper mindset , we need to make our mind think that HUMANS are the one who build new and customize/modify tools. To enlighten this I would like to give one real example . “When I started coding my instructor told me to write a program of adding two numbers and the next moment a thought came to my mind that what is the point of writing it , I can take a calculator and get the result . By the time I wrote it just for the sake of my instructor I realized that I have wasted my 10 minutes (well it was a beginning stage) of my time just to write 10 lines of code, I can very well get the calculator and get the result with in few seconds.” So the point that I want to make is that , we have to decide whether we really want to be within those groups who actually build tools or with those groups who just use the tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fascinate about the outcomes of Coding&lt;/strong&gt; — We should get fascinated by looking at machines that we see in our day to day life. Fascination will grow interest and eventually help to look deep into it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Micro Level or step by step Thinking&lt;/strong&gt; — Micro level or step by step thinking is the most essential part of coding and this becomes a differentiating factor with other persons or coders.Suppose we have to write a code on adding two numbers, it’s very essential to think at a micro level like storing values in two variables and then adding and storing the sum to other variable .All we need to understand that we need to store something first, second is the operation and again store , skipping any of these steps will not fulfill our purpose of writing codes .&lt;/p&gt;

&lt;p&gt;These aspects will make you feel brave enough to code, as many of us do not code or do not like to code because we are scared of coding . Hence when we start understanding these aspects that I have mentioned above , will help you to grow interest on coding and you will start making your hands dirty.The day when we start realizing or start believing coding as not a task/job and more of a craft/art , then that will be the time where we have really start loving coding . Just imagine or see how a craftsmen craft there model or an artist draw every detail of there work with so much of passion,sincerity and of course love. In a similar way coders who love coding write , format code , make it beautiful to look like putting relevant comments , proper indentation etc like an artist.&lt;/p&gt;

&lt;p&gt;So just feel what we are doing and there is an immense level of satisfaction after building a tool by your own . So love coding and be passionate about it.&lt;/p&gt;

&lt;p&gt;what about you?&lt;/p&gt;

</description>
      <category>programming</category>
      <category>coding</category>
      <category>code</category>
    </item>
    <item>
      <title>47 Newsletters For Developers And Programmers</title>
      <dc:creator>Sandip Mavani</dc:creator>
      <pubDate>Thu, 04 Oct 2018 06:51:50 +0000</pubDate>
      <link>https://forem.com/sandipmavani/47-newsletters-for-developers-and-programmers-3g6d</link>
      <guid>https://forem.com/sandipmavani/47-newsletters-for-developers-and-programmers-3g6d</guid>
      <description>&lt;p&gt;Email newsletters are a great way to stay current on what’s happening in the world of programming and to learn about tools and best practices for your specific programming language. Curated by experts, newsletters bring the best, most timely information out there right to your inbox, so you can quickly digest and get back to work.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;HTML/CSS&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://html5weekly.com/"&gt;HTML5 Weekly&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A weekly HTML5 newsletter published each Wednesday. Curated by Peter Cooper and published by Cooper Press.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://css-weekly.com/"&gt;CSS Weekly&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A weekly roundup of CSS articles, tutorials, experiments, and tools curated by Zoran Jambor.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;JavaScript&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://javascriptweekly.com/"&gt;JavaScript Weekly&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A weekly roundup of JavaScript news and articles published each Friday. Curated by Peter Cooper and published by Cooper Press.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://adripofjavascript.com/"&gt;A Drip of JavaScript&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Written and published by Joshua Clanton, A Drip of JavaScript is “one quick JavaScript tip,” delivered every other Tuesday.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://superherojs.com/#newsletter"&gt;SuperHero.js&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Updates from SuperHero.js—a collection of the best articles, videos, and presentations on creating, testing, and maintaining a JavaScript code base.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Java&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.javaspecialists.eu/archive/archive.jsp"&gt;The Java Specialists’ Newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A monthly newsletter exploring the intricacies and depths of Java, curated Dr. Heinz Kabutz.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.javaperformancetuning.com/newsletter.shtml"&gt;Java Performance Tuning News&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A monthly newsletter focusing on Java performance issues, including the latest tips, articles, and news about Java Performance and “Javva The Hutt’s column.” Curated by Jack Shirazi and Kirk Pepperdine.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.javacodegeeks.com/2013/05/join-the-java-code-geeks-newsletter.html"&gt;Java Code Geeks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A weekly newsletter from the Java Code Geeks team, featuring the latest Java news, tools, and popular content.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.javaworld.com/"&gt;JavaWorld&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A weekly newsletter from the popular JavaWorld website, featuring Java tutorials and community news.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;PHP&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.phpweekly.com/"&gt;PHP Weekly News&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A weekly newsletter that includes articles, news, and blog posts about PHP, curated by Katie Eyers.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Node.js&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://nodeweekly.com/"&gt;Node Weekly&lt;/a&gt;&lt;br&gt;
A weekly roundup of Node.js news and articles sent out each Friday by Cooper Press.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;AngularJS&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ng-newsletter.com/"&gt;ng-newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A weekly newsletter curating the best AngularJS content on the web, handpicked by Angular experts.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Go&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://golangweekly.com/"&gt;Go Newsletter&lt;/a&gt;&lt;br&gt;
A weekly roundup of news, articles, and jobs relevant to the Go programming language, sent out every Thursday. Curated by Peter Cooper and Matt Cottingham and published by Cooper Press.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Python&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://pycoders.com/"&gt;Pycoder’s Weekly&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A weekly dose of all things Python, sent out each Friday. Curated by Mike Grouchy and Mahdi Yusuf.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.pythonweekly.com/"&gt;Python Weekly&lt;/a&gt;&lt;br&gt;
A weekly newsletter featuring Python articles, news, jobs, and more, sent out every Thursday by Rahul Chaudhary.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://importpython.com/newsletter/"&gt;ImportPython&lt;/a&gt;&lt;br&gt;
A weekly Python newsletter containing recent articles, projects, videos, and tweets.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://migrateup.com/"&gt;The Advanced Python Newsletter&lt;/a&gt;&lt;br&gt;
A not-for-beginners newsletter offering insights, tools, and techniques for building reliable, maintainable, and effective applications in Python. Written by Aaron Maxwell.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Ruby&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://rubyweekly.com/"&gt;Ruby Weekly&lt;/a&gt;&lt;br&gt;
A weekly roundup featuring Ruby news and articles, sent out every Thursday. Curated by Peter Cooper and published by Cooper Press.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Scala&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://typesafe.com/newsletter"&gt;TypeSafe Newsletter&lt;/a&gt;&lt;br&gt;
A monthly newsletter with the latest Scala news and announcements, from the team behind the TypeSafe Reactive Platform.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.cakesolutions.net/teamblogs"&gt;Cake Solutions&lt;/a&gt;&lt;br&gt;
Available in instant, daily, weekly, and monthly digests, covering all things Scala, Akka, and Play, including news, tutorials, and experiments.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;C/C++&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.drdobbs.com/"&gt;Dr. Dobbs’ C/C++&lt;/a&gt;&lt;br&gt;
A monthly newsletter curated by the Dr. Dobbs team with news, tips, tutorials, previews of upcoming articles, and more.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;.NET&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.dotnetweekly.com/"&gt;.NET Weekly&lt;/a&gt;&lt;br&gt;
A weekly newsletter covering the latest happenings in .NET.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://csharpdigest.net/"&gt;C# Digest&lt;/a&gt;&lt;br&gt;
A weekly newsletter that keeps you up to date with what’s happening in the world of Microsoft development.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Mobile&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://androidweekly.net/"&gt;Android Weekly&lt;/a&gt;&lt;br&gt;
A weekly newsletter with Android tutorials, screencasts, news, and “everything that’s awesome” in Android development.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://iosdevweekly.com/"&gt;iOS Dev Weekly&lt;/a&gt;&lt;br&gt;
A roundup of the week’s best iOS development links, sent every Friday. Curated by Dave Verwer.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://mobilewebweekly.co/"&gt;Mobile Web Weekly&lt;/a&gt;&lt;br&gt;
A weekly roundup of releases, articles, and links for Web developers working on the mobile-facing Web.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;General/Multiple Languages&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://statuscode.org/"&gt;Status Code&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A “language agnostic” weekly roundup of the newest ideas, releases, trends, events, and must-read articles from around the programming world—including C, UNIX, algorithms, editors, protocols, and more. Published by Cooper Press.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.sitepoint.com/newsletter/"&gt;SitePoint&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A newsletter featuring tutorials, tips, tricks, resources, and offers related to Ruby, JavaScript, PHP, and more.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.sitepoint.com/versioning/"&gt;Versioning&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;SitePoint’s daily newsletter, which features the latest web development news in a handy digest form.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://scotch.io/"&gt;Scotch.io&lt;/a&gt;&lt;br&gt;
A newsletter featuring web design and development tutorials from around the web, curated by the team at Scotch.io.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codeproject.com/"&gt;CodeProject Newsletter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Choose between daily and weekly newsletters featuring the top Java, C#, C++, iOS, and Android tutorials and hands-on examples posted on The CodeProject.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://wdrl.info/"&gt;Web Development Reading List&lt;/a&gt;&lt;br&gt;
A weekly roundup of web development-related sources, carefully selected by Anselm Hannemann as a means of filtering and concentrating the massive volume of web development links that pop up every day.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://frontend.buzz/"&gt;Frontend Buzz&lt;/a&gt;&lt;br&gt;
Daily newsletter for front-end developers and designers.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.hackernewsletter.com/"&gt;Hacker Newsletter&lt;/a&gt;&lt;br&gt;
Weekly newsletter covering startups, technology, programming, and more, curated by the Hacker News site.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://programmingdigest.net/"&gt;Programming Digest&lt;/a&gt;&lt;br&gt;
Weekly newsletter that brings “the most interesting news” about programming, big data, architecture, development process, databases, and more.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.schneier.com/crypto-gram/"&gt;Crypto-Gram Newsletter&lt;/a&gt;&lt;br&gt;
Monthly digest of posts from the Schneier on Security blog to help any developer stay current on security-related topics.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;DevOps&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.apmdigest.com/"&gt;APM Digest&lt;/a&gt;&lt;br&gt;
APMdigest is an online publication and industry-wide blog that covers application performance management (APM), log analysis, performance and availability monitoring, application testing, and related technologies. Its newsletter comes out twice a month.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.devopsweekly.com/"&gt;DevOps Weekly&lt;/a&gt;&lt;br&gt;
A weekly roundup of DevOps news curated by Gareth Rushgrove.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://devops.com/"&gt;DevOps.com Newsletter&lt;/a&gt;&lt;br&gt;
Choose from bi-weekly, weekly, or twice-weekly updates from DevOps.com.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.oreilly.com/webops-perf/newsletter.html"&gt;O’Reilly Web Ops and Performance Newsletter&lt;/a&gt;&lt;br&gt;
This weekly newsletter covers web operations, DevOps, and performance news and insights from industry insiders.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://sreweekly.com/"&gt;SRE Weekly&lt;/a&gt;&lt;br&gt;
 SRE (Site/Service Reliability Engineering) isn’t just about automated failover or fault-tolerant architectures — although of course those are important.  It’s about a holistic view of reliability that takes into account everything from servers to human factors to processes to automation and more.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Database Technology&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://dbweekly.com/"&gt;DB Weekly&lt;/a&gt;&lt;br&gt;
A weekly roundup of database technology news, articles, and new developments in SQL, NoSQL, document databases, graph databases, and more. Published by Cooper Press.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;SQL&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.sqlteam.com/"&gt;SQLTeam.com Newsletter&lt;/a&gt;&lt;br&gt;
A weekly newsletter featuring SQL news and product announcements, highlights from SQL Server blogs, SQLTeam.com articles, and interesting forum posts. Curated by Bill Graziano.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.mssqltips.com/freesqlservertips.asp?ref=JoinNowBtn"&gt;MSSQLTips.com&lt;/a&gt;&lt;br&gt;
A daily newsletter with SQL tips and articles for beginner to advanced users.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.nosqlweekly.com/"&gt;NoSQL Weekly&lt;/a&gt;&lt;br&gt;
A weekly newsletter sent out every Thursday with curated news, articles, new releases, jobs, and more related to NoSQL. Curated by Rahul Chaudhary.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;PostgreSQL&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://postgresweekly.com/"&gt;Postgres Weekly&lt;/a&gt;&lt;br&gt;
A weekly email roundup of PostgreSQL news and articles sent out every Wednesday. Curated by Craig Kerstiens and published by Cooper Press.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Just for Fun&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.reddit.com/r/dailyprogrammer/"&gt;Daily Programmer&lt;/a&gt;&lt;br&gt;
Sign up for a daily programming challenge you can solve using any language you choose. Sharpen your skills or try your hand at a new language all in the name of fun.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Subscribe and Stay in the Know&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Which newsletters are on your must-read list? Share your favorites in the comments.&lt;/p&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>javascript</category>
      <category>php</category>
    </item>
    <item>
      <title>Tips to Improve MongoDB Security</title>
      <dc:creator>Sandip Mavani</dc:creator>
      <pubDate>Wed, 26 Sep 2018 05:13:44 +0000</pubDate>
      <link>https://forem.com/sandipmavani/tips-to-improve-mongodb-security-ncn</link>
      <guid>https://forem.com/sandipmavani/tips-to-improve-mongodb-security-ncn</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tONfNDGo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--WZvRm2fk--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://thepracticaldev.s3.amazonaws.com/i/8qw4l1vcq9ohkgf5fppc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tONfNDGo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--WZvRm2fk--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://thepracticaldev.s3.amazonaws.com/i/8qw4l1vcq9ohkgf5fppc.png" alt="Smiley face"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;MongoDB provides a number of constructs to improve the security of your data. The security of your data in MongoDB is paramount - so it is important to leverage these constructs to reduce your surface area. Here are 10 tips you can use to improve the security of your MongoDB servers on premise and in the cloud.&lt;/p&gt;

&lt;p&gt;1. &lt;strong&gt;Enable auth&lt;/strong&gt; - Even if you have deployed your Mongodb servers in a trusted network it is good security practice to enable auth. It provides you "Defense in depth" if your network is compromised. Edit your mongod configuration file to enable auth&lt;/p&gt;

&lt;p&gt;auth = true&lt;/p&gt;

&lt;p&gt;2. &lt;strong&gt;Don't expose your production db to the internet&lt;/strong&gt; - Restricting physical access to your database is an important aspect of security. If it is not necessary do not expose your production database to the internet. In case of any compromise if an attacker cannot physically connect to your MongoDB server, your data is that much more secure. If you are on AWS you can place your db's in a VPC private subnet. Read the blog post &lt;a href="https://scalegrid.io/blog/deploy-mongodb-in-an-amazon-virtual-private-cloud-vpc/"&gt;Deploying MongoDB in a VPC&lt;/a&gt; for more information.&lt;/p&gt;

&lt;p&gt;3. &lt;strong&gt;Use firewalls&lt;/strong&gt; - Use firewalls to restrict which other entities are allowed to connect to your mongodb server. Best practice is to only allow your application servers access to the database. If you are hosted on AWS use 'Security groups' to restrict access. If you are hosted on a provider that does not support firewall constructs you can easily configure it yourself using 'iptables'. Refer to the mongodb &lt;a href="http://docs.mongodb.org/manual/tutorial/configure-linux-iptables-firewall/"&gt;documentation&lt;/a&gt; to configure iptables for your scenario.&lt;/p&gt;

&lt;p&gt;4. &lt;strong&gt;Use key files to setup the replica set&lt;/strong&gt; - Specify a shared key file to enable communication between your mongodb instances in a replica set. To enable this add the keyfile parameter to the config file as below. The contents of the file need to be the same on all the machines.&lt;/p&gt;

&lt;p&gt;keyFile = /srv/mongodb/keyfile&lt;/p&gt;

&lt;p&gt;5. &lt;strong&gt;Disable HTTP status interface&lt;/strong&gt; Mongodb by default provides a http interface running by default on port 28017 which provides the "home" status page. This interface is not recommended for production use and is best disabled. Use the "nohttpinterface" configuration setting to disable the http interface.&lt;/p&gt;

&lt;p&gt;nohttpinterface = true&lt;/p&gt;

&lt;p&gt;6. &lt;strong&gt;Disable the REST interface&lt;/strong&gt; The monogdb REST interface is not recommended for production. It does not support any authentication. It is turned off by default. If you have turned it on using the "rest" configuration option you should turn it off for production systems.&lt;/p&gt;

&lt;p&gt;rest = false&lt;/p&gt;

&lt;p&gt;7. &lt;strong&gt;Configure Bind_ip&lt;/strong&gt; If your system has multiple network interfaces you can use the "bind_ip" option to restrict your mongodb server to listen only on the interfaces that are relevant. By default mongodb will bind to all the interfaces&lt;/p&gt;

&lt;p&gt;bind_ip = 10.10.0.25,10.10.0.26&lt;/p&gt;

&lt;p&gt;8. &lt;strong&gt;Enable SSL&lt;/strong&gt; - If you don't use SSL your data is traveling between your Mongo client and Mongo server unencrypted and is susceptible to eavesdropping, tampering and "man in the middle" attacks. This is especially important if you are connecting to your Mongodb server over unsecure networks like the internet.&lt;/p&gt;

&lt;p&gt;9. &lt;strong&gt;Role based authorization&lt;/strong&gt; - MongoDB supports role based authentication to give you fine grained control over the actions that can be performed by each user. Use role based constructs to restrict access instead of making all your users admins. Refer to the roles &lt;a href="http://docs.mongodb.org/manual/reference/user-privileges/#userAdminAnyDatabase"&gt;documentation&lt;/a&gt; for more details.&lt;/p&gt;

&lt;p&gt;10. &lt;strong&gt;Enterprise MongoDB &amp;amp; Kerberos&lt;/strong&gt; Enterprise mongodb integrates with Kerberos for authentication. Refer to the mongodb &lt;a href="http://docs.mongodb.org/manual/tutorial/control-access-to-mongodb-with-kerberos-authentication/"&gt;documentation&lt;/a&gt; for more details. Username/password systems are inherently insecure - use kerb based authentication if possible.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://mongodbwithphp.blogspot.com/2017/01/10-tips-to-improve-mongodb-security.html"&gt;http://mongodbwithphp.blogspot.com/2017/01/10-tips-to-improve-mongodb-security.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mongodb</category>
      <category>database</category>
      <category>security</category>
    </item>
    <item>
      <title>Node.js vs PHP</title>
      <dc:creator>Sandip Mavani</dc:creator>
      <pubDate>Mon, 24 Sep 2018 06:12:38 +0000</pubDate>
      <link>https://forem.com/sandipmavani/nodejs-vs-php-52g4</link>
      <guid>https://forem.com/sandipmavani/nodejs-vs-php-52g4</guid>
      <description>&lt;p&gt;There’s no doubt PHP is the most known and commonly used language for server-side scripting. Before Django and Ruby on Rails gained popularity (2005-2006), there was hardly any more suitable option for back-end than PHP. However, the tech world is fastly evolving in the direction of simplicity (“Javascript everywhere”) what used to be the language of the front-end has successfully expanded to the back-end. So now we are facing the popular back-end dilemma “Node.js vs PHP”. Let’s try to solve it together!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PHP&lt;/strong&gt;&lt;br&gt;
PHP (Hypertext Preprocessor) was created as a scripting language for back-end web development in 1994. For almost 10 years, it had been the only option for a back-end developer. Although lately, new technologies emerged, PHP wasn’t at a stop as well (the last stable version was released in January 2018). As of the latest statistics of 2018, more than 80% of websites are built with PHP (though some websites are built with more than one back-end language).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Node.js&lt;/strong&gt;&lt;br&gt;
Node.js is an open source run-time environment for back-end scripting in Javascript powered by Google’s V8 JS engine. It was created in 2009 and came up with the main advantage — Node.js allows to perform asynchronous programming. It can handle thousands of requests operating on one thread, which means no waiting until the previous command is completed. Although the percentage of websites that are built with Node.js is comparatively low (0,4%), it’s fastly becoming popular among developers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Node.js vs PHP: Differences&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages&lt;/strong&gt;&lt;br&gt;
Starting our Node.js vs PHP discussion, we can’t avoid talking about the specifics of two programming languages Javascript and PHP. In terms of syntax simplicity, PHP wins. Such an essential operation as an interaction with a database requires less and simpler (quite alike to HTML) code in PHP than in Node.js.&lt;/p&gt;

&lt;p&gt;However, the simplicity of PHP doesn’t come without certain restrictions. On the other hand, some complexity of Node.js is balanced by more possibilities of using various Javascript libraries for two-way asynchronous scripting of client and server.&lt;/p&gt;

&lt;p&gt;Also, Javascript syntax of Node.js is obviously a reason to choose it for those who come from the front-end side. So a full-stack developer may take an advantage from the code reusability options as a result of scripting both client and server sides in Javascript.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Requirements&lt;/strong&gt;&lt;br&gt;
Although PHP has a built-in web server (which is available since PHP 5), it’s not a full-featured one and can be used only for testing purposes. The most commonly used with PHP servers are Apache and NGINX. One need to get it installed and configure (by installing corresponding PHP components) a server before actually start working with PHP.&lt;/p&gt;

&lt;p&gt;Node.js doesn’t require any external servers. You can get started by installing Node.js. After that, you just need to install http-server packages via npm (which is just a few words of code) to use built-in web server tools. Also, installation of Express.js a Node web framework may help to do more than just trivial handling HTTP requests.&lt;/p&gt;

&lt;p&gt;When it comes to libraries, both PHP and Node.js have built tools that allow to install and manage them from the command line (Composer in PHP and npm in Node.js).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scalability&lt;/strong&gt;&lt;br&gt;
Comparing Node.js vs PHP scalability, it turns out that both both technologies are scalable. It’s totally possible to build large scalable applications with either PHP or Node.js. Still there’s a difference that lies in the efficiency of building scalable application architecture.&lt;/p&gt;

&lt;p&gt;PHP is supported across most popular content management systems (such as Drupal, Joomla, WordPress), which makes it an often choice as a tool for building blogs and e-commerce web applications. In contrast, Node.js efficiently serves as a tool for creating scalable dynamic solutions that deal with numerous I/O operations. It’s also possible to scale Node on multi-cores systems, though with more efforts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Handling data&lt;/strong&gt;&lt;br&gt;
When it comes to working with data, the main arm of Node.js is JSON, which is, on one hand, understandable by NoSQL and, on the other hand, is used for passing data on client side. And if early version of PHP had some troubles with JSON, it’s not an issue any more as JSON support is included in the core since PHP 5.2.&lt;/p&gt;

&lt;p&gt;However, the main advantage of PHP when it comes to working with data is that it’s compatible with all the hosting services. And the latter is very far from the reality for Node.js, which makes a good fit with only a narrow range of hosting services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Node.js vs PHP: Similarities&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages&lt;/strong&gt;&lt;br&gt;
Both PHP and Javascript are interpreted languages that can be used not only for web programming but general purpose scripting. They require a certain run-time environment to be used for scripting (in the case of Javascript it may be either browser or server, which depends on whether it’s used for client- or server- side scripting).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performance&lt;/strong&gt;&lt;br&gt;
Although Node.js is always highlighted as a high-performative one because of its asynchronous model, PHP has also evolved in this direction. With such libraries as ReactPHP, it has become possible for PHP to be used in event-driven programming as well.&lt;/p&gt;

&lt;p&gt;On the other hand, most servers function on multi-threading, which brings difficulties to work with Node.js. In such cases, asynchronous programming becomes more of an obstacle as not every intermediate-level programmer has enough expertise in it.&lt;/p&gt;

&lt;p&gt;Even though Node.js is faster (some Node.js vs PHP benchmarks can be found here), PHP 7 and Node.js are almost at the same level in terms of pure performance. In other words, handling asynchronous I/O operations isn’t something that can make Node.js a winner in Node.js vs PHP performance competition.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Both PHP and Node.js obviously have their own advantages and disadvantages. However, it doesn’t mean that you can’t build the same applications using either PHP or Node.js. So how can you pick one of them? I believe that the best way to make a choice of Node.js vs PHP 2018 is to pick the one that is most compatible with other technologies you use for developing web applications. It will save your time and resources.&lt;/p&gt;

&lt;p&gt;Apparently, if you are about to use most of MEAN (MongoDB, Express.js, AngularJS, Node.js) stack tools, numerous Javascript libraries (Angular, React, Backbone, etc.) or develop SPAs (Single Page Applications), Node.js may be a better fit for your project. On the other hand, if you take advantage of the most of LAMP (Linux, Apache, MySQL, PHP) stack technologies or other servers like SQL, Oracle, Postgresql you may need to consider PHP in the first place.&lt;/p&gt;

&lt;p&gt;Although discussions around Node.js vs PHP don’t seem to cease any soon, the important thing to remember is that there’s nothing unique that you can do only with one of them they are interchangeable. However, you can always orient at the level of development expertise and stack of technologies that are to be used in the process of development.&lt;/p&gt;

</description>
      <category>node</category>
      <category>php</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
