<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en" xml:base="http://brice.lechatellier.com/wp-atom.php">
	<title type="text">Brice Lechâtellier</title>
	<subtitle type="text">I’m a French designer, developer, photographer and dreamer living in Sydney, Australia.</subtitle>

	<updated>2012-02-21T05:36:49Z</updated>

	<link rel="alternate" type="text/html" href="http://brice.lechatellier.com" />
	<id>http://brice.lechatellier.com/feed/atom/</id>
	

	<generator uri="http://wordpress.org/" version="3.3.1">WordPress</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/bricelechatellier" /><feedburner:info uri="bricelechatellier" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fbricelechatellier" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fbricelechatellier" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fbricelechatellier" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fbricelechatellier" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fbricelechatellier" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fbricelechatellier" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fbricelechatellier" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fbricelechatellier" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fbricelechatellier" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fbricelechatellier" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fbricelechatellier" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><entry>
		<author>
			<name>brice</name>
					</author>
		<title type="html"><![CDATA[Augmented Reality Markers with Appcelerator Titanium]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/bricelechatellier/~3/uQwKJUpWNl8/" />
		<id>http://brice.lechatellier.com/?p=986</id>
		<updated>2012-02-21T05:36:49Z</updated>
		<published>2012-02-21T04:00:15Z</published>
		<category scheme="http://brice.lechatellier.com" term="Code &amp; Design" />		<summary type="html"><![CDATA[I've been looking at options to do Augmented Reality (AR) marker detection with Appcelerator Titanium.]]></summary>
		<content type="html" xml:base="http://brice.lechatellier.com/code-design/augmented-reality-markers-with-appcelerator-titanium/">&lt;p&gt;&lt;img src="http://brice.lechatellier.com/wp-content/uploads/2012/02/ar-marker-detection.jpg" alt="" title="ar-marker-detection" width="1024" height="576" class="alignnone size-full wp-image-991" /&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve been looking at options to do Augmented Reality (AR) marker detection with Appcelerator Titanium and found a great module created by &lt;a href="http://atsusy.blogspot.com.au/"&gt;Atsushi KATAOKA&lt;/a&gt;. The original &lt;a href="http://atsusy.blogspot.com.au/2011/03/titanium-mobilear.html"&gt;tutorial&lt;/a&gt; being in Japanese, I&amp;#8217;ve used Google Translate and some guessing to get the module working.&lt;/p&gt;
&lt;p&gt;Atsushi has been kind enough to share &lt;a href="https://github.com/atsusy/tiarmarker/tree/experimental"&gt;his code on Github&lt;/a&gt; if you want to modify and compile it yourself (You&amp;#8217;ll need to fork the experimental branch for it to work with the latest 1.8.x SDK). If you don&amp;#8217;t want to play around in xCode to build the module, here is my &lt;a href="http://dl.dropbox.com/u/1310397/dl/com.armarkerti-iphone-0.1.zip"&gt;compiled version&lt;/a&gt; compatible with 1.8.x.&lt;/p&gt;
&lt;p&gt;The module is iOS only and is based on top of &lt;a href="http://opencv.willowgarage.com/wiki/"&gt;OpenCV&lt;/a&gt; for the marker detection.&lt;/p&gt;
&lt;p&gt;To install the module, copy the zip file in your &lt;code&gt;/Library/Application Support/Titanium/&lt;/code&gt; folder then reference it in your tiapp.xml (Make sure to clean your build folder).&lt;/p&gt;
&lt;pre class="prettyprint linenums lang-xml"&gt;
&amp;lt;modules&amp;gt;
    &amp;lt;module platform=&amp;quot;iphone&amp;quot; version=&amp;quot;0.1&amp;quot;&amp;gt;com.armarkerti&amp;lt;/module&amp;gt;
&amp;lt;/modules&amp;gt;
&lt;/pre&gt;
&lt;p&gt;The AR marker used here is a 16-bit binary number represented by a 4×4 grid of black and white pixels. This means that there are 65,536 possibilities in total (2^16), which translates to 16,456 unique codes since the marker can appear in different angles. The orientation is defined by a 1&amp;#215;1 pixel outside the top left corner.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve modified a script I found online to help &lt;a href="http://brice.lechatellier.com/wp-content/uploads/2012/02/generator.html"&gt;generating your marker&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://brice.lechatellier.com/wp-content/uploads/2012/02/marker-1024x409.png" alt="" title="marker" width="1024" height="409" class="alignnone size-large wp-image-987" /&gt;&lt;/p&gt;
&lt;p&gt;Here is a sample app.js implementation looking for all visible markers and searching for the marker code associated with the letter &amp;#8216;a&amp;#8217;.&lt;/p&gt;
&lt;pre class="prettyprint linemus lang-js"&gt;
var window = Ti.UI.createWindow();

//create the marker overlay
var overlay = Ti.UI.createView({
	center: {
		x:0,
		y:0
	},
	width:100,
	height:100,
	backgroundColor:'#fff',
	borderRadius:12,
	borderColor:'#fff',
	visible:false
});
var label = Ti.UI.createLabel({
	text:'a',
	font: {
		fontSize:60
	},
	width:'auto',
	height:'auto',
	textAlign:'center'
});
overlay.add(label);

//load and init the module
var armarker = require('com.armarkerti');
var cameraView = armarker.createCameraView();

cameraView.add(overlay);

//everytime a marker is detected
cameraView.addEventListener('detected', function(e) {
	var hasMarker = false;
	//read through all markers
	for(var i in e.markers) {
		var marker = e.markers[i];
		//look for the 'a' marker code
		if(marker.code == 40863) {
			//create a 3d Matrix and assign the position
			var t = Ti.UI.iOS.create3DMatrix();

			t.m11 = marker.transform.m11;
			t.m12 = marker.transform.m12;
			t.m13 = marker.transform.m13;
			t.m14 = marker.transform.m14;
			t.m21 = marker.transform.m21;
			t.m22 = marker.transform.m22;
			t.m23 = marker.transform.m23;
			t.m24 = marker.transform.m24;
			t.m31 = marker.transform.m31;
			t.m32 = marker.transform.m32;
			t.m33 = marker.transform.m33;
			t.m34 = marker.transform.m34;
			t.m41 = marker.transform.m41;
			t.m42 = marker.transform.m42;
			t.m43 = marker.transform.m43;
			t.m44 = marker.transform.m44;

			overlay.animate({
				transform:t,
				duration:0
			});
			hasMarker = true;
			break;
		}
	}
	overlay.visible = hasMarker;
});

window.add(cameraView);
window.open();
&lt;/pre&gt;
&lt;p&gt;Again, most of the credit goes to &lt;a href="http://atsusy.blogspot.com.au/"&gt;Atsushi&lt;/a&gt; for creating this awesome module. You can now replace the overlay with rich media like images or videos to match your marker. Feel free to ping me on &lt;a href="http://twitter.com/pastawoua"&gt;Twitter&lt;/a&gt; if you have any questions or comments.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/bricelechatellier/~4/uQwKJUpWNl8" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://brice.lechatellier.com/code-design/augmented-reality-markers-with-appcelerator-titanium/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://brice.lechatellier.com/code-design/augmented-reality-markers-with-appcelerator-titanium/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://brice.lechatellier.com/code-design/augmented-reality-markers-with-appcelerator-titanium/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>brice</name>
					</author>
		<title type="html"><![CDATA[wmuSlider, a jQuery responsive slider]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/bricelechatellier/~3/KGSyZhi4x3U/" />
		<id>http://brice.lechatellier.com/?p=962</id>
		<updated>2012-02-21T03:58:08Z</updated>
		<published>2011-09-06T12:44:16Z</published>
		<category scheme="http://brice.lechatellier.com" term="Code &amp; Design" />		<summary type="html"><![CDATA[I want to give back to the community by sharing the code used for the responsive slider on the homepage.]]></summary>
		<content type="html" xml:base="http://brice.lechatellier.com/code-design/wmuslider/">&lt;p&gt;&lt;img src="http://brice.lechatellier.com/wp-content/uploads/2011/09/wmu-slider.jpg" alt="" title="wmu-slider" width="1024" height="576" class="alignnone size-full wp-image-992" /&gt;&lt;/p&gt;
&lt;p&gt;I want to give back to the community by sharing the code used for the responsive slider on the &lt;a href="http://brice.lechatellier.com"&gt;homepage&lt;/a&gt;. Please keep in mind that it&amp;#8217;s still very raw (really) and under the MIT LICENSE, which basically means: break it, steal it but THE STUFF IS PROVIDED &amp;#8220;AS IS&amp;#8221;!&lt;/p&gt;
&lt;p&gt;You can download the code and check out the demo on &lt;a href="https://github.com/pastawoua/wmuSlider"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;1. Calling the library&lt;/h4&gt;
&lt;pre class="prettyprint linenums"&gt;
&amp;lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src="jquery.wmuSlider.min.js"&amp;gt;&amp;lt;/script&amp;gt;
&lt;/pre&gt;
&lt;h4&gt;2. Initialisation&lt;/h4&gt;
&lt;pre class="prettyprint linenums"&gt;
&amp;lt;div class=&amp;quot;wmuSlider&amp;quot;&amp;gt;
    &amp;lt;div class=&amp;quot;wmuSliderWrapper&amp;quot;&amp;gt;
        &amp;lt;article&amp;gt;
            &amp;lt;img width=&amp;quot;612&amp;quot; height=&amp;quot;612&amp;quot; src=&amp;quot;http://farm6.static.flickr.com/5295/5476032712_6441c7e316_z.jpg&amp;quot; /&amp;gt;
        &amp;lt;/article&amp;gt;
        &amp;lt;article&amp;gt;
            &amp;lt;img width=&amp;quot;612&amp;quot; height=&amp;quot;612&amp;quot; src=&amp;quot;http://farm6.static.flickr.com/5176/5456963815_042d9c3ea0_z.jpg&amp;quot; /&amp;gt;
        &amp;lt;/article&amp;gt;
        &amp;lt;article&amp;gt;
            &amp;lt;img width=&amp;quot;612&amp;quot; height=&amp;quot;612&amp;quot; src=&amp;quot;http://farm6.static.flickr.com/5201/5296457034_5688b25c15_z.jpg&amp;quot; /&amp;gt;
        &amp;lt;/article&amp;gt;
        &amp;lt;article&amp;gt;
            &amp;lt;img width=&amp;quot;612&amp;quot; height=&amp;quot;612&amp;quot; src=&amp;quot;http://farm6.static.flickr.com/5245/5291874922_35ca47cc3d_z.jpg&amp;quot; /&amp;gt;
        &amp;lt;/article&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;script&amp;gt;$('.wmuSlider').wmuSlider();&amp;lt;/script&amp;gt;
&lt;/pre&gt;
&lt;p&gt;If you are using &lt;a href="http://www.modernizr.com"&gt;Modernizr&lt;/a&gt;, you can enable automatic touch support by setting the touch parameter.&lt;/p&gt;
&lt;pre class="prettyprint linenums"&gt;
$('.wmuSlider').wmuSlider({
    touch: Modernizr.touch
});
&lt;/pre&gt;
&lt;h4&gt;3. Options&lt;/h4&gt;
&lt;p&gt;The slider can be customised with the options bellow, it should be pretty self-explanatory.&lt;/p&gt;
&lt;pre class="prettyprint linenums"&gt;
animation: 'fade',
animationDuration: 600,
slideshow: true,
slideshowSpeed: 7000,
slideToStart: 0,
navigationControl: true,
paginationControl: true,
previousText: 'Previous',
nextText: 'Next',
touch: false,
slide: 'article',
items: 1
&lt;/pre&gt;
&lt;p&gt;Please let me know what you think via &lt;a href="http://www.twitter.com/pastawoua"&gt;Twitter&lt;/a&gt;.&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/bricelechatellier/~4/KGSyZhi4x3U" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://brice.lechatellier.com/code-design/wmuslider/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://brice.lechatellier.com/code-design/wmuslider/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://brice.lechatellier.com/code-design/wmuslider/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>brice</name>
					</author>
		<title type="html"><![CDATA[Responsive Images Tips]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/bricelechatellier/~3/3UsILU8n9ec/" />
		<id>http://brice.lechatellier.com/?p=950</id>
		<updated>2011-09-06T11:55:41Z</updated>
		<published>2011-09-03T09:17:34Z</published>
		<category scheme="http://brice.lechatellier.com" term="Code &amp; Design" />		<summary type="html"><![CDATA[When coding this site, I encountered two issues around responsive images.]]></summary>
		<content type="html" xml:base="http://brice.lechatellier.com/code-design/responsive-images-tips/">&lt;p&gt;When coding this site, I encountered two issues around responsive images.&lt;/p&gt;
&lt;p&gt;The first one was a weird IE bug that would resize the images correctly in width but not in height when using &lt;code&gt;height:auto&lt;/code&gt; and &lt;code&gt;max-width:100%&lt;/code&gt;. After searching around for a bit, I found an easy fix, just add &lt;code&gt;width:auto&lt;/code&gt; for it to work nicely in IE.&lt;/p&gt;
&lt;p&gt;The second one was when setting the width (or max-width) of an element to 100% and also adding some padding. This would cause the image to expand outside the container. You can easily go around it by changing the &lt;code&gt;box-sizing&lt;/code&gt; property to &lt;code&gt;border-box&lt;/code&gt;.&lt;/p&gt;
&lt;pre class="prettyprint linenums"&gt;
img {
    max-width: 100%;
    height: auto;
    width: auto; /* Fix for IE */
    padding: 5px;

    /* Box Sizing */
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
&lt;/pre&gt;
&lt;p&gt;If you are using &lt;a href="http://www.modernizr.com"&gt;Modernizr&lt;/a&gt; on your site, you can add a custom test to check for compatibility.&lt;/p&gt;
&lt;pre class="prettyprint linenums"&gt;
Modernizr.addTest('boxsizing', function() {
    var s = ['boxSizing', 'MozBoxSizing', 'WebkitBoxSizing', 'msBoxSizing'],
    div = document.createElement('div');

    for (var i = 0, l = s.length; i &lt; l; i++) {
        if (div.style[s[i]] != undefined) {
            return true;
        }
    } 

    return false;
});
&lt;/pre&gt;
&lt;img src="http://feeds.feedburner.com/~r/bricelechatellier/~4/3UsILU8n9ec" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://brice.lechatellier.com/code-design/responsive-images-tips/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://brice.lechatellier.com/code-design/responsive-images-tips/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://brice.lechatellier.com/code-design/responsive-images-tips/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>brice</name>
					</author>
		<title type="html"><![CDATA[How-to do an emboss effect in CSS3?]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/bricelechatellier/~3/o1AGOXbqzBQ/" />
		<id>http://brice.lechatellier.com/?p=949</id>
		<updated>2011-09-03T14:36:08Z</updated>
		<published>2011-09-03T08:48:23Z</published>
		<category scheme="http://brice.lechatellier.com" term="Code &amp; Design" />		<summary type="html"><![CDATA[You can found a lot of tutorials online on how-to use drop shadows in CSS3.]]></summary>
		<content type="html" xml:base="http://brice.lechatellier.com/code-design/how-to-do-an-emboss-effect-in-css3/">&lt;p&gt;You can found a lot of tutorials online on how-to use drop shadows in CSS3 but not that many show the full emboss effect with an inner top shadow and a bottom reflection to emphasis the depth.&lt;/p&gt;
&lt;p&gt;This will only work with browsers supporting the rgba property. (Hint: not IE)&lt;/p&gt;
&lt;pre class="prettyprint linenums"&gt;
{
    /* Background */
    background: rgba(0, 0, 0, 0.2);

    /* Border bottom light */
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);

    /* Inner top shadow */
    -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.1);

    /* Round corners */
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}
&lt;/pre&gt;
&lt;img src="http://feeds.feedburner.com/~r/bricelechatellier/~4/o1AGOXbqzBQ" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://brice.lechatellier.com/code-design/how-to-do-an-emboss-effect-in-css3/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://brice.lechatellier.com/code-design/how-to-do-an-emboss-effect-in-css3/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://brice.lechatellier.com/code-design/how-to-do-an-emboss-effect-in-css3/</feedburner:origLink></entry>
	</feed>

