<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Abe Diaz</title>
	<atom:link href="https://abediaz.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://abediaz.com</link>
	<description>Seattle/Tech/Evangelist</description>
	<lastBuildDate>Sat, 12 Nov 2016 22:54:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<site xmlns="com-wordpress:feed-additions:1">1598505</site><cloud domain='abediaz.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://s0.wp.com/i/buttonw-com.png</url>
		<title>Abe Diaz</title>
		<link>https://abediaz.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://abediaz.com/osd.xml" title="Abe Diaz" />
	<atom:link rel='hub' href='https://abediaz.com/?pushpress=hub'/>
	<item>
		<title>Seattle Public Library &#8211; Tu Negocio</title>
		<link>https://abediaz.com/2016/10/23/seattle-public-library-tu-negocio/</link>
					<comments>https://abediaz.com/2016/10/23/seattle-public-library-tu-negocio/#respond</comments>
		
		<dc:creator><![CDATA[Abe Diaz]]></dc:creator>
		<pubDate>Sun, 23 Oct 2016 19:39:42 +0000</pubDate>
				<category><![CDATA[Tips and Tricks]]></category>
		<guid isPermaLink="false">http://abediaz.com/?p=1445</guid>

					<description><![CDATA[I have had the pleasure of working with the Seattle Public Library in previous events like Startup Weekend EDU to promote entrepreneurship in the community, but this was the first time I was speaking in spanish to the community. It was very interesting to see how the community has adopted social media with great success [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I have had the pleasure of working with the Seattle Public Library in previous events like Startup Weekend EDU to promote entrepreneurship in the community, but this was the first time I was speaking in spanish to the community. It was very interesting to see how the community has adopted social media with great success to their advantage but lacked an actual presence online since building a website was considered to be &#8220;technically challenging&#8221;. We talked about ways to prove a market need before spending too much time or capital and some quick tools to make their life simpler. I very much enjoyed this event and hope to participate in future ones.</p>
<iframe src='https://www.slideshare.net/slideshow/embed_code/67561388' width='580' height='475' sandbox="allow-popups allow-scripts allow-same-origin allow-presentation" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
]]></content:encoded>
					
					<wfw:commentRss>https://abediaz.com/2016/10/23/seattle-public-library-tu-negocio/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1445</post-id>
		<media:content url="https://2.gravatar.com/avatar/53a1c1c217dcde0d53666a89ea9f14122fb75806b35e903962d6eded90c06733?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">abediaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Seattle Codecamp 2016</title>
		<link>https://abediaz.com/2016/09/12/seattle-codecamp-2016/</link>
					<comments>https://abediaz.com/2016/09/12/seattle-codecamp-2016/#respond</comments>
		
		<dc:creator><![CDATA[Abe Diaz]]></dc:creator>
		<pubDate>Mon, 12 Sep 2016 22:27:43 +0000</pubDate>
				<category><![CDATA[Alexa]]></category>
		<category><![CDATA[AWS]]></category>
		<guid isPermaLink="false">http://abediaz.com/?p=1436</guid>

					<description><![CDATA[It&#8217;s that time of the year again; I can&#8217;t believe time goes by so quickly. This year I had the chance to talk about Amazon&#8217;s Alexa Service and building skills for your Echo. This is probably my latest obsession if you ask my wife. 🙂 We had a good mix of attendees, some had already [&#8230;]]]></description>
										<content:encoded><![CDATA[<iframe src='https://www.slideshare.net/slideshow/embed_code/65918558' width='580' height='475' sandbox="allow-popups allow-scripts allow-same-origin allow-presentation" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
<p>It&#8217;s that time of the year again; I can&#8217;t believe time goes by so quickly. This year I had the chance to talk about Amazon&#8217;s Alexa Service and building skills for your Echo. <em>This is probably my latest obsession if you ask my wife.</em> <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>We had a good mix of attendees, some had already created skills before and some had devices but not ventured into skill building. We covered the mapping of utterances to handlers, building Voice User Interfaces (VUI) and the benefits of using AWS&#8217; Lambda service before doing a demo of a skill that recommended a session to attend during the conference. The presentation is available in <a href="http://www.slideshare.net/abediaz/introduction-to-building-alexa-skills-and-putting-your-amazon-echo-to-work">SlideShare </a>for those interested.</p>
<p><a href="https://abediaz.com/wp-content/uploads/2016/09/img_2040.png"><img data-attachment-id="1434" data-permalink="https://abediaz.com/2016/09/12/seattle-codecamp-2016/img_2040/" data-orig-file="https://abediaz.com/wp-content/uploads/2016/09/img_2040.png" data-orig-size="1334,750" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="img_2040" data-image-description="" data-image-caption="" data-medium-file="https://abediaz.com/wp-content/uploads/2016/09/img_2040.png?w=300" data-large-file="https://abediaz.com/wp-content/uploads/2016/09/img_2040.png?w=580" class="alignnone wp-image-1434 size-large" src="https://abediaz.com/wp-content/uploads/2016/09/img_2040.png?w=580&#038;h=326" width="580" height="326" srcset="https://abediaz.com/wp-content/uploads/2016/09/img_2040.png?w=580 580w, https://abediaz.com/wp-content/uploads/2016/09/img_2040.png?w=1160 1160w, https://abediaz.com/wp-content/uploads/2016/09/img_2040.png?w=150 150w, https://abediaz.com/wp-content/uploads/2016/09/img_2040.png?w=300 300w, https://abediaz.com/wp-content/uploads/2016/09/img_2040.png?w=768 768w, https://abediaz.com/wp-content/uploads/2016/09/img_2040.png?w=1024 1024w" sizes="(max-width: 580px) 100vw, 580px" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://abediaz.com/2016/09/12/seattle-codecamp-2016/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1436</post-id>
		<media:thumbnail url="https://abediaz.com/wp-content/uploads/2016/09/img_2040-1.png" />
		<media:content url="https://abediaz.com/wp-content/uploads/2016/09/img_2040-1.png" medium="image">
			<media:title type="html">img_2040-1</media:title>
		</media:content>

		<media:content url="https://2.gravatar.com/avatar/53a1c1c217dcde0d53666a89ea9f14122fb75806b35e903962d6eded90c06733?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">abediaz</media:title>
		</media:content>

		<media:content url="https://abediaz.com/wp-content/uploads/2016/09/img_2040.png?w=580" medium="image" />
	</item>
		<item>
		<title>My experience at Seattle CodeCamp 2015</title>
		<link>https://abediaz.com/2015/09/20/my-experience-at-seattle-codecamp-2015/</link>
					<comments>https://abediaz.com/2015/09/20/my-experience-at-seattle-codecamp-2015/#respond</comments>
		
		<dc:creator><![CDATA[Abe Diaz]]></dc:creator>
		<pubDate>Mon, 21 Sep 2015 06:21:24 +0000</pubDate>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[CodeCamp]]></category>
		<category><![CDATA[Jenkins]]></category>
		<category><![CDATA[Slack]]></category>
		<guid isPermaLink="false">http://abediaz.com/?p=1052</guid>

					<description><![CDATA[Last week I had the chance to speak at the Seattle CodeCamp 2015. It truly gets better each year; the quality of speakers and the support from the community. For those interested, I gave two talks, one I had done previously and a new one. Talk 1: Introduction to Jenkins Honestly, the first talk had [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Last week I had the chance to speak at the <a href="http://seattle.codecamp.us">Seattle CodeCamp 2015</a>. It truly gets better each year; the quality of speakers and the support from the community. For those interested, I gave two talks, one I had done previously and a new one.</p>
<p>Talk 1: <a href="http://www.slideshare.net/abediaz/introduction-to-jenkins">Introduction to Jenkins</a></p>
<iframe src='https://www.slideshare.net/slideshow/embed_code/53000959' width='580' height='475' sandbox="allow-popups allow-scripts allow-same-origin allow-presentation" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
<p>Honestly, the first talk had a rocky start, my fault for not noticing that my demo laptop had HDMI instead of VGA. After that we were able to dig into Continuous Integration  and how Jenkins plays a key role on distributed development teams. The key takeaway for the group was to use nodes (slaves) to distribute workloads and also to be able to test in different operating systems/browsers, etc.</p>
<p>Talk 2: <a href="http://www.slideshare.net/abediaz/slack-for-the-mere-mortals-52696996">Slack for mere mortals</a></p>
<iframe src='https://www.slideshare.net/slideshow/embed_code/52696996' width='580' height='475' sandbox="allow-popups allow-scripts allow-same-origin allow-presentation" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
<p>This was the first time I talked about Slack and my personal experience within small and large groups. Being in the DevOps track the bulk of the questions and examples were geared towards ChatOps and the concept of bringing work to the conversations you are already having.</p>
<p>I am very impressed by the organizing team and the large number of volunteers, they totally made this event seamless for speakers and attendees. Thanks.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://abediaz.com/2015/09/20/my-experience-at-seattle-codecamp-2015/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1052</post-id>
		<media:content url="https://2.gravatar.com/avatar/53a1c1c217dcde0d53666a89ea9f14122fb75806b35e903962d6eded90c06733?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">abediaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Introduction to jenkins for the .net developer at @netda</title>
		<link>https://abediaz.com/2015/07/06/introduction-to-jenkins-for-the-net-developer-at-netda/</link>
					<comments>https://abediaz.com/2015/07/06/introduction-to-jenkins-for-the-net-developer-at-netda/#respond</comments>
		
		<dc:creator><![CDATA[Abe Diaz]]></dc:creator>
		<pubDate>Tue, 07 Jul 2015 06:45:25 +0000</pubDate>
				<category><![CDATA[Tips and Tricks]]></category>
		<guid isPermaLink="false">http://abediaz.com/?p=1087</guid>

					<description><![CDATA[Today I had a chance to share with a group of .NET developers some of the features of Jenkins and how continuous integration fits in today&#8217;s software development world. We talked about some of the options on source control, plugins, workflow, jobs and master/slave node architecture. Here are the slides for those interested. Hope those [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Today I had a chance to share with a group of .NET developers some of the features of Jenkins and how continuous integration fits in today&#8217;s software development world. We talked about some of the options on source control, plugins, workflow, jobs and master/slave node architecture. Here are the slides for those interested.</p>
<iframe src='https://www.slideshare.net/slideshow/embed_code/50240303' width='580' height='475' sandbox="allow-popups allow-scripts allow-same-origin allow-presentation" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
<p>Hope those who attended <a href="http://twitter.com/netda" target="_blank">@netda</a> enjoyed it. Feel free to <a href="http://twitter.com/abe238" target="_blank">share</a> with me your experiences with Jenkins.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://abediaz.com/2015/07/06/introduction-to-jenkins-for-the-net-developer-at-netda/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1087</post-id>
		<media:content url="https://2.gravatar.com/avatar/53a1c1c217dcde0d53666a89ea9f14122fb75806b35e903962d6eded90c06733?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">abediaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Add some pride to any picture</title>
		<link>https://abediaz.com/2015/06/30/add-some-pride-to-any-picture/</link>
					<comments>https://abediaz.com/2015/06/30/add-some-pride-to-any-picture/#comments</comments>
		
		<dc:creator><![CDATA[Abe Diaz]]></dc:creator>
		<pubDate>Tue, 30 Jun 2015 16:05:16 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[MMS SMS]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Twilio]]></category>
		<guid isPermaLink="false">http://abediaz.com/?p=1053</guid>

					<description><![CDATA[Pridefy.com &#8211; Inspired by Love and created with Love Inspired by the decision of the Supreme Court of the United States to declare same sex marriage a constitutional&#160;right and the celebratepride&#160;tool that Facebook launched&#160;on that same day, I decided to create an MMS ( Twilio&#160;powered) version of the same for those who (and I&#8217;m not [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2><a href="http://pridefy.com" target="_blank">Pridefy.com</a> &#8211; Inspired by Love and created with Love</h2>
<p>Inspired by the decision of the Supreme Court of the United States to declare same sex marriage a <a href="http://www.forbes.com/sites/danielfisher/2015/06/26/supreme-court-rules-same-sex-marriage-is-a-constitutional-right/">constitutional</a>&nbsp;right and the <a href="http://facebook.com/celebratepride">celebratepride</a>&nbsp;tool that Facebook <a href="http://www.forbes.com/sites/amitchowdhry/2015/06/27/facebook-celebrate-pride/">launched</a>&nbsp;on that same day, I decided to create an MMS ( <a href="https://www.twilio.com/mms">Twilio</a>&nbsp;powered) version of the same for those who (and I&#8217;m not sure why) do not have a Facebook account yet. Here are the steps I followed to make this happen; <em>if you want to see the demo go to <a href="http://pridefy.com" target="_blank">Pridefy.com</a></em></p>
<p><strong>Step 1</strong> &#8211; Change Opacity:</p>
<p>First I needed to find a way to change the opacity of the rainbow flag; a 50% seemed like the right choice here but I made this option part of the input for the method, just in case you want to play with this in the future. Check <a href="http://www.codeproject.com/Tips/201129/Change-Opacity-of-Image-in-C" target="_blank">this</a>&nbsp;article for some more details into this.</p>
<style>.gist table { margin-bottom: 0; }</style>
<div style="tab-size: 8" id="gist23802052" class="gist">
<div class="gist-file" translate="no" data-color-mode="light" data-light-theme="light">
<div class="gist-data">
<div class="js-gist-file-update-container js-task-list-container">
<div id="file-changeopacity" class="file my-2">
<div itemprop="text"
      class="Box-body p-0 blob-wrapper data type-text  "
      style="overflow: auto" tabindex="0" role="region"
      aria-label="ChangeOpacity content, created by abe238 on 06:38AM on June 29, 2015."
    ></p>
<div class="js-check-hidden-unicode js-blob-code-container blob-code-content">
<p>  <template class="js-file-alert-template"></p>
<div data-view-component="true" class="flash flash-warn flash-full d-flex flex-items-center">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg><br />
    <span><br />
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.<br />
      <a class="Link--inTextBlock" href="https://github.co/hiddenchars" target="_blank">Learn more about bidirectional Unicode characters</a><br />
    </span></p>
<div data-view-component="true" class="flash-action">        <a href="{{ revealButtonHref }}" data-view-component="true" class="btn-sm btn">    Show hidden characters<br />
</a>
</div>
</div>
<p></template><br />
<template class="js-line-alert-template"><br />
  <span aria-label="This line has hidden Unicode characters" data-view-component="true" class="line-alert tooltipped tooltipped-e"><br />
    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg><br />
</span></template></p>
<table data-hpc class="highlight tab-size js-file-line-container" data-tab-size="4" data-paste-markdown-skip data-tagsearch-path="ChangeOpacity">
<tr>
<td id="file-changeopacity-L1" class="blob-num js-line-number js-blob-rnum" data-line-number="1"></td>
<td id="file-changeopacity-LC1" class="blob-code blob-code-inner js-file-line">        public static Bitmap ChangeOpacity(Image img, float opacityvalue)</td>
</tr>
<tr>
<td id="file-changeopacity-L2" class="blob-num js-line-number js-blob-rnum" data-line-number="2"></td>
<td id="file-changeopacity-LC2" class="blob-code blob-code-inner js-file-line">        {</td>
</tr>
<tr>
<td id="file-changeopacity-L3" class="blob-num js-line-number js-blob-rnum" data-line-number="3"></td>
<td id="file-changeopacity-LC3" class="blob-code blob-code-inner js-file-line">            Bitmap bmp = new Bitmap(img.Width, img.Height);</td>
</tr>
<tr>
<td id="file-changeopacity-L4" class="blob-num js-line-number js-blob-rnum" data-line-number="4"></td>
<td id="file-changeopacity-LC4" class="blob-code blob-code-inner js-file-line">            Graphics graphics = Graphics.FromImage(bmp);</td>
</tr>
<tr>
<td id="file-changeopacity-L5" class="blob-num js-line-number js-blob-rnum" data-line-number="5"></td>
<td id="file-changeopacity-LC5" class="blob-code blob-code-inner js-file-line">            ColorMatrix colormatrix = new ColorMatrix();</td>
</tr>
<tr>
<td id="file-changeopacity-L6" class="blob-num js-line-number js-blob-rnum" data-line-number="6"></td>
<td id="file-changeopacity-LC6" class="blob-code blob-code-inner js-file-line">            colormatrix.Matrix33 = opacityvalue;</td>
</tr>
<tr>
<td id="file-changeopacity-L7" class="blob-num js-line-number js-blob-rnum" data-line-number="7"></td>
<td id="file-changeopacity-LC7" class="blob-code blob-code-inner js-file-line">            ImageAttributes imgAttribute = new ImageAttributes();</td>
</tr>
<tr>
<td id="file-changeopacity-L8" class="blob-num js-line-number js-blob-rnum" data-line-number="8"></td>
<td id="file-changeopacity-LC8" class="blob-code blob-code-inner js-file-line">            imgAttribute.SetColorMatrix(colormatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);</td>
</tr>
<tr>
<td id="file-changeopacity-L9" class="blob-num js-line-number js-blob-rnum" data-line-number="9"></td>
<td id="file-changeopacity-LC9" class="blob-code blob-code-inner js-file-line">            graphics.DrawImage(img, new Rectangle(0, 0, bmp.Width, bmp.Height), 0, 0, img.Width, img.Height, GraphicsUnit.Pixel, imgAttribute);</td>
</tr>
<tr>
<td id="file-changeopacity-L10" class="blob-num js-line-number js-blob-rnum" data-line-number="10"></td>
<td id="file-changeopacity-LC10" class="blob-code blob-code-inner js-file-line">            graphics.Dispose();  </td>
</tr>
<tr>
<td id="file-changeopacity-L11" class="blob-num js-line-number js-blob-rnum" data-line-number="11"></td>
<td id="file-changeopacity-LC11" class="blob-code blob-code-inner js-file-line">            return bmp;</td>
</tr>
<tr>
<td id="file-changeopacity-L12" class="blob-num js-line-number js-blob-rnum" data-line-number="12"></td>
<td id="file-changeopacity-LC12" class="blob-code blob-code-inner js-file-line">        }</td>
</tr>
</table>
</div></div>
</p></div>
</div></div>
<div class="gist-meta">
        <a href="https://gist.github.com/abe238/b662c5267fc4bf539396/raw/7f977e21511d3a926d74e1547f7c8f3f650fc78f/ChangeOpacity" style="float:right" class="Link--inTextBlock">view raw</a><br />
        <a href="https://gist.github.com/abe238/b662c5267fc4bf539396#file-changeopacity" class="Link--inTextBlock"><br />
          ChangeOpacity<br />
        </a><br />
        hosted with &#10084; by <a class="Link--inTextBlock" href="https://github.com">GitHub</a>
      </div>
</p></div>
</div>
<p>I tried this method and got some results, but not quite what I wanted. See what I mean here:</p>
<p><div data-shortcode="caption" id="attachment_1060" style="width: 310px" class="wp-caption aligncenter"><a href="https://abediaz.com/wp-content/uploads/2015/06/output1.png"><img aria-describedby="caption-attachment-1060" data-attachment-id="1060" data-permalink="https://abediaz.com/2015/06/30/add-some-pride-to-any-picture/output1/" data-orig-file="https://abediaz.com/wp-content/uploads/2015/06/output1.png" data-orig-size="1252,1252" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="output1" data-image-description="" data-image-caption="&lt;p&gt;Background Image with Overlay at 50% &lt;/p&gt;
" data-medium-file="https://abediaz.com/wp-content/uploads/2015/06/output1.png?w=300" data-large-file="https://abediaz.com/wp-content/uploads/2015/06/output1.png?w=580" class="wp-image-1060 size-medium" src="https://abediaz.com/wp-content/uploads/2015/06/output1.png?w=300&#038;h=300" alt="Background Image with Overlay at 50% " width="300" height="300" srcset="https://abediaz.com/wp-content/uploads/2015/06/output1.png?w=300 300w, https://abediaz.com/wp-content/uploads/2015/06/output1.png?w=600 600w, https://abediaz.com/wp-content/uploads/2015/06/output1.png?w=150 150w" sizes="(max-width: 300px) 100vw, 300px"></a><p id="caption-attachment-1060" class="wp-caption-text">Background Image with Overlay at 50%</p></div><strong>Step 2</strong> &#8211; Scale Image:</p>
<p>I wanted like the rainbow flag to cover the whole image, So I tried making both images the same size and this is what I got:</p>
<p><div data-shortcode="caption" id="attachment_1062" style="width: 310px" class="wp-caption aligncenter"><a href="https://abediaz.com/wp-content/uploads/2015/06/output2.png"><img aria-describedby="caption-attachment-1062" data-attachment-id="1062" data-permalink="https://abediaz.com/2015/06/30/add-some-pride-to-any-picture/output2/" data-orig-file="https://abediaz.com/wp-content/uploads/2015/06/output2.png" data-orig-size="1252,1252" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="output2" data-image-description="" data-image-caption="" data-medium-file="https://abediaz.com/wp-content/uploads/2015/06/output2.png?w=300" data-large-file="https://abediaz.com/wp-content/uploads/2015/06/output2.png?w=580" class="wp-image-1062 size-medium" src="https://abediaz.com/wp-content/uploads/2015/06/output2.png?w=300&#038;h=300" alt="output2" width="300" height="300" srcset="https://abediaz.com/wp-content/uploads/2015/06/output2.png?w=300 300w, https://abediaz.com/wp-content/uploads/2015/06/output2.png?w=600 600w, https://abediaz.com/wp-content/uploads/2015/06/output2.png?w=150 150w" sizes="(max-width: 300px) 100vw, 300px"></a><p id="caption-attachment-1062" class="wp-caption-text">Stretched with Uniform Ratios</p></div>This didn&#8217;t turn out like I wanted it. I needed to scale the image using ratios horizontally but needed to retain the same vertical height.</p>
<style>.gist table { margin-bottom: 0; }</style>
<div style="tab-size: 8" id="gist23802095" class="gist">
<div class="gist-file" translate="no" data-color-mode="light" data-light-theme="light">
<div class="gist-data">
<div class="js-gist-file-update-container js-task-list-container">
<div id="file-scaleimage" class="file my-2">
<div itemprop="text"
      class="Box-body p-0 blob-wrapper data type-text  "
      style="overflow: auto" tabindex="0" role="region"
      aria-label="ScaleImage content, created by abe238 on 06:41AM on June 29, 2015."
    ></p>
<div class="js-check-hidden-unicode js-blob-code-container blob-code-content">
<p>  <template class="js-file-alert-template"></p>
<div data-view-component="true" class="flash flash-warn flash-full d-flex flex-items-center">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg><br />
    <span><br />
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.<br />
      <a class="Link--inTextBlock" href="https://github.co/hiddenchars" target="_blank">Learn more about bidirectional Unicode characters</a><br />
    </span></p>
<div data-view-component="true" class="flash-action">        <a href="{{ revealButtonHref }}" data-view-component="true" class="btn-sm btn">    Show hidden characters<br />
</a>
</div>
</div>
<p></template><br />
<template class="js-line-alert-template"><br />
  <span aria-label="This line has hidden Unicode characters" data-view-component="true" class="line-alert tooltipped tooltipped-e"><br />
    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg><br />
</span></template></p>
<table data-hpc class="highlight tab-size js-file-line-container" data-tab-size="4" data-paste-markdown-skip data-tagsearch-path="ScaleImage">
<tr>
<td id="file-scaleimage-L1" class="blob-num js-line-number js-blob-rnum" data-line-number="1"></td>
<td id="file-scaleimage-LC1" class="blob-code blob-code-inner js-file-line">        public static Image ScaleImage(Image image, int maxWidth, int maxHeight)</td>
</tr>
<tr>
<td id="file-scaleimage-L2" class="blob-num js-line-number js-blob-rnum" data-line-number="2"></td>
<td id="file-scaleimage-LC2" class="blob-code blob-code-inner js-file-line">        {</td>
</tr>
<tr>
<td id="file-scaleimage-L3" class="blob-num js-line-number js-blob-rnum" data-line-number="3"></td>
<td id="file-scaleimage-LC3" class="blob-code blob-code-inner js-file-line">            var ratioX = (double)maxWidth / image.Width;</td>
</tr>
<tr>
<td id="file-scaleimage-L4" class="blob-num js-line-number js-blob-rnum" data-line-number="4"></td>
<td id="file-scaleimage-LC4" class="blob-code blob-code-inner js-file-line">            var ratioY = (double)maxHeight / image.Height;</td>
</tr>
<tr>
<td id="file-scaleimage-L5" class="blob-num js-line-number js-blob-rnum" data-line-number="5"></td>
<td id="file-scaleimage-LC5" class="blob-code blob-code-inner js-file-line">            var ratio = Math.Min(ratioX, ratioY);</td>
</tr>
<tr>
<td id="file-scaleimage-L6" class="blob-num js-line-number js-blob-rnum" data-line-number="6"></td>
<td id="file-scaleimage-LC6" class="blob-code blob-code-inner js-file-line">
</td>
</tr>
<tr>
<td id="file-scaleimage-L7" class="blob-num js-line-number js-blob-rnum" data-line-number="7"></td>
<td id="file-scaleimage-LC7" class="blob-code blob-code-inner js-file-line">            var newWidth = (int)(image.Width * ratio);</td>
</tr>
<tr>
<td id="file-scaleimage-L8" class="blob-num js-line-number js-blob-rnum" data-line-number="8"></td>
<td id="file-scaleimage-LC8" class="blob-code blob-code-inner js-file-line">            </td>
</tr>
<tr>
<td id="file-scaleimage-L9" class="blob-num js-line-number js-blob-rnum" data-line-number="9"></td>
<td id="file-scaleimage-LC9" class="blob-code blob-code-inner js-file-line">            var newImage = new Bitmap(newWidth, maxHeight);//</td>
</tr>
<tr>
<td id="file-scaleimage-L10" class="blob-num js-line-number js-blob-rnum" data-line-number="10"></td>
<td id="file-scaleimage-LC10" class="blob-code blob-code-inner js-file-line">            Graphics.FromImage(newImage).DrawImage(image, 0, 0, newWidth, maxHeight);//</td>
</tr>
<tr>
<td id="file-scaleimage-L11" class="blob-num js-line-number js-blob-rnum" data-line-number="11"></td>
<td id="file-scaleimage-LC11" class="blob-code blob-code-inner js-file-line">            return newImage;</td>
</tr>
<tr>
<td id="file-scaleimage-L12" class="blob-num js-line-number js-blob-rnum" data-line-number="12"></td>
<td id="file-scaleimage-LC12" class="blob-code blob-code-inner js-file-line">        }</td>
</tr>
</table>
</div></div>
</p></div>
</div></div>
<div class="gist-meta">
        <a href="https://gist.github.com/abe238/4c2a5ed65cddba3d7a8b/raw/695c414af31597240e4f06cc99916d568ccaa38e/ScaleImage" style="float:right" class="Link--inTextBlock">view raw</a><br />
        <a href="https://gist.github.com/abe238/4c2a5ed65cddba3d7a8b#file-scaleimage" class="Link--inTextBlock"><br />
          ScaleImage<br />
        </a><br />
        hosted with &#10084; by <a class="Link--inTextBlock" href="https://github.com">GitHub</a>
      </div>
</p></div>
</div>
<p>Check the results now:</p>
<p><div data-shortcode="caption" id="attachment_1067" style="width: 310px" class="wp-caption aligncenter"><a href="https://abediaz.com/wp-content/uploads/2015/06/output.png"><img aria-describedby="caption-attachment-1067" loading="lazy" data-attachment-id="1067" data-permalink="https://abediaz.com/2015/06/30/add-some-pride-to-any-picture/output/" data-orig-file="https://abediaz.com/wp-content/uploads/2015/06/output.png" data-orig-size="400,400" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="output" data-image-description="" data-image-caption="&lt;p&gt;Final Result&lt;/p&gt;
" data-medium-file="https://abediaz.com/wp-content/uploads/2015/06/output.png?w=300" data-large-file="https://abediaz.com/wp-content/uploads/2015/06/output.png?w=400" class="size-medium wp-image-1067" src="https://abediaz.com/wp-content/uploads/2015/06/output.png?w=300&#038;h=300" alt="Final Result" width="300" height="300" srcset="https://abediaz.com/wp-content/uploads/2015/06/output.png?w=300 300w, https://abediaz.com/wp-content/uploads/2015/06/output.png?w=150 150w, https://abediaz.com/wp-content/uploads/2015/06/output.png 400w" sizes="(max-width: 300px) 100vw, 300px"></a><p id="caption-attachment-1067" class="wp-caption-text">Final Result</p></div><strong>Step 3</strong> &#8211; Putting it all together for Image Manipulation</p>
<p>When I receive an MMS message what I get is not the actual file (binary) but a link to the media file in Twilio&#8217;s servers. Therefore I needed to do a webrequest to get the media file (this is the MediaUrl0 parameter). I grabbed the flag image from a public Flicker url.</p>
<style>.gist table { margin-bottom: 0; }</style>
<div style="tab-size: 8" id="gist23802122" class="gist">
<div class="gist-file" translate="no" data-color-mode="light" data-light-theme="light">
<div class="gist-data">
<div class="js-gist-file-update-container js-task-list-container">
<div id="file-createblendedimage" class="file my-2">
<div itemprop="text"
      class="Box-body p-0 blob-wrapper data type-text  "
      style="overflow: auto" tabindex="0" role="region"
      aria-label="CreateBlendedImage content, created by abe238 on 06:44AM on June 29, 2015."
    ></p>
<div class="js-check-hidden-unicode js-blob-code-container blob-code-content">
<p>  <template class="js-file-alert-template"></p>
<div data-view-component="true" class="flash flash-warn flash-full d-flex flex-items-center">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg><br />
    <span><br />
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.<br />
      <a class="Link--inTextBlock" href="https://github.co/hiddenchars" target="_blank">Learn more about bidirectional Unicode characters</a><br />
    </span></p>
<div data-view-component="true" class="flash-action">        <a href="{{ revealButtonHref }}" data-view-component="true" class="btn-sm btn">    Show hidden characters<br />
</a>
</div>
</div>
<p></template><br />
<template class="js-line-alert-template"><br />
  <span aria-label="This line has hidden Unicode characters" data-view-component="true" class="line-alert tooltipped tooltipped-e"><br />
    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg><br />
</span></template></p>
<table data-hpc class="highlight tab-size js-file-line-container" data-tab-size="4" data-paste-markdown-skip data-tagsearch-path="CreateBlendedImage">
<tr>
<td id="file-createblendedimage-L1" class="blob-num js-line-number js-blob-rnum" data-line-number="1"></td>
<td id="file-createblendedimage-LC1" class="blob-code blob-code-inner js-file-line">        private static Image CreateBlendedImage(string backgroundimageurl)</td>
</tr>
<tr>
<td id="file-createblendedimage-L2" class="blob-num js-line-number js-blob-rnum" data-line-number="2"></td>
<td id="file-createblendedimage-LC2" class="blob-code blob-code-inner js-file-line">        {</td>
</tr>
<tr>
<td id="file-createblendedimage-L3" class="blob-num js-line-number js-blob-rnum" data-line-number="3"></td>
<td id="file-createblendedimage-LC3" class="blob-code blob-code-inner js-file-line">            Image imageBackground;</td>
</tr>
<tr>
<td id="file-createblendedimage-L4" class="blob-num js-line-number js-blob-rnum" data-line-number="4"></td>
<td id="file-createblendedimage-LC4" class="blob-code blob-code-inner js-file-line">            Image imageOverlay;</td>
</tr>
<tr>
<td id="file-createblendedimage-L5" class="blob-num js-line-number js-blob-rnum" data-line-number="5"></td>
<td id="file-createblendedimage-LC5" class="blob-code blob-code-inner js-file-line">            </td>
</tr>
<tr>
<td id="file-createblendedimage-L6" class="blob-num js-line-number js-blob-rnum" data-line-number="6"></td>
<td id="file-createblendedimage-LC6" class="blob-code blob-code-inner js-file-line">            var request = WebRequest.Create(backgroundimageurl);</td>
</tr>
<tr>
<td id="file-createblendedimage-L7" class="blob-num js-line-number js-blob-rnum" data-line-number="7"></td>
<td id="file-createblendedimage-LC7" class="blob-code blob-code-inner js-file-line">            using (var response = request.GetResponse())</td>
</tr>
<tr>
<td id="file-createblendedimage-L8" class="blob-num js-line-number js-blob-rnum" data-line-number="8"></td>
<td id="file-createblendedimage-LC8" class="blob-code blob-code-inner js-file-line">            using (var stream = response.GetResponseStream())</td>
</tr>
<tr>
<td id="file-createblendedimage-L9" class="blob-num js-line-number js-blob-rnum" data-line-number="9"></td>
<td id="file-createblendedimage-LC9" class="blob-code blob-code-inner js-file-line">            {</td>
</tr>
<tr>
<td id="file-createblendedimage-L10" class="blob-num js-line-number js-blob-rnum" data-line-number="10"></td>
<td id="file-createblendedimage-LC10" class="blob-code blob-code-inner js-file-line">                imageBackground = Bitmap.FromStream(stream);</td>
</tr>
<tr>
<td id="file-createblendedimage-L11" class="blob-num js-line-number js-blob-rnum" data-line-number="11"></td>
<td id="file-createblendedimage-LC11" class="blob-code blob-code-inner js-file-line">            }</td>
</tr>
<tr>
<td id="file-createblendedimage-L12" class="blob-num js-line-number js-blob-rnum" data-line-number="12"></td>
<td id="file-createblendedimage-LC12" class="blob-code blob-code-inner js-file-line">            </td>
</tr>
<tr>
<td id="file-createblendedimage-L13" class="blob-num js-line-number js-blob-rnum" data-line-number="13"></td>
<td id="file-createblendedimage-LC13" class="blob-code blob-code-inner js-file-line">            var request2 = WebRequest.Create(&quot;<a href="http://c1.staticflickr.com/1/286/19041020628_2657a057cc_k.jpg&#038;quot" rel="nofollow">http://c1.staticflickr.com/1/286/19041020628_2657a057cc_k.jpg&#038;quot</a>;); //Rainbow Flag</td>
</tr>
<tr>
<td id="file-createblendedimage-L14" class="blob-num js-line-number js-blob-rnum" data-line-number="14"></td>
<td id="file-createblendedimage-LC14" class="blob-code blob-code-inner js-file-line">            using (var response2 = request2.GetResponse())</td>
</tr>
<tr>
<td id="file-createblendedimage-L15" class="blob-num js-line-number js-blob-rnum" data-line-number="15"></td>
<td id="file-createblendedimage-LC15" class="blob-code blob-code-inner js-file-line">            using (var stream2 = response2.GetResponseStream())</td>
</tr>
<tr>
<td id="file-createblendedimage-L16" class="blob-num js-line-number js-blob-rnum" data-line-number="16"></td>
<td id="file-createblendedimage-LC16" class="blob-code blob-code-inner js-file-line">            {</td>
</tr>
<tr>
<td id="file-createblendedimage-L17" class="blob-num js-line-number js-blob-rnum" data-line-number="17"></td>
<td id="file-createblendedimage-LC17" class="blob-code blob-code-inner js-file-line">                imageOverlay = Bitmap.FromStream(stream2);</td>
</tr>
<tr>
<td id="file-createblendedimage-L18" class="blob-num js-line-number js-blob-rnum" data-line-number="18"></td>
<td id="file-createblendedimage-LC18" class="blob-code blob-code-inner js-file-line">            }</td>
</tr>
<tr>
<td id="file-createblendedimage-L19" class="blob-num js-line-number js-blob-rnum" data-line-number="19"></td>
<td id="file-createblendedimage-LC19" class="blob-code blob-code-inner js-file-line">
</td>
</tr>
<tr>
<td id="file-createblendedimage-L20" class="blob-num js-line-number js-blob-rnum" data-line-number="20"></td>
<td id="file-createblendedimage-LC20" class="blob-code blob-code-inner js-file-line">            imageOverlay = ChangeOpacity(imageOverlay, 0.5F);</td>
</tr>
<tr>
<td id="file-createblendedimage-L21" class="blob-num js-line-number js-blob-rnum" data-line-number="21"></td>
<td id="file-createblendedimage-LC21" class="blob-code blob-code-inner js-file-line">            imageOverlay = ScaleImage(imageOverlay, imageBackground.Width, imageBackground.Height);</td>
</tr>
<tr>
<td id="file-createblendedimage-L22" class="blob-num js-line-number js-blob-rnum" data-line-number="22"></td>
<td id="file-createblendedimage-LC22" class="blob-code blob-code-inner js-file-line">            imageOverlay = imageOverlay.GetThumbnailImage(imageBackground.Width, imageBackground.Height, null, IntPtr.Zero);</td>
</tr>
<tr>
<td id="file-createblendedimage-L23" class="blob-num js-line-number js-blob-rnum" data-line-number="23"></td>
<td id="file-createblendedimage-LC23" class="blob-code blob-code-inner js-file-line">
</td>
</tr>
<tr>
<td id="file-createblendedimage-L24" class="blob-num js-line-number js-blob-rnum" data-line-number="24"></td>
<td id="file-createblendedimage-LC24" class="blob-code blob-code-inner js-file-line">            Image img = new Bitmap(imageBackground.Width, imageBackground.Height);</td>
</tr>
<tr>
<td id="file-createblendedimage-L25" class="blob-num js-line-number js-blob-rnum" data-line-number="25"></td>
<td id="file-createblendedimage-LC25" class="blob-code blob-code-inner js-file-line">            using (Graphics gr = Graphics.FromImage(img))</td>
</tr>
<tr>
<td id="file-createblendedimage-L26" class="blob-num js-line-number js-blob-rnum" data-line-number="26"></td>
<td id="file-createblendedimage-LC26" class="blob-code blob-code-inner js-file-line">            {</td>
</tr>
<tr>
<td id="file-createblendedimage-L27" class="blob-num js-line-number js-blob-rnum" data-line-number="27"></td>
<td id="file-createblendedimage-LC27" class="blob-code blob-code-inner js-file-line">                gr.DrawImage(imageBackground, new Point(0, 0));</td>
</tr>
<tr>
<td id="file-createblendedimage-L28" class="blob-num js-line-number js-blob-rnum" data-line-number="28"></td>
<td id="file-createblendedimage-LC28" class="blob-code blob-code-inner js-file-line">                gr.DrawImage(imageOverlay, new Point(0, 0));</td>
</tr>
<tr>
<td id="file-createblendedimage-L29" class="blob-num js-line-number js-blob-rnum" data-line-number="29"></td>
<td id="file-createblendedimage-LC29" class="blob-code blob-code-inner js-file-line">            }</td>
</tr>
<tr>
<td id="file-createblendedimage-L30" class="blob-num js-line-number js-blob-rnum" data-line-number="30"></td>
<td id="file-createblendedimage-LC30" class="blob-code blob-code-inner js-file-line">            return img;</td>
</tr>
<tr>
<td id="file-createblendedimage-L31" class="blob-num js-line-number js-blob-rnum" data-line-number="31"></td>
<td id="file-createblendedimage-LC31" class="blob-code blob-code-inner js-file-line">        }</td>
</tr>
</table>
</div></div>
</p></div>
</div></div>
<div class="gist-meta">
        <a href="https://gist.github.com/abe238/6cc4ebc1b431afb8998b/raw/2d3db24e8a5be014a54f5b064098a1df59211c0c/CreateBlendedImage" style="float:right" class="Link--inTextBlock">view raw</a><br />
        <a href="https://gist.github.com/abe238/6cc4ebc1b431afb8998b#file-createblendedimage" class="Link--inTextBlock"><br />
          CreateBlendedImage<br />
        </a><br />
        hosted with &#10084; by <a class="Link--inTextBlock" href="https://github.com">GitHub</a>
      </div>
</p></div>
</div>
<p>I then do the scaling, overlay and return the (in memory) image to the main controller.</p>
<p><strong>Step 4</strong> &#8211; The MMS Controller</p>
<p>I created an MVC controller to handle the incoming images and return back TwiML markup (Note: This controller must inherit from TwilioController in order to be able to send that TwiML markup back). <em>You can do the same with a WebAPI controller, Node, etc. I just went for simple here</em></p>
<p>The same way that Twilio sends images via MMS, I needed to send them back; this means I had to save the image somewhere and then send the URL to that media file back. To do this I used Azure Blob Storage; again nothing fancy here, check <a href="https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/" target="_blank">this</a> tutorial for a quick how to. I created a container for my images,created a blob and uploaded the image to that blob.</p>
<style>.gist table { margin-bottom: 0; }</style>
<div style="tab-size: 8" id="gist23802465" class="gist">
<div class="gist-file" translate="no" data-color-mode="light" data-light-theme="light">
<div class="gist-data">
<div class="js-gist-file-update-container js-task-list-container">
<div id="file-mmscontroller" class="file my-2">
<div itemprop="text"
      class="Box-body p-0 blob-wrapper data type-text  "
      style="overflow: auto" tabindex="0" role="region"
      aria-label="MMSController content, created by abe238 on 07:02AM on June 29, 2015."
    ></p>
<div class="js-check-hidden-unicode js-blob-code-container blob-code-content">
<p>  <template class="js-file-alert-template"></p>
<div data-view-component="true" class="flash flash-warn flash-full d-flex flex-items-center">
  <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg><br />
    <span><br />
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.<br />
      <a class="Link--inTextBlock" href="https://github.co/hiddenchars" target="_blank">Learn more about bidirectional Unicode characters</a><br />
    </span></p>
<div data-view-component="true" class="flash-action">        <a href="{{ revealButtonHref }}" data-view-component="true" class="btn-sm btn">    Show hidden characters<br />
</a>
</div>
</div>
<p></template><br />
<template class="js-line-alert-template"><br />
  <span aria-label="This line has hidden Unicode characters" data-view-component="true" class="line-alert tooltipped tooltipped-e"><br />
    <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg><br />
</span></template></p>
<table data-hpc class="highlight tab-size js-file-line-container" data-tab-size="4" data-paste-markdown-skip data-tagsearch-path="MMSController">
<tr>
<td id="file-mmscontroller-L1" class="blob-num js-line-number js-blob-rnum" data-line-number="1"></td>
<td id="file-mmscontroller-LC1" class="blob-code blob-code-inner js-file-line">        //Reminder this class needs to inherit from TwilioController &#8211;&gt; public class MMSController : TwilioController</td>
</tr>
<tr>
<td id="file-mmscontroller-L2" class="blob-num js-line-number js-blob-rnum" data-line-number="2"></td>
<td id="file-mmscontroller-LC2" class="blob-code blob-code-inner js-file-line">        </td>
</tr>
<tr>
<td id="file-mmscontroller-L3" class="blob-num js-line-number js-blob-rnum" data-line-number="3"></td>
<td id="file-mmscontroller-LC3" class="blob-code blob-code-inner js-file-line">        public ActionResult Index(string from, string mediaurl0)</td>
</tr>
<tr>
<td id="file-mmscontroller-L4" class="blob-num js-line-number js-blob-rnum" data-line-number="4"></td>
<td id="file-mmscontroller-LC4" class="blob-code blob-code-inner js-file-line">        {</td>
</tr>
<tr>
<td id="file-mmscontroller-L5" class="blob-num js-line-number js-blob-rnum" data-line-number="5"></td>
<td id="file-mmscontroller-LC5" class="blob-code blob-code-inner js-file-line">            Image blended = CreateBlendedImage(mediaurl0);</td>
</tr>
<tr>
<td id="file-mmscontroller-L6" class="blob-num js-line-number js-blob-rnum" data-line-number="6"></td>
<td id="file-mmscontroller-LC6" class="blob-code blob-code-inner js-file-line">            //We are using Azure Storage, and loading our credentials from our config file</td>
</tr>
<tr>
<td id="file-mmscontroller-L7" class="blob-num js-line-number js-blob-rnum" data-line-number="7"></td>
<td id="file-mmscontroller-LC7" class="blob-code blob-code-inner js-file-line">            CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings[&quot;&lt;CONNECTIONKEY&gt;&quot;].ToString());</td>
</tr>
<tr>
<td id="file-mmscontroller-L8" class="blob-num js-line-number js-blob-rnum" data-line-number="8"></td>
<td id="file-mmscontroller-LC8" class="blob-code blob-code-inner js-file-line">            // Create the blob client</td>
</tr>
<tr>
<td id="file-mmscontroller-L9" class="blob-num js-line-number js-blob-rnum" data-line-number="9"></td>
<td id="file-mmscontroller-LC9" class="blob-code blob-code-inner js-file-line">            CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();</td>
</tr>
<tr>
<td id="file-mmscontroller-L10" class="blob-num js-line-number js-blob-rnum" data-line-number="10"></td>
<td id="file-mmscontroller-LC10" class="blob-code blob-code-inner js-file-line">            // Retrieve a reference to a container.</td>
</tr>
<tr>
<td id="file-mmscontroller-L11" class="blob-num js-line-number js-blob-rnum" data-line-number="11"></td>
<td id="file-mmscontroller-LC11" class="blob-code blob-code-inner js-file-line">            CloudBlobContainer container = blobClient.GetContainerReference(&quot;&lt;CONTAINERNAME&gt;&quot;);</td>
</tr>
<tr>
<td id="file-mmscontroller-L12" class="blob-num js-line-number js-blob-rnum" data-line-number="12"></td>
<td id="file-mmscontroller-LC12" class="blob-code blob-code-inner js-file-line">            //Allow public access to the blob (but not to the container)</td>
</tr>
<tr>
<td id="file-mmscontroller-L13" class="blob-num js-line-number js-blob-rnum" data-line-number="13"></td>
<td id="file-mmscontroller-LC13" class="blob-code blob-code-inner js-file-line">            container.SetPermissions(new BlobContainerPermissions {PublicAccess = BlobContainerPublicAccessType.Blob });</td>
</tr>
<tr>
<td id="file-mmscontroller-L14" class="blob-num js-line-number js-blob-rnum" data-line-number="14"></td>
<td id="file-mmscontroller-LC14" class="blob-code blob-code-inner js-file-line">            // Create the container if it doesn&#39;t already exist.</td>
</tr>
<tr>
<td id="file-mmscontroller-L15" class="blob-num js-line-number js-blob-rnum" data-line-number="15"></td>
<td id="file-mmscontroller-LC15" class="blob-code blob-code-inner js-file-line">            container.CreateIfNotExists();</td>
</tr>
<tr>
<td id="file-mmscontroller-L16" class="blob-num js-line-number js-blob-rnum" data-line-number="16"></td>
<td id="file-mmscontroller-LC16" class="blob-code blob-code-inner js-file-line">            // Retrieve reference to a blob names using the from phone number.</td>
</tr>
<tr>
<td id="file-mmscontroller-L17" class="blob-num js-line-number js-blob-rnum" data-line-number="17"></td>
<td id="file-mmscontroller-LC17" class="blob-code blob-code-inner js-file-line">            //We add the png file extension so its easier for us when looking at a list of blobs</td>
</tr>
<tr>
<td id="file-mmscontroller-L18" class="blob-num js-line-number js-blob-rnum" data-line-number="18"></td>
<td id="file-mmscontroller-LC18" class="blob-code blob-code-inner js-file-line">            CloudBlockBlob blockBlob = container.GetBlockBlobReference(from + &quot;.png&quot;);</td>
</tr>
<tr>
<td id="file-mmscontroller-L19" class="blob-num js-line-number js-blob-rnum" data-line-number="19"></td>
<td id="file-mmscontroller-LC19" class="blob-code blob-code-inner js-file-line">            // Create or overwrite the phone mumber blob with contents from a local file.</td>
</tr>
<tr>
<td id="file-mmscontroller-L20" class="blob-num js-line-number js-blob-rnum" data-line-number="20"></td>
<td id="file-mmscontroller-LC20" class="blob-code blob-code-inner js-file-line">            //We re using temp file space for file creation</td>
</tr>
<tr>
<td id="file-mmscontroller-L21" class="blob-num js-line-number js-blob-rnum" data-line-number="21"></td>
<td id="file-mmscontroller-LC21" class="blob-code blob-code-inner js-file-line">            var filepath = System.IO.Path.GetTempFileName();</td>
</tr>
<tr>
<td id="file-mmscontroller-L22" class="blob-num js-line-number js-blob-rnum" data-line-number="22"></td>
<td id="file-mmscontroller-LC22" class="blob-code blob-code-inner js-file-line">            blended.Save(filepath, ImageFormat.Png);</td>
</tr>
<tr>
<td id="file-mmscontroller-L23" class="blob-num js-line-number js-blob-rnum" data-line-number="23"></td>
<td id="file-mmscontroller-LC23" class="blob-code blob-code-inner js-file-line">            //remmeber to set the Content Type, else Azure will return appliction/octet and Twilio won&#39;t be able to read the image</td>
</tr>
<tr>
<td id="file-mmscontroller-L24" class="blob-num js-line-number js-blob-rnum" data-line-number="24"></td>
<td id="file-mmscontroller-LC24" class="blob-code blob-code-inner js-file-line">            blockBlob.Properties.ContentType = &quot;image/png&quot;;</td>
</tr>
<tr>
<td id="file-mmscontroller-L25" class="blob-num js-line-number js-blob-rnum" data-line-number="25"></td>
<td id="file-mmscontroller-LC25" class="blob-code blob-code-inner js-file-line">            //Upload the file to Azure storage</td>
</tr>
<tr>
<td id="file-mmscontroller-L26" class="blob-num js-line-number js-blob-rnum" data-line-number="26"></td>
<td id="file-mmscontroller-LC26" class="blob-code blob-code-inner js-file-line">            blockBlob.UploadFromFile(filepath, FileMode.Open);</td>
</tr>
<tr>
<td id="file-mmscontroller-L27" class="blob-num js-line-number js-blob-rnum" data-line-number="27"></td>
<td id="file-mmscontroller-LC27" class="blob-code blob-code-inner js-file-line">            //Create th Twilio TwiML markup response</td>
</tr>
<tr>
<td id="file-mmscontroller-L28" class="blob-num js-line-number js-blob-rnum" data-line-number="28"></td>
<td id="file-mmscontroller-LC28" class="blob-code blob-code-inner js-file-line">            var response = new TwilioResponse();</td>
</tr>
<tr>
<td id="file-mmscontroller-L29" class="blob-num js-line-number js-blob-rnum" data-line-number="29"></td>
<td id="file-mmscontroller-LC29" class="blob-code blob-code-inner js-file-line">            string[] mediaurls = new string[1];</td>
</tr>
<tr>
<td id="file-mmscontroller-L30" class="blob-num js-line-number js-blob-rnum" data-line-number="30"></td>
<td id="file-mmscontroller-LC30" class="blob-code blob-code-inner js-file-line">            //For some reason only http worked for me</td>
</tr>
<tr>
<td id="file-mmscontroller-L31" class="blob-num js-line-number js-blob-rnum" data-line-number="31"></td>
<td id="file-mmscontroller-LC31" class="blob-code blob-code-inner js-file-line">            mediaurls[0] = blockBlob.Uri.AbsoluteUri.Replace(&quot;<a href="https://&#038;quot" rel="nofollow">https://&#038;quot</a>;,&quot;<a href="http://&#038;quot" rel="nofollow">http://&#038;quot</a>;);</td>
</tr>
<tr>
<td id="file-mmscontroller-L32" class="blob-num js-line-number js-blob-rnum" data-line-number="32"></td>
<td id="file-mmscontroller-LC32" class="blob-code blob-code-inner js-file-line">            </td>
</tr>
<tr>
<td id="file-mmscontroller-L33" class="blob-num js-line-number js-blob-rnum" data-line-number="33"></td>
<td id="file-mmscontroller-LC33" class="blob-code blob-code-inner js-file-line">            //Add the Blended Image URL from Azure to the response</td>
</tr>
<tr>
<td id="file-mmscontroller-L34" class="blob-num js-line-number js-blob-rnum" data-line-number="34"></td>
<td id="file-mmscontroller-LC34" class="blob-code blob-code-inner js-file-line">            response.Message(mediaurls);</td>
</tr>
<tr>
<td id="file-mmscontroller-L35" class="blob-num js-line-number js-blob-rnum" data-line-number="35"></td>
<td id="file-mmscontroller-LC35" class="blob-code blob-code-inner js-file-line">            //Note how we return a TwiML respone and not a View </td>
</tr>
<tr>
<td id="file-mmscontroller-L36" class="blob-num js-line-number js-blob-rnum" data-line-number="36"></td>
<td id="file-mmscontroller-LC36" class="blob-code blob-code-inner js-file-line">            return TwiML(response);</td>
</tr>
<tr>
<td id="file-mmscontroller-L37" class="blob-num js-line-number js-blob-rnum" data-line-number="37"></td>
<td id="file-mmscontroller-LC37" class="blob-code blob-code-inner js-file-line">        }</td>
</tr>
</table>
</div></div>
</p></div>
</div></div>
<div class="gist-meta">
        <a href="https://gist.github.com/abe238/11395f8867bfcf958c2a/raw/08815ea4ce84559230d5dd61167cb4d69d604b23/MMSController" style="float:right" class="Link--inTextBlock">view raw</a><br />
        <a href="https://gist.github.com/abe238/11395f8867bfcf958c2a#file-mmscontroller" class="Link--inTextBlock"><br />
          MMSController<br />
        </a><br />
        hosted with &#10084; by <a class="Link--inTextBlock" href="https://github.com">GitHub</a>
      </div>
</p></div>
</div>
<p><em><strong>Warning:</strong> don&#8217;t forget to set the Content-Type for the blob, failure to do this will serve the blob as &#8220;application/octet&#8221; which Twilio won&#8217;t be able to handle.&nbsp;</em></p>
<p>Hopefully you enjoyed this little project, I surely did. Feel free to reach out if you have any questions with this demo.</p>
<p style="text-align:center;">Have fun and celebrate <span style="color:#ff0000;"><em><strong>love</strong></em></span></p>
]]></content:encoded>
					
					<wfw:commentRss>https://abediaz.com/2015/06/30/add-some-pride-to-any-picture/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1053</post-id>
		<media:thumbnail url="https://abediaz.com/wp-content/uploads/2015/06/img_7909.png" />
		<media:content url="https://abediaz.com/wp-content/uploads/2015/06/img_7909.png" medium="image">
			<media:title type="html">IMG_7909</media:title>
		</media:content>

		<media:content url="https://2.gravatar.com/avatar/53a1c1c217dcde0d53666a89ea9f14122fb75806b35e903962d6eded90c06733?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">abediaz</media:title>
		</media:content>

		<media:content url="https://abediaz.com/wp-content/uploads/2015/06/output1.png?w=300" medium="image">
			<media:title type="html">Background Image with Overlay at 50% </media:title>
		</media:content>

		<media:content url="https://abediaz.com/wp-content/uploads/2015/06/output2.png?w=300" medium="image">
			<media:title type="html">output2</media:title>
		</media:content>

		<media:content url="https://abediaz.com/wp-content/uploads/2015/06/output.png?w=300" medium="image">
			<media:title type="html">Final Result</media:title>
		</media:content>
	</item>
		<item>
		<title>I so want one! #octocopter #wishlist #drone</title>
		<link>https://abediaz.com/2015/06/20/i-so-want-one-octocopter-wishlist-drone/</link>
					<comments>https://abediaz.com/2015/06/20/i-so-want-one-octocopter-wishlist-drone/#respond</comments>
		
		<dc:creator><![CDATA[Abe Diaz]]></dc:creator>
		<pubDate>Sat, 20 Jun 2015 20:11:41 +0000</pubDate>
				<category><![CDATA[Photos]]></category>
		<category><![CDATA[IFTTT]]></category>
		<category><![CDATA[Instagram]]></category>
		<guid isPermaLink="false">http://abediaz.com/?p=1040</guid>

					<description><![CDATA[via Instagram http://bit.ly/1LasSOg]]></description>
										<content:encoded><![CDATA[<div><img style="max-width:600px;" src="https://abediaz.com/wp-content/uploads/2015/06/8e7da-11425757_1455338861449645_2105627112_n.jpg?w=580" alt="" /></p>
<div>via Instagram <a href="http://bit.ly/1LasSOg" rel="nofollow">http://bit.ly/1LasSOg</a></div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://abediaz.com/2015/06/20/i-so-want-one-octocopter-wishlist-drone/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1040</post-id>
		<media:content url="https://2.gravatar.com/avatar/53a1c1c217dcde0d53666a89ea9f14122fb75806b35e903962d6eded90c06733?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">abediaz</media:title>
		</media:content>

		<media:content url="https://abediaz.com/wp-content/uploads/2015/06/8e7da-11425757_1455338861449645_2105627112_n.jpg" medium="image" />
	</item>
		<item>
		<title>Technology meet the birds. Birds meet technology!</title>
		<link>https://abediaz.com/2015/05/30/technology-meet-the-birds-birds-meet-technology/</link>
					<comments>https://abediaz.com/2015/05/30/technology-meet-the-birds-birds-meet-technology/#respond</comments>
		
		<dc:creator><![CDATA[Abe Diaz]]></dc:creator>
		<pubDate>Sat, 30 May 2015 23:00:20 +0000</pubDate>
				<category><![CDATA[Photos]]></category>
		<category><![CDATA[IFTTT]]></category>
		<category><![CDATA[Instagram]]></category>
		<guid isPermaLink="false">http://abediaz.com/?p=1022</guid>

					<description><![CDATA[via Instagram http://bit.ly/1HD0Wx2]]></description>
										<content:encoded><![CDATA[<div><img style="max-width:600px;" src="https://abediaz.com/wp-content/uploads/2015/05/59845-11355934_382438025296275_541747742_n.jpg?w=580" alt="" /></p>
<div>via Instagram <a href="http://bit.ly/1HD0Wx2" rel="nofollow">http://bit.ly/1HD0Wx2</a></div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://abediaz.com/2015/05/30/technology-meet-the-birds-birds-meet-technology/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1022</post-id>
		<media:content url="https://2.gravatar.com/avatar/53a1c1c217dcde0d53666a89ea9f14122fb75806b35e903962d6eded90c06733?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">abediaz</media:title>
		</media:content>

		<media:content url="https://abediaz.com/wp-content/uploads/2015/05/59845-11355934_382438025296275_541747742_n.jpg" medium="image" />
	</item>
		<item>
		<title>My birthday gift and new toy from @smanicka</title>
		<link>https://abediaz.com/2015/05/23/my-birthday-gift-and-new-toy-from-smanicka/</link>
					<comments>https://abediaz.com/2015/05/23/my-birthday-gift-and-new-toy-from-smanicka/#respond</comments>
		
		<dc:creator><![CDATA[Abe Diaz]]></dc:creator>
		<pubDate>Sat, 23 May 2015 08:41:48 +0000</pubDate>
				<category><![CDATA[Photos]]></category>
		<category><![CDATA[IFTTT]]></category>
		<category><![CDATA[Instagram]]></category>
		<guid isPermaLink="false">http://abediaz.com/?p=1008</guid>

					<description><![CDATA[via Instagram http://bit.ly/1HAQxXQ]]></description>
										<content:encoded><![CDATA[<div><img style="max-width:600px;" src="https://abediaz.com/wp-content/uploads/2015/05/acf8a-11334512_717750475000276_1193796742_n.jpg?w=580" alt="" /></p>
<div>via Instagram <a href="http://bit.ly/1HAQxXQ" rel="nofollow">http://bit.ly/1HAQxXQ</a></div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://abediaz.com/2015/05/23/my-birthday-gift-and-new-toy-from-smanicka/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1008</post-id>
		<media:content url="https://2.gravatar.com/avatar/53a1c1c217dcde0d53666a89ea9f14122fb75806b35e903962d6eded90c06733?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">abediaz</media:title>
		</media:content>

		<media:content url="https://abediaz.com/wp-content/uploads/2015/05/acf8a-11334512_717750475000276_1193796742_n.jpg" medium="image" />
	</item>
		<item>
		<title>Neat tool to visualize your site&#8217;s attention hot-spots and visual clarity</title>
		<link>https://abediaz.com/2014/05/02/neat-tool-to-visualize-your-sites-attention-hot-spots-and-visual-clarity/</link>
					<comments>https://abediaz.com/2014/05/02/neat-tool-to-visualize-your-sites-attention-hot-spots-and-visual-clarity/#respond</comments>
		
		<dc:creator><![CDATA[Abe Diaz]]></dc:creator>
		<pubDate>Sat, 03 May 2014 02:36:11 +0000</pubDate>
				<category><![CDATA[Tips and Tricks]]></category>
		<guid isPermaLink="false">http://abediaz.com/?p=663</guid>

					<description><![CDATA[I recently ran into EyeQuant a neat tool to visualize how cluttered a website is. Here is an example of the attention map with my own blog: &#160; In addition to attention maps you can visualize how you scale in terms of clarity. &#160; &#160; I had previously seen a post (somewhere) that detailed how [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I recently ran into EyeQuant a neat tool to visualize how cluttered a website is. Here is an example of the attention map with my own blog:</p>
<div data-shortcode="caption" id="attachment_664" style="width: 590px" class="wp-caption aligncenter"><a href="https://abediaz.com/wp-content/uploads/2014/05/eyequant.png"><img aria-describedby="caption-attachment-664" loading="lazy" data-attachment-id="664" data-permalink="https://abediaz.com/2014/05/02/neat-tool-to-visualize-your-sites-attention-hot-spots-and-visual-clarity/eyequant/" data-orig-file="https://abediaz.com/wp-content/uploads/2014/05/eyequant.png" data-orig-size="991,1061" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="EyeQuant" data-image-description="&lt;p&gt;Attention Map&lt;/p&gt;
" data-image-caption="&lt;p&gt;Attention Map&lt;/p&gt;
" data-medium-file="https://abediaz.com/wp-content/uploads/2014/05/eyequant.png?w=280" data-large-file="https://abediaz.com/wp-content/uploads/2014/05/eyequant.png?w=580" class="size-large wp-image-664" src="https://abediaz.com/wp-content/uploads/2014/05/eyequant.png?w=580&#038;h=620" alt="Attention Map" width="580" height="620" srcset="https://abediaz.com/wp-content/uploads/2014/05/eyequant.png?w=580 580w, https://abediaz.com/wp-content/uploads/2014/05/eyequant.png?w=140 140w, https://abediaz.com/wp-content/uploads/2014/05/eyequant.png?w=280 280w, https://abediaz.com/wp-content/uploads/2014/05/eyequant.png?w=768 768w, https://abediaz.com/wp-content/uploads/2014/05/eyequant.png 991w" sizes="(max-width: 580px) 100vw, 580px" /></a><p id="caption-attachment-664" class="wp-caption-text">Attention Map</p></div>
<p>&nbsp;</p>
<p>In addition to attention maps you can visualize how you scale in terms of clarity.</p>
<p>&nbsp;</p>
<div data-shortcode="caption" id="attachment_665" style="width: 590px" class="wp-caption aligncenter"><a href="https://abediaz.com/wp-content/uploads/2014/05/eyequant2.png"><img aria-describedby="caption-attachment-665" loading="lazy" data-attachment-id="665" data-permalink="https://abediaz.com/2014/05/02/neat-tool-to-visualize-your-sites-attention-hot-spots-and-visual-clarity/eyequant2/" data-orig-file="https://abediaz.com/wp-content/uploads/2014/05/eyequant2.png" data-orig-size="985,1068" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="EyeQuant" data-image-description="&lt;p&gt;Visual Clarity&lt;/p&gt;
" data-image-caption="&lt;p&gt;Visual Clarity&lt;/p&gt;
" data-medium-file="https://abediaz.com/wp-content/uploads/2014/05/eyequant2.png?w=277" data-large-file="https://abediaz.com/wp-content/uploads/2014/05/eyequant2.png?w=580" class="size-large wp-image-665" src="https://abediaz.com/wp-content/uploads/2014/05/eyequant2.png?w=580&#038;h=628" alt="Visual Clarity" width="580" height="628" srcset="https://abediaz.com/wp-content/uploads/2014/05/eyequant2.png?w=580 580w, https://abediaz.com/wp-content/uploads/2014/05/eyequant2.png?w=138 138w, https://abediaz.com/wp-content/uploads/2014/05/eyequant2.png?w=277 277w, https://abediaz.com/wp-content/uploads/2014/05/eyequant2.png?w=768 768w, https://abediaz.com/wp-content/uploads/2014/05/eyequant2.png 985w" sizes="(max-width: 580px) 100vw, 580px" /></a><p id="caption-attachment-665" class="wp-caption-text">Visual Clarity</p></div>
<p>&nbsp;</p>
<p>I had previously seen a post (somewhere) that detailed how the same analysis could be applied to resumes and other important documents. It is a little sad to see how even after this concept has been drilled into most of our minds, cluttered design and ad-ridden websites are so prevalent.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://abediaz.com/2014/05/02/neat-tool-to-visualize-your-sites-attention-hot-spots-and-visual-clarity/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">663</post-id>
		<media:content url="https://2.gravatar.com/avatar/53a1c1c217dcde0d53666a89ea9f14122fb75806b35e903962d6eded90c06733?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">abediaz</media:title>
		</media:content>

		<media:content url="https://abediaz.com/wp-content/uploads/2014/05/eyequant.png?w=580" medium="image">
			<media:title type="html">Attention Map</media:title>
		</media:content>

		<media:content url="https://abediaz.com/wp-content/uploads/2014/05/eyequant2.png?w=580" medium="image">
			<media:title type="html">Visual Clarity</media:title>
		</media:content>
	</item>
		<item>
		<title>A blank canvas for your browser&#8230; and another nifty hack</title>
		<link>https://abediaz.com/2014/02/13/a-blank-canvas-for-your-browser-and-another-nifty-hack/</link>
					<comments>https://abediaz.com/2014/02/13/a-blank-canvas-for-your-browser-and-another-nifty-hack/#respond</comments>
		
		<dc:creator><![CDATA[Abe Diaz]]></dc:creator>
		<pubDate>Thu, 13 Feb 2014 22:47:33 +0000</pubDate>
				<category><![CDATA[Computer Related]]></category>
		<category><![CDATA[Miscelaneous]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[new tab]]></category>
		<guid isPermaLink="false">http://abediaz.com/?p=531</guid>

					<description><![CDATA[Sometimes it&#8217;s the little things that make us productive (i.e. new browser tabs). I use many browsers and get teased regularly for having a hundred tabs open and hogging the memory of my pc, but amid all those tabs, and God forbid plugins you installed in your browser, there is a disconnect between the new tab [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><span style="line-height:1.5em;">Sometimes it&#8217;s the little things that make us productive (i.e. new browser tabs). </span>I use many browsers and get teased <em>regularly</em> for having a hundred tabs open and hogging the memory of my pc, but amid all those tabs, and God forbid plugins you installed in your browser, there is a disconnect between the new tab page for each. You could call it <em>visual clutter</em> and <em>disuniformity&#8230;</em> or you could call it boring, whatever floats your boat.</p>
<p>If you use Chrome you will probably see something like this (<em><strong>FYI</strong></em> I had a theme installed at the time of the screenshot so yours might look &#8220;cloudy&#8221;) :</p>
<div data-shortcode="caption" id="attachment_532" style="width: 590px" class="wp-caption aligncenter"><a href="https://abediaz.com/wp-content/uploads/2014/02/gtab.png"><img aria-describedby="caption-attachment-532" loading="lazy" data-attachment-id="532" data-permalink="https://abediaz.com/2014/02/13/a-blank-canvas-for-your-browser-and-another-nifty-hack/gtab/" data-orig-file="https://abediaz.com/wp-content/uploads/2014/02/gtab.png" data-orig-size="756,543" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Chrome New Tab" data-image-description="&lt;p&gt;Chrome New Tab&lt;/p&gt;
" data-image-caption="&lt;p&gt;Chrome New Tab&lt;/p&gt;
" data-medium-file="https://abediaz.com/wp-content/uploads/2014/02/gtab.png?w=300" data-large-file="https://abediaz.com/wp-content/uploads/2014/02/gtab.png?w=580" class="size-large wp-image-532" alt="Chrome New Tab" src="https://abediaz.com/wp-content/uploads/2014/02/gtab.png?w=580&#038;h=416" width="580" height="416" srcset="https://abediaz.com/wp-content/uploads/2014/02/gtab.png?w=580 580w, https://abediaz.com/wp-content/uploads/2014/02/gtab.png?w=150 150w, https://abediaz.com/wp-content/uploads/2014/02/gtab.png?w=300 300w, https://abediaz.com/wp-content/uploads/2014/02/gtab.png 756w" sizes="(max-width: 580px) 100vw, 580px" /></a><p id="caption-attachment-532" class="wp-caption-text">Chrome New Tab</p></div>
<p>It has the small icons for recently visited pages and <strong>another</strong> search bar.</p>
<p>If you use Firefox you might get something like this:</p>
<div data-shortcode="caption" id="attachment_533" style="width: 590px" class="wp-caption aligncenter"><a href="https://abediaz.com/wp-content/uploads/2014/02/ftab.png"><img aria-describedby="caption-attachment-533" loading="lazy" data-attachment-id="533" data-permalink="https://abediaz.com/2014/02/13/a-blank-canvas-for-your-browser-and-another-nifty-hack/ftab/" data-orig-file="https://abediaz.com/wp-content/uploads/2014/02/ftab.png" data-orig-size="1411,836" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Firefox New Tab" data-image-description="&lt;p&gt;Firefox New Tab&lt;/p&gt;
" data-image-caption="&lt;p&gt;Firefox New Tab&lt;/p&gt;
" data-medium-file="https://abediaz.com/wp-content/uploads/2014/02/ftab.png?w=300" data-large-file="https://abediaz.com/wp-content/uploads/2014/02/ftab.png?w=580" class="size-large wp-image-533" alt="Firefox New Tab" src="https://abediaz.com/wp-content/uploads/2014/02/ftab.png?w=580&#038;h=343" width="580" height="343" srcset="https://abediaz.com/wp-content/uploads/2014/02/ftab.png?w=580 580w, https://abediaz.com/wp-content/uploads/2014/02/ftab.png?w=1160 1160w, https://abediaz.com/wp-content/uploads/2014/02/ftab.png?w=150 150w, https://abediaz.com/wp-content/uploads/2014/02/ftab.png?w=300 300w, https://abediaz.com/wp-content/uploads/2014/02/ftab.png?w=768 768w, https://abediaz.com/wp-content/uploads/2014/02/ftab.png?w=1024 1024w" sizes="(max-width: 580px) 100vw, 580px" /></a><p id="caption-attachment-533" class="wp-caption-text">Firefox New Tab</p></div>
<p>It just has the recently visited pages but those icons are <strong>huge</strong>.</p>
<p>If you want something more productive and simple I recommend this little hack; paste this into your address bar and press enter:</p>
<p style="padding-left:30px;"><code>data:text/html, &lt;html contenteditable&gt;</code></p>
<p><em><strong>Peaceful isn&#8217;t it?</strong></em></p>
<p>Did you notice it? Or were you just angrily looking at a white screen? Well if you clicked on the screen and started typing you would see that <strong>this white space is now editable!</strong> What this means is that this whole screen is now a <em>fully equipped HTML notepad</em> for you to write on.</p>
<p>This means you can copy and paste text and it will retain it&#8217;s hyperlinks and formatting; so maybe we can call this the poorman&#8217;s HTML editor too as all you have to do is then save the page and you have an actual HTML page you can host.</p>
<p><strong>Advanced Tip:</strong><br />
<em>If you want to take it to the next level, you can make this hack your <strong>default &#8220;New Tab&#8221; behavior</strong>. Follow <a title="New Tab Extensions for Chrome and Firefox" href="http://www.guidingtech.com/8004/have-new-tab-page-open-specific-website-firefox-chrome/" target="_blank">this</a> article to add an extension to Chrome or Firefox (sorry IE Users) and make this your new setting.</em></p>
<p>Have Fun <img src="https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://abediaz.com/2014/02/13/a-blank-canvas-for-your-browser-and-another-nifty-hack/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">531</post-id>
		<media:content url="https://2.gravatar.com/avatar/53a1c1c217dcde0d53666a89ea9f14122fb75806b35e903962d6eded90c06733?s=96&#38;d=&#38;r=PG" medium="image">
			<media:title type="html">abediaz</media:title>
		</media:content>

		<media:content url="https://abediaz.com/wp-content/uploads/2014/02/gtab.png?w=580" medium="image">
			<media:title type="html">Chrome New Tab</media:title>
		</media:content>

		<media:content url="https://abediaz.com/wp-content/uploads/2014/02/ftab.png?w=580" medium="image">
			<media:title type="html">Firefox New Tab</media:title>
		</media:content>
	</item>
	</channel>
</rss>
