<?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>Justin DoCanto</title> <atom:link href="http://www.justindocanto.com/feed" rel="self" type="application/rss+xml" /><link>http://www.justindocanto.com</link> <description>JustinDoCanto.com</description> <lastBuildDate>Mon, 14 May 2012 10:43:14 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>Dalliance Accessories Summer &#8217;12 &#8211; Outtakes &amp; Preview Photos</title><link>http://www.justindocanto.com/blog/dalliance-accessories-summer-2012-outtakes-preview-photos</link> <comments>http://www.justindocanto.com/blog/dalliance-accessories-summer-2012-outtakes-preview-photos#comments</comments> <pubDate>Mon, 14 May 2012 06:18:09 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Blog]]></category><guid
isPermaLink="false">http://www.justindocanto.com/?p=752</guid> <description><![CDATA[I have the privilege of shooting Dalliance Accessories’ Summer 2012 line and we just wrapped up our first weekend working together. Here&#8217;s a few previews &#38; outtakes I’m allowed to share! Incase you&#8217;re wondering why there&#8217;s a few real animals, one of our locations was at the San Diego Zoo and I couldn&#8217;t resist taking a [...]]]></description> <content:encoded><![CDATA[<p>I have the privilege of shooting Dalliance Accessories’ Summer 2012 line and we just wrapped up our first weekend working together. Here&#8217;s a few previews &amp; outtakes I’m allowed to share!</p><p>Incase you&#8217;re wondering why there&#8217;s a few real animals, one of our locations was at the San Diego Zoo and I couldn&#8217;t resist taking a few extra pictures of the animals.</p><p>NOTE: Keep in mind there wont be any walkways or anything man-made in the background of the finished products.</p><p><a
href='http://www.justindocanto.com/blog/dalliance-accessories-summer-2012-outtakes-preview-photos/attachment/img_5409' title='Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes'><img
width="150" height="150" src="http://www.justindocanto.com/wp-content/uploads/2012/05/IMG_5409-150x150.jpg" class="attachment-thumbnail" alt="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" title="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" /></a><br
/> <a
href='http://www.justindocanto.com/blog/dalliance-accessories-summer-2012-outtakes-preview-photos/attachment/img_5495-2' title='Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes'><img
width="150" height="150" src="http://www.justindocanto.com/wp-content/uploads/2012/05/IMG_54951-150x150.jpg" class="attachment-thumbnail" alt="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" title="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" /></a><br
/> <a
href='http://www.justindocanto.com/blog/dalliance-accessories-summer-2012-outtakes-preview-photos/attachment/img_5500-2' title='Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes'><img
width="150" height="150" src="http://www.justindocanto.com/wp-content/uploads/2012/05/IMG_55001-150x150.jpg" class="attachment-thumbnail" alt="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" title="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" /></a><br
/> <a
href='http://www.justindocanto.com/blog/dalliance-accessories-summer-2012-outtakes-preview-photos/attachment/img_5802' title='Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes'><img
width="150" height="150" src="http://www.justindocanto.com/wp-content/uploads/2012/05/IMG_5802-150x150.jpg" class="attachment-thumbnail" alt="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" title="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" /></a><br
/> <a
href='http://www.justindocanto.com/blog/dalliance-accessories-summer-2012-outtakes-preview-photos/attachment/img_5688' title='Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes'><img
width="150" height="150" src="http://www.justindocanto.com/wp-content/uploads/2012/05/IMG_5688-150x150.jpg" class="attachment-thumbnail" alt="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" title="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" /></a><br
/> <a
href='http://www.justindocanto.com/blog/dalliance-accessories-summer-2012-outtakes-preview-photos/attachment/img_5702' title='Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes'><img
width="150" height="150" src="http://www.justindocanto.com/wp-content/uploads/2012/05/IMG_5702-150x150.jpg" class="attachment-thumbnail" alt="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" title="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" /></a><br
/> <a
href='http://www.justindocanto.com/blog/dalliance-accessories-summer-2012-outtakes-preview-photos/attachment/img_5650' title='Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes'><img
width="150" height="150" src="http://www.justindocanto.com/wp-content/uploads/2012/05/IMG_5650-150x150.jpg" class="attachment-thumbnail" alt="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" title="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" /></a><br
/> <a
href='http://www.justindocanto.com/blog/dalliance-accessories-summer-2012-outtakes-preview-photos/attachment/img_5852' title='Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes'><img
width="150" height="150" src="http://www.justindocanto.com/wp-content/uploads/2012/05/IMG_5852-150x150.jpg" class="attachment-thumbnail" alt="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" title="Dalliance Accessories Summer 2012 - Preview Shots &amp; Outtakes" /></a></p> ]]></content:encoded> <wfw:commentRss>http://www.justindocanto.com/blog/dalliance-accessories-summer-2012-outtakes-preview-photos/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>JustinDoCanto.com &#8211; A new version &amp; a new focus</title><link>http://www.justindocanto.com/blog/a-new-version-and-a-new-focus</link> <comments>http://www.justindocanto.com/blog/a-new-version-and-a-new-focus#comments</comments> <pubDate>Wed, 02 May 2012 08:54:43 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Blog]]></category><guid
isPermaLink="false">http://new.justindocanto.com/?p=720</guid> <description><![CDATA[Time for an overdue, yet unfortunately brief update! First off, a few months ago I teamed up with the design &#38; development firm PiXLMiX of Aliso Viejo, CA, as their  Senior Digital &#38; Interactive Programmer! Since teaming up, PiXLMiX and I have been keeping busy and completing a lot of great projects. Take a look [...]]]></description> <content:encoded><![CDATA[<p>Time for an overdue, yet unfortunately brief update!</p><p>First off, a few months ago I teamed up with the design &amp; development firm PiXLMiX of Aliso Viejo, CA, as their  Senior Digital &amp; Interactive Programmer! Since teaming up, PiXLMiX and I have been keeping busy and completing a lot of great projects. Take a look at <a
title="pixlmix.com" href="http://www.pixlmix.com" target="_blank">www.pixlmix.com</a> to see some of the things we&#8217;ve been up to because I&#8217;m really proud of the work we&#8217;ve been doing.</p><p>I almost forgot, I also programmed the new PiXLMiX website too, which has been nomiated for a few CSS awards!</p><p>With that said, the last version of my personal website grew a little irrelevant since I&#8217;m no longer advertising my programming services. An overhall of this sie was long overdue and I&#8217;m only getting started on this new version you&#8217;re looking at now. Once I can make some time to wrap up this revamp, this new website will be a product focused website rather than a service focused website like it has been in the past.</p><p>Since I am not advertising programming services at this time, and I need a few non-client projects to feed my need for adventure, I&#8217;ve decided it&#8217;s time to finally release a few scripts &amp; plugins I&#8217;ve been working on a for awhile. Until I can get all of that ready &amp; live, I apologize for any dust&#8230; so please be patient with me while I slowly get this site up to par.</p><p>One last thing. I have to say I deeply appreciate all the love &amp; support I get on a regular basis from friends, family, developers, team members and just&#8230; everybody! You guys are awesome! It&#8217;s awesome to be able to do what I love on a daily basis, even if it seems like I spend countless hours being a zombie in front of my computer <img
src='http://www.justindocanto.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p> ]]></content:encoded> <wfw:commentRss>http://www.justindocanto.com/blog/a-new-version-and-a-new-focus/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>My &#8216;Fraud Prevention&#8217; Solution for CodeSprint</title><link>http://www.justindocanto.com/blog/my-fraud-prevention-solution-for-codesprint</link> <comments>http://www.justindocanto.com/blog/my-fraud-prevention-solution-for-codesprint#comments</comments> <pubDate>Thu, 12 Jan 2012 01:47:01 +0000</pubDate> <dc:creator>oldsite</dc:creator> <category><![CDATA[Blog]]></category><guid
isPermaLink="false">http://www.justindocanto.com/?p=364</guid> <description><![CDATA[Code Sprint is an annual contest where thousands of international programmers compete to solve as many simulated and real-world challenges as they can, within 48 hours. The challenges are provided by companies like Facebook, Google, Groupon, Dropbox &#38; many more. At the end of the contest the companies then pick the best scorers and interview [...]]]></description> <content:encoded><![CDATA[<p><script type="text/javascript" src="http://www.justindocanto.com/wp-content/plugins/wordpress-code-snippet/scripts/shBrushPhp.js"></script><br
/> Code Sprint is an annual contest where thousands of international programmers compete to solve as many simulated and real-world challenges as they can, within 48 hours. The challenges are provided by companies like Facebook, Google, Groupon, Dropbox &amp; many more. At the end of the contest the companies then pick the best scorers and interview them for a possible job at that company.<br
/> <span
id="more-364"></span><br
/> Seeing as I already keep myself pretty busy with client work and am not looking for employment at this time (not to say I wouldn&#8217;t take a job from one of those companies, if they offered) I attempted a few of the problems to see if I could even hack it. The problem I found myself able to take on was Groupon&#8217;s &#8220;Fraud Prevention&#8221; challenge. I was able to come up with a solution in PHP within the first few hours and solved all 5 sets of test data with 100% accuracy.</p><h3>The &#8216;Fraud Prevention&#8217; Challenge</h3><p>Groupon&#8217;s &#8216;Fraud Prevention&#8217; challenge was to detect fraudulent purchases across any number of purchases &amp; user accounts based on the follow 2 criteria:</p><ol><li>Two or more purchases would be considered fraudulent if they were made with the <strong>same address, </strong>for the<strong> same item, </strong>but used<strong> different credit cards</strong></li><li>Two or more purchases would be also considered fraudulent if they were made with the <strong>same email,</strong> for the<strong> same item,</strong> but used<strong> different credit cards.</strong></li></ol><p>But that&#8217;s not all&#8230;</p><p>Because people tend to get tricky when attempting fraudulent purchases, in order to get past basic fraud detection built into credit cards, they required the following to be caught with 100% accuracy:</p><ol><li>Email addresses with varying capitalization and decimal usage are still considered the same email address. This would mean that justindocanto@testing.com would be considered the same as J.uS.ti.N.dO.CaNto@TesTING.cOm.</li><li>Email addresses with a plus-sign &#8216;+&#8217; and any letters or numbers after it are to have the &#8216;+&#8217; and letters/numbers after it removed, as they are technically the same email address. I didn&#8217;t know this until researching it during the contest but anything after a &#8216;+&#8217; in an email address is ignored by mail servers. Apparently it&#8217;s used to add/tag data for things like sorting in marketing campaigns &amp; web apps. This would mean that the email address &#8216;justindocanto@testing.com&#8217; is the same email address as &#8216;justindocanto+876279@gmail.com&#8217;. If you Take #1 into consideration as well, this mean justindocanto@testing.com is also the same as JuStIN.Do.cAnTO+89712897.948714.8787.49817.2487@GmAiL.COM</li><li>Street Addresses are to be considered the same even if they used a variation of &#8216;Road&#8217;. (eg. &#8216;Rd.&#8217;, &#8216;RD&#8217;, &#8216;RD.&#8217;, &#8216;RoAD&#8217;, &#8216;roAD.&#8217;, etc) and the same goes with addresses containing Street or any of the standard variations of it (eg. &#8216;st&#8217;, &#8216;st.&#8217;, &#8216;St.&#8217;, etc)</li><li>Street Addresses are considered the same even if they used variations of their State&#8217;s name. (eg. CA/California, IL/Illinois or NY/New york)</li><li>Street Addresses, City &amp; State are considered the same, despite any variations in capitalization.</li></ol><p>Note: Although myself and anyone else could imagine plenty of other variations that could identify fraud, the above is all that was required to complete the challenge.</p><h3>The Code</h3><pre class="brush: php">// Get Data
$file = fopen('php://stdin', 'r');
$records = fgets($file);

// Prepare
$i = 0;
$arr = array();
$test1 = array();
$test2 = array();
$fraud = array();

// Parse
while (($line = fgets($file))) {
	$array = explode(&quot;,&quot;,$line);
	foreach($array as $k =&gt; $v) {
		// Remove irrelevant characters, extra spaces &amp; make everything lower case
		$arr[$k] = trim(preg_replace(array(&quot;/(\+.*)@/&quot;,&quot;/([^a-zA-Z0-9@\s])/&quot;,&quot;/(\s|^)(st)(\s|$)/&quot;,&quot;/(\s|^)(rd)(\s|$)/&quot;,&quot;/\s/&quot;),array(&quot;@&quot;,&quot;&quot;,&quot;street&quot;,&quot;road&quot;,&quot;&quot;),strtolower($v)));
	}

	// Change state abbreviations to full name
	if($arr[5] == &quot;il&quot;) { $arr[5] = &quot;illinois&quot;; }
	elseif($arr[5] == &quot;ca&quot;) { $arr[5] = &quot;california&quot;; }
	elseif($arr[5] == &quot;ny&quot;) { $arr[5] = &quot;newyork&quot;; }

	// Test 1 - If Deal &amp; Email same, but diff credit card. Order is fraud
	if(isset($test1[$arr[1]][$arr[2]]) &amp;&amp; !isset($test1[$arr[1]][$arr[2]][$arr[7]])) {
		$fraud[$arr[0]] = true;
		foreach($test1[$arr[1]][$arr[2]] as $key =&gt; $value) {
			$fraud[$value] = true;
		}
	}
	else {
		$fraud[$arr[0]] = false;
	}
	// Create array of all orders incase later test for same customer proves to be fraud
	if(isset($test1[$arr[1]][$arr[2]][$arr[7]])) {
		$test1[$arr[1]][$arr[2]][$arr[7].$i] = $arr[0];
	}
	else {
		$test1[$arr[1]][$arr[2]][$arr[7]] = $arr[0];
	}

	// Test 2 - If Deal &amp; Address same, but diff credit card. Order is fraud
	$address = $arr[3].$arr[4].$arr[5].$arr[6];

	if(isset($test2[$arr[1]][$address]) &amp;&amp; !isset($test2[$arr[1]][$address][$arr[7]])) {
		$fraud[$arr[0]] = true;
		foreach($test2[$arr[1]][$address] as $key =&gt; $value) {
			$fraud[$value] = true;
		}
	}
	else if (!isset($fraud[$arr[0]])) {
		$fraud[$arr[0]] = false;
	}

	// Create array of all orders incase later test for same customer proves to be fraud
	if(isset($test2[$arr[1]][$address][$arr[7]])) {
		$test2[$arr[1]][$address][$arr[7].$i] = $arr[0];
	}
	else {
		$test2[$arr[1]][$address][$arr[7]] = $arr[0];
	}

	// Prevent infinite loop
	$i++;
}

// Parse Fraudulent claims for output
foreach ($fraud as $b =&gt; $c) {
	if(isset($output) &amp;&amp; $c == true) {
		$output .= &quot;,&quot;.$b;
	}
	else if ($c) {
		$output = $b;
	}
}

// Return Output
fwrite(STDOUT, $output);</pre><h3>Sample Data</h3><p>Below is an example of what the customer data that was provided looked like. In order to keep this page from being very long, here is what 10 lines of the provided customer data looked like. Technically, it was provided in CSV format, but this is much easier to read.</p><table><tbody><tr><td>Order #</td><td>Item #</td><td>Email Address</td><td>Street Address</td><td>City</td><td>State</td><td>Zip</td><td>Credit Card #</td></tr><tr><td>1</td><td>1</td><td>joesbrowning@zmail.com</td><td>12534 Charlseton St.</td><td>San Diego</td><td>California</td><td>95560</td><td>4638757326576</td></tr><tr><td>2</td><td>2</td><td>Tsalzman@zmail.com</td><td>4716 moore st.</td><td>san diego</td><td>ca</td><td>91724</td><td>4638757826579</td></tr><tr><td>3</td><td>1</td><td>lawrence.wrigley@zmail.com</td><td>704 Fairmont Street</td><td>Independence</td><td>New York</td><td>83278</td><td>7433427265782</td></tr><tr><td>4</td><td>2</td><td>alfredjulian@zmail.com</td><td>1283 Winding St</td><td>Alexandria</td><td>Illinois</td><td>26785</td><td>8789554312441</td></tr><tr><td>5</td><td>3</td><td>wilmerwilliams@zmail.com</td><td>558 Golf Course Rd</td><td>San Diego</td><td>California</td><td>43609</td><td>1809283406572</td></tr><tr><td>6</td><td>2</td><td>MaryKMiller@zmail.com</td><td>2716 cambridge rd</td><td>Springdale</td><td>CA</td><td>60060</td><td>4929150120774</td></tr><tr><td>7</td><td>2</td><td>Tsalzman@zmail.com</td><td>4716 moore st.</td><td>san diego</td><td>ca</td><td>91940</td><td>7464756324638</td></tr><tr><td>8</td><td>1</td><td>Alfred.Julian+151@zmail.com</td><td>1283 Winding Street</td><td>Alexandria</td><td>Illinois</td><td>26785</td><td>8789554312441</td></tr><tr><td>9</td><td>3</td><td>larryporter@zmail.com</td><td>2521 Woodland Street</td><td>San Diego</td><td>California</td><td>95560</td><td>4638758726573</td></tr><tr><td>10</td><td>2</td><td>davidthompson@zmail.com</td><td>2716 Cambridge Road.</td><td>Springdale</td><td>NY</td><td>95560</td><td>1413986126579</td></tr></tbody></table><p>Based on the challenge&#8217;s requirements, Orders 2 and 7 are considered fraudulent.</p><p>Why? Because they have identical email addresses, the same item was purchased but they have completely different credit card numbers.</p><p>Orders 10 and 6 may seem fraudulent at first glance because their addresses look similar, they both purchased item #2, and have completely different credit cards and email addresses&#8230; but, in fact, the states in their address are different. Based on the criteria given for the challenge, these purchases are considered completely valid.</p><p>As you can see sorting through all this would be no easy task if you had to do it amongst 10,000 or even 1,000 transactions a day by hand. With this script, thousands of lines of customer data are compared and the fraudulent order&#8217;s order ids are returned in less than a second.</p><h3>The Rest of the &#8216;CodeSprint&#8217; Challenge</h3><p>I attempted to take on one more challenge after this, but could only solve 2/3 sets of test data on the &#8216;Newsle Clusters&#8217; challenge. Apparently it was pretty difficult, but after spending 10 hrs on that problem I remembered I had a lot of work that needed to be taken care of. I may post that code in the future, as it could be very useful for somebody, but for now this is it.</p><p>Between successfully completing this challenge and getting 2/3 on &#8216;Newsle Clusters&#8217; I placed myself in the top 250 of all the programmers in the USA. Out of thousands of registered programmers, from all over the world, I&#8217;d say that&#8217;s something to be at least a little proud of. I would be much happier being able to say TOP 50 in the world or even TOP 50 in this USA, but maybe next year.</p> ]]></content:encoded> <wfw:commentRss>http://www.justindocanto.com/blog/my-fraud-prevention-solution-for-codesprint/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Using The Golden Ratio in Website Typography</title><link>http://www.justindocanto.com/blog/using-the-golden-ratio-in-website-typography</link> <comments>http://www.justindocanto.com/blog/using-the-golden-ratio-in-website-typography#comments</comments> <pubDate>Sat, 24 Dec 2011 05:48:20 +0000</pubDate> <dc:creator>oldsite</dc:creator> <category><![CDATA[Blog]]></category><guid
isPermaLink="false">http://www.justindocanto.com/?p=237</guid> <description><![CDATA[Well, here goes my first blog&#8230; While browsing news.ycombinator.com today, I came across an amazing and in-depth article about using The Golden Ratio in website typography. Basically the article explains that if you take into consideration the width and line-heights of your lines, as well as your font-sizes, You too can make your text perfectly pleasing [...]]]></description> <content:encoded><![CDATA[<p><script type="text/javascript" src="http://www.justindocanto.com/wp-content/plugins/wordpress-code-snippet/scripts/shBrushPhp.js"></script><br
/> Well, here goes my first blog&#8230;</p><p>While browsing <a
href="http://news.ycombinator.com" target="_blank">news.ycombinator.com</a> today, I came across an amazing and in-depth article about using The Golden Ratio in website typography. Basically the article explains that if you take into consideration the width and line-heights of your lines, as well as your font-sizes, You too can make your text perfectly pleasing to the eye. Amazing concept, right?<br
/> <span
id="more-237"></span><br
/> I&#8217;ve always been intriqued by The Golden Ratio so this article hit close to home. I plan on implementing this concept on future sites, so I&#8217;ve I&#8217;ve included a &#8220;cheat sheet&#8221; graph below for reference.  Give <a
href="http://www.pearsonified.com/2011/12/golden-ratio-typography.php" target="_blank">the full article</a> a read and let me know what you think!</p><p><a
class="fancybox" href="http://new.justindocanto.com/wp-content/uploads/2011/12/line-height-vs-line-width.png"><img
class="alignleft size-large wp-image-238" title="line-height-vs-line-width" src="http://www.justindocanto.com/wp-content/uploads/2011/12/line-height-vs-line-width-680x460.png" alt="" width="680" height="460" /></a></p> ]]></content:encoded> <wfw:commentRss>http://www.justindocanto.com/blog/using-the-golden-ratio-in-website-typography/feed</wfw:commentRss> <slash:comments>3</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 3/33 queries in 0.825 seconds using disk: basic
Object Caching 1519/1581 objects using disk: basic

Served from: www.justindocanto.com @ 2012-05-21 05:40:40 -->
