<?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>Eric Muyser</title>
	<atom:link href="http://ericmuyser.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ericmuyser.com</link>
	<description>Programmable Life</description>
	<lastBuildDate>Sun, 12 May 2013 12:12:08 +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>In Japan, some observations</title>
		<link>http://ericmuyser.com/in-japan/</link>
		<comments>http://ericmuyser.com/in-japan/#comments</comments>
		<pubDate>Thu, 02 May 2013 15:15:38 +0000</pubDate>
		<dc:creator>Eric Muyser</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://ericmuyser.com/?p=1387</guid>
		<description><![CDATA[I moved here in November, 2012. Some things I&#8217;ve noticed.. The lights don&#8217;t come on after a movie in the theatre until after the credits and half of the people wait to get up and leave. Employees will sometimes randomly go outside of their store and start bowing to everyone and the passing cars. At [...]]]></description>
			<content:encoded><![CDATA[<p>I moved here in November, 2012. Some things I&#8217;ve noticed..</p>
<ul>
<li>The lights don&#8217;t come on after a movie in the theatre until after the credits and half of the people wait to get up and leave.</li>
<li>Employees will sometimes randomly go outside of their store and start bowing to everyone and the passing cars.</li>
<li>At clothing stores, it&#8217;s custom for the cashier to walk you to the door carrying your bag.</li>
<li>They pronounce Nike, nee-kay.</li>
<li>At any time, there&#8217;s a good chunk of the population gambling at slot machines. They have 3-10 of these gambling facilities in even very small cities.</li>
<li>They play a peaceful tone at 8am, 12pm and a peaceful song at 5pm.</li>
<li>Air conditioners also function as heaters and are very common.</li>
<li>Mitsubishi makes air conditioners.</li>
<li>They eat chicken wings and fries with chopsticks.</li>
<li>Chopsticks should face left.</li>
<li>Never try to cooperate with chopsticks. It&#8217;s considered rude.</li>
<li>They advertise porn magazines right in the window of some convenience stores.</li>
<li>The pizza is truly horrible. Primarily due to low quality, soft cheddar and mozzarella cheese. Secondly because they put all sorts of weird ingredients on it. Corn, potatoes, broccoli, pretty much anything. Not a thin sliced sausage, but a bunch of huge ass sausages. I didn&#8217;t order a hotdog, I ordered a pizza.</li>
<li>Japanese people need rice with most meat. Potatoes are not a substitute.</li>
<li>Japanese people seem concerned with freshness. When you open up a pack of cookies or snacks, usually each one is wrapped in its own plastic wrapper (individually wrapped).</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ericmuyser.com/in-japan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fix: Missing Phusion Passenger Dependencies</title>
		<link>http://ericmuyser.com/fix-missing-phusion-passenger-dependencies/</link>
		<comments>http://ericmuyser.com/fix-missing-phusion-passenger-dependencies/#comments</comments>
		<pubDate>Wed, 23 Jan 2013 16:05:59 +0000</pubDate>
		<dc:creator>Eric Muyser</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Phusion Passenger]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://ericmuyser.com/?p=1316</guid>
		<description><![CDATA[If you are trying to install Phusion Passenger on Ubuntu and `passenger-install-apache2-module` is reporting You need to run this: If it&#8217;s reporting this: Run this:]]></description>
			<content:encoded><![CDATA[<p>If you are trying to install Phusion Passenger on Ubuntu and `passenger-install-apache2-module` is reporting</p>
<div class="well"></p>
<p>* Apache 2 development headers&#8230; not found<br />
* Apache Portable Runtime (APR) development headers&#8230; not found<br />
* Apache Portable Runtime Utility (APU) development headers&#8230; not found</p>
<p></div>
<p>You need to run this:</p>
<pre class="prettyprint linenums"></p>
<p>sudo apt-get install apache2-dev</p>
<p></pre>
<p>If it&#8217;s reporting this:</p>
<div class="well"></p>
<p>Curl development headers with SSL support&#8230; not found</p>
<p></div>
<p>Run this:</p>
<pre class="prettyprint linenums"></p>
<p>sudo apt-get install libcurl4-openssl-dev</p>
<p></pre>
]]></content:encoded>
			<wfw:commentRss>http://ericmuyser.com/fix-missing-phusion-passenger-dependencies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Citrus Engine: Tips and Tricks</title>
		<link>http://ericmuyser.com/citrus-engine-tips-and-tricks/</link>
		<comments>http://ericmuyser.com/citrus-engine-tips-and-tricks/#comments</comments>
		<pubDate>Tue, 22 Jan 2013 08:12:21 +0000</pubDate>
		<dc:creator>Eric Muyser</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Citrus Engine]]></category>
		<category><![CDATA[Gamedev]]></category>
		<category><![CDATA[Nape]]></category>

		<guid isPermaLink="false">http://ericmuyser.com/?p=1297</guid>
		<description><![CDATA[I&#8217;ve begun using the Citrus Engine with Starling, Feathers UI and Nape Physics. I will keep this up to date with tips I encounter. 01.22.2013 &#8211; Making the camera follow the object responsively, with no delay. Set the fourth parameter, the easing, of the setupCamera call as `new Vector(1, 1)`. eg.view.setupCamera(this.player, new MathVector(stage.stageWidth / 2, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve begun using the <a href="http://www.google.ca/url?sa=t&amp;rct=j&amp;q=citrus%20engine&amp;source=web&amp;cd=1&amp;cad=rja&amp;ved=0CDIQFjAA&amp;url=http%3A%2F%2Fcitrusengine.com%2F&amp;ei=pWMFUeHyENCfkgWauoAY&amp;usg=AFQjCNErp0WFoiR77rY2L1F_3eiaVJakCg&amp;bvm=bv.41524429,d.dGI">Citrus Engine</a> with <a href="http://gamua.com/starling/">Starling</a>, <a href="http://feathersui.com/">Feathers UI</a> and <a href="http://napephys.com/">Nape Physics</a>. I will keep this up to date with tips I encounter.</p>
<ol>
<li><strong>01.22.2013</strong> &#8211; Making the camera follow the object responsively, with no delay. Set the fourth parameter, the easing, of the setupCamera call as `new Vector(1, 1)`. eg.view.setupCamera(this.player, new MathVector(stage.stageWidth / 2, stage.stageHeight / 2), new Rectangle(0, 0, 10000000, 10000000), new MathVector(1, 1));</li>
<li><strong>01.27.2013</strong> &#8211; Scrolling a starling.controls.ScrollText to the bottom:myTextField.verticalScrollPosition = myTextField.maxVerticalScrollPosition;</li>
<li>Coming soon&#8230;</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://ericmuyser.com/citrus-engine-tips-and-tricks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My First Hackathon: Lessons Learned</title>
		<link>http://ericmuyser.com/my-first-hackathon-lessons-learned/</link>
		<comments>http://ericmuyser.com/my-first-hackathon-lessons-learned/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 20:46:42 +0000</pubDate>
		<dc:creator>Eric Muyser</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Hackathon]]></category>

		<guid isPermaLink="false">http://ericmuyser.com/?p=999</guid>
		<description><![CDATA[I learned a lot at my first hackathon, HackVAN. I gained some experience with the APIs presented, checked out some nice apps, met some cool people,  learned a bit of Ruby on Rails. Overall it was a great experience. If you want to check out the results, they are here. If you&#8217;re near Toronto on [...]]]></description>
			<content:encoded><![CDATA[<p>I learned a lot at my first hackathon, <a href="http://hackdays.ca/">HackVAN</a>. I gained some experience with the APIs presented, checked out some nice apps, met some cool people,  learned a bit of Ruby on Rails. Overall it was a great experience. If you want to check out the results, <a href="http://hackdays.ca/2012/03/hackvan-2012-winners/">they are here</a>. If you&#8217;re near Toronto on April 14th, you should catch the next one. <img src='http://ericmuyser.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>If my team reads this, no offense, I&#8217;m just trying to clear my thoughts. Perhaps somebody will drop by and clear up any misconceptions on my part. The lessons are specific to my experiences and observations; perhaps arbitrary, but it&#8217;s my blog. <img src='http://ericmuyser.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<p><strong>Random quote from the API presentations:<br />
</strong></p>
<p><strong>Dev,</strong> <em>&#8220;I was wondering if the judges will be able to test the app on iPhone and Android?&#8221;</em><br />
<strong>Host,</strong> <em>&#8220;I think you forgot one. Windows phones?&#8221; &lt;looks at Microsoft rep/judge&gt;</em><br />
<strong>Dev,</strong> <em>&#8220;I really, really didn&#8217;t.&#8221;</em></p>
<h3></h3>
<p>&nbsp;</p>
<h3>The APIs</h3>
<ul>
<li><a href="http://www.yellowapi.com/"><strong>YellowAPI</strong></a> &#8211; Turned out to be much more awesome than expected. There&#8217;s a lot of potential in this one, as we saw in the presentations.<strong></strong></li>
<li><a href="http://tineye.com/"><strong>TinEye</strong></a> &#8211; Probably one of the most obviously impressive to use. You&#8217;re analyzing images for patterns and providing relational/contextual results. It just sounds cool.<strong></strong></li>
<li><a href="http://hootsuite.com/apis/engagement"><strong>HootSuite</strong></a> &#8211; Their <em>upcoming</em> Engagement API is nice and simple.<strong></strong></li>
<li><a href="http://shopify.com/"><strong>Shopify</strong></a> &#8211; An elegant API. You can control nearly everything. In fact, they have a Ruby gem to setup an API operated store.</li>
<li><a href="http://www.iqmetrix.com/"><strong>iQmetrix</strong></a> &#8211; Went unnoticed. No one took the challenge to do a mashup. (That I recall).</li>
<li><a href="http://www.freshbooks.com/"><strong>FreshBooks</strong></a> &#8211; Seemingly difficult to innovate, but there was a nice Dropbox-based automatic invoice synchronization solution.<strong></strong></li>
<li><a href="http://www.twilio.com/"><strong>Twilio</strong></a> &#8211; An obvious choice. What they do is unique, powerful, fun, and easy to show off.</li>
<li><a href="http://docs.phonegap.com/"><strong>PhoneGap</strong></a> &#8211; More than a few teams had the chance to utilize their web skills for their mobile ideas.</li>
</ul>
<p>&nbsp;</p>
<h3>The Lessons</h3>
<ul>
<li>If your team cannot work on different features in parallel, then it should be all hands on deck. Everybody should be working on getting the ball rolling. At that point everybody can switch to the stable version and move any contributions. Don&#8217;t wait for the &#8216;app guy&#8217; to get something up because your features rely upon it. Just roll your own app and get <em>something</em> working. Don&#8217;t sit, research and plan features which may not end up getting in before the presentations.</li>
<li>If things aren&#8217;t working out: take a step back, don&#8217;t fall down the rabbit hole. Perhaps the course of action should be changed. Re-evaluate.</li>
<li>Presentations are important. Think about how you will present your project, with a focus on the question: <strong><em>&#8220;what problem does it solve?&#8221;</em></strong> If you can throw in some fancy slide shows, diagrams, graphs, or other illustrations: those go over well.</li>
<li>Never blame the API in your presentation. This is especially true when you&#8217;re presenting after people who have already shown great success using it.</li>
<li>Don&#8217;t underestimate the competition. One of my teammates was a bit overly confident. A lot of them may be younger, or less experienced, but there&#8217;s still big talent in the room. On top of that, there&#8217;s always the &#8220;X&#8221; factor.</li>
<li>Don&#8217;t convert an existing web app to use as boilerplate. I understand the appeal of being able to quickly launch your favorite environment, but it could cause more harm than good. If you have a teammate who is attempting to do this and it&#8217;s not working out, take a step back and consider writing it from scratch. Especially if it&#8217;s something like Rails, that seems fairly easy to get running (<code>rails new</code> + <code>rails generate</code> and get started).</li>
<li>Do what you know best. That may mean putting yourself and your skills out there to find a team where you can be useful. In my case, I only knew a couple Rubyists from our local meetup, but I didn&#8217;t know Ruby, Rails, or Heroku yet. Our app had no frontend UI, and was a Rails service using Heroku. But wait, I didn&#8217;t know Rails or have used Heroku. I do however have a lot of backend LAMP/Node.js, and frontend UI experience. How useful was I on the team? Not very. I should have sought out a team where I could contribute more.</li>
<li>Don&#8217;t rely upon gems. Gems are only nice if they are documented and implement proper error handling. Some don&#8217;t have one or the other, and can be a major hassle. Considering in a hackathon you may only need 1 or 2 features, such as a sending an SMS with Twilio, you don&#8217;t even need a gem/library. Just whip out cURL. In our case we had issues with the unofficial &#8216;twilio&#8217; gem before using the official &#8216;twilio-ruby&#8217; gem. HootSuite&#8217;s new Engagement API doesn&#8217;t have a gem yet. In reality, it was 10 simple lines of cURL to do what we needed. Copy/paste, change the endpoint/params, and you&#8217;re good to go for more.</li>
<li>You probably don&#8217;t need persistency. You&#8217;re trying to get <strong>an idea</strong> up and running. You don&#8217;t need to worry about your scalable CouchDB network right now. You can probably get away with raw arrays, but if you can get something like ActiveRecord working easily, go for it. You can scale it later, when it&#8217;s the next Twitter. <img src='http://ericmuyser.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>Try not to change your project goals at the quarter or half-way mark. It&#8217;s hackathon suicide. A finished product is more important than <em>something that <strong>could have</strong> been cool</em>. Even if it&#8217;s not as cool as <em>that idea you just had</em>, you can polish it off. Judging did include the polished feel of the <strong>product</strong>.</li>
<li>Don&#8217;t go to a hackathon and port over an app you already had working with some other API, or similar. The judges will see right through it.</li>
<li>Try not to distract your teammates. If you&#8217;ve chosen a project: stick with it. Write down all your other cool ideas and bring them up at the next hackathon, or blog about them. Your time should be spent working on your agreed upon project, not thinking up and discussing new ones.</li>
<li>Don&#8217;t drink the free beer at a competition and expect to win. Unless it&#8217;s a drinking competition. I think this one is obvious. I have yet to see the mystical <a href="http://xkcd.com/323/">Balmer Peak</a> in real life.</li>
<li>Don&#8217;t team up with people who have the same name, if you can help it, haha. <img src='http://ericmuyser.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  I was teamed up with James and James. Nevertheless, it was confusing or just distracting at times.</li>
<li>Try not to blame or insult your teammates. Again, obvious. You&#8217;re there to have fun, learn cool technology, and meet people. Playing the blame game only pisses people off. If you find any flaws in your team&#8217;s execution, blog about it afterwards. <em>(Ahem).</em></li>
<li>Don&#8217;t miss out on the free swag. Big thanks to Yellow Pages and Shopify for the awesome shirts, and Twilio for the stickers!</li>
<li>Don&#8217;t eat yellow snow.</li>
</ul>
<p>Hopefully the next hackathon I attend will be just as interesting. <img src='http://ericmuyser.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>On to the next!</p>
]]></content:encoded>
			<wfw:commentRss>http://ericmuyser.com/my-first-hackathon-lessons-learned/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Library: Moar for LESS (CSS)</title>
		<link>http://ericmuyser.com/less-is-moar/</link>
		<comments>http://ericmuyser.com/less-is-moar/#comments</comments>
		<pubDate>Sun, 09 Oct 2011 06:34:42 +0000</pubDate>
		<dc:creator>Eric Muyser</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[LESS]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://em/?p=838</guid>
		<description><![CDATA[Moar is a LESS framework that was created to make slicing different types of websites and applications smoother. Get MOAR for LESS out of your CSS! Moar is a LESS framework that was created to make slicing different types of websites and applications smoother. Get MOAR for LESS out of your CSS! &#160; You can [...]]]></description>
			<content:encoded><![CDATA[<p>Moar is a LESS framework that was created to make slicing different types of websites and applications smoother. Get MOAR for LESS out of your CSS!</p>
<p><span id="more-838"></span></p>
<p>Moar is a LESS framework that was created to make slicing different types of websites and applications smoother. Get MOAR for LESS out of your CSS!</p>
<p>&nbsp;</p>
<p>You can find it in use here:</p>
<ul>
<li><a href="http://demo.lemonstandapp.com/fresh/">Fresh Demo for LemonStand</a></li>
<li><a href="/jquery-ui-theme-cocoa/">Cocoa theme for jQuery</a></li>
</ul>
<p><strong>Links</strong></p>
<ul>
<li><a href="https://github.com/ericmuyser/moar/zipball/master">Download</a></li>
<li><a href="https://github.com/ericmuyser/moar">Source &amp; Documentation</a></li>
<li><a href="https://github.com/ericmuyser/moar/issues">Having issues?</a></li>
</ul>
<p>&nbsp;</p>
<p><strong>Note (03/20/2012):</strong> For the most part I use <a href="http://twitter.github.com/bootstrap/">Bootstrap by Twitter</a> these days. Some of MOAR is still helpful (and lightweight) but not necessary if using Bootstrap.</p>
]]></content:encoded>
			<wfw:commentRss>http://ericmuyser.com/less-is-moar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Theme: Cocoa for jQuery UI</title>
		<link>http://ericmuyser.com/jquery-ui-theme-cocoa/</link>
		<comments>http://ericmuyser.com/jquery-ui-theme-cocoa/#comments</comments>
		<pubDate>Sun, 09 Oct 2011 06:28:22 +0000</pubDate>
		<dc:creator>Eric Muyser</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery UI]]></category>
		<category><![CDATA[LESS]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://em/?p=824</guid>
		<description><![CDATA[Cocoa-style theme for jQuery UI. Cocoa-style theme for jQuery UI. Links Demo Download Source &#38; Documentation Having issues? &#160; A little backstory to how this project came about. When I began development for some Titanium apps a few months back, I weighed the possible UI options. If you&#8217;re not familiar, Appcelerator is an cross-platform application which runs [...]]]></description>
			<content:encoded><![CDATA[<p>Cocoa-style theme for jQuery UI.</p>
<p><span id="more-824"></span></p>
<p>Cocoa-style theme for jQuery UI.</p>
<p><strong>Links</strong></p>
<ul>
<li><a href="http://ericmuyser.github.com/jquery-ui-theme-cocoa/demo/">Demo</a></li>
<li><a href="https://github.com/ericmuyser/jquery-ui-theme-cocoa/zipball/master">Download</a></li>
<li><a href="https://github.com/ericmuyser/jquery-ui-theme-cocoa">Source &amp; Documentation</a></li>
<li><a href="https://github.com/ericmuyser/jquery-ui-theme-cocoa/issues">Having issues?</a></li>
</ul>
<p>&nbsp;</p>
<address><img src="https://a248.e.akamai.net/assets.github.com/img/a66f773d9e83250628d8a26483bcb3c230f7a315/687474703a2f2f646c2e64726f70626f782e636f6d2f752f31383334333230392f62616b65722e6a7067" alt="" width="959" height="642" /></address>
<p>A little backstory to how this project came about. When I began development for some Titanium apps a few months back, I weighed the possible UI options. If you&#8217;re not familiar, Appcelerator is an cross-platform application which runs your web coding as a native app on your operating system. You create Appcelerator apps using Titanium Studio. In my case, it&#8217;s essentially running my HTML/CSS/JavaScript in a WebKit frame. That meant I would need to choose 1) a CSS framework (I created my own LESS framework: <a href="https://github.com/ericmuyser/moar">moar</a>), a JavaScript framework (I created my own Node.js framework of sorts: <a href="https://github.com/ericmuyser/node-std">node-std</a> that&#8217;s cross-compatible both on the server and client side, thanks to <a href="https://github.com/substack/node-browserify">node-browserify</a>), and a JavaScript UI framework to lay on top of it. Being that I was using my own JS framework, I wanted something I could simply drop in and <strong>just work</strong>.</p>
<p>I explored Sproutcore, Cappuccino, and the like, but personally found them to be too much overhead for what I needed. I was fairly familiar with jQuery UI, but found creating the theme to be slightly tedious due to the raw unstructured CSS. I immediately converted the core CSS to LESS (<a href="https://github.com/ericmuyser/jquery-ui-less-theme">jquery-ui-less-theme</a> on GitHub), clearing up some of the bloat. Although it is developed in LESS, it is compiled down into raw CSS and perfectly usable in that state.</p>
<p>Having used Mac OS X for a year now, I&#8217;ve become quite fond of the native Cocoa UI. If you go through the official jQuery UI themes, almost none of them would be suitable as a base for a Mac-style theme, but I remembered having seen <a href="https://github.com/taitems/Aristo-jQuery-UI-Theme">Aristo</a> by Tait Brown, which was an excellent theme to start with.</p>
<p>&nbsp;</p>
<p>For those that have been paying attention, you&#8217;ll notice the breakdown:</p>
<ul>
<li>Titanium app that uses jquery-ui-theme-cocoa</li>
<li>jquery-ui-theme-cocoa uses jquery-ui-less-theme and moar</li>
</ul>
<p>&nbsp;</p>
<p>I&#8217;m continuing to use this theme in some currently unreleased apps, and so expect to continue to see improvements as time goes on. If you have any comments, suggestions, please let me know below. Thank you.</p>
<p>&nbsp;</p>
<p>More of my jQuery work can be <a href="/work/jquery">found here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ericmuyser.com/jquery-ui-theme-cocoa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tip: Getting error &#8220;unrecognized selector sent to instance&#8221;?</title>
		<link>http://ericmuyser.com/tip-getting-error-unrecognized-selector-sent-to-instance/</link>
		<comments>http://ericmuyser.com/tip-getting-error-unrecognized-selector-sent-to-instance/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 06:28:25 +0000</pubDate>
		<dc:creator>Eric Muyser</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Titanium]]></category>

		<guid isPermaLink="false">http://em/?p=825</guid>
		<description><![CDATA[So you are developing an Titanium app, and you&#8217;ve across this mysterious error. At least, that&#8217;s what I&#8217;m assuming as you&#8217;ve come across this post. From what I can tell, it tends to be predominant on iPhone/iPod. I&#8217;m not sure if my solution relates to that, being that I&#8217;m developing for the desktop. So you [...]]]></description>
			<content:encoded><![CDATA[<p>So you are developing an Titanium app, and you&#8217;ve across this mysterious error. At least, that&#8217;s what I&#8217;m assuming as you&#8217;ve come across this post. From what I can tell, it tends to be predominant on iPhone/iPod. I&#8217;m not sure if my solution relates to that, being that I&#8217;m developing for the desktop.</p>
<p><span id="more-825"></span></p>
<p>So you are developing an Titanium app, and you&#8217;ve across this mysterious error. At least, that&#8217;s what I&#8217;m assuming as you&#8217;ve come across this post. From what I can tell, it tends to be predominant on iPhone/iPod. I&#8217;m not sure if my solution relates to that, being that I&#8217;m developing for the desktop.</p>
<p>&nbsp;</p>
<p>Basically, this error will occur when something has gone horribly wrong on the Cocoa side, which in the case of Titanium is out of our control. We can however stop it from showing its ugly face. For me, the major cause has been Flash related content. If I try to load a JS library such as SWFobject into my page, it will crash my app. Why? Well, let&#8217;s just say I&#8217;m running Snow Leopard without hardware accelerated graphics right now, which means Flash Player 10 instantly falls on its face. I can <strong>kind of</strong> understand that from the error pointing me to OpenGL, but <strong>not really</strong>.</p>
<p>&nbsp;</p>
<p>For Google, the exact error I&#8217;ve received (which varies):</p>
<p><strong>2011-06-21 21:01:38.373 utelevision[79434:b07] *** WebKit discarding exception: &lt;NSInvalidArgumentException&gt; -[FP_FPCAOpenGLLayer setBuffer:]: unrecognized selector sent to instance 0x2c8fd0</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://ericmuyser.com/tip-getting-error-unrecognized-selector-sent-to-instance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tip: Fix Screen Tearing in Vindictus</title>
		<link>http://ericmuyser.com/screen-tearing-in-vindictus/</link>
		<comments>http://ericmuyser.com/screen-tearing-in-vindictus/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 06:28:16 +0000</pubDate>
		<dc:creator>Eric Muyser</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Vindictus]]></category>

		<guid isPermaLink="false">http://em/?p=822</guid>
		<description><![CDATA[Incase anyone out there encountered this issue: Vindictus is running in windowed mode w/ no border, causing monitor tearing. Incase anyone out there encountered this issue: Vindictus is running in windowed mode w/ no border. With my monitor, the Dell UltraSharp U2311H (E-IPS), that resulted in extreme horizontal tearing. In order to fix it you [...]]]></description>
			<content:encoded><![CDATA[<p>Incase anyone out there encountered this issue: Vindictus is running in windowed mode w/ no border, causing monitor tearing.</p>
<p><span id="more-822"></span></p>
<p>Incase anyone out there encountered this issue: Vindictus is running in windowed mode w/ no border. With my monitor, the Dell UltraSharp U2311H (E-IPS), that resulted in extreme horizontal tearing. In order to fix it you need to manually override the &#8220;default&#8221; settings in your Graphic Options to use fullscreen. However, and this may explain why they are doing that, that caused the Auction House and all other inline iframe-like areas to glitch initially. It appears what they are doing to embed inline websites (probably webkit too) into the game is causing an issue in fullscreen, and it&#8217;s either causing a glitch or temporarily switching to windowed mode when you initiate the AH, etc.</p>
<p>&nbsp;</p>
<p>Interesting, anyway, happy gaming!</p>
]]></content:encoded>
			<wfw:commentRss>http://ericmuyser.com/screen-tearing-in-vindictus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting started with Nginx, PHP5, and MySQL</title>
		<link>http://ericmuyser.com/getting-started-with-nginx-php5-and-mysql/</link>
		<comments>http://ericmuyser.com/getting-started-with-nginx-php5-and-mysql/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 06:15:35 +0000</pubDate>
		<dc:creator>Eric Muyser</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[LemonStand]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Sysadmin]]></category>

		<guid isPermaLink="false">http://em/?p=818</guid>
		<description><![CDATA[Today I&#8217;m going to run down the steps from start to finish to successfully install and run your PHP applications on LAMP. My host of choice is Rackspace Cloud Servers. My OS of choice is a Debian VPS.  We&#8217;ll be using Nginx, PHP5, and MySQL. This should run web apps (with possible bugs) such as [...]]]></description>
			<content:encoded><![CDATA[<p>Today I&#8217;m going to run down the steps from start to finish to successfully install and run your PHP applications on LAMP. My host of choice is Rackspace Cloud Servers. My OS of choice is a Debian VPS.  We&#8217;ll be using Nginx, PHP5, and MySQL. This should run web apps (with possible bugs) such as WordPress, LemonStand, Joomla, etc.</p>
<p><span id="more-818"></span></p>
<p>Today I&#8217;m going to do a quick run down from start to finish successfully installing and running PHP applications on LAMP. We&#8217;ll be using Nginx, PHP5, and MySQL. My OS of choice is a Debian VPS; your experience may be differ on other distros. My host of choice is Rackspace Cloud Servers. By the end, we should be able to run web apps such as WordPress, LemonStand, Joomla, etc.</p>
<p>&nbsp;</p>
<p>First, we need to create our VPS. That is extremely easy on Rackspace, Linode, etc. Simply log into your backend UI and create a new server. You should be given or mailed credentials.</p>
<p>&nbsp;</p>
<p>You will need to point a DNS <strong>A record</strong> to the provided IP address.</p>
<p>&nbsp;</p>
<p>Next, we need to SSH into our box (or use a provided backend console). So we open up our command-line Console. I will assume you are using root, if not, you will need to <strong>sudo</strong> or <strong>su</strong> before each command.</p>
<p>&nbsp;</p>
<p>Run this command: <strong>ssh myusername@mydomain.com</strong> and login.</p>
<p>&nbsp;</p>
<p>Currently, the offered Debian version is Lenny (with Squeeze coming soon I imagine). So, in order to simplify things, we&#8217;re actually going to upgrade to Squeeze.</p>
<p>&nbsp;</p>
<p>When I mention to edit a file, you can do so simply like this in command-line: <strong>nano /path/to/file/name.ext</strong></p>
<p>If you use <strong>nano</strong>, then simply use <strong>ctrl+o</strong> to save and <strong>ctrl+x</strong> to exit.</p>
<p>&nbsp;</p>
<p>First, open<strong> nano /etc/apt/sources.list</strong> in your favorite editor (vi, nano, etc), change instances of <em>lenny</em> to <em>squeeze</em>, and add dotdeb&#8217;s repositories, like this:</p>
<p>&nbsp;</p>
<pre class="prettyprint linenums">deb http://http.us.debian.org/debian/ squeeze main contrib non-free<br />
deb-src http://http.us.debian.org/debian/ squeeze main contrib non-free<br />
deb http://security.debian.org/ squeeze/updates main contrib<br />
deb-src http://security.debian.org/ squeeze/updates main contrib<br />
deb http://php53.dotdeb.org stable all<br />
deb http://packages.dotdeb.org stable all<br />
deb-src http://php53.dotdeb.org stable all<br />
deb-src http://packages.dotdeb.org stable all</pre>
<p>&nbsp;</p>
<p>Then run this command: <strong>apt-get update</strong></p>
<p>&nbsp;</p>
<p>Did you get a GPG error? Check the key after the NO_PUBKEY and run this command:</p>
<p><strong>gpg &#8211;keyserver keys.gnupg.net &#8211;recv-key PASTE_HERE_KEY</strong></p>
<p><strong>gpg -a &#8211;export <strong>PASTE_HERE_KEY </strong>| sudo apt-key add -</strong></p>
<p><strong><br />
</strong></p>
<p>If there are two keys you may need to add two. Then run this command again: <strong>apt-get update</strong> (to manually update keys: <strong>apt-key update</strong>)</p>
<p><strong><strong><br />
</strong></strong></p>
<p>We need to create a file that will let the system know we want it to upgrade next startup: <strong>touch /etc/udev/kernel-upgrade</strong></p>
<p>&nbsp;</p>
<p>Then type <strong>reboot</strong>, and let the system shutdown. Give it a minute, and reconnect via SSH.</p>
<p>&nbsp;</p>
<p>Now, run this command: <strong>aptitude full-upgrade</strong></p>
<p>&nbsp;</p>
<p>To install Nginx we run this command: <strong>aptitude install nginx</strong></p>
<p>To setup MySQL we run this command: <strong>aptitude install mysql-server mysql-client</strong></p>
<p>To install PHP we run this command: <strong>aptitude install php5-fpm php5-cgi php5-dev php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ps php5-pspell php5-recode php5-snmp php5-tidy php5-xmlrpc php5-xsl php5-common php5-mysql</strong></p>
<p><strong><br />
</strong></p>
<p>We should enable PHP short tags, so edit <strong>/etc/php5/fpm/php.ini</strong> and change short_open_tag to On.</p>
<p>&nbsp;</p>
<p>Now, let&#8217;s try restarting Nginx and PHP FPM to test, run these commands:</p>
<p><strong>/etc/init.d/php5-fpm restart</strong></p>
<p><strong>/etc/init.d/nginx restart</strong></p>
<p><strong><br />
</strong></p>
<p>Did yours throw a warning and 2 errors as well? If so,</p>
<p>1) Remove the line that starts with # hash from this file: <strong>/etc/php5/fpm/conf.d/ps.ini</strong></p>
<p>2) Delete the extension mentioned in there error, idn.ini from the conf.d folder: <strong>/etc/php5/conf.d/idn.ini<br />
</strong></p>
<p>&nbsp;</p>
<p>Retry restarting the services again.</p>
<p>&nbsp;</p>
<p>In order to get a site up and running we need to edit <strong>/etc/nginx/sites-available/default</strong>. When you&#8217;ve created your website directory, edit that file.</p>
<p>&nbsp;</p>
<p>In that file, duplicate the &#8220;server&#8221; definition, change the server_name to your host, like this (I&#8217;ve included rewrites which should work with some web software):</p>
<p>&nbsp;</p>
<pre class="prettyprint linenums">server {<br />
listen 80; ## listen for ipv4<br />
server_name mysite.com;<br />
access_log /var/log/nginx/localhost.access.log;<br />
location / {<br />
root /home/myuser/mysite/www;<br />
index index.php;</p>
<p>if (-e $request_filename) {<br />
break;<br />
}<br />
set $test_var true;</p>
<p>if ($request_method = POST) { set $test_var false; }<br />
if ($http_X_Requested_With !~ XMLHttpRequest) { set $test_var false; }</p>
<p>if ($test_var = true) {<br />
rewrite ^([^.|]*[^/])$ $1/ permanent;<br />
}</p>
<p>rewrite ^(.*)$ /index.php?q=$1 last;<br />
}</p>
<p>location ~ \.php$ {<br />
fastcgi_pass 127.0.0.1:9000;<br />
fastcgi_index index.php;<br />
fastcgi_param SCRIPT_FILENAME /home/myuser/mysite/www$fastcgi_script_name;<br />
include fastcgi_params;<br />
}<br />
}</pre>
<p>Now reboot Nginx.</p>
<p>&nbsp;</p>
<p><strong>Note:</strong> Nginx configuration files are touchy. Spaces are used as part of the syntax (the one between if and bracket for example). Use <strong>nginx -t</strong> to validate config syntax.<br />
<strong>Note:</strong> A quick way to give full permissions when installing a web application (from within it&#8217;s directory): <strong>chmod -R 0777 ./<br />
</strong><strong>Note:</strong> As far as I can tell, minify has trouble converting relative URI&#8217;s to absolute URI&#8217;s, so you may have to hardcode the absolute path.<br />
<strong>Note:</strong> You will likely want to take security precautions, run PHP under a different username, only give cache folders write permission, etc. That is out of the breadth of this guide; maybe in future posts or comments.</p>
<p>&nbsp;</p>
<p>Thanks for reading. Good luck and have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://ericmuyser.com/getting-started-with-nginx-php5-and-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Made with Lemon-Aid</title>
		<link>http://ericmuyser.com/made-with-lemon-aid/</link>
		<comments>http://ericmuyser.com/made-with-lemon-aid/#comments</comments>
		<pubDate>Sat, 29 Jan 2011 06:28:19 +0000</pubDate>
		<dc:creator>Eric Muyser</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[LemonStand]]></category>
		<category><![CDATA[Theme]]></category>

		<guid isPermaLink="false">http://em/?p=823</guid>
		<description><![CDATA[Fresh Lemon-aid on a sunny day, mmm! Welcome to the new site! I&#8217;ve switched from WordPress to LemonStand (with Blog module). As you can see, I&#8217;m still under construction here, but couldn&#8217;t help but make the switch! Welcome to the new site! I&#8217;ve switched from WordPress to LemonStand (with Blog module). As you can see, I&#8217;m still under construction [...]]]></description>
			<content:encoded><![CDATA[<p>Fresh Lemon-aid on a sunny day, mmm! Welcome to the new site! I&#8217;ve switched from WordPress to LemonStand (with Blog module). As you can see, I&#8217;m still under construction here, but couldn&#8217;t help but make the switch!</p>
<p><span id="more-823"></span></p>
<p>Welcome to the new site! I&#8217;ve switched from <a href="http://wordpress.org/">WordPress</a> to <a href="http://lemonstandapp.com/">LemonStand</a> (with Blog module). As you can see, I&#8217;m still under construction here, but  I couldn&#8217;t help but make the switch!</p>
<p>In the coming months I&#8217;ll be coding up some quick modules to improve blog functionality, such as syntax highlighting, tags, shortcodes, comment login (OpenID, Google, Twitter), and social network integration. I&#8217;ll throw those up at GitHub.</p>
<p>This theme is called Persona, and it&#8217;s an unobstrusive JavaScript-based theme for LemonStand. It seems to function properly in IE and degrade gracefully with JavaScript disabled (happy coincidence).</p>
<p><strong>Links</strong></p>
<ul>
<li><a href="http://ls-theme-persona.us.to/">Demo</a></li>
<li><a href="https://github.com/ericmuyser/ls-theme-persona/zipball/master">Download</a></li>
<li><a href="https://github.com/ericmuyser/ls-theme-persona">Source &amp; Documentation</a></li>
<li><a href="https://github.com/ericmuyser/ls-theme-persona/issues">Having issues?</a></li>
</ul>
<address> </address>
<address><img src="http://dl.dropbox.com/u/18343209/Screenshots/v7jo.png" alt="" /></address>
<p>&nbsp;</p>
<p>Want to report a bug? Please post here, GitHub, Twitter, eric [at] muyser.com, or whatever you please. Thank you!<br />
<strong>Known compatibility:</strong> Firefox 3.6+, Google Chrome, Safari. <strong>Update:</strong> IE7+<br />
<strong>Technology used:</strong> CSS3, HTML5, jQuery/UI, jScrollPane, scrollTo, Address, and of course custom code.<br />
<strong>Fonts used:</strong> Ubuntu (Google Font Directory).<br />
Are you still here? Have you actually read this entire post? Amazing, you should be following me on Twitter! <a href="http://twitter.com/#!/ericmuyser/">Go, now!</a> :P</p>
]]></content:encoded>
			<wfw:commentRss>http://ericmuyser.com/made-with-lemon-aid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
