<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software Archives - EckoThemes</title>
	<atom:link href="https://slate-wp.ecko.me/tag/software/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Slate WordPress Theme</description>
	<lastBuildDate>Fri, 09 Jul 2021 08:31:14 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://slate-wp.ecko.me/wp-content/uploads/2018/05/ecko-icon-50x50.png</url>
	<title>Software Archives - EckoThemes</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Essentials: Common Firewall Rules and Commands</title>
		<link>https://slate-wp.ecko.me/iptables-essentials-common-firewall-rules-and-commands/</link>
					<comments>https://slate-wp.ecko.me/iptables-essentials-common-firewall-rules-and-commands/#comments</comments>
		
		<dc:creator><![CDATA[Harvey Specter]]></dc:creator>
		<pubDate>Thu, 08 Jul 2021 19:18:06 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://koala-wp.ecko.me/?p=780</guid>

					<description><![CDATA[<p>This cheat sheet-style guide provides a quick reference to iptables commands that will create firewall rules that are useful in common, everyday scenarios. This includes iptables examples of allowing and blocking various services by port, network interface, and source IP address. Getting Started If you are just getting started with configuring your firewall. Most of [&#8230;]</p>
<p>The post <a href="https://slate-wp.ecko.me/iptables-essentials-common-firewall-rules-and-commands/">Essentials: Common Firewall Rules and Commands</a> appeared first on <a href="https://slate-wp.ecko.me">EckoThemes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>This cheat sheet-style guide provides a quick reference to iptables commands that will create firewall rules that are useful in common, everyday scenarios. This includes iptables examples of allowing and blocking various services by port, network interface, and source IP address.</p>



<h2 class="wp-block-heading" id="getting-started">Getting Started</h2>



<ul class="wp-block-list"><li>If you are just getting started with configuring your firewall.</li><li>Most of the rules that are described here assume that your iptables is set to drop&nbsp;incoming traffic, through the default input policy, and you want to selectively allow traffic in.</li><li>Use whichever subsequent sections are applicable to what you are trying to achieve. Most sections are not predicated on any other, so you can use the examples below independently.</li><li>Use the Contents menu on the right side of this page (at wide page widths) or your browser&#8217;s find function to locate the sections you need.</li><li>Copy and paste the command-line examples given, substituting the values in red with your own values.</li></ul>



<p>Keep in mind that the order of your rules matter. All of these <code>iptables</code> commands use the <code>-A</code> option to append the new rule to the end of a chain. If you want to put it somewhere else in the chain, you can use the <code>-I</code> option which allows you to specify the position of the new rule (or simply place it at the beginning of the chain by not specifying a rule number).</p>



<h3 class="wp-block-heading" id="allow-loopback-connections">Allow Loopback Connections</h3>



<p>The <strong>loopback</strong> interface, also referred to as <code>lo</code>, is what a computer uses to for network connections to itself. For example, if you run <code>ping localhost</code> or <code>ping 127.0.0.1</code>, your server will ping itself using the loopback. The loopback interface is also used if you configure your application server to connect to a database server with a &#8220;localhost&#8221; address. As such, you will want to be sure that your firewall is allowing these connections.</p>



<div class="wp-block-ecko-blocks-contrast alignfull" style="background-color:#1b1b1d;color:#ffffff"><div class="wp-block-ecko-blocks-contrast-content" multline="p"><p>Nulla facilisi. Etiam vehicula augue in gravida sodales. Proin sed sem nec nisi faucibus placerat. Donec euismod, diam in semper volutpat, dui ligula venenatis leo, eu lacinia tortor leo eget turpis. Praesent in vehicula felis. Nunc convallis gravida sollicitudin. In placerat dolor non porta pulvinar. Maecenas imperdiet porttitor rutrum. Vestibulum in dolor venenatis, placerat sem at, pellentesque nisi. Maecenas eu ex ornare est malesuada scelerisque a sit amet risus.</p></div></div>



<p>Nam eu est ac metus posuere rutrum. Curabitur elementum ac velit nec scelerisque. Proin turpis purus, maximus a dolor ac, rhoncus sagittis nisi. Sed sapien lacus, elementum sit amet nisl et, bibendum volutpat eros. Aliquam tempor eros mattis felis cursus ultricies. Vivamus quis hendrerit purus, vel gravida diam. Quisque placerat posuere tortor bibendum pretium. Ut tincidunt, ipsum non pretium pellentesque, nunc nisl auctor nibh, ac molestie est ipsum a urna. Cras ac erat a urna pretium vulputate at ut sem. In velit enim, hendrerit sed sapien id, sodales luctus nisl. Nunc sagittis non augue at vestibulum. Vestibulum sit amet pretium felis, sed varius justo. Nam at mi est. Cras eu consequat dolor. Phasellus non vestibulum nibh, vitae scelerisque tortor.</p>



<h2 class="wp-block-heading" id="getting-started">Basic Configuration</h2>



<p>Integer at lectus augue. Ut feugiat odio felis. Nullam aliquet diam vel elit tempus aliquet. Phasellus mattis nec neque eu porta. Sed purus risus, tincidunt a mauris nec, placerat dapibus ipsum. Suspendisse facilisis convallis orci nec tincidunt. Nam posuere quis ipsum in tempus.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img fetchpriority="high" decoding="async" width="1024" height="658" src="https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work-1024x658.jpg" alt="" class="wp-image-930" srcset="https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work-1024x658.jpg 1024w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work-300x193.jpg 300w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work-768x494.jpg 768w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work.jpg 1680w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work-1240x797.jpg 1240w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work-860x553.jpg 860w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work-680x437.jpg 680w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work-500x321.jpg 500w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work-400x257.jpg 400w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work-250x161.jpg 250w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work-200x129.jpg 200w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work-150x96.jpg 150w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work-100x64.jpg 100w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work-76x49.jpg 76w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/desk-work-50x32.jpg 50w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<p>Duis volutpat a massa eu egestas. Duis ac lectus sollicitudin, bibendum augue sit amet, sollicitudin augue. Maecenas accumsan egestas dolor, non cursus massa imperdiet et. Praesent euismod nec dolor sit amet condimentum. Fusce vulputate sed enim sed egestas. Donec porta risus vulputate, sodales massa vitae, tempor purus. Aenean mattis bibendum elit, sit amet consequat dolor vitae.</p>



<h2 class="wp-block-heading" id="conclusion">Conclusion</h2>



<p>That should cover many of the commands that are commonly used when configuring a firewall. Of course, iptables is a very flexible tool so feel free to mix and match the commands with different options to match your specific needs if they aren&#8217;t covered.&nbsp;Continue reading this guide at <a href="https://www.digitalocean.com/community/tutorials/how-to-install-tinc-and-set-up-a-basic-vpn-on-ubuntu-14-04" target="_blank" rel="noopener">Digital Ocean</a>. This article has been used as an example of an&nbsp;Ecko&nbsp;WordPress theme. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.</p>
<p>The post <a href="https://slate-wp.ecko.me/iptables-essentials-common-firewall-rules-and-commands/">Essentials: Common Firewall Rules and Commands</a> appeared first on <a href="https://slate-wp.ecko.me">EckoThemes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://slate-wp.ecko.me/iptables-essentials-common-firewall-rules-and-commands/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Getting Started with Version Control &#038; GitHub</title>
		<link>https://slate-wp.ecko.me/started-github/</link>
					<comments>https://slate-wp.ecko.me/started-github/#comments</comments>
		
		<dc:creator><![CDATA[Mike Ross]]></dc:creator>
		<pubDate>Sat, 26 Jun 2021 19:15:51 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://koala-wp.ecko.me/?p=821</guid>

					<description><![CDATA[<p>This chapter will be about getting started with Git. We will begin by explaining some background on version control tools, then move on to how to get Git running on your system and finally how to get it set up to start working with. At the end of this chapter you should understand why Git [&#8230;]</p>
<p>The post <a href="https://slate-wp.ecko.me/started-github/">Getting Started with Version Control &#038; GitHub</a> appeared first on <a href="https://slate-wp.ecko.me">EckoThemes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>This chapter will be about getting started with Git. We will begin by explaining some background on version control tools, then move on to how to get Git running on your system and finally how to get it set up to start working with. At the end of this chapter you should understand why Git is around, why you should use it and you should be all set up to do so.</p>



<h3 class="wp-block-heading">About Version Control</h3>



<p>What is &#8220;version control&#8221;, and why should you care? Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. For the examples in this book you will use software source code as the files being version controlled, though in reality you can do this with nearly any type of file on a computer.</p>



<p>If you are a graphic or web designer and want to keep every version of an image or layout (which you would most certainly want to), a Version Control System (VCS) is a very wise thing to use. It allows you to revert files back to a previous state, revert the entire project back to a previous state, compare changes over time, see who last modified something that might be causing a problem, who introduced an issue and when, and more. Using a VCS also generally means that if you screw things up or lose files, you can easily recover. In addition, you get all this for very little overhead.</p>



<h3 class="wp-block-heading">Local Version Control Systems</h3>



<p>Many people’s version-control method of choice is to copy files into another directory (perhaps a time-stamped directory, if they’re clever). This approach is very common because it is so simple, but it is also incredibly error prone. It is easy to forget which directory you’re in and accidentally write to the wrong file or copy over files you don’t mean to.</p>



<p>One of the more popular VCS tools was a system called RCS, which is still distributed with many computers today. Even the popular Mac OS X operating system includes the rcs command when you install the Developer Tools. RCS works by keeping patch sets (that is, the differences between files) in a special format on disk; it can then re-create what any file looked like at any point in time by adding up all the patches.</p>



<h3 class="wp-block-heading">Centralized Version Control Systems</h3>



<p>The next major issue that people encounter is that they need to collaborate with developers on other systems. To deal with this problem, Centralized Version Control Systems (CVCSs) were developed. These systems, such as CVS, Subversion, and Perforce, have a single server that contains all the versioned files, and a number of clients that check out files from that central place. For many years, this has been the standard for version control.</p>



<p>Furthermore, many of these systems deal pretty well with having several remote repositories they can work with, so you can collaborate with different groups of people in different ways simultaneously within the same project. This allows you to set up several types of workflows that aren’t possible in centralized systems, such as hierarchical models.</p>
<p>The post <a href="https://slate-wp.ecko.me/started-github/">Getting Started with Version Control &#038; GitHub</a> appeared first on <a href="https://slate-wp.ecko.me">EckoThemes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://slate-wp.ecko.me/started-github/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Modern Web &#038; JavaScript Framework Essentials</title>
		<link>https://slate-wp.ecko.me/javascript-essentials/</link>
					<comments>https://slate-wp.ecko.me/javascript-essentials/#comments</comments>
		
		<dc:creator><![CDATA[Mike Ross]]></dc:creator>
		<pubDate>Sat, 24 Apr 2021 17:19:44 +0000</pubDate>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Frontend]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">http://koala-wp.ecko.me/?p=794</guid>

					<description><![CDATA[<p>It is most commonly used as part of web browsers, whose implementations allow client-side scripts to interact with the user, control the browser, communicate asynchronously, and alter the document content that is displayed. JavaScript (at least the strict subset asm.js) is also considered an &#8220;assembly language of the web&#8221; – a compile target of source-to-source [&#8230;]</p>
<p>The post <a href="https://slate-wp.ecko.me/javascript-essentials/">Modern Web &#038; JavaScript Framework Essentials</a> appeared first on <a href="https://slate-wp.ecko.me">EckoThemes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>It is most commonly used as part of web browsers, whose implementations allow client-side scripts to interact with the user, control the browser, communicate asynchronously, and alter the document content that is displayed. JavaScript (at least the strict subset asm.js) is also considered an &#8220;assembly language of the web&#8221; – a compile target of source-to-source compilers – for making client side web applications, using other programming languages, supported by all the major browsers without plug-ins. It is also used in server-side network programming with runtime environments such as Node.js, game development and the creation of desktop and mobile applications.</p>



<p>JavaScript is a prototype-based scripting language with dynamic typing and first-class functions. This mix of features makes it a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles.</p>



<p>Despite some naming, syntactic, and standard library similarities, JavaScript and Java are otherwise unrelated and have very different semantics. The syntax of JavaScript is actually derived from C, while the semantics and design are influenced by the Self and Scheme programming languages.</p>



<p>JavaScript is also used in environments that aren&#8217;t web-based, such as PDF documents, site-specific browsers, and desktop widgets. Newer and faster JavaScript virtual machines (VMs) and platforms built upon them have also increased the popularity of JavaScript for server-side web applications. On the client side, JavaScript has been traditionally implemented as an interpreted language, but more recent browsers perform just-in-time compilation.</p>
<p>The post <a href="https://slate-wp.ecko.me/javascript-essentials/">Modern Web &#038; JavaScript Framework Essentials</a> appeared first on <a href="https://slate-wp.ecko.me">EckoThemes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://slate-wp.ecko.me/javascript-essentials/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Install Tinc and VPN Setup on Debian &#038; Ubuntu</title>
		<link>https://slate-wp.ecko.me/install-tinc-and-vpn-setup-on-ubuntu-14-04/</link>
					<comments>https://slate-wp.ecko.me/install-tinc-and-vpn-setup-on-ubuntu-14-04/#comments</comments>
		
		<dc:creator><![CDATA[Harvey Specter]]></dc:creator>
		<pubDate>Wed, 24 Feb 2021 17:13:41 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">http://kitewp.ecko.me/?p=328</guid>

					<description><![CDATA[<p>In this tutorial, we will go over how to use Tinc, an open source Virtual Private Network (VPN) daemon, to create a secure VPN that your servers can communicate on as if they were on a local network. We will also demonstrate how to use Tinc to set up a secure tunnel into a private network. We will be using Ubuntu 14.04 servers, but the configurations can be adapted for use with any other OS.</p>
<p>The post <a href="https://slate-wp.ecko.me/install-tinc-and-vpn-setup-on-ubuntu-14-04/">Install Tinc and VPN Setup on Debian &#038; Ubuntu</a> appeared first on <a href="https://slate-wp.ecko.me">EckoThemes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>A few of the features that Tinc has that makes it useful include encryption, optional compression, automatic mesh routing (VPN traffic is routed directly between the communicating servers, if possible), and easy expansion. These features differentiate Tinc from other VPN solutions such as OpenVPN, and make it a good solution for creating a VPN out of many small networks that are geographically distributed. Tinc is supported on many operating systems, including Linux, Windows, and Mac OS X.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img decoding="async" width="691" height="270" src="https://slate-wp.ecko.me/wp-content/uploads/2015/05/tinc.png" alt="" class="wp-image-896" srcset="https://slate-wp.ecko.me/wp-content/uploads/2015/05/tinc.png 691w, https://slate-wp.ecko.me/wp-content/uploads/2015/05/tinc-300x117.png 300w, https://slate-wp.ecko.me/wp-content/uploads/2015/05/tinc-680x266.png 680w, https://slate-wp.ecko.me/wp-content/uploads/2015/05/tinc-500x195.png 500w, https://slate-wp.ecko.me/wp-content/uploads/2015/05/tinc-400x156.png 400w, https://slate-wp.ecko.me/wp-content/uploads/2015/05/tinc-250x98.png 250w, https://slate-wp.ecko.me/wp-content/uploads/2015/05/tinc-200x78.png 200w, https://slate-wp.ecko.me/wp-content/uploads/2015/05/tinc-150x59.png 150w, https://slate-wp.ecko.me/wp-content/uploads/2015/05/tinc-100x39.png 100w, https://slate-wp.ecko.me/wp-content/uploads/2015/05/tinc-76x30.png 76w, https://slate-wp.ecko.me/wp-content/uploads/2015/05/tinc-50x20.png 50w" sizes="(max-width: 691px) 100vw, 691px" /><figcaption>Tinc is a self-routing, mesh networking protocol, used for compressed, encrypted, virtual private networks.</figcaption></figure></div>



<h3 class="wp-block-heading">Prerequisites</h3>



<p>To complete this tutorial, you will require root access on at least three Ubuntu 14.04 servers. Instructions to set up root access can be found here (steps 3 and 4): Initial Server Setup with Ubuntu 14.04.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img decoding="async" width="900" height="564" src="https://slate-wp.ecko.me/wp-content/uploads/2015/01/bridge_small.jpg" alt="bridge_small" class="wp-image-657" srcset="https://slate-wp.ecko.me/wp-content/uploads/2015/01/bridge_small.jpg 900w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/bridge_small-300x188.jpg 300w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/bridge_small-768x481.jpg 768w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/bridge_small-860x539.jpg 860w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/bridge_small-680x426.jpg 680w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/bridge_small-500x313.jpg 500w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/bridge_small-400x251.jpg 400w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/bridge_small-250x157.jpg 250w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/bridge_small-200x125.jpg 200w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/bridge_small-150x94.jpg 150w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/bridge_small-100x63.jpg 100w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/bridge_small-76x48.jpg 76w, https://slate-wp.ecko.me/wp-content/uploads/2015/01/bridge_small-50x31.jpg 50w" sizes="(max-width: 900px) 100vw, 900px" /></figure></div>



<p>If you are planning on using this in your own environment, you will have to plan out how your servers need to access each other, and adapt the examples presented in this tutorial to your own needs. If you are adapting this to your own setup, be sure to substitute the highlighted values in the examples with your own values.</p>



<p>If you would like to follow this tutorial exactly, create two VPSs in the same datacenter, with private networking, and create another VPS in a separate datacenter. We will create two VPSs in the NYC2 datacenter and one in AMS2 datacenter with the following names:</p>



<ul class="wp-block-list"><li><strong>externalnyc</strong>: All of the VPN nodes will connect to this server, and the connection must be maintained for proper VPN functionality. Additional servers can be configured in a similarly to this one to provide redundancy, if desired.</li><li><strong>internalnyc</strong>: Connects to <em>externalnyc</em> VPN node using its <em>private</em> network interface</li><li><strong>ams1</strong>: Connects to <em>externalnyc</em> VPN node over the public Internet</li></ul>



<h3 class="wp-block-heading">Tinc Configuration</h3>



<p>Tinc uses a &#8220;netname&#8221; to distinguish one Tinc VPN from another (in case of multiple VPNs), and it is recommended to use a netname even if you are only planning on configuring one VPN. We will call our VPN &#8220;netname&#8221; for simplicity.</p>



<div class="wp-block-image wp-image-636 size-medium"><figure class="alignleft size-medium"><img loading="lazy" decoding="async" width="300" height="200" src="https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone-300x200.jpg" alt="" class="wp-image-861" srcset="https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone-300x200.jpg 300w, https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone-768x512.jpg 768w, https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone-1024x683.jpg 1024w, https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone.jpg 1680w, https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone-1240x827.jpg 1240w, https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone-860x573.jpg 860w, https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone-680x453.jpg 680w, https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone-500x333.jpg 500w, https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone-400x267.jpg 400w, https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone-250x167.jpg 250w, https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone-200x133.jpg 200w, https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone-150x100.jpg 150w, https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone-100x67.jpg 100w, https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone-76x51.jpg 76w, https://slate-wp.ecko.me/wp-content/uploads/2015/04/iPad-Mini-iPhone-50x33.jpg 50w" sizes="auto, (max-width: 300px) 100vw, 300px" /><figcaption>Macbook, iPad and iPhone</figcaption></figure></div>



<p>The ping should work fine, and you should see some debug output in the other windows about the connection on the VPN. This indicates that ams1 is able to communicate over the VPN through externalnyc to internalnyc. This indicates that ams1 is able to communicate over the VPN through externalnyc to internalnyc.</p>



<p>Continue reading this guide at <a href="https://www.digitalocean.com/community/tutorials/how-to-install-tinc-and-set-up-a-basic-vpn-on-ubuntu-14-04" target="_blank" rel="noopener">Digital Ocean</a>. This article has been used as an example of an&nbsp;Ecko&nbsp;WordPress theme. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.</p>
<p>The post <a href="https://slate-wp.ecko.me/install-tinc-and-vpn-setup-on-ubuntu-14-04/">Install Tinc and VPN Setup on Debian &#038; Ubuntu</a> appeared first on <a href="https://slate-wp.ecko.me">EckoThemes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://slate-wp.ecko.me/install-tinc-and-vpn-setup-on-ubuntu-14-04/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Initial Server Configuration &#038; Setup on Debian</title>
		<link>https://slate-wp.ecko.me/initial-server-setup-with-ubuntu-14-04/</link>
					<comments>https://slate-wp.ecko.me/initial-server-setup-with-ubuntu-14-04/#respond</comments>
		
		<dc:creator><![CDATA[Harvey Specter]]></dc:creator>
		<pubDate>Wed, 02 Dec 2020 17:01:46 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://ivywp-light.ecko.me/?p=387</guid>

					<description><![CDATA[<p>When you first create a new Debian 8 server, there are a few configuration steps that you should take early on as part of the basic setup. This will increase the security and usability of your server and will give you a solid foundation for subsequent actions. Step One &#8211; Root Login To log into [&#8230;]</p>
<p>The post <a href="https://slate-wp.ecko.me/initial-server-setup-with-ubuntu-14-04/">Initial Server Configuration &#038; Setup on Debian</a> appeared first on <a href="https://slate-wp.ecko.me">EckoThemes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>When you first create a new Debian 8 server, there are a few configuration steps that you should take early on as part of the basic setup. This will increase the security and usability of your server and will give you a solid foundation for subsequent actions.</p>



<h2 class="wp-block-heading">Step One &#8211; Root Login</h2>



<p>To log into your server initially, you will need to know your server&#8217;s public IP address and the password for the &#8220;root&#8221; user&#8217;s account. For servers on DigitalOcean, you will receive an email with your server credentials and the server&#8217;s IP address.</p>



<p>The root user is the administrative user in a Linux environment that has very broad privileges. Because of the heightened privileges of the root account, you are actually <em>discouraged</em> from using it on a regular basis. This is because part of the power inherent with the root account is the ability to make very destructive changes, even by accident.</p>



<p>In this guide, we&#8217;ll help you set up an alternative user account with a reduced scope of influence for day-to-day work. We&#8217;ll teach you how to gain increased privileges during the times when you need them.&nbsp;The first step is to log into your server, and the only account we start out with is the root account. We can connect to the server by using the <code>ssh</code> command in the terminal. The command will look like this:</p>



<pre class="wp-block-code eckosc_syntax eckosc_syntax_theme_dark wp-block-code__dark language-bash" data-language="language-bash" data-color-scheme="dark"><code>ssh root@server_ip_address</code></pre>



<p>You will most likely see a warning in your terminal window that looks like this:</p>



<pre class="wp-block-code eckosc_syntax eckosc_syntax_theme_dark wp-block-code__dark language-bash" data-language="language-bash" data-color-scheme="dark"><code>The authenticity of host '123.123.123.123 (123.123.123.123)' can't be established.
ECDSA key fingerpring is
79:95:46:1a:ab:37:11:8e:86:54:36:38:bb:3c:fa:c0.
Are you sure you want to continue connecting (yes/no)?</code></pre>



<p>Here, your computer is basically telling you that it doesn&#8217;t recognize your remote server. Since this is your first time connecting, this is completely expected.&nbsp;Go ahead and type &#8220;yes&#8221; to accept the connection. Afterwards, you&#8217;ll need to enter the password for the root account.</p>



<h2 class="wp-block-heading">Step Two &#8211; Change Your Password</h2>



<p>You are not likely to remember the password that is currently set for your root account. You can change the password to something you will remember more easily by typing:</p>



<pre class="wp-block-code eckosc_syntax eckosc_syntax_theme_dark wp-block-code__dark language-bash" data-language="language-bash" data-color-scheme="dark"><code>passwd</code></pre>



<p>It will ask you to enter and confirm your new password. During this process, you will not see anything show up on your screen as you type. This is intentional and is there so that people looking over your shoulder cannot guess your password by the number of characters.</p>



<h2 class="wp-block-heading">Step Three &#8211; Create a New User</h2>



<p>At this point, we&#8217;re prepared to add the new user account that we will use to log in from now on.&nbsp;I&#8217;m going to name my user &#8220;demo&#8221;, but you can select whatever name you&#8217;d like:</p>



<pre class="wp-block-code eckosc_syntax eckosc_syntax_theme_dark wp-block-code__dark language-bash" data-language="language-bash" data-color-scheme="dark"><code>adduser demo</code></pre>



<p>You will be asked a few questions, starting with the account password.&nbsp;Fill out the password and, optionally, fill in any of the additional information if you would like. This is not required and you can just hit &#8220;ENTER&#8221; in any field you wish to skip.</p>



<h2 class="wp-block-heading">Step Four &#8211; Root Privileges</h2>



<p>To avoid having to log out of our normal user and log back in as the root account, we can set up what is known as &#8220;sudo&#8221; privileges for our normal account. This will allow our normal user to run commands with administrative privileges by putting the word &#8220;sudo&#8221; before each command.&nbsp;To add these privileges to our new account, we need to use a command called <code>visudo</code>. This will open a configuration file:</p>



<pre class="wp-block-code eckosc_syntax eckosc_syntax_theme_dark wp-block-code__dark language-bash" data-language="language-bash" data-color-scheme="dark"><code>visudo</code></pre>



<p>Scroll down until you find a section that deals with user privileges. It will look similar to this:</p>



<pre class="wp-block-code eckosc_syntax eckosc_syntax_theme_dark wp-block-code__dark language-bash" data-language="language-bash" data-color-scheme="dark"><code># User privilege specification
root    ALL=(ALL:ALL) ALL</code></pre>



<p>While this might look complicated, we don&#8217;t need to worry about that. All we need to do is add another line below it that follows the format, replacing &#8220;demo&#8221; with the user you created:</p>



<pre class="wp-block-code eckosc_syntax eckosc_syntax_theme_dark wp-block-code__dark language-bash" data-language="language-bash" data-color-scheme="dark"><code># User privilege specification
root    ALL=(ALL:ALL) ALL
demo    ALL=(ALL:ALL) ALL</code></pre>



<p>After this is done, press CTRL-X to exit. You will have to type &#8220;Y&#8221; to save the file and then press &#8220;ENTER&#8221; to confirm the file location.</p>



<h2 class="wp-block-heading">Step Five &#8211; Configure SSH (Optional)</h2>



<p>Now that we have our new account, we can secure our server a little bit by modifying the configuration of SSH (the program that allows us to log in remotely).&nbsp;Begin by opening the configuration file with your text editor as root:</p>



<pre class="wp-block-code eckosc_syntax eckosc_syntax_theme_dark wp-block-code__dark language-bash" data-language="language-bash" data-color-scheme="dark"><code>nano /etc/ssh/sshd_config</code></pre>



<p>Continue reading this guide at DigitalOcean. This article has been used as an example of&nbsp;an&nbsp;Ecko&nbsp;WordPress theme. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.</p>
<p>The post <a href="https://slate-wp.ecko.me/initial-server-setup-with-ubuntu-14-04/">Initial Server Configuration &#038; Setup on Debian</a> appeared first on <a href="https://slate-wp.ecko.me">EckoThemes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://slate-wp.ecko.me/initial-server-setup-with-ubuntu-14-04/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JavaScript Design Patterns Introduction</title>
		<link>https://slate-wp.ecko.me/design-patterns-introduction/</link>
					<comments>https://slate-wp.ecko.me/design-patterns-introduction/#comments</comments>
		
		<dc:creator><![CDATA[Mike Ross]]></dc:creator>
		<pubDate>Tue, 13 Oct 2020 19:25:52 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://wpdev.ecko.me/?p=73</guid>

					<description><![CDATA[<p>A lot of mobile-minded talented folks across the globe produce great work, but yet sometimes you still hear many of them complain about their relationships with their clients. They often mention feeling isolated and not truly understanding what the client really needed.</p>
<p>The post <a href="https://slate-wp.ecko.me/design-patterns-introduction/">JavaScript Design Patterns Introduction</a> appeared first on <a href="https://slate-wp.ecko.me">EckoThemes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In the first part of this book, we will explore the history and importance of design patterns which can really be applied to any programming language. If you&#8217;re already sold on or are familiar with this history, feel free to skip to the chapter &#8220;What is a Pattern?&#8221; to continue reading.</p>



<p>Design patterns can be traced back to the early work of an architect named Christopher Alexander. He would often write publications about his experience in solving design issues and how they related to buildings and towns. One day, it occurred to Alexander that when used time and time again, certain design constructs lead to a desired optimal effect.</p>



<p>In collaboration with Sara Ishikawa and Murray Silverstein, Alexander produced a pattern language that would help empower anyone wishing to design and build at any scale. This was published back in 1977 in a paper titled &#8220;A Pattern Language&#8221;, which was later released as a complete hardcover book.</p>



<p>Some 30 years ago, software engineers began to incorporate the principles Alexander had written about into the first documentation about design patterns, which was to be a guide for novice developers looking to improve their coding skills. It&#8217;s important to note that the concepts behind design patterns have actually been around in the programming industry since its inception, albeit in a less formalized form.</p>



<p>One of the first and arguably most iconic formal works published on design patterns in software engineering was a book in 1995 called Design Patterns: Elements Of Reusable Object-Oriented Software. This was written by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides &#8211; a group that became known as the Gang of Four (or GoF for short).</p>



<p>The GoF&#8217;s publication is considered quite instrumental to pushing the concept of design patterns further in our field as it describes a number of development techniques and pitfalls as well as providing twenty-three core Object-Oriented design patterns frequently used around the world today. We will be covering these patterns in more detail in the section &#8220;Categories of Design Patterns&#8221;.</p>



<p>In this book, we will take a look at a number of popular JavaScript design patterns and explore why certain patterns may be more suitable for your projects than others. Remember that patterns can be applied not just to vanilla JavaScript (i.e standard JavaScript code), but also to abstracted libraries such as jQuery or dojo as well. Before we begin, let’s look at the exact definition of a &#8220;pattern&#8221; in software design.</p>



<h2 class="wp-block-heading" id="whatisapattern">What is a Pattern?</h2>



<p>A pattern is a reusable solution that can be applied to commonly occurring problems in software design &#8211; in our case &#8211; in writing JavaScript web applications. Another way of looking at patterns are as templates for how we solve problems &#8211; ones which can be used in quite a few different situations.</p>



<ul class="wp-block-list"><li><strong>Patterns are proven solutions:</strong> They provide solid approaches to solving issues in software development using proven techniques that reflect the experience and insights the developers that helped define them bring to the pattern.</li><li><strong>Patterns can be easily reused:</strong> A pattern usually reflects an out of the box solution that can be adapted to suit our own needs. This feature makes them quite robust.</li><li><strong>Patterns can be expressive:</strong> When we look at a pattern there’s generally a set structure and vocabulary to the solution presented that can help express rather large solutions quite elegantly.</li></ul>



<h2 class="wp-block-heading" id="designpatterncategorization">Design Pattern Categorization</h2>



<p>In my early experiences of learning about design patterns, I personally found the following table a very useful reminder of what a number of patterns has to offer &#8211; it covers the 23 Design Patterns mentioned by the GoF. The original table was summarized by Elyse Nielsen back in 2004 and I&#8217;ve modified it where necessary to suit our discussion in this section of the book.</p>



<p>I recommend using this table as reference, but do remember that there are a number of additional patterns that are not mentioned here but will be discussed later in the book.</p>



<h3 class="wp-block-heading" id="abriefnoteonclasses">A brief note on classes</h3>



<p>Keep in mind that there will be patterns in this table that reference the concept of &#8220;classes&#8221;. JavaScript is a class-less language, however classes can be simulated using functions.</p>



<p>The most common approach to achieving this is by defining a JavaScript function where we then create an object using the new keyword. this can be used to help define new properties and methods for the object as follows:</p>



<pre class="wp-block-code eckosc_syntax eckosc_syntax_theme_dark wp-block-code__dark language-javascript" data-language="language-javascript" data-color-scheme="dark"><code>function Car( model ) {
    this.model = model;
    this.color = "silver";
    this.year  = "2012";
    this.getInfo = function () {
        return this.model + " " + this.year;
    };
}</code></pre>



<p>Learning JavaScript Design Patterns is released under a <a href="http://creativecommons.org/licenses/by-nc-nd/3.0/" target="_blank" rel="noopener">Creative Commons Attribution-Noncommercial-No Derivative Works 3.0</a> unported license. It is available for purchase via <a href="http://www.oreilly.com/" target="_blank" rel="noopener">O&#8217;Reilly Media</a> but will remain available for both free online and as a physical (or eBook) purchase for readers wishing to support the project.</p>
<p>The post <a href="https://slate-wp.ecko.me/design-patterns-introduction/">JavaScript Design Patterns Introduction</a> appeared first on <a href="https://slate-wp.ecko.me">EckoThemes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://slate-wp.ecko.me/design-patterns-introduction/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Installing Nginx on Ubuntu 14.04 with Server Caching</title>
		<link>https://slate-wp.ecko.me/installing-nginx-on-ubuntu-14-04/</link>
					<comments>https://slate-wp.ecko.me/installing-nginx-on-ubuntu-14-04/#comments</comments>
		
		<dc:creator><![CDATA[Mike Ross]]></dc:creator>
		<pubDate>Thu, 02 Jul 2020 04:47:54 +0000</pubDate>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://kitewp.ecko.me/?p=319</guid>

					<description><![CDATA[<p>Nginx is one of the most popular web servers in the world and is responsible for hosting some of the largest and highest-traffic sites on the internet. It is more resource-friendly than Apache in most cases and can be used as a web server or a reverse proxy. Since this is our first interaction with the apt packaging system in this session, we should update our local package index before we begin so that we are using the most up-to-date information.</p>
<p>The post <a href="https://slate-wp.ecko.me/installing-nginx-on-ubuntu-14-04/">Installing Nginx on Ubuntu 14.04 with Server Caching</a> appeared first on <a href="https://slate-wp.ecko.me">EckoThemes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Before you begin this guide, you should have a regular, non-root user with sudo privileges configured on your server. You can learn how to configure a regular user account by following steps 1-4 in our initial server setup guide for Ubuntu 14.04.</p>



<h3 class="wp-block-heading">Step One &#8211; Install Nginx</h3>



<p>We can install Nginx easily because the Ubuntu team provides an Nginx package in its default repositories.&nbsp;Since this is our first interaction with the apt packaging system in this session, we should update our local package index before we begin so that we are using the most up-to-date information. Afterwards, we will install nginx:</p>



<pre class="wp-block-code eckosc_syntax eckosc_syntax_theme_dark wp-block-code__dark language-bash" data-language="language-bash" data-color-scheme="dark"><code>sudo apt-get update
sudo apt-get install nginx</code></pre>



<p>You will probably be prompted for your user&#8217;s password. Enter it to confirm that you wish to complete the installation. The appropriate software will be downloaded to your server and then automatically installed.</p>



<h3 class="wp-block-heading">Step Two &#8211; Check your Web Server</h3>



<p>You can access the default Nginx landing page to confirm that the software is running properly by visiting your server&#8217;s domain name or public IP address in your web browser.</p>



<p>If you do not have a spare domain name, or have no need for one, you can use your server&#8217;s public IP address. If you do not know your server&#8217;s IP address, you can get it a few different ways from the command line.</p>



<p>Continue reading this guide at <a href="https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-14-04-lts" target="_blank" rel="noopener">Digital Ocean</a>. This article has been used as an example of an&nbsp;Ecko&nbsp;WordPress theme. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.</p>
<p>The post <a href="https://slate-wp.ecko.me/installing-nginx-on-ubuntu-14-04/">Installing Nginx on Ubuntu 14.04 with Server Caching</a> appeared first on <a href="https://slate-wp.ecko.me">EckoThemes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://slate-wp.ecko.me/installing-nginx-on-ubuntu-14-04/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 

Served from: slate-wp.ecko.me @ 2026-06-21 19:20:15 by W3 Total Cache
-->