<?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>Jake Bellacera</title>
	<atom:link href="http://jakebellacera.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jakebellacera.com</link>
	<description>Talk on web development &#38; design</description>
	<lastBuildDate>Wed, 08 Feb 2012 05:30:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>MobileSafari Image Resampling &#8220;Bug&#8221;</title>
		<link>http://jakebellacera.com/tips-tricks/mobilesafari-image-resampling/</link>
		<comments>http://jakebellacera.com/tips-tricks/mobilesafari-image-resampling/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 05:28:25 +0000</pubDate>
		<dc:creator>Jake</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://jakebellacera.com/?p=65</guid>
		<description><![CDATA[While working on a few projects with extremely large background images (JPG at 50%, I swear!), I had a client call me, frantically stating, &#8220;The website needs to be fixed on the iPhone.&#8221; Confused with the brief amount of info I had received, and had not done any mobile testing outside of setting a device-width, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p style="text-align: center;"><img class="aligncenter  wp-image-67" title="dunno" src="http://jakebellacera.com/wp-content/uploads/2012/02/Screen-shot-2012-02-07-at-9.25.27-PM.png" alt="" width="595" height="317" /></p>
<div>
<p>While working on a few projects with extremely large background images (JPG at 50%, I swear!), I had a client call me, frantically stating, &#8220;The website needs to be fixed on the iPhone.&#8221; Confused with the brief amount of info I had received, and had not done any mobile testing outside of setting a <code>device-width</code>, I needed to investigate. Upon loading the site, I realized that the background image was being scaled down. Not sure why exactly this was happening, I had to do some hunting through Apple&#8217;s HIGs and MobileSafari developer documentation. I found the answer as to why this phenomena was ocurring.</p>
<h2>It&#8217;s a Feature, Not a Bug</h2>
<p>iOS scales down large images on purpose. If an image exceeds 2 megapixels (2 <em>million</em> pixels), your image will be resampled to be smaller. This actually very smart in Apple&#8217;s defense, because a majority of mobile users do not need to be downloading images larger than 2MP anyways on their overpriced, capped data plans.</p>
<h2>The Problem</h2>
<p>The problem with this feature is that it occurs whenever there is a <code>UIWebView</code>. This is because it&#8217;s integrated into MobileSafari.app (iOS&#8217; stock web browser) as a whole, and MobileSafari is just a <code>UIWebView</code> with an address bar slapped on top of it. This means that apps like Facebook, AlienBlue and your favorite RSS reader are being affected. If you&#8217;re a fan of viewing webcomics or other large images with text, you&#8217;ll be extremely disappointed when the image has been resampled, rendering the text blurry.</p>
<h2>The Solution</h2>
<p>Currently, the only solution is to make sure you work with images that aren&#8217;t larger than 2MP. You shouldn&#8217;t be serving up images larger than 2MP on a mobile devices&#8217; web-browser anyways, as this will eat away at their limited cache of data.</p>
<p><em>Note: A 2MP image isn&#8217;t a file-size in bytes, it&#8217;s the physical area of the image. A 1600&#215;1200 pixel image is 1,920,000 pixels. To quickly determine the megapixel of your image, just multiply the height by the width. If it&#8217;s less than 2 million (2,000,000), you&#8217;ll be fine. If it&#8217;s more, figure out how to serve up a smaller image for iOS so it&#8217;s not being resampled. Some methods are using JavaScript or server-side code to determine that the user is on a mobile browser and to return a smaller, optimized image.</em></p>
<p>I hope this helps any developers out there who had ran into this issue and had no idea why it was happening.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://jakebellacera.com/tips-tricks/mobilesafari-image-resampling/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Build with your RVM&#8217;s Ruby in Sublime Text 2</title>
		<link>http://jakebellacera.com/tips-tricks/build-with-your-rvms-ruby-in-sublime-text-2/</link>
		<comments>http://jakebellacera.com/tips-tricks/build-with-your-rvms-ruby-in-sublime-text-2/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 08:03:05 +0000</pubDate>
		<dc:creator>Jake</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[rvm]]></category>
		<category><![CDATA[sublime text 2]]></category>

		<guid isPermaLink="false">http://jakebellacera.com/?p=28</guid>
		<description><![CDATA[Unless you&#8217;ve been living under a rock, you&#8217;ve probably heard about Sublime Text 2. This app is a cross-platform (*nix, OSX and Windows) text editor, and is a successor to the Windows-only Sublime Text. Despite it currently being in beta, Sublime has tons of features that make it a powerful text editor. One of the cool [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Unless you&#8217;ve been living under a rock, you&#8217;ve probably heard about <a title="Sublime Text 2" href="http://sublimetext.com/2">Sublime Text 2</a>. This app is a cross-platform (*nix, OSX and Windows) text editor, and is a successor to the Windows-only Sublime Text. Despite it currently being in beta, Sublime has tons of features that make it a powerful text editor.</p>
<p>One of the cool features in Sublime is the build function (TextMate has this as well). You can write a ruby script and then run it within the text editor. The result will print out in Sublime&#8217;s console. This can be handy for testing a script, or just fun to play with. You can also require files and run an entire application with it.</p>
<p>Another cool app for all of the rubyists out there is <a href="http://beginrescueend.com/">rvm</a>. It&#8217;s a ruby version manager, giving you the ability to &#8220;hot swap&#8221; between different ruby installs. So if you have an app that requires 1.8, but you have 1.9.2, you can just type in rvm use 1.8 and your terminal session will switch to using 1.8. You can also manage multiple gemsets, helping keep things in order and nice and separate.</p>
<p>When I work with rvm, I like to set my default ruby to a version that I use all the time. In this case it&#8217;s 1.9.2. I only need to swap generally in special cases. The <code>--default</code> is great, but the problem with RVM is that it is loaded into your console via your profile. When Sublime runs it&#8217;s build script, it doesn&#8217;t look for your <code>~/.bash_profile</code>, instead it loads your PATH&#8217;s ruby instead (in this case, /usr/bin/ruby).</p>
<h2>The Problem</h2>
<p>I want to get Sublime to load RVM before it runs ruby.</p>
<h2>The Solution</h2>
<p><em>Thanks to <a href="/tips-tricks/build-with-your-rvms-ruby-in-sublime-text-2/#comment-5">Robert</a>, this post has been updated with a simpler solution. This should be compatible with Linux users.</em></p>
<h3>Edit your build function</h3>
<p>Navigate to your Sublime Packages folder, go to the Ruby folder and find the Ruby.sublime-build file. Edit it so that it is like this:</p><pre class="crayon-plain-tag"><code>{
	&quot;cmd&quot;: [&quot;HOME_DIRECTORY/.rvm/bin/rvm-auto-ruby&quot;, &quot;$file&quot;],
	&quot;file_regex&quot;: &quot;^(...*?):([0-9]*):?([0-9]*)&quot;,
	&quot;selector&quot;: &quot;source.ruby&quot;
}</code></pre><p>
<em>Note: you must specify the absolute path to your home folder. <code>~</code> does not work in this case.</em></p>
<p>If you&#8217;ve done everything right, you should be able to build your Ruby files now in your rvm&#8217;s default ruby.</p>
<h3>BONUS: Use .rvmrc</h3>
<p>When you run <code>rvm-auto-ruby</code> instead of <code>ruby</code>, rvm will use your &#8211;default ruby/gemset combo. It will also check for any .rvmrc files and use the ruby/gem combo specified in that file. If you require using a separate ruby/gemset combo from your default (e.g. jruby) you can add this to your projects&#8217; root folder. The rvm official site provides <a href="https://rvm.beginrescueend.com/workflow/rvmrc/">excellent documentation</a> on this feature and how to use it.</p>
]]></content:encoded>
			<wfw:commentRss>http://jakebellacera.com/tips-tricks/build-with-your-rvms-ruby-in-sublime-text-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Managing Multiple Sync Accounts With Google Chrome</title>
		<link>http://jakebellacera.com/tips-tricks/managing-multiple-sync-accounts-with-google-chrome/</link>
		<comments>http://jakebellacera.com/tips-tricks/managing-multiple-sync-accounts-with-google-chrome/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 18:17:17 +0000</pubDate>
		<dc:creator>Jake</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://jakebellacera.com/?p=5</guid>
		<description><![CDATA[Since the beginning of time, developers always had the issue of migrating their workflow from work to home. Having a laptop has relieved this issue, but for many of us who use multiple computers, it remains a minor discrepancy in the steaming pile of problems. Working from home isn’t a burden we’d ever want to [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://jakebellacera.com/wp-content/uploads/2012/01/tumblr_lwxt4vuMit1qa9jxa.png"><img class="aligncenter size-full wp-image-7" title="tumblr_lwxt4vuMit1qa9jxa" src="http://jakebellacera.com/wp-content/uploads/2012/01/tumblr_lwxt4vuMit1qa9jxa.png" alt="" width="500" height="400" /></a></p>
<p>Since the beginning of time, developers always had the issue of migrating their workflow from work to home. Having a laptop has relieved this issue, but for many of us who use multiple computers, it remains a minor discrepancy in the steaming pile of problems. Working from home isn’t a burden we’d ever want to take, but our environment was always decentralized amongst different locations. One computer has one setup, the other has another. It was never perfect, but fortunately solutions lay on the horizon.</p>
<p>There has been much effort put towards decentralizing our workflow, making one place the exact same instance as the next. Google’s ChromeOS is a perfect, if simple, example a centralized computing experience. You log off one computer, and log on another and your “session” is intact. This is because your session is stored within the cloud. It requires an active internet connection to use this feature, but for a majority of the situations that you use a cloud-based operating system for, it works.</p>
<p>Google’s ChromeOS is an operating system based on Google’s Chrome browser, and it fits nicely with Google’s ideology: to keep your information in one place. Google Chrome itself, has a smaller, much more adaptive instance of this idea and it’s embedded into Google’s Sync feature inside Google Chrome.</p>
<p>Google Chrome’s Sign In feature allows you to log in with your Google Account and sync your preferences, bookmarks, extensions, and even history within your browser amongst other computers that have signed in to your Google Account. This data is encrypted, and can be salted with your own unique password (it’s optional, but highly recommended if you’re scared of data thieves). This is a nice feature, but nothing new to the table with Firefox’s Sync and Opera’s Link features. Still, it’s a useful feature and is one of the first things I do when I set up my computer.</p>
<div id="attachment_6" class="wp-caption aligncenter" style="width: 500px">
	<a href="http://jakebellacera.com/wp-content/uploads/2012/01/tumblr_lwxt4mIjS11qa9jxa.png"><img class=" wp-image-6 " title="tumblr_lwxt4mIjS11qa9jxa" src="http://jakebellacera.com/wp-content/uploads/2012/01/tumblr_lwxt4mIjS11qa9jxa.png" alt="" width="500" height="236" /></a>
	<p class="wp-caption-text">Switching between profiles is a two-click process.</p>
</div>
<p>What is new and exciting to Google Chrome is the Profiles feature. This feature allows you to quickly switch between one “browser profile” to the next, and in a nutshell it builds on top of the Google Chrome Sign In feature. A profile (can be) a Google Account that has been signed into your computer. Each profile is, essentially, it’s own instance of Google Chrome. Everything is separate between each profile: bookmarks, themes, extensions, preferences, history, passwords, and so on. You can also sign in to a different Google Account on each profile, so if you have Gmail and your work has Google Apps, you’re just a two-step process away from separating work with play.</p>
<h3>Cool, but how does this improve my workflow? I need an example.</h3>
<p>Before this update, I was forced into a merged home/work browser-hell involving Facebook and Reddit bookmarks next to Harvest and Basecamp. While it’s cool to have all of your links up there and ready to go, for people like me, this is a gigantic distraction. Typically, while at work, I tend to open Reddit while a page refresh takes forever. It’s up to you to judge, but in my opinion, it breaks my train of thought.</p>
<p>Basically, it can keep you from working when you don’t need to. Keep your NFL and Facebook extensions on the play-side, and keep your Web Developer and Firebug extensions on the work-side.</p>
<p>Just a tip, thought I’d share. I find it to be an incredibly useful feature for keeping myself focused as the Internet can get extremely distracting.</p>
<p style="text-align: center;">* * *</p>
<p><strong>TL;DR:</strong> Google Chrome’s Sign In feature provides a simple and reliable way to keep your data in one spot amongst multiple computers by using your Google Account. Google Chrome’s multi-user Profiles feature allows you to keep multiple Google Accounts synced and provides a quick and simple way to switch between them, thus alleviating workflow constraints caused by only having one single account for multiple workflows.</p>
<p>More info about Google’s Sign In feature <a href="http://support.google.com/chrome/bin/answer.py?hl=en&amp;answer=165139&amp;topic=1693469&amp;ctx=topic">here</a>.</p>
<p>More info about Google’s Profile feature <a href="http://support.google.com/chrome/bin/answer.py?hl=en&amp;answer=2364824">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jakebellacera.com/tips-tricks/managing-multiple-sync-accounts-with-google-chrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

