<?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>SoftLayer Blog &#187; Technology</title>
	<atom:link href="http://blog.softlayer.com/tag/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.softlayer.com</link>
	<description>A Behind the Scenes Look at the Best Hosting Provider in the World</description>
	<lastBuildDate>Wed, 15 May 2013 15:33:34 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Tips and Tricks – Building a jQuery Plugin (Part 2)</title>
		<link>http://blog.softlayer.com/2013/tips-and-tricks-building-a-jquery-plugin-part-2/</link>
		<comments>http://blog.softlayer.com/2013/tips-and-tricks-building-a-jquery-plugin-part-2/#comments</comments>
		<pubDate>Thu, 14 Feb 2013 15:25:43 +0000</pubDate>
		<dc:creator>Cassandra Wolff</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[exercise]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=10619</guid>
		<description><![CDATA[jQuery plugins don&#8217;t have to be complicated to create. If you&#8217;ve stumbled upon this blog in pursuit of a guide to show you how to make a jQuery plugin, you might not believe me &#8230; It seems like there&#8217;s a chasm between the &#8220;haves&#8221; of jQuery plugin developers and the &#8220;have nots&#8221; of future jQuery [...]]]></description>
			<content:encoded><![CDATA[<p>jQuery plugins don&#8217;t have to be complicated to create. If you&#8217;ve stumbled upon this blog in pursuit of a guide to show you how to make a jQuery plugin, you might not believe me &#8230; It seems like there&#8217;s a chasm between the &#8220;haves&#8221; of jQuery plugin developers and the &#8220;have nots&#8221; of future jQuery developers, and there aren&#8217;t very many bridges to get from one side to the other. In <a href="http://blog.softlayer.com/2012/tips-and-tricks-building-a-jquery-plugin-part-1/">Part 1</a> of our &#8220;Building a jQuery Plugin&#8221; series, we broke down how to build the basic structure of a plugin, and in this installment, we&#8217;ll be adding some usable functionality to our plugin. </p>
<p>Let&#8217;s start with the jQuery code block we created in Part 1:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    $.<span style="color: #660066;">fn</span>.<span style="color: #660066;">slPlugin</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>options<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #003366; font-weight: bold;">var</span> defaults <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
                myVar<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;This is&quot;</span><span style="color: #339933;">,</span> <span style="color: #006600; font-style: italic;">// this will be the default value of this var</span>
                anotherVar<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;our awesome&quot;</span><span style="color: #339933;">,</span>
                coolVar<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;plugin!&quot;</span><span style="color: #339933;">,</span>
            <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
            <span style="color: #003366; font-weight: bold;">var</span> options <span style="color: #339933;">=</span> $.<span style="color: #660066;">extend</span><span style="color: #009900;">&#40;</span>defaults<span style="color: #339933;">,</span> options<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                ourString <span style="color: #339933;">=</span> myVar <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot; &quot;</span> <span style="color: #339933;">+</span> anotherVar <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot; &quot;</span> <span style="color: #339933;">+</span> coolVar<span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000066; font-weight: bold;">return</span> ourString<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#40;</span>jQuery<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>We want our plugin to do a little more than return, &#8220;This is our awesome plugin!&#8221; so let&#8217;s come up with some functionality to build. For this exercise, let&#8217;s create a simple plugin that allows truncates a blob of text to a specified length while providing the user an option show/hide the rest of the text. Since the most common character length limitation on the Internet these days is Twitter&#8217;s 140 characters, we&#8217;ll use that mark in our example.</p>
<p>Taking what we know about the basic jQuery plugin structure, let&#8217;s create the foundation for our new plugin &mdash; <code>slPlugin2</code>:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    $.<span style="color: #660066;">fn</span>.<span style="color: #660066;">slPlugin2</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>options<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
        <span style="color: #003366; font-weight: bold;">var</span> defaults <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
            length<span style="color: #339933;">:</span> <span style="color: #CC0000;">140</span><span style="color: #339933;">,</span>
            moreLink<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;read more&quot;</span><span style="color: #339933;">,</span>
            lessLink<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;collapse&quot;</span><span style="color: #339933;">,</span>
            trailingText<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;...&quot;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #003366; font-weight: bold;">var</span> options <span style="color: #339933;">=</span> $.<span style="color: #660066;">extend</span><span style="color: #009900;">&#40;</span>defaults<span style="color: #339933;">,</span> options<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>jQuery<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>As you can see, we&#8217;ve established four default variables:</p>
<ul>
<li><code>length</code>: The length of the paragraph we want before we truncate the rest.</li>
<li><code>moreLength</code>: What we append to the paragraph when it is truncated. This will be the link the user clicks to expand the rest of the text.</li>
<li><code>lessLink</code>: What we append to the paragraph when it is expanded. This will be the link the user clicks to collapse the rest of the text.</li>
<li><code>trailingText</code>: The typical ellipses to append to the truncation.</li>
</ul>
<p>In our jQuery plugin example from Part 1, we started our function with <code>this.each(function() {</code>, and for this example, we&#8217;re going to add a return for <code>this</code> to maintain chainability. By doing so, we&#8217;re able to manipulate the segment with methods. For example, if we started our function with <code>this.each(function() {</code>, we&#8217;d call it with this line:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#ourParagraph'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slPlugin2</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>If we start the function with <code>return this.each(function() {</code>, we have the freedom to add further manipulation:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#ourParagraph'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">slPlugin2</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">bind</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>With such a simple change, we&#8217;re able to add method calls to make one massive dynamic function. </p>
<p>Let&#8217;s flesh out the actual function a little more. We&#8217;ll add a substantial bit of code in this step, but you should be able to follow along with the changes via the comments:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    $.<span style="color: #660066;">fn</span>.<span style="color: #660066;">slPlugin2</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>options<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
        <span style="color: #003366; font-weight: bold;">var</span> defaults <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
            length<span style="color: #339933;">:</span> <span style="color: #CC0000;">140</span><span style="color: #339933;">,</span> 
            moreLink<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;read more&quot;</span><span style="color: #339933;">,</span>
            lessLink<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;collapse&quot;</span><span style="color: #339933;">,</span>
            trailingText<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;...&quot;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #003366; font-weight: bold;">var</span> options <span style="color: #339933;">=</span> $.<span style="color: #660066;">extend</span><span style="color: #009900;">&#40;</span>defaults<span style="color: #339933;">,</span> options<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #006600; font-style: italic;">// return this keyword for chainability</span>
        <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #003366; font-weight: bold;">var</span> ourText <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #006600; font-style: italic;">// the element we want to manipulate</span>
            <span style="color: #003366; font-weight: bold;">var</span> ourHtml <span style="color: #339933;">=</span> ourText.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">//get the contents of ourText!</span>
            <span style="color: #006600; font-style: italic;">// let's check if the contents are longer than we want</span>
            <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>ourHtml.<span style="color: #660066;">length</span> <span style="color: #339933;">&gt;</span> options.<span style="color: #660066;">length</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #003366; font-weight: bold;">var</span> truncSpot <span style="color: #339933;">=</span> ourHtml.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">' '</span><span style="color: #339933;">,</span> options.<span style="color: #660066;">length</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// the location of the first space (so we don't truncate mid-word) where we will end our truncation.</span>
&nbsp;
   <span style="color: #006600; font-style: italic;">// make sure to ignore the first space IF the text starts with a space</span>
   <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>truncSpot <span style="color: #339933;">!=</span> <span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
       <span style="color: #006600; font-style: italic;">// the part of the text that will not be truncated, starting from the beginning</span>
       <span style="color: #003366; font-weight: bold;">var</span> firstText <span style="color: #339933;">=</span> ourHtml.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> truncSpot<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
       <span style="color: #006600; font-style: italic;">// the part of the text that will be truncated, minus the trailing space</span>
       <span style="color: #003366; font-weight: bold;">var</span> secondText <span style="color: #339933;">=</span> ourHtml.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span>truncSpot<span style="color: #339933;">,</span> ourHtml.<span style="color: #660066;">legnth</span> <span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>jQuery<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Are you still with us? I know it seems like a lot to take in, but each piece is very straightforward. The <code>firstText</code> is the chunk of text that will be shown: The first 140 characters (or whatever <code>length</code> you define). The <code>secondText</code> is what <em>will</em> be truncated. We have two blobs of text, and now we need to make them work together:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    $.<span style="color: #660066;">fn</span>.<span style="color: #660066;">slPlugin2</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>options<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
        <span style="color: #003366; font-weight: bold;">var</span> defaults <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
            length<span style="color: #339933;">:</span> <span style="color: #CC0000;">140</span><span style="color: #339933;">,</span> 
            moreLink<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;read more&quot;</span><span style="color: #339933;">,</span>
            lessLink<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;read less&quot;</span><span style="color: #339933;">,</span>
            trailingText<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;...&quot;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #003366; font-weight: bold;">var</span> options <span style="color: #339933;">=</span> $.<span style="color: #660066;">extend</span><span style="color: #009900;">&#40;</span>defaults<span style="color: #339933;">,</span> options<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #006600; font-style: italic;">// return this keyword for chainability</span>
        <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #003366; font-weight: bold;">var</span> ourText <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #006600; font-style: italic;">// the element we want to manipulate</span>
            <span style="color: #003366; font-weight: bold;">var</span> ourHtml <span style="color: #339933;">=</span> ourText.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">//get the contents of ourText!</span>
            <span style="color: #006600; font-style: italic;">// let's check if the contents are longer than we want</span>
            <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>ourHtml.<span style="color: #660066;">length</span> <span style="color: #339933;">&gt;</span> options.<span style="color: #660066;">length</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #003366; font-weight: bold;">var</span> truncSpot <span style="color: #339933;">=</span> ourHtml.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">' '</span><span style="color: #339933;">,</span> options.<span style="color: #660066;">length</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// the location of the first space (so we don't truncate mid-word) where we will end our truncation.</span>
&nbsp;
   <span style="color: #006600; font-style: italic;">// make sure to ignore the first space IF the text starts with a space</span>
   <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>truncSpot <span style="color: #339933;">!=</span> <span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
       <span style="color: #006600; font-style: italic;">// the part of the text that will not be truncated, starting from the beginning</span>
       <span style="color: #003366; font-weight: bold;">var</span> firstText <span style="color: #339933;">=</span> ourHtml.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> truncSpot<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
       <span style="color: #006600; font-style: italic;">// the part of the text that will be truncated, minus the trailing space</span>
       <span style="color: #003366; font-weight: bold;">var</span> secondText <span style="color: #339933;">=</span> ourHtml.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span>truncSpot<span style="color: #339933;">,</span> ourHtml.<span style="color: #660066;">legnth</span> <span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
       <span style="color: #006600; font-style: italic;">// perform our truncation on our container ourText, which is technically more of a &quot;rewrite&quot; of our paragraph, to our liking so we can modify how we please. It's basically saying: display the first blob then add our trailing text, then add our truncated part wrapped in span tags (to further modify)</span>
       ourText.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span>firstText <span style="color: #339933;">+</span> options.<span style="color: #660066;">trailingText</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">'&lt;span class=&quot;slPlugin2&quot;&gt;'</span> <span style="color: #339933;">+</span> secondText <span style="color: #339933;">+</span> <span style="color: #3366CC;">'&lt;/span&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
       <span style="color: #006600; font-style: italic;">// but wait! The secondText isn't supposed to show until the user clicks &quot;read more&quot;, right? Right! Hide it using the span tags we wrapped it in above.</span>
       ourText.<span style="color: #660066;">find</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.slPlugin2'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;display&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;none&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>jQuery<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Our function now truncates text to the specified length, and we can call it from our page simply:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;jquery.min.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;jquery.slPlugin2.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span>
$(document).ready(function() {  
    $('#slText').slPlugin2();  
});
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div>

<p>Out of all the ways to truncate text via jQuery, this has to be my favorite. It&#8217;s feature-rich while still being fairly easy to understand. As you might have noticed, we haven&#8217;t touched on the &#8220;read more&#8221; and &#8220;read less&#8221; links or the expanding/collapsing animations yet, but we&#8217;ll be covering those in Part 3 of this series. Between now and when Part 3 is published, I challenge you to think up how you&#8217;d add those features to this plugin as homework. </p>
<p>-Cassandra</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2013/tips-and-tricks-building-a-jquery-plugin-part-2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>FatCloud: Tech Partner Spotlight</title>
		<link>http://blog.softlayer.com/2012/fatcloud-tech-partner-spotlight/</link>
		<comments>http://blog.softlayer.com/2012/fatcloud-tech-partner-spotlight/#comments</comments>
		<pubDate>Mon, 31 Dec 2012 22:20:03 +0000</pubDate>
		<dc:creator>Guest Blog</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Partner Marketplace]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[FatCloud]]></category>
		<category><![CDATA[guest]]></category>
		<category><![CDATA[guest blog]]></category>
		<category><![CDATA[partner marketplace]]></category>
		<category><![CDATA[partners]]></category>
		<category><![CDATA[SoftLayer]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=9830</guid>
		<description><![CDATA[We invite each of our featured SoftLayer Tech Marketplace Partners to contribute a guest post to the SoftLayer Blog, and this week, we&#8217;re happy to welcome Ian Miller, CEO of FatCloud. FatCloud is a cloud-enabled application platform that allows enterprises to build, deploy and manage next-generation .NET applications. Company Website: http://www.fatcloud.com/ Tech Partners Marketplace: http://www.softlayer.com/marketplace/fatcloud [...]]]></description>
			<content:encoded><![CDATA[<p class="attribution">We invite each of our featured SoftLayer Tech Marketplace Partners to contribute a guest post to the SoftLayer Blog, and this week, we&#8217;re happy to welcome Ian Miller, CEO of <a href="http://www.fatcloud.com/">FatCloud</a>. FatCloud is a cloud-enabled application platform that allows enterprises to build, deploy and manage next-generation .NET applications.</p>
<div class="yt560"><iframe src="http://www.youtube.com/embed/Au2avvqSEZY" frameborder="0" width="560" height="349"></iframe></div>
<div class="more-info"><strong>Company Website:</strong> <a href="http://www.fatcloud.com/">http://www.fatcloud.com/</a><br />
<strong>Tech Partners Marketplace:</strong> <a href="http://www.softlayer.com/marketplace/fatcloud">http://www.softlayer.com/marketplace/fatcloud</a></div>
<h3>&#8216;The Cloud&#8217; and Agility</h3>
<p>As the CEO of a cloud-enabled application platform for the .NET community, I get the same basic question all the time: &#8220;What is the cloud?&#8221; I&#8217;m a consumer of cloud services and a supplier of software that helps customers take advantage of the cloud, so my answer to that question has evolved over the years, and I&#8217;ve come to realize that the cloud is fundamentally about agility. The growth, evolution and adoption of cloud technology have been fueled by businesses that don&#8217;t want to worry about infrastructure and need to pivot or scale quickly as their needs change. </p>
<p>Because FatCloud is a consumer of cloud infrastructure from Softlayer, we are much more nimble than we&#8217;d be if we had to worry about building data centers, provisioning hardware, patching software and doing all the other time-consuming tasks that are involved in managing a server farm. My team can focus on building innovative software with confidence that the infrastructure will be ready for us on-demand when we need it. That peace of mind also happens to be one of the biggest reasons developers turn to FatCloud &#8230; They don&#8217;t want to worry about configuring the fundamental components of the platform under their applications.</p>
<p><a href="http://www.fatcloud.com/"><img class="centered" src="http://cdn.softlayer.com/innerlayer/fatcloud.png" alt="Fat Cloud"/></a></p>
<p>Our customers trust FatCloud&#8217;s software platform to help them build and scale their .NET applications more efficiently. To do this, we provide a Core Foundation of .NET WCF services that effectively provides the &#8220;plumbing&#8221; for .NET cloud computing, and we offer premium features like a a distributed NoSQL database, work queue, file storage/management system, content caching and an easy-to-use administration tool that simplifies managing the cloud for our customers. FatCloud makes developing for hundreds of servers as easy as developing for one, and to prove it, we offer a free 3-node developer edition so that potential customers can see for themselves.</p>
<p><a href="http://www.fatcloud.com"><img class="centered" src="http://cdn.softlayer.com/innerlayer/fatclouddiagram.png" alt="FatCloud Offering"/></a></p>
<p>The agility of the cloud has the clearest value for a company like ours. In one heavy-duty testing month, we needed 75 additional servers online, and after that testing was over, we needed the elasticity to scale that infrastructure back down. We&#8217;re able to adjust our server footprint as we balance our computing needs and work within budget constraints. Ten years ago, that would have been overwhelmingly expensive (if not impossible). Today, we&#8217;re able to do it economically and in real-time. SoftLayer is helping keep FatCloud agile, and FatCloud passes that agility on to our customers.</p>
<p>Companies developing custom software for the cloud, mobile or web using .NET want a reliable foundation to build from, and they want to be able to bring their applications to market faster. With FatCloud, those developers can complete their projects in about half the time it would take them if they were to develop conventionally, and that speed can be a huge competitive differentiator.</p>
<p>The expensive &#8220;scale up&#8221; approach of buying and upgrading powerful machines for something like SQL Server is out-of-date now. The new kid in town is the &#8220;scale out&#8221; approach of using low-cost servers to expand infrastructure horizontally. You&#8217;ll never run into those &#8220;scale up&#8221; hardware limitations, and you can build a dynamic, scalable and elastic application much more economically. You can be agile.</p>
<p>If you have questions about how FatCloud and SoftLayer make cloud-enabled .NET development easier, send us an email: <a href="mailto:sales@fatcloud.com">sales@fatcloud.com</a>. Our team is always happy to share the easy (and free) steps you can take to start taking advantage of the agility the cloud provides.</p>
<p>-Ian Miller, CEO of <a href="http://www.fatcloud.com/">FatCloud</a></p>
<div class="tpm-note">This guest blog series highlights companies in SoftLayer&#8217;s <a href="http://www.softlayer.com/marketplace">Technology Partners Marketplace</a>. These partners have built their businesses on the SoftLayer Platform, and we&#8217;re excited for them to tell their stories. New partners will be added to the Marketplace each month, so stay tuned for many more come.</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2012/fatcloud-tech-partner-spotlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips and Tricks &#8211; Building a jQuery Plugin (Part 1)</title>
		<link>http://blog.softlayer.com/2012/tips-and-tricks-building-a-jquery-plugin-part-1/</link>
		<comments>http://blog.softlayer.com/2012/tips-and-tricks-building-a-jquery-plugin-part-1/#comments</comments>
		<pubDate>Tue, 27 Nov 2012 20:40:09 +0000</pubDate>
		<dc:creator>Cassandra Wolff</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[creating]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[lazyload]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[Select2]]></category>
		<category><![CDATA[SoftLayer]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=9780</guid>
		<description><![CDATA[I&#8217;ve written several blogs detailing the use of different jQuery plugins (like Select2, LazyLoad and equalHeights), and in the process, I&#8217;ve noticed an increasing frustration among the development community when it comes to building jQuery plugins. The resources and documentation I&#8217;ve found online have not as clear and easy as they could be, so in [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written several blogs detailing the use of different jQuery plugins (like <a href="http://blog.softlayer.com/2012/tips-and-tricks-jquery-select2-plugin/">Select2</a>, <a href="http://blog.softlayer.com/2012/tips-and-tricks-jquery-lazy-load-plugin/">LazyLoad</a> and <a href="http://blog.softlayer.com/2012/tips-and-tricks-jquery-equalheights-plugin/">equalHeights</a>), and in the process, I&#8217;ve noticed an increasing frustration among the development community when it comes to building jQuery plugins. The resources and documentation I&#8217;ve found online have not as clear and easy as they could be, so in my next few posts, I&#8217;ll break down the process to make jQuery plugin creation simple and straightforward. In this post, we&#8217;ll cover the basic structure of a plugin and where to insert your own functionality, and in Part 2, we&#8217;ll pick a simple task and add on to our already-made structure.</p>
<p>Before I go any further, it&#8217;s probably important to address a question you might be asking yourself: &#8220;Why would I want to make my own plugin?&#8221; The best reason that comes to my mind is portability. If you&#8217;ve ever created a large-scale project, take a look back into your source code and note how many of the hundreds of lines of jQuery code you could put into a plugin to reuse on a different project. You probably invested a lot of time and energy into that code, so it doesn&#8217;t make sense to reinvent the wheel if you ever need that functionality again. If that&#8217;s not enough of a reason for you, I can also tell you that if you develop your own jQuery plugin, you&#8217;ll level-up in cool points, and the jQuery community will love you.</p>
<p>For this post, let&#8217;s create a jQuery plugin that simply returns, &#8220;This is our awesome plugin!&#8221; Our first step involves putting together the basic skeleton used by every plugin:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    $.<span style="color: #660066;">fn</span>.<span style="color: #660066;">slPlugin</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
            <span style="color: #006600; font-style: italic;">// Awesome plugin stuff goes here</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#40;</span>jQuery<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>This is your template &mdash; your starting point. Practice it. Remember it. Love it. The &#8220;<code>slPlugin</code>&#8221; piece is what I chose to name this plugin. It&#8217;s best to name your plugin something unique &#8230; I always run a quick Google search to ensure I don&#8217;t duplicate the name of a plugin I (or someone else) might need to use in a project alongside my plugin. In this case, we&#8217;re calling the example plugin slPlugin because SoftLayer is awesome, and I like naming my plugins after awesome things. I&#8217;ll save this code in a file called jquery.slPlugin.js.</p>
<p>Now that we have our plugin&#8217;s skeleton, let&#8217;s add some default values for variables:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    $.<span style="color: #660066;">fn</span>.<span style="color: #660066;">slPlugin</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>options<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #003366; font-weight: bold;">var</span> defaults <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
                myVar<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;default&quot;</span><span style="color: #339933;">,</span> <span style="color: #006600; font-style: italic;">// this will be the default value of this var</span>
                anotherVar<span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span>
                coolVar<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;this is cool&quot;</span><span style="color: #339933;">,</span>                
            <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
            <span style="color: #003366; font-weight: bold;">var</span> options <span style="color: #339933;">=</span> $.<span style="color: #660066;">extend</span><span style="color: #009900;">&#40;</span>defaults<span style="color: #339933;">,</span> options<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#40;</span>jQuery<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Let&#8217;s look at the changes we made between the first example and this one. You&#8217;ll notice that in our second line we added &#8220;options&#8221; to become  <code>$.fn.slPlugin = function(options) {</code>. We do this because our function is now accepting arguments, and we need to let the function know that. The next difference you come across is the <code>var defaults</code> blurb. In this section, we&#8217;re providing default values for our variables. If you don&#8217;t define values for a given variable when you call the plugin, these default values will be used.</p>
<p>Now let&#8217;s have our plugin return the message we want to send:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    $.<span style="color: #660066;">fn</span>.<span style="color: #660066;">slPlugin</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>options<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #003366; font-weight: bold;">var</span> defaults <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
                myVar<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;This is&quot;</span><span style="color: #339933;">,</span> <span style="color: #006600; font-style: italic;">// this will be the default value of this var</span>
                anotherVar<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;our awesome&quot;</span><span style="color: #339933;">,</span>
                coolVar<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;plugin!&quot;</span><span style="color: #339933;">,</span>
            <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
            <span style="color: #003366; font-weight: bold;">var</span> options <span style="color: #339933;">=</span> $.<span style="color: #660066;">extend</span><span style="color: #009900;">&#40;</span>defaults<span style="color: #339933;">,</span> options<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                ourString <span style="color: #339933;">=</span> myVar <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot; &quot;</span> <span style="color: #339933;">+</span> anotherVar <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot; &quot;</span> <span style="color: #339933;">+</span> coolVar<span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000066; font-weight: bold;">return</span> ourString<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#40;</span>jQuery<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>We&#8217;ve defined our default values for our variables, concatenated our variables and we&#8217;ve added a return under our variable declaration. If our jQuery plugin is included in a project and no values are provided for our variables, slPlugin will return, &#8220;This is our awesome plugin!&#8221; </p>
<p>It seems rather rudimentary at this point, but we have to crawl before we walk. This introductory post is laying the groundwork of coding a jQuery plugin, and we&#8217;ll continue building on this example in the next installment of this series. As you&#8217;ve seen with the LazyLoad, equalHeights and Select2, there are much more complicated things we can do with our plugin, and we&#8217;ll get there. Sneak Preview: In the next installment, we&#8217;ll be creating and implementing a truncation function for our plugin &#8230; Get excited!</p>
<p>-Cassandra</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2012/tips-and-tricks-building-a-jquery-plugin-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Let Your Success Bring You Down</title>
		<link>http://blog.softlayer.com/2012/dont-let-your-success-bring-you-down/</link>
		<comments>http://blog.softlayer.com/2012/dont-let-your-success-bring-you-down/#comments</comments>
		<pubDate>Mon, 08 Oct 2012 20:30:59 +0000</pubDate>
		<dc:creator>Jonathan Wisler</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Executive Blog]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[cloud instances]]></category>
		<category><![CDATA[cloud management]]></category>
		<category><![CDATA[Cloudant]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[executive blog]]></category>
		<category><![CDATA[Flex Image]]></category>
		<category><![CDATA[internet scale]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[RightScale]]></category>
		<category><![CDATA[solutions]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=9361</guid>
		<description><![CDATA[Last week, I got an email from a huge technology conference about their new website, exciting new speaker line up and the availability of early-bird tickets. I clicked on a link from that email, and I find that their fancy new website was down. After giving up on getting my early-bird discount, I surfed over [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, I got an email from a huge technology conference about their new website, exciting new speaker line up and the availability of early-bird tickets. I clicked on a link from that email, and I find that their fancy new website was down. After giving up on getting my early-bird discount, I surfed over to Facebook, and I noticed a post from one of my favorite blogs, <a href="http://www.dutchcowboys.nl/">Dutch Cowboys</a>, about another company&#8217;s interesting new product release. I clicked the link to check out the product, and THAT site was down, too. It&#8217;s painfully common for some of the world&#8217;s most popular sites and applications buckle under the strain of their own success &#8230; Just think back to when Diablo III was launched: Demand crushed their servers on release day, and the gamers who waited patiently to get online with their copy turned to the world of social media to express their visceral anger about not being able to play the game. </p>
<p>The question everyone asks is why this kind of thing still happens. To a certain extent, the reality is that most entrepreneurs don&#8217;t know what they don&#8217;t know. I spoke with an woman who was going to be featured on BBC&#8217;s <a href="http://www.bbc.co.uk/programmes/b006vq92">Dragons&#8217; Den</a>, and she said that the traffic from the show&#8217;s viewers crippled most (if not all) of the businesses that were presented on the program. She needed to safeguard from that happening to her site, and she didn&#8217;t know how to do that.</p>
<p>Fortunately, it&#8217;s pretty easy to keep sites and applications online with on-demand infrastructure and auto-scaling tools. Unfortunately, most business owners don&#8217;t know how easy it is, so they don&#8217;t take advantage of the resources available to them. Preparing a website, game or application for its own success doesn&#8217;t have to be expensive or time consuming. With pay-for-what-you-use pricing and &#8220;off the shelf&#8221; cloud management solutions, traffic-caused outages do NOT have to happen. </p>
<p>First impressions are extremely valuable, and if I wasn&#8217;t really interested in that conference or the new product Dutch Cowboys blogged about, I&#8217;d probably never go back to those sites. Most Internet visitors would not. I cringe to think about the potential customers lost. </p>
<p>Businesses spend a lot of time and energy on user experience and design, and they don&#8217;t think to devote the same level of energy on their infrastructure. In the 90&#8242;s, sites crashing or slowing was somewhat acceptable since the interwebs were exploding beyond available infrastructure&#8217;s capabilities. Now, there&#8217;s no excuse.</p>
<p>If you&#8217;re launching a new site, product or application, how do you get started? </p>
<p>The first thing you need to do is understand what resources you need and where the potential bottlenecks are when hundreds, thousands or even millions of people want to what you&#8217;re launching. You don&#8217;t need to invest in infrastructure to accommodate all of that traffic, but you need to know how you can add that infrastructure when you need it.</p>
<p>One of the easiest ways to prepare for your own success without getting bogged down by the bits and bytes is to take advantage of resources from some of our technology partners (and friends). If you have a PHP, Ruby on Rails or Node.js applications, <a href="http://engineyard.com">Engine Yard</a> will help you deploy and manage a specialized hosting environment. When you need a little more flexibility, <a href="http://www.rightscale.com/">RightScale</a>&#8216;s cloud management product lets you easily manage your environment in &#8220;a single integrated solution for extreme efficiency, speed and control.&#8221; If your biggest concern is your database&#8217;s performance and scalability, <a href="https://cloudant.com/">Cloudant</a> has an excellent cloud database management service.  </p>
<p>Invest a little time in getting ready for your success, and you won&#8217;t need to play catch-up when that success comes to you. Given how easy it is to prepare and protect your hosting environment these days, outages should go the way of the 8-track player.</p>
<p>-<a href="http://twitter.com/jpwisler">@jpwisler</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2012/dont-let-your-success-bring-you-down/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cloud Computing is not a &#8216;Thing&#8217; &#8230; It&#8217;s a way of Doing Things.</title>
		<link>http://blog.softlayer.com/2012/cloud-computing-is-not-a-thing-its-a-way-of-doing-things/</link>
		<comments>http://blog.softlayer.com/2012/cloud-computing-is-not-a-thing-its-a-way-of-doing-things/#comments</comments>
		<pubDate>Mon, 24 Sep 2012 16:00:21 +0000</pubDate>
		<dc:creator>Duke Skarda</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Executive Blog]]></category>
		<category><![CDATA[SoftLayer]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[definition]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[hybrid cloud]]></category>
		<category><![CDATA[NIST]]></category>
		<category><![CDATA[private cloud]]></category>
		<category><![CDATA[public cloud]]></category>
		<category><![CDATA[services]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=9095</guid>
		<description><![CDATA[I like to think that we are beyond &#8216;defining&#8217; cloud, but what I find in reality is that we still argue over basics. I have conversations in which people still delineate things like &#8220;hosting&#8221; from &#8220;cloud computing&#8221; based degrees of single-tenancy. Now I&#8217;m a stickler for definitions just like the next pedantic software-religious guy, but [...]]]></description>
			<content:encoded><![CDATA[<p>I like to think that we are beyond &#8216;defining&#8217; cloud, but what I find in reality is that we still argue over basics. I have conversations in which people still delineate things like &#8220;hosting&#8221; from &#8220;cloud computing&#8221; based degrees of single-tenancy. Now I&#8217;m a stickler for definitions just like the next pedantic software-religious guy, but when it comes to arguing minutiae about cloud computing, it&#8217;s easy to lose the forest for the trees. Instead of discussing underlying infrastructure and comparing hypervisors, we&#8217;ll look at two well-cited definitions of cloud computing that may help us unify our understanding of the model.</p>
<p>I use the word &#8220;model&#8221; intentionally there because it&#8217;s important to note that cloud computing is not a &#8220;thing&#8221; or a &#8220;product.&#8221; It&#8217;s a way of doing business. It&#8217;s an operations model that is changing the fundamental economics of writing and deploying software applications. It&#8217;s not about a strict definition of some underlying service provider architecture or whether multi-tenancy is at the data center edge, the server or the core. It&#8217;s about enabling new technology to be tested and fail or succeed in blazing calendar time and being able to support super-fast growth and scale with little planning. Let&#8217;s try to keep that in mind as we look at how NIST and Gartner define cloud computing.</p>
<p>The <a href="http://www.nist.gov/index.html">National Institute of Standards and Technology</a> (NIST) is a government organization that develops standards, guidelines and minimum requirements as needed by industry or government programs. Given the confusion in the marketplace, there&#8217;s a huge &#8220;need&#8221; for a simple, consistent definition of cloud computing, so NIST had a pretty high profile topic on its hands. Their resulting <a href="http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf">Cloud Computing Definition</a> describes five essential characteristics of cloud computing, three service models, and four deployment models. Let&#8217;s table the service models and deployment models for now and look at the five essential characteristics of cloud computing. I&#8217;ll summarize them here; follow the link if you want more context or detail on these points:</p>
<blockquote><ul>
<li><strong>On-Demand Self Service</strong>: A user can automatically provision compute without human interaction.</li>
<li><strong>Broad Network Access</strong>: Capabilities are available over the network.</li>
<li><strong>Resource Pooling</strong>: Computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned.</li>
<li><strong>Rapid Elasticity</strong>: Capabilities can be elastically provisioned and released.</li>
<li><strong>Measured Service</strong>: Resource usage can be monitored, controlled and reported.</li>
</ul>
</blockquote>
<p>The characteristics NIST uses to define cloud computing are pretty straightforward, but they are still a little ambiguous: How quickly does an environment have to be provisioned for it to be considered &#8220;on-demand?&#8221; If &#8220;broad network access&#8221; could just mean &#8220;connected to the Internet,&#8221; why include that as a characteristic? When it comes to &#8220;measured service,&#8221; how granular does the resource monitoring and control need to be for something to be considered &#8220;cloud computing?&#8221; A year? A minute? These characteristics cast a broad net, and we can build on that foundation as we set out to create a more focused definition.</p>
<p>For our next stop, let&#8217;s look at <a href="http://www.gartner.com">Gartner</a>&#8216;s view: &#8220;A style of computing in which scalable and elastic IT-enabled capabilities are delivered as a service using Internet infrastructure.&#8221; From a philosophical perspective, I love their use of &#8220;style&#8221; when talking about cloud computing. Little differentiates the underlying IT capabilities of cloud computing from other types of computing, so when looking at cloud computing, we really just see a variation on how those capabilities are being leveraged. It&#8217;s important to note that Gartner&#8217;s definition includes &#8220;elastic&#8221; alongside &#8220;scalable&#8221; &#8230; Cloud computing gets the most press for being able to scale remarkably, but the flip-side of that expansion is that it also needs to contract on-demand. </p>
<p>All of this describes a way of deploying compute power that is completely different than the way we did this in the decades that we&#8217;ve been writing software. It used to take months to get funding and order the hardware to deploy an application. That&#8217;s a lot of time and risk that startups and enterprises alike can erase from their business plans. </p>
<p>How do we wrap all of those characteristics up into unified of definition of cloud computing? The way I look at it, cloud computing is as an operations model that yields seemingly unlimited compute power when you need it. It enables (scalable and elastic) capacity as you need it, and that capacity&#8217;s pricing is based on consumption. That doesn&#8217;t mean a provider should charge by the compute cycle, generator fan RPM or some other arcane measurement of usage &#8230; It means that a customer should understand the resources that are being invoiced, and he/she should have the power to change those resources as needed. A cloud computing environment has to have self-service provisioning that doesn&#8217;t require manual intervention from the provider, and I&#8217;d even push that requirement a little further: A cloud computing environment should have API accessibility so a customer doesn&#8217;t even have to manually intervene in the provisioning process (The customer&#8217;s app could use automated logic and API calls to scale infrastructure up or down based on resource usage).</p>
<p>Last week, I had the opportunity to speak at <a href="http://www.cloudconnectevent.com/chicago/">Cloud Connect Chicago</a>, and I shared SoftLayer&#8217;s approach to cloud computing and how it has evolved into a few distinct products that speak directly to our customers&#8217; needs:</p>
<div class="yt560"><iframe src="http://www.youtube.com/embed/iCrJiogTUiM?hd=1" frameborder="0" width="560" height="349"></iframe></div>
<p>The session was about 45 minutes, so the video above has been slimmed down a bit for easier consumption. If you&#8217;re interested in seeing the full session and getting into a little more detail, we&#8217;ve uploaded an un-cut version <a href="http://www.youtube.com/watch?v=QI30f8kP3x0">here</a>.</p>
<p>-Duke</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2012/cloud-computing-is-not-a-thing-its-a-way-of-doing-things/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Powering Cloud Automation Through Partnerships</title>
		<link>http://blog.softlayer.com/2012/powering-cloud-automation-through-partnerships/</link>
		<comments>http://blog.softlayer.com/2012/powering-cloud-automation-through-partnerships/#comments</comments>
		<pubDate>Fri, 21 Sep 2012 15:30:30 +0000</pubDate>
		<dc:creator>George Karidis</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Executive Blog]]></category>
		<category><![CDATA[SoftLayer]]></category>
		<category><![CDATA[APAC]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[cloud servers]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[George Karidis]]></category>
		<category><![CDATA[IaaS]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Parallels]]></category>
		<category><![CDATA[Parallels Summit]]></category>
		<category><![CDATA[partnerships]]></category>
		<category><![CDATA[Singapore]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=9442</guid>
		<description><![CDATA[When SoftLayer began back in 2005, the term “cloud computing” was rarely used if at all. The founders of SoftLayer had an ambitious vision and plan to build a service platform that could easily automate, scale and meet the demands of the most sophisticated IT users. They were obviously onto something. Since then, we’ve emerged [...]]]></description>
			<content:encoded><![CDATA[<p>When SoftLayer began back in 2005, the term “cloud computing” was rarely used if at all. The founders of SoftLayer had an ambitious vision and plan to build a service platform that could easily automate, scale and meet the demands of the most sophisticated IT users. They were obviously onto something. Since then, we’ve emerged as the world’s largest privately held Infrastructure-as-a-Service (IaaS) provider, helping the next generation of web savvy entrepreneurs realize their dreams. But we didn’t do it alone. We had partnerships in place—including working with Parallels. </p>
<p>Today everyone is trying to scramble and figure out how this “new” IT shift will work itself out. Our friends over at Parallels had a similar ambitious undertaking—trying to automate and enable a complete gamut of hosting and cloud services. This created a framework for our partnership. We worked with their engineering and sales teams, starting back in 2005, which resulted in Parallels Plesk Panel being offered as an option on every SoftLayer server. That was just the beginning. We are now deploying Parallels Automation for hosting partners and have plans to integrate with their Application Packaging Standard offering. Plans to integrate with other products like Parallels Cloud Server are also on the horizon. It all comes down to helping hosting companies and other joint customers thrive and succeed.</p>
<p>To find out more about our partnership and how it can help streamline your entry into cloud computing click here. We are also the only “Diamond” sponsor at the Parallels Summit 2012 APAC in Singapore this year. We share a heritage and understanding with Parallels borne from a need to simplify and solve IT problems on a broad scale. Now that’s what I call a likeminded partnership. </p>
<p>-@gkdog</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2012/powering-cloud-automation-through-partnerships/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SoftLayer Asia &#8211; A Technology Market Full of Opportunity</title>
		<link>http://blog.softlayer.com/2012/softlayer-asia-a-technology-market-full-of-opportunity/</link>
		<comments>http://blog.softlayer.com/2012/softlayer-asia-a-technology-market-full-of-opportunity/#comments</comments>
		<pubDate>Tue, 03 Jul 2012 12:35:14 +0000</pubDate>
		<dc:creator>Dionne Ang</dc:creator>
				<category><![CDATA[International]]></category>
		<category><![CDATA[SoftLayer]]></category>
		<category><![CDATA[asia]]></category>
		<category><![CDATA[build the future]]></category>
		<category><![CDATA[customers]]></category>
		<category><![CDATA[expansion]]></category>
		<category><![CDATA[growth]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[international]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=8645</guid>
		<description><![CDATA[The last few months have been extremely busy for SoftLayer Asia. SLayers from our Singapore office have been participating in all kinds of events &#8212; from small developer group meetups to massive conferences like CommunicAsia 2012 that brought in 35,000+ attendees from the APAC region&#8217;s major markets, and our goal has been the same throughout: [...]]]></description>
			<content:encoded><![CDATA[<p>The last few months have been extremely busy for <a href="http://www.softlayer.com/singapore-hosting">SoftLayer Asia</a>. SLayers from our Singapore office have been participating in all kinds of events &mdash; from small developer group meetups to massive conferences like <a href="http://www.communicasia.com/index.html">CommunicAsia 2012</a> that brought in 35,000+ attendees from the APAC region&#8217;s major markets, and our goal has been the same throughout: SoftLayer has the platform on which our customers can <a href="http://www.softlayer.com/about/">build the future</a>.</p>
<div class="polaroid"><img class="centered" src="http://cdn.softlayer.com/innerlayer/softlayerwhdbangkok.jpg" alt="Web Hosting Days 2012 - Bangkok"/></p>
<div class="pic-caption">Web Hosting Days 2012 &#8211; Bangkok, Thailand</div>
</div>
<p>While our goal to help our customers &#8220;build the future&#8221; might seem like a tall order, the market in Asia needs the capabilities that only SoftLayer is able to provide. With the recent boom in smartphones and the growth of the region&#8217;s huge network of connectivity infrastructure, Asian companies with global customer bases are facing an exciting market with a great deal of promise. In 2012 alone, analyst group <a href="http://www.canalys.com/">Canalys</a> forecasts:</p>
<ul>
<li>An estimated 253.57 million smartphones in APAC in 2012 alone (compared to 224.08 million in North America).</li>
<li>APAC smartphone penetration is expected to exceed that of North America by 13%.</li>
</ul>
<p>While that technology market is attractive, many business owners find that it can be equally intimidating. That sentiment is one the biggest reasons our customers share when we ask why they chose to to trust SoftLayer&#8217;s <a href="http://www.softlayer.com/about/datacenters/singapore">SNG01 data center</a> with their data. They need a platform that provides stability and on-demand scalability at an affordable price point, and they&#8217;ve seen SoftLayer deliver on all of those needs.</p>
<div class="polaroid"><img class="centered" src="http://cdn.softlayer.com/innerlayer/cloudasiapresentation.jpg" alt="SoftLayer at Cloud Asia"/></p>
<div class="pic-caption">SoftLayer CMO Simon West presenting at Cloud Asia 2012</div>
</div>
<p>You might think that having a foundation of the best technology platform in a technology-focused market guarantees success when it comes to launching social and Internet-based businesses, but that&#8217;s only part of the story. The most important aspect of our customers&#8217; successes have been the creative, innovative solutions that they&#8217;ve been able to build because they&#8217;re not worried about whether their infrastructure can keep up with their ideas. In Asia&#8217;s crowded technology-centric market, a company&#8217;s primary concern should be continuously meeting the needs of its rapidly evolving and growing customer base, and that&#8217;s what we want to empower. Here are a few examples of SoftLayer customers we&#8217;ve seen that embody that mentality: </p>
<ul>
<li><a href="http://tandif.com/">Tandif</a> is an Indonesian based company that provides accurate and efficient auto-moderation of any web property connected to the Internet. Tandif&#8217;s service is available in English and Bahasa Indonesia, one of the most vibrant internet and social media growth markets on a regional and global scale.</li>
<li><a href="http://www.wildby.com/">Wildby</a> is a start up from the <a href="http://jfdi.asia/">Joyful Frog Digital Incubator</a> (regional affiliate of the <a href="http://www.techstars.com/">Techstars </a>program) that launched an application to addresses a region&#8217;s unique technology need. Many parents are &#8220;guilty&#8221; of handing over their tablets or smartphones to entertain their kids in the car as they sit out the many crazy traffic jams in our major cities. Wildby&#8217;s &#8220;edu-tainment&#8221; app allows children aged 3 to 7 yrs visually interact and learn new words and concepts anywhere they have access to the app.</li>
<li>Qyro &mdash; another JFDI graduate &mdash; was founded by an international team of entrepreneurs to build a patent-pending enterprise-based solution called <a href="http://stubb.to/">Stubb</a>, which provides users full-featured virtual document sharing and controls over both hard and soft copies.</li>
</ul>
<p>Each of these companies has been very successful in their respective markets, and they&#8217;re looking to SoftLayer to help them expand their business footprint in Asia to reach customers in North America and Europe. They absolutely love what our <a href="http://www.softlayer.com/about/network/private">private network</a> means for those goals: Geographic boundaries are blurred. Why is that important? Just how global is the Asian market? </p>
<p>Southeast Asia alone takes center stage when it comes to global adoption of the world&#8217;s most popular Internet properties:</p>
<ul>
<li>Indonesia, India and Philippines are part of the top 10 markets for Facebook users&#8217; growth, with Indonesia ranking #2 worldwide.</li>
<li>21% of Indonesian online users visited Twitter.com in January 2011, making it the fourth highest country in terms of Twitter reach.</li>
<li>Malaysia is the #1 country in Southeast Asia when it comes to Foursquare user base (the USA is 167 positions lower)!</li>
</ul>
<p>Needless to say, given the opportunity here and the passionate entrepreneurs trying to take advantage of it, SoftLayer Asia is going to be extremely busy for a long time.</p>
<p>-Dionne</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2012/softlayer-asia-a-technology-market-full-of-opportunity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Never Break Up with Your Data Again</title>
		<link>http://blog.softlayer.com/2012/never-break-up-with-your-data-again/</link>
		<comments>http://blog.softlayer.com/2012/never-break-up-with-your-data-again/#comments</comments>
		<pubDate>Thu, 28 Jun 2012 19:40:56 +0000</pubDate>
		<dc:creator>Arielle Morris</dc:creator>
				<category><![CDATA[Funny]]></category>
		<category><![CDATA[SoftLayer]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[cloud instances]]></category>
		<category><![CDATA[cloud to dedicated]]></category>
		<category><![CDATA[dedicated]]></category>
		<category><![CDATA[dedicated servers]]></category>
		<category><![CDATA[dedicated to cloud]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[server image]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=8593</guid>
		<description><![CDATA[Wouldn&#8217;t it be nice if you could keep the parts of a relationship that you like and &#8220;move on&#8221; from the parts you don&#8217;t? You&#8217;d never have to go through the awkward &#8220;getting to know each other&#8221; phase where you accidentally order food the other person is allergic to, and you&#8217;d never have to experience [...]]]></description>
			<content:encoded><![CDATA[<p>Wouldn&#8217;t it be nice if you could keep the parts of a relationship that you like and &#8220;move on&#8221; from the parts you don&#8217;t? You&#8217;d never have to go through the awkward &#8220;getting to know each other&#8221; phase where you accidentally order food the other person is allergic to, and you&#8217;d never have to experience a break up. As it is, we&#8217;re faced with a bit of a paradox: Relationships are a lot of work, and &#8220;<a href="http://en.wikipedia.org/wiki/Breaking_Up_Is_Hard_to_Do">Breaking up is hard to do</a>.&#8221;</p>
<p>I could tell you story after story about the break ups I experienced in my youth. From the Ghostbuster-jumpsuited boyfriend I had in kindergarten who stole my heart (and my barrettes) to  until it was time to take my had-to-have &#8220;My Little Pony&#8221; thermos lunchbox to another table at lunch after a dramatic recess exchange to the middle school boyfriend who took me to see Titanic in the theater four times (yes, you read that correctly), my early &#8220;romantic&#8221; relationships didn&#8217;t pan out in the &#8220;happily ever after&#8221; way I&#8217;d hoped they would. Whether the result of an me unwelcome kiss under the monkey bars or a move to a different school (which might as well have been on Mars), I had to break up with each of the boys.</p>
<p>Why are you reading about my lost loves on the SoftLayer Blog? Simple: Relationships with IT environments &mdash; specifically applications and data &mdash; are not much different from romantic relationships. You might want to cut ties with a high maintenance piece of equipment that you&#8217;ve been with for years because its behavior is getting erratic, and it doesn&#8217;t look like it&#8217;ll survive forever. Maybe you&#8217;ve outgrown what your existing infrastructure can provide for you, and you need to move along. Perhaps you just want some space and need to take a break from a project for six months. </p>
<p>If you feel like telling your infrastructure, &#8220;It&#8217;s not you, it&#8217;s me,&#8221; what are your options? Undo all of your hard work, schedule maintenance and stay up in the dead of a weeknight to migrate, backup and restore all of your data locally? </p>
<p>When I talk to SoftLayer customers, I get to be a relationship therapist. Because we&#8217;ve come out with some pretty innovative tools, we can help our customers avoid ever having to break up with their data again. Two of the coolest &#8220;infrastructure relationship&#8221;-saving releases: <a href="http://www.softlayer.com/flex-image-beta">Flex Images</a> (currently in public beta) and portable storage volumes for <a href="http://www.softlayer.com/cloudlayer/computing/">cloud computing instances</a> (CCIs). </p>
<p>With Flex Images, customers using RedHat, CentOS or Windows systems can create and move server images between physical and virtual environments to seamlessly transition from one platform to the other. With about three clicks, a customer-created image is quickly and uniformly delivered to a new dedicated or cloud server. The idea behind Flex Images is to <a href="http://blog.softlayer.com/2012/flex-images-blur-the-line-between-cloud-and-dedicated/http://">blur the line</a> between physical and virtual environments so that if you feel the need to break up with one of the two, the other is able to take you in.  </p>
<p>Portable storage volumes (PSVs) are secondary CCI volumes that can be added onto any public or private CCI. Users can detach a PSV from any CCI and have it persist in the cloud, unattached to any compute resource, for as long as necessary. When that storage volume is needed again, it can be re-attached as secondary storage on any other CCI across all of SoftLayer&#8217;s facilities. The best relationship parallel would be &#8220;baggage,&#8221; but that&#8217;s got a negative connotation, so we&#8217;ll have to come up with something else to call it &#8230; &#8220;preparedness.&#8221;</p>
<p>We want to help you avoid break ups and provide you easy channels to make up with your old infrastructure if you have a change of heart. The result is an infrastructure that&#8217;s much easier to manage, more fluid and less dramatic.</p>
<p>Now if I can only figure out a way to make Flex Images and portable storage volumes available for real-life relationships &#8230;. I&#8217;d make millions! <img src='http://blog.softlayer.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>-Arielle</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2012/never-break-up-with-your-data-again/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Meet Catalyst, SoftLayer&#8217;s Startup Incubator Program</title>
		<link>http://blog.softlayer.com/2012/meet-catalyst-softlayers-startup-incubator-program/</link>
		<comments>http://blog.softlayer.com/2012/meet-catalyst-softlayers-startup-incubator-program/#comments</comments>
		<pubDate>Thu, 07 Jun 2012 16:06:26 +0000</pubDate>
		<dc:creator>Paul Ford</dc:creator>
				<category><![CDATA[Executive Blog]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[SoftLayer]]></category>
		<category><![CDATA[Startup Series]]></category>
		<category><![CDATA[accelerator]]></category>
		<category><![CDATA[Catalyst]]></category>
		<category><![CDATA[change]]></category>
		<category><![CDATA[entrepreneur]]></category>
		<category><![CDATA[free hosting]]></category>
		<category><![CDATA[grow]]></category>
		<category><![CDATA[incubator]]></category>
		<category><![CDATA[incubator program]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[Startup Program]]></category>
		<category><![CDATA[startups]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=8297</guid>
		<description><![CDATA[catalyst [kat-l-ist] noun &#8211; A person or thing that precipitates an event or change. also SoftLayer&#8217;s killer startup incubator program. It&#8217;s official, Catalyst has launched on the SoftLayer website: You&#8217;ve heard us talk about SoftLayer&#8217;s ongoing involvement with entrepreneurs, incubators, accelerators and startup events, but for the most part, we&#8217;ve been flying &#8220;under the radar&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p><strong>catalyst</strong> [kat-l-ist] <em>noun</em> &#8211; A person or thing that precipitates an event or change. <em>also</em> SoftLayer&#8217;s killer startup incubator program.</p>
<p>It&#8217;s official, <a href="http://www.softlayer.com/partners/catalyst">Catalyst</a> has launched on the SoftLayer website:</p>
<p><a href="http://www.softlayer.com/partners/catalyst"><img class="centered" src="http://cdn.softlayer.com/innerlayer/catalystbanner.png" alt="Catalyst Startup Program"/></a></p>
<p>You&#8217;ve heard us talk about SoftLayer&#8217;s ongoing involvement with entrepreneurs, incubators, accelerators and startup events, but for the most part, we&#8217;ve been flying &#8220;under the radar&#8221; without an official presence on SoftLayer&#8217;s website. The Catalyst team has been busy building relationships with more than 50 of the world&#8217;s best startup-focused organizations, and we&#8217;ve been working directly with hundreds of startups and entrepreneurs to provide some pretty unique resources:</p>
<blockquote><p style="margin-bottom:0;padding-bottom:0;"><strong>$1,000/month Hosting Credit</strong></p>
<p style="margin-top:0;padding-top:0;">SoftLayer is the world&#8217;s most advanced cloud, dedicated and hybrid hosting company. We integrate best-in-class technology and connectivity into the industry&#8217;s only fully-automated platform, empowering startups with complete access, control, security and scalability. Startups in Catalyst get a $1000/month credit for hosting for one full year. That includes dedicated servers, cloud servers or a hybrid compute environment.</p>
<p style="margin-bottom:0;padding-bottom:0;"><strong>Mentorship from SoftLayer Innovation Team</strong></p>
<p style="margin-top:0;padding-top:0;">You&#8217;ll get connected with SoftLayer&#8217;s award-winning Innovation Team. These are the über smart guys who created the SoftLayer Automated Platform. They&#8217;re our most senior technology team, and they&#8217;re experts at things like massively scalable software and hardware architectures, cloud, globally distributed computing, security, &#8220;Big Data&#8221; databases and all the other crazy new &#8220;best and next&#8221; practices in modern and forward-looking compute.</p>
<p style="margin-bottom:0;padding-bottom:0;"><strong>Increased Market Visibility</strong></p>
<p style="margin-top:0;padding-top:0;">Catalyst startups receive marketing opportunities with SoftLayer like guest blog posts on the InnerLayer, video interviews, white papers and use cases to help you tell the world about the cool stuff you&#8217;re doing. When you&#8217;re out of Beta, ask about our <a href="http://www.softlayer.com/partners/marketplace">Technology Partners Marketplace</a>, which exposes you to thousands of our customers.</p>
</blockquote>
<p>Empowering entrepreneurs and startups is a core principle for SoftLayer, and we&#8217;re doing everything we can to provide the platform for the next Facebook, Twitter or Tumblr. The Catalyst page on our website might be brand new, but the startup companies in Catalyst today are already taking advantage of $100,000+ of free hosting &#8230; <strong>every month</strong>. How is that possible? We&#8217;ve got friends in the right places:</p>
<p><a href="http://www.softlayer.com/partners/catalyst"><img class="centered" src="http://cdn.softlayer.com/innerlayer/catalystpartner.png" alt="Catalyst Startup Program"/></a></p>
<p>Cultivating a pipeline of amazing startup companies has been easy, thanks to organizations like the <a href="http://www.techstars.com/network/">TechStars Global Accelerator Network</a> and the other featured partners we&#8217;re recognizing this month. Without any official &#8220;public&#8221; presence, we&#8217;ve become a go-to resource in the startup community &#8230; Having a Catalyst site to call &#8220;home&#8221; is just icing on the cake. If you have a few minutes and you want to learn more about whether SoftLayer may be able to help you build your idea or fuel your startup, head over to the <a href="http://www.softlayer.com/partners/catalyst">Catalyst startup incubator page</a> and submit a quick application. </p>
<p>Join Catalyst &raquo; See Change.</p>
<p>-<a href="http://twitter.com/paulford">@PaulFord</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2012/meet-catalyst-softlayers-startup-incubator-program/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Today&#8217;s Technology &#8220;Game Changers&#8221;: IPv6 and Cloud</title>
		<link>http://blog.softlayer.com/2012/todays-technology-game-changers-ipv6-and-cloud/</link>
		<comments>http://blog.softlayer.com/2012/todays-technology-game-changers-ipv6-and-cloud/#comments</comments>
		<pubDate>Wed, 06 Jun 2012 21:25:58 +0000</pubDate>
		<dc:creator>George Karidis</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Executive Blog]]></category>
		<category><![CDATA[SoftLayer]]></category>
		<category><![CDATA[adapt]]></category>
		<category><![CDATA[adoption]]></category>
		<category><![CDATA[business model]]></category>
		<category><![CDATA[challenge]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[decision]]></category>
		<category><![CDATA[game changers]]></category>
		<category><![CDATA[innovate]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[public cloud]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=8277</guid>
		<description><![CDATA[&#8220;Game Changers&#8221; in technology force a decision: Adapt or die. When repeating rifles gained popularity in the late 1800s, a business of manufacturing muzzle-loading or breech-loading rifles would have needed to find a way to produce a repeating rifle or it would have lost most (if not all) of it&#8217;s business to Winchester. If a [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Game Changers&#8221; in technology force a decision: Adapt or die. When repeating rifles gained popularity in the late 1800s, a business of manufacturing muzzle-loading or breech-loading rifles would have needed to find a way to produce a repeating rifle or it would have lost most (if not all) of it&#8217;s business to <a href="http://en.wikipedia.org/wiki/Winchester_rifle">Winchester</a>. If a fresh-faced independent musician is hitting it big on the coffee shop scene in 2012, she probably won&#8217;t be selling out arenas any time soon if she refuses to make her music available digitally. Just ask any of the old-timers in the print media industry &#8230; &#8220;Game Changers&#8221; in technology can be disastrous for an established business in an established industry.</p>
<p>That&#8217;s pretty intimidating &#8230; Even for tech businesses. </p>
<p>Shifts in technology don&#8217;t have to be as drastic and obvious as a &#8220;printed newspaper v. social news site&#8221; comparison for them to be disruptive. Even subtle advances can wind up making or breaking a business. In fact, many of today&#8217;s biggest and most successful tech companies are scrambling to adapt to two simple &#8220;game changers&#8221; that seem terribly significant:</p>
<ul>
<li>IPv6</li>
<li>&#8220;The Cloud&#8221;</li>
</ul>
<h3>IPv6</h3>
<p>A quick search of the SoftLayer Blog reminds me that Lance first brought up <a href="http://blog.softlayer.com/2007/the-three-ps-are-changing/">the importance of IPv6 adoption</a> in October 2007: </p>
<blockquote><p>ARIN has publically announced the need to shift to IPv6 and numerous articles have outlined the D-Day for IPv4 space. Most experts agree, its coming fast and that it will occur sometime in 2010 at the current pace (that&#8217;s about two years for those counting). IPv6 brings enough IP space for an infinite number of users along with improved security features and several other operational efficiencies that will make it very popular. The problem lies between getting from IPv4 to IPv6.</p></blockquote>
<p>When IPv4 exhaustion was just a blip on the horizon, many businesses probably thought, &#8220;Oh, I&#8217;ll get around to it when I need to. It&#8217;s not a problem yet.&#8221; When <a href="http://blog.softlayer.com/2011/what-does-ipv4-exhaustion-mean-for-you/">IANA exhausted the IPv4 pool</a>, they probably started picking up the phone and calling providers to ask what plans they had in place. When some of the Internet&#8217;s biggest websites completed a trial transition to IPv6 on <a href="http://internetsociety.org/ipv6/archive-2011-world-ipv6-day">World IPv6 Day</a> last year, those businesses started feeling the urgency. With today&#8217;s <a href="http://www.worldipv6launch.org/">World IPv6 Launch</a>, they know something has to be done.</p>
<p><a href="http://www.worldipv6launch.org/"><img class="centered" src="http://cdn.softlayer.com/innerlayer/worldipv6launch.png" alt="World IPv6 Launch Day"/></a></p>
<p>Regardless of how conservative providers get with IPv4 space, the <a href="http://blog.softlayer.com/2011/ipv6-blocks-slashes-and-big-numbers/">4,294,967,296 IPv4 addresses in existence</a> will not last much longer. Soon, users will be accessing an IPv6 Internet, and IPv4-only websites will lose their opportunity to reach those users. That&#8217;s a &#8220;game changer.&#8221;</p>
<h3>&#8220;The Cloud&#8221;</h3>
<p>The other &#8220;game changer&#8221; many tech businesses are struggling with these days is the move toward &#8220;the cloud.&#8221; There are a two interesting perspectives in this transition: 1) The challenge many businesses face when choosing whether to adopt cloud computing, and 2) The challenges for businesses that find themselves severing as an integral (sometimes unintentional) part of &#8220;the cloud.&#8221; You&#8217;ve probably seen hundreds of blog posts and articles about the first, so I&#8217;ll share a little insight on the second.</p>
<p>When you hear all of the hype about cloud computing and cloud storage offering a hardware-agnostic Utopia of scalable, reliable power, it&#8217;s easy to forget that the building blocks of a cloud infrastructure will usually come from vendors that provided a traditional hosting resources. When a computing instance is abstracted from a hardware device, it&#8217;s opens up huge variations in usage. It&#8217;s possible to have dozens of public cloud instances using a single server&#8217;s multi-proc, multi-core resources at a given time. If a vendor prices a piece of software on a &#8220;per server&#8221; basis, how do they define a &#8220;server&#8221; when their users are in the cloud? It can be argued that a cloud computing instance with a single core of power is a &#8220;server,&#8221; and on the flip-side, it&#8217;s easy to define a &#8220;server&#8221; as the hardware object on which many cloud instances may run. I don&#8217;t know that there&#8217;s an easy way to answer that question, but what I do know is that applying &#8220;what used to work&#8221; to &#8220;what&#8217;s happening now&#8221; isn&#8217;t the right answer.</p>
<p>The hardware and software providers in the cloud space who are able to come up with new approaches unencumbered by the urge to continue &#8220;the way we&#8217;ve always done it&#8221; are going to be the ones that thrive when technology &#8220;game changers&#8221; emerge, and the providers who dig their heels in the dirt or try to put a square peg into a round hole will get the short end of the &#8220;adapt or die&#8221; stick. </p>
<p>We&#8217;ve tried to innovate and take a fresh look at every opportunity that has come our way, and we do our best to build relationships with agile companies that we see following suit.</p>
<p>I guess a better way to position the decision at the beginning of this post would be to add a little tweak: &#8220;Innovate, adapt or die.&#8221; How you approach technology &#8220;game changers&#8221; will define your business&#8217;s success.</p>
<p>-<a href="http://twitter.com/gkdog">@gkdog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2012/todays-technology-game-changers-ipv6-and-cloud/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
