<?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>Linda Octa</title>
	<atom:link href="http://lindaocta.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://lindaocta.com</link>
	<description>Learning path</description>
	<lastBuildDate>Sat, 30 Jun 2012 00:11:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>WordPress &#8211; Showing Nav menu based on user role</title>
		<link>http://lindaocta.com/?p=499</link>
		<comments>http://lindaocta.com/?p=499#comments</comments>
		<pubDate>Sat, 30 Jun 2012 00:11:28 +0000</pubDate>
		<dc:creator>Linda Octa</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[capability manager plugin]]></category>
		<category><![CDATA[display menu per role]]></category>

		<guid isPermaLink="false">http://lindaocta.com/?p=499</guid>
		<description><![CDATA[I tried to show the navigation menu based on user role in WordPress. I couldn&#8217;t really find what I need from Google. So I decided to modify the template directly. I need to create role for user. By default we can&#8217;t add new role in WordPress. So, I use Capability Manager Plugin to create new &#8230; </p><p><a class="more-link block-button" href="http://lindaocta.com/?p=499">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I tried to show the navigation menu based on user role in WordPress. I couldn&#8217;t really find what I need from Google. So I decided to modify the template directly. </p>
<ol>
<li>I need to create role for user. By default we can&#8217;t add new role in WordPress. So, I use <a href="http://wordpress.org/extend/plugins/capsman/">Capability Manager Plugin</a> to create new role with it&#8217;s capabilities. In this post, I create &#8216;Staff&#8217; and &#8216;Client&#8217; role. Then assign the new role to the user.
</li>
<li>
Next, I create 4 different menus; &#8216;public&#8217;, &#8216;admin&#8217;, &#8216;client&#8217;, and &#8216;staff&#8217; menu. And set the &#8216;public&#8217; as the default menu.
</li>
<li>Open the header.php of the current theme, search for:
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;?php wp_nav_menu( array( 'theme_location' =&gt; 'primary' ) ); ?&gt;</div></div>
<p>and then add the following code:</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;?php<br />
if (is_user_logged_in()) {<br />
&nbsp; &nbsp; global $current_user;<br />
&nbsp; &nbsp; $user_roles = $current_user-&gt;roles;<br />
&nbsp; &nbsp; $user_role = array_shift($user_roles);<br />
&nbsp; &nbsp; switch ($user_role) {<br />
&nbsp; &nbsp; &nbsp; &nbsp; case 'staff':<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $menu = 'staff';<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;<br />
&nbsp; &nbsp; &nbsp; &nbsp; case 'client':<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $menu = 'client';<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;<br />
&nbsp; &nbsp; &nbsp; &nbsp; case '':<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $menu = 'main';<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; wp_nav_menu( array( 'menu' =&gt; $menu, 'container_class' =&gt; 'menu-header', 'theme_location' =&gt; 'primary' ) ); <br />
}<br />
?&gt;</div></div>
</li>
</ol>
<p>The code above just check what is the current user role and display the menu after the public menu based on the role. If it is public user, the default menu will be displayed.</p>
]]></content:encoded>
			<wfw:commentRss>http://lindaocta.com/?feed=rss2&#038;p=499</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5th December 2011</title>
		<link>http://lindaocta.com/?p=497</link>
		<comments>http://lindaocta.com/?p=497#comments</comments>
		<pubDate>Tue, 06 Dec 2011 00:28:28 +0000</pubDate>
		<dc:creator>Linda Octa</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://lindaocta.com/?p=497</guid>
		<description><![CDATA[Yu hu! I am back working but this time I will be working form home. I am on trial working for local web hosting company to add new features for existing program. They don&#8217;t like the idea of hiring people to work from home but they are willing to try on my skill for a &#8230; </p><p><a class="more-link block-button" href="http://lindaocta.com/?p=497">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Yu hu! I am back working <img src='http://lindaocta.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  but this time I will be working form home. <img src='http://lindaocta.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  I am on trial working for local web hosting company to add new features for existing program. They don&#8217;t like the idea of hiring people to work from home but they are willing to try on my skill for a month. So I work around 20-38 hours per week, meet once a week and starts next Thursday. </p>
<p>I am so excited as I have not been using my brain lately. Apart from feel tired taking care of Lana, I was hoping to get job that can let me work from home so I can spend my time with her. My wish come true <img src='http://lindaocta.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://lindaocta.com/?feed=rss2&#038;p=497</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Chrome in Ubuntu 10.4 &#8211; Lucid Lynx</title>
		<link>http://lindaocta.com/?p=401</link>
		<comments>http://lindaocta.com/?p=401#comments</comments>
		<pubDate>Fri, 21 Jan 2011 06:22:57 +0000</pubDate>
		<dc:creator>Linda Octa</dc:creator>
				<category><![CDATA[Ubuntu/Linux]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[lucid lynx]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://lindaocta.com/?p=401</guid>
		<description><![CDATA[To install Google Chrome in Ubuntu: Edit aptitude source list sudo gedit /etc/apt/sources.list Append the distribution lists below on the bottom of the source.list: deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu lucid main deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu lucid main Save and exit the source.list Add the GPG key in command line from terminal: sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xfbef0d696de1c72ba5a835fe5a9bf3bb4e5e17b5 Update the &#8230; </p><p><a class="more-link block-button" href="http://lindaocta.com/?p=401">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>To install Google Chrome in Ubuntu:</p>
<ol>
<li>Edit aptitude source list
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo gedit /etc/apt/sources.list</div></div>
</li>
<li>Append the distribution lists below on the bottom of the source.list:
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu lucid main<br />
deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu lucid main</div></div>
</li>
<li>Save and exit the source.list</li>
<li>Add the GPG key in command line from terminal:
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xfbef0d696de1c72ba5a835fe5a9bf3bb4e5e17b5</div></div>
</li>
<li>Update the source list through the terminal:
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo apt-get update</div></div>
</li>
<li>Ready to install chrome:
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo apt-get install chromium-browser</div></div>
</li>
<li>Ready to use the chrome through Applications&#8211;>Internet&#8211;>Chromium Web Browser</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://lindaocta.com/?feed=rss2&#038;p=401</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Directions South Sydney Summary (October 12-15, 2010)</title>
		<link>http://lindaocta.com/?p=396</link>
		<comments>http://lindaocta.com/?p=396#comments</comments>
		<pubDate>Fri, 29 Oct 2010 06:59:08 +0000</pubDate>
		<dc:creator>Linda Octa</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Workshop]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[sydney]]></category>
		<category><![CDATA[wdx]]></category>
		<category><![CDATA[webdirectionsouth]]></category>

		<guid isPermaLink="false">http://lindaocta.com/?p=396</guid>
		<description><![CDATA[Workshop (October 12-13, 2010) jQuery]]></description>
			<content:encoded><![CDATA[<h2>Workshop (October 12-13, 2010)</h2>
<ul>
<li><a href="http://lindaocta.com/?p=416" target="blank">jQuery <3s designers</a> by <strong>Craig Sharkie</strong> @twalve</li>
<li>
<a href="http://lindaocta.com/?p=422" target="blank">HTML5 right, now</a> by <strong>Ben Schwarz</strong> @benschwarz</li>
</ul>
<h2>Conference (October 14-15, 2010)</h2>
<ul>
<li><a href="http://lindaocta.com/?p=424" target="blank">Day 1</a></h3>
<ul>
<li>Active Web Development By <strong>Divya Manian</strong> @numbuin</li>
<li>RDFa everywhere by <strong>Knud Möller</strong></li>
<li>Creativity, design and interaction with HTML5 and CSS3 by <strong>Dan Rubin</strong> @danrubin</li>
<li>Even faster websites by <strong>Steve Sounders</strong> @souders</li>
</ul>
</li>
<li><a href="http://lindaocta.com/?p=426" target="blank">Day 2</a></h3>
<ul>
<li>Javascript Sprachraum on the server by <strong>Patrick Lee</strong> @boundvariable</li>
<li>Location, location, geolocation by <strong>Max Wheeler</strong> @makenosound from Icelab</li>
<li>Building Mobile web apps by <strong>Myles Eftos</strong> @madpilot</li>
<li>Raphaël: native web vector graphics library by Dmitry Bara­novskiy @dmitrybaranovsk </li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://lindaocta.com/?feed=rss2&#038;p=396</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day 2 &#8211; Web Directions South Conference (October 15, 2010)</title>
		<link>http://lindaocta.com/?p=426</link>
		<comments>http://lindaocta.com/?p=426#comments</comments>
		<pubDate>Fri, 29 Oct 2010 05:17:53 +0000</pubDate>
		<dc:creator>Linda Octa</dc:creator>
				<category><![CDATA[Conference]]></category>

		<guid isPermaLink="false">http://lindaocta.com/?p=426</guid>
		<description><![CDATA[Javascript Sprachraum on the server Patrick Lee @boundvariable How Javascript on server look like? Get ip address from server: &#60;SERVER&#62;write(request.ip)&#60;/SERVER&#62; Resources Web directions South, Javascript Sprachraum Server side js environment aptana jaxer &#8211; the javascript server node.js: use v8 script http://nodejs.org/ Coffee Script Database mongoD: support RDBMS couchdb Riak Testing javascript (server) with unit test &#8230; </p><p><a class="more-link block-button" href="http://lindaocta.com/?p=426">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<h2>Javascript Sprachraum on the server</h2>
<p><strong>Patrick Lee </strong>@boundvariable</p>
<h3>How Javascript on server look like? </h3>
<ul>
<li>Get ip address from server:</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;SERVER&gt;write(request.ip)&lt;/SERVER&gt;</div></div>
</li>
</ul>
<h3>Resources</h3>
<ul>
<li><a target="blank" href="http://south10.webdirections.org/program/development#javascript-sprachraum"><span class="icon"> </span>Web directions South, Javascript Sprachraum</a></p>
</li>
<li><a target="blank" href="http://www.helma.org/"><span class="icon"> </span>Server side js environment</a>
</li>
<li><a target="blank" href="http://jaxer.org/"><span class="icon"> </span>aptana jaxer</a> &#8211; the javascript server
</li>
<li>node.js: use v8 script <a target="blank" href="http://nodejs.org/"><span class="icon"> </span>http://nodejs.org/</a>
</li>
<li><a target="blank" href="http://jashkenas.github.com/coffee-script/"><span class="icon"> </span>Coffee Script</a>
</li>
</ul>
<h3>Database</h3>
<ul>
<li><a target="blank" href="http://www.mongodb.org/"><span class="icon"> </span>mongoD</a>: support RDBMS
</li>
<li><a target="blank" href="http://couchdb.apache.org/"><span class="icon"> </span>couchdb</a>
</li>
<li><a target="blank" href="https://wiki.basho.com/display/RIAK/Riak"><span class="icon"> </span>Riak</a>
</li>
</ul>
<h3>
Testing javascript (server) with unit test<br />
</h3>
<ul>
<li>vows
</li>
<li>kyuri (gherkin)
</li>
<li>nodeunit
</li>
</ul>
<h3>
Package management<br />
</h3>
<ul>
<li>node package management npm: <a target="blank" href="http://npmjs.org/"><span class="icon"> </span>http://npmjs.org/</a>
</li>
</ul>
<h3>
Build on node<br />
</h3>
<ul>
<li>cake: coffee-script version
</li>
<li>jake: java script version
</li>
</ul>
<h3>
Server modules in js<br />
</h3>
<ul>
<li><a target="blank" href="http://github.com/ry/node/wiki/modules"><span class="icon"> </span>http://github.com/ry/node/wiki/modules</a> over 500 modules</p>
</li>
</ul>
<h3>
Sample<br />
</h3>
<ul>
<li><a target="blank" href="http://nodeknockout.com/"><span class="icon"> </span>http://nodeknockout.com/</a>
</li>
</ul>
<h2>Location, location, geolocation</h2>
<p><strong>Max Wheeler</strong> @makenosound from <a href="http://icelab.com.au/" target="blank">Icelab</a></p>
<h3>Resources</h3>
<ul>
<li><a target="blank" href="http://south10.webdirections.org/program/development#location-location-geolocation"><span class="icon"> </span>Web directions South, Location, location, geolocation</a>
</li>
<li>Geodesic: Location in longitude, latitude form
</li>
<li>Civic: Location in human understandable form e.g pub name
</li>
</ul>
<h3>WOEIDs</h3>
<ul>
<li>Where On Earth Identifiers (WOEIDs) unique identifier for place on earh (by yahoo)
</li>
<li>where.yahooapis.com/v1/place/URI
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />
&lt;place yahoo:uri=&quot;http://where.yahooapis.com/v1/place/2507854&quot; xml:lang=&quot;en&quot;&gt;<br />
&nbsp; &lt;woeid&gt;2507854&lt;/woeid&gt;<br />
&nbsp; &lt;placeTypeName code=&quot;7&quot;&gt;Town&lt;/placeTypeName&gt;<br />
&nbsp; &lt;name&gt;Trenton&lt;/name&gt;<br />
<br />
&lt;/place&gt;</div></div>
</li>
</ul>
<h3>
Data gathered from:<br />
</h3>
<ul>
<li>GPS (assisted-GPS)
</li>
<li>cellular network id
</li>
<li>wifi networks
</li>
<li>IP sniffing
</li>
<li>manual input
</li>
</ul>
<h3>
Geolocation API</h3>
<ul>
<li>not working in IE6-9 and safari 4</li>
<li>navigator.geolocation &#8211;&gt; using modernizr Modenizr.geolocation and get extra data
</li>
<li>one-shot request: get location of the user getCurrentPosition (successEvent, errorEvent, other optional params). errorEvent is optional
</li>
<li>watch position: continue watchin &amp; update application the user location, only trigger position location. this will run forever, so we need to makesure we clearWatch to stop watching
</li>
<li>reverse geocoding: get long, lat and turn to address
</li>
<li>reverse geocoding: get address and turn in long, lat
</li>
<li>navigator.geolocation.getCurrentPosition &#8211;&gt; will return: longitude, latitude, accuracy, altitude, altitudeAccuracy, heading (in degrees and use in compass in iphone, ipad), speed (how fast moving from point a to point b &#8211;&gt; not really working well in mobile)
</li>
<li>Example code: With this anonymous function (function without name) and return array of latitude and longitude
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">navigation.geolocation.getCurrentPosition(function(location) {<br />
&nbsp; &nbsp; return [location.coords.latitude, location.coords.longitude]<br />
}</div></div>
</li>
</ul>
<h3>
Sample:<br />
</h3>
<ul>
<li><a target="blank" href="http://gowalla.com/"><span class="icon"> </span>http://gowalla.com/</a></p>
</li>
<li>decaf sucks: <a target="blank" href="http://decafsucks.com"><span class="icon"> </span>http://decafsucks.com</a>
</li>
<li>tinygeocoder.com
</li>
<li>placefinder from yahoo
</li>
<li>google: using googlemap api
</li>
<li><a target="blank" href="http://code.google.com/apis/maps/articles/tutorial-iphone.html"><span class="icon"> </span>http://code.google.com/apis/maps/articles/tutorial-iphone.html</a> native geolocation API (iPhone)
</li>
</ul>
<h3>
YQLGEO<br />
</h3>
<ul>
<li>a wrapper for geolocation services
</li>
<li><a target="blank" href="http://isithackday.com/hacks/geo/yql-geo-library"><span class="icon"> </span>http://isithackday.com/hacks/geo/yql-geo-library</a>
</li>
<li>If we deny position, it will do IP lookup and return the lat/long of that IP
</li>
</ul>
<h3>
NOTE:<br />
</h3>
<ul>
<li>Use google direction API to show the direction on how to go to the location
</li>
<li>drawing map: try to use static map to avoid too much overhead in mobile
</li>
</ul>
<h2>
Building Mobile web apps<br />
</h2>
<p>By <strong>Myles Eftos</strong> @madpilot</p>
<h3>
Resources:<br />
</h3>
<ul>
<li><a target="blank" href="http://south10.webdirections.org/program/development#building-mobile-web-apps"><span class="icon"> </span>Web direction South, Building Mobile web apps</a>
</li>
</ul>
<h3>
Available mobile platform and the language used for the native applications<br />
</h3>
<ul>
<li>iPhone: Objective C
</li>
<li>Anroid: Java
</li>
<li>Nokia: C++
</li>
<li>Win 7: .net
</li>
<li>Palm pre: html + css + js
</li>
</ul>
<h3>
Framework<br />
</h3>
<ul>
<li><a class="missing wiki" href="/trac/wiki/PhoneGap" rel="nofollow">PhoneGap</a>: </p>
<ul>
<li>Advantage:</p>
<ul>
<li>Webkit
</li>
<li>Add javascript bridge e.g. hardware devides like camera, geolocation, gmap
</li>
<li>All the mentioned phone above
</li>
<li>Fast to develop: using html + css + js
</li>
<li>deploy to appstore easily
</li>
<li>use existing development tools
</li>
<li>lifecycle like normal browser load html, css and js
</li>
<li>Use JQ unit test for unit testing
</li>
<li>iPhone, Google Android, Symbian, Palm and Blackberry
</li>
</ul>
</li>
<li>Disadvantage:
<ul>
<li>Slower than native apps
</li>
<li>can&#8217;t access everything yet
</li>
<li>no position:fixed support e.g. footer
</li>
<li>no debugger, but can use firebugs through computer
</li>
<li>file system support is limited
</li>
</ul>
</li>
<li>Issue:
<ul>
<li>memory + cpu are issue
</li>
<li>abritary of 10 mb image limit &#8211;&gt; will stop loading if image too big (work for normal safari but not mobile safari)
</li>
<li>only handles text files
</li>
<li>working asynchronously is hard &#8211;&gt; work on only 1 thread
</li>
</ul>
</li>
</ul>
</li>
<li><a href="http://jqtouch.com/" target="blank">Jquery JQTouch</a>
<ul>
<li>html + css + js library
</li>
<li>worth it for js application
</li>
<li>html + css &#8211;&gt; clunky
</li>
</ul>
</li>
<li><a class="missing wiki" href="/trac/wiki/SenchaTouch" rel="nofollow">SenchaTouch</a> (extjs, jqtouch, raphael): <a target="blank" href="http://www.sencha.com/products/touch/"><span class="icon"> </span>http://www.sencha.com/products/touch/</a>
<ul>
<li>extjs which is better for app dev</p>
</li>
<li>better performance than jquery
</li>
<li>weird licence: it&#8217;s GPL but developer need to pay
</li>
<li>html + css + js
</li>
</ul>
</li>
<li><a target="blank" href="http://code.google.com/r/msgilligan-iuiscroll/source/browse/web-app/iui/ext-sandbox/iscroll/iscroll.js?r=36f25012cc65dc2f6828ddbe53ed7303659f7cea"><span class="icon"> </span>iScroll 3.0</a>
<ul>
<li>Not a full framework
</li>
<li>fixed scrolling position &#8211;&gt; use CSS3
</li>
<li>uncanny valley problem
</li>
<li>renamed to <a class="missing wiki" href="/trac/wiki/GhostTouch" rel="nofollow">GhostTouch?</a> &#8211;&gt; but still in development
</li>
</ul>
</li>
<li><a href="http://www.appcelerator.com/products/titanium-mobile-application-development/" target="blank">Titanium</a> by Appcelerator:
<ul>
<li>Use this for developing different mobile platform native app (using native code)
</li>
<li>complies js down to bottom
</li>
<li>will loss the css3 + html5 look &amp; view by styling using js
</li>
<li>develop on desktop
</li>
<li>Advantage:
<ul>
<li>Make use as UI widget &amp; perform at same speed as native app
</li>
<li>no crazy square bracket notation
</li>
<li>pretty good abstraction
</li>
</ul>
</li>
<li>API:
<ul>
<li>bigger API than Phonegap
</li>
<li>mainly generic but some platform specific
</li>
<li>threaded UI means file &amp; db functions return synchronously
</li>
</ul>
</li>
<li>Disadvantage:
<ul>
<li>docs lack of sample (but the forum good)
</li>
<li>structuring code is less defined than on the web
</li>
<li>no debugger
</li>
<li>code-build-crash cycle much slower than code-refresh-cycle
</li>
<li>unit testing is hard
</li>
</ul>
</li>
</ul>
</li>
<li><a href="http://code.google.com/p/iui/" target="blank">iui</a>: not working anymore, using predefined html to display the content like iphone
</li>
</ul>
<p><h3>Native apps are faster than webkit mobile app dev (phonegap) because in webkit:</h3>
</p>
<ul>
<li>image loading is slow
</li>
<li>rendering a gradient, makes an image (use canvas) and then convert to bmp before displaying
</li>
<li>accelerated animation (opacity, translate3d)
</li>
<li>use native touch event (slower than click event by 300 ms)
</li>
</ul>
<h3>Pretending to go native</h3>
<ul>
<li>html5 new form input like email, web than can switch keyboard layout
</li>
<li>turn on/off auto correction &amp; auto capitalize (work for iPhone but not anroid)
</li>
<li>notification API provides alert &amp; confirm (can set the title and the button vaue)
</li>
</ul>
<h3>Conclusion</h3>
<ul>
<li>Use Phonegap for better non-native UIs, fast prototyping, simple apps &amp; web base app</p>
</li>
<li>Use titanium for the rest
</li>
</ul>
<p><h3>Working for mobile</h3>
</p>
<ul>
<li>hardware acceleration: e.g. iphone (css animation)
</li>
<li>html5 offline-ness (manifest) e.g. reading gmail offline from iphone/ipad
</li>
<li>style: <a target="blank" href="http://developer.apple.com/iphone/index.action"><span class="icon"> </span>http://developer.apple.com/iphone/index.action</a> &#8211;&gt; using sdk and load iphone simulator, can switch iphone version (3, 4) or ipad. iphone 4 has a big graphic resolution that can&#8217;t fit in one screen &#8211;&gt; can turn on debug screen to see the javascript error. apple dev site also provice human interface guidelines
</li>
</ul>
<h3>Sample ipad/iphone application using html5 and javascript (not in appstore yet):</h3>
</p>
<ul>
<li><a target="blank" href="http://grip.heroku.com"><span class="icon"> </span>http://grip.heroku.com</a>
</li>
</ul>
<h2>
Raphaël: native web vector graphics library</h2>
<p>with <strong>Dmitry Bara­novskiy</strong> @dmitrybaranovsk</a>
</p>
<h3>
Resources<br />
</h3>
<ul>
<li><a target="blank" href="http://south10.webdirections.org/program/development#raphael-native-web-vector-graphics-library"><span class="icon"> </span>Web directions South, Raphael</a>
</li>
<li><a target="blank" href="http://raphaeljs.com/"><span class="icon"> </span>http://raphaeljs.com/</a>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://lindaocta.com/?feed=rss2&#038;p=426</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Day 1 &#8211; Web Directions South Conference (October 14, 2010)</title>
		<link>http://lindaocta.com/?p=424</link>
		<comments>http://lindaocta.com/?p=424#comments</comments>
		<pubDate>Fri, 29 Oct 2010 05:17:18 +0000</pubDate>
		<dc:creator>Linda Octa</dc:creator>
				<category><![CDATA[Conference]]></category>

		<guid isPermaLink="false">http://lindaocta.com/?p=424</guid>
		<description><![CDATA[Active Web Development Tuesday, October 14 2010 By Divya Manian @numbuin Reading casscading style sheets o&#8217;reilly designing web standards jeffery zeldman Useful link Web directions South, Active Web Development Difference between html4 &#38; html5 xhtml in html5 HTML5 cheatsheet MSDN scriptjunkie HTML5 Boilerplate is the professional badass&#8217;s base HTML/CSS/JS template for a fast, robust and &#8230; </p><p><a class="more-link block-button" href="http://lindaocta.com/?p=424">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<h2>Active Web Development</h2>
<p>Tuesday, October 14 2010 By <strong>Divya Manian</strong> @numbuin</p>
<h3>Reading</h3>
<ul>
<li>casscading style sheets o&#8217;reilly
</li>
<li>designing web standards jeffery zeldman
</li>
</ul>
<h3>Useful link</h3>
<ul>
<li><a target="blank" href="http://south10.webdirections.org/program/w3c#active-web-development"><span class="icon"> </span>Web directions South, Active Web Development</a>
</li>
<li><a target="blank" href="http://w3.org/tr/html5-diff"><span class="icon"> </span>Difference between html4 &amp; html5</a>
</li>
<li><a target="blank" href="http://dev.w3.org/html5/html-xhtml-author-guide/html-xhtml-authoring-guide.html"><span class="icon"> </span>xhtml in html5</a>
</li>
<li><a target="blank" href="http://www.w3.org/2009/cheatsheet"><span class="icon"> </span>HTML5 cheatsheet</a>
</li>
<li><a target="blank" href="http://msdn.microsoft.com/en-us/scriptjunkie/ff604639.aspx"><span class="icon"> </span>MSDN scriptjunkie</a>
</li>
<li><a target="blank" href="http://html5boilerplate.com"><span class="icon"> </span>HTML5 Boilerplate</a> is the professional badass&#8217;s base HTML/CSS/JS template for a fast, robust and future-proof site.
</li>
</ul>
<h3>
Create rituals for learning:<br />
</h3>
<ul>
<li>create support chart for new features</p>
</li>
<li>bling: features that will render only if browsers support them. eg. border-radius, box-shadow
</li>
<li>needs fallback: feature you will use, but with some kind of fallback for browsers that do not support: html5 forms &#8211; X-html5widgets, html5-ecanvas
</li>
<li>can&#8217;t use now: e.g.feature you wont use yet: websockets
</li>
<li>keep updating the chart every month (at least)
</li>
<li>Filing browser bugs report: <a target="blank" href="http://www.browserscope.org/browsers"><span class="icon"> </span>http://www.browserscope.org/browsers</a>
</li>
</ul>
<h2>RDFa everywhere</h2>
<p>by<strong> Knud Möller</strong></p>
<h3>In Brief</h3>
<ul>
<li>a way to very precisely mark up data in webpage
</li>
<li><a target="blank" href="http://south10.webdirections.org/program/w3c#insight-into-the-w3c-rdfa-working-group"><span class="icon"> </span>Web directions South, RDFa everywhere</a>
</li>
<li><a target="blank" href="http://slideshare.net/mark.birbeck"><span class="icon"> </span>Slide</a>
</li>
<li>W3c RDFa working group: working undwerway for rdfa core 1.1, rdfa api and xhtml+rdfa
</li>
<li>Sample: <tt>&lt;#me&gt; foaf:name "linda"</tt>
</li>
<li>old and new attribute:
<ul>
<li><tt>@about</tt>: to say what some info is about (subject) <tt>&lt;span about="#marge" typeof="foaf:Person"&gt;</tt>
</li>
<li><tt>@typeof</tt>: what kind of thing is
</li>
<li><tt>@rel</tt> how things relate to another (predicate): <tt>&lt;a rel="test.com"&gt;</tt>
</li>
<li><tt>@href</tt> what thing related to (object): <tt>&lt;a ... href="lindaocta.com" ..&gt;</tt>
</li>
<li><tt>@content</tt> to provide machine readable content (a literal object): <tt>&lt;span ... @content="2010-10-14" ...&gt;</tt>
</li>
</ul>
</li>
<li>adopters:
<ul>
<li>facebook ogp: announce open graph protocol using rdfa, any webpage can become a node in the graph by adding some simple markup
</li>
<li>sample website: semantic web dog food <a target="blank" href="http://data.semanticweb.org/"><span class="icon"> </span>http://data.semanticweb.org/</a>
</li>
<li>drupal:
<ul>
<li>drupal 7 provide rdfa
</li>
<li>drupal content types and data fields are mapped to vocab like dc, rss, sioc (<a target="blank" href="http://sioc-project.org/"><span class="icon"> </span>http://sioc-project.org/</a> comment, post), foaf, skos, etc
</li>
</ul>
</li>
<li>search engine like google (rich snippets), yahoo (searchmonkey)
</li>
<li>retailers: bestbuy(5), overstock, tesco
</li>
</ul>
</li>
<li>linked(open) data:
<ul>
<li>linked data instead of linked document</p>
</li>
<li>data producers like gov, media, etc open their structured data to public
<ul>
<li>identify everything in uri
</li>
<li>use <a target="blank" href="http://"><span class="icon"> </span>http://</a> uri unless they can&#8217;t be found
</li>
<li>provide useful info at each uri
</li>
<li>include links between datasets
</li>
</ul>
</li>
</ul>
</li>
<li>LATC: linked open data around the clock
<ul>
<li>EU &#8220;support action&#8221; project for linked open data</p>
<ul>
<li>publish tutorial
</li>
<li>maintain library for linked data tools (opensource)
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>RDFa 1.1</h3>
<ul>
<li>backwards compatible with rdfa 1.0
</li>
<li>rdfa no longer tied in one language, it is embedded in any suitable host languages e.g. xhtml, html5, svg, odf
</li>
<li>rdfa core defines attribute, precise processing model, requirements on host languages, etc
</li>
<li>xhtml+rdfa 1.1 defines a number of language specific terms, and provides a formal schema and DTD
</li>
<li>no more reliance on @xmlns (too much tied to XML) instead the more generic:
<ul>
<li><tt>@prefix</tt>:</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;html xmlms:foaf=&quot;xxxx&quot; xmlns:dc=&quot;xxxx&quot; /&gt; become &lt;html prefix=&quot;foaf: xxxx&quot; dc: xxxx&quot; /&gt;</div></div>
</li>
</ul>
<ul>
<li><tt>@vocab</tt> to avoid prefixed</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;html vocab:&quot;xxxx&quot; /&gt;</div></div>
<p>but only can use one at that time</li>
</ul>
<ul>
<li><tt>@profile</tt>, which defines terms and/or prefix mapping by loading external document, this might increase processing time but need to define with specific data (e.g. extension)
</li>
</ul>
</li>
</ul>
<h3>RDFa api</h3>
<ul>
<li>focussing on &#8220;using&#8221;, rather than &#8220;producing&#8221; data
</li>
<li>ideally one day supported natively by browsers
</li>
<li>allow abstraction from underlying RDF model
</li>
<li>design oriented on other DOM-based API: document.getElementsBySubject() = document.getElementsById()
</li>
<li>first target: ECMAScript, but other langugage like js should work
</li>
<li>access both data and DOM element: document:getElementsByProperty(&#34;foaf:name&#8221;), document.getElementsBySubject(&#8220;#Linda&#8221;)
</li>
<li>extensibility: non-RDFa parsers (microformats, microdata), other datastores, etc
</li>
</ul>
<h3>Online tools for parsers/syntax checkers</h3>
<ul>
<li>rdfa distiller: <a target="blank" href="http://www.w3.org/2007/08/pyRdfa/"><span class="icon"> </span>http://www.w3.org/2007/08/pyRdfa/</a>
</li>
<li>checkrdfa: <a target="blank" href="http://check.rdfa.info"><span class="icon"> </span>http://check.rdfa.info</a> allows to check Facebook Open Graph Protocol and google rich snippets
</li>
<li><a target="blank" href="http://rdfa.info/wiki/Tools"><span class="icon"> </span>http://rdfa.info/wiki/Tools</a>
</li>
</ul>
<h2>Creativity, design and interaction with HTML5 and CSS3</h2>
<p>By <strong>Dan Rubin</strong> @danrubin</p>
<h3>Useful links</h3>
<ul>
<li><a target="blank" href="http://south10.webdirections.org/program/design#creativity-design-and-interaction-with-html5-and-css3"><span class="icon"> </span>Web directions South, Creativity, design and interaction with HTML5 and CSS3</a>
</li>
</ul>
<h3>New in CSS3 (partial)</h3>
<ul>
<li>new selector
</li>
<li>rounded corners
</li>
<li>@font-face
</li>
<li>RGBa &amp; HSLa        : HSL for lightness, a is alpha
</li>
<li>box-shadow
</li>
<li>gradients
</li>
<li>multiple backgrounds
</li>
<li>media queries
</li>
<li>visual effects &amp; animation
</li>
</ul>
<p>
Testing and detecting browser support:
</p>
<ul>
<li><a href="http://Modernizr.com> Modenrizr</a>: test feature support on browser
</li>
<li><a target="blank" href="http://selectivizr.com/"><span class="icon"> </span>http://selectivizr.com/</a>: css3 selectors for IE
</li>
</ul>
<h3>Examples</h3>
<ul>
<li>css media queries:</p>
<ul>
<li>@media &#8211;&gt; to set the width of the device screen</p>
</li>
<li>can include media attr in &lt;link&gt; tab &#8211;&gt; not recommended
</li>
<li>example: <a target="blank" href="http://simplebits.com/"><span class="icon"> </span>http://simplebits.com/</a>
</li>
<li><a target="blank" href="http://hardboiledwebdesign.com/"><span class="icon"> </span>http://hardboiledwebdesign.com/</a>
</li>
<li>twitter new site
</li>
</ul>
</li>
</ul>
<h3>Tools &amp; useful links</h3>
<ul>
<li><a target="blank" href="http://code.google.com/p/css3-mediaqueries-js/"><span class="icon"> </span>http://code.google.com/p/css3-mediaqueries-js/</a>: for parse, test and apply CSS3 Media Queries
</li>
<li>HTML5 &amp; CSS3 Resources for Designers: <a target="blank" href="http://realworldcss3.com/resources"><span class="icon"> </span>http://realworldcss3.com/resources</a>
</li>
<li><a target="blank" href="http://disable-javascript.com/"><span class="icon"> </span>http://disable-javascript.com/</a>
</li>
<li><a target="blank" href="http://www.tutorialspoint.com/html5/html5_modernizr.htm"><span class="icon"> </span>http://www.tutorialspoint.com/html5/html5_modernizr.htm</a>
</li>
<li><a target="blank" href="http://krsmrs.com/2010/10/web-directions-south-2010/"><span class="icon"> </span>http://krsmrs.com/2010/10/web-directions-south-2010/</a>
</li>
</ul>
<h2>Even faster websites</h2>
<p>By <strong>Steve Sounders</strong> @souders</p>
<h3>Reading</h3>
<ul>
<li>high performace web sites
</li>
<li>even faster web sites
</li>
</ul>
<h3>Links &amp; Tools</h3>
<ul>
<li><a target="blank" href="http://south10.webdirections.org/program/development#even-faster-web-sites"><span class="icon"> </span>Web direction South, Even faster websites</a>
</li>
<li><a target="blank" href="http://www.slideshare.net/souders/web-directions-south-even-faster-web-sites"><span class="icon"> </span>Slide</a>
</li>
<li><a target="blank" href="http://www.browserscope.org/"><span class="icon"> </span>Profiling web browser</a>
</li>
<li><a target="blank" href="http://www.google.com/webmasters/"><span class="icon"> </span>Google webmaster</a>
</li>
<li><a target="blank" href="http://www.webpagetest.org/"><span class="icon"> </span>Web page test</a>
</li>
<li><a target="blank" href="http://www.stevesouders.com/blog/2010/06/01/frontend-spof/"><span class="icon"> </span>Steve souders blog&#8217;s on Frontend SPOF</a>
</li>
<li><a target="blank" href="http://developer.yahoo.com/yslow/"><span class="icon"> </span>YSlow from yahoo</a>
</li>
<li><a target="blank" href="http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html"><span class="icon"> </span>google async snippet for analytics</a>
</li>
</ul>
<h3>Web performance optimization (WPO)</h3>
<ul>
<li>speed is the most important features
</li>
<li>drive traffic
</li>
<li>improves UX
</li>
<li>increases revenue
</li>
<li>reduce costs
</li>
</ul>
<h3>
<p>What makes sites feel slow?<br />
</h3>
<ul>
<li>lack of Progressive Rendering</p>
<ul>
<li>by document flushing: e.g. flush the header first (logo &#8211;&gt; to be shown first) &#8211;&gt; make user feel faster by loading most part of it dynamically</p>
<li>Progressive Enhancement deliver html, defer javascript, avoid DOM, decorate later &#8211;&gt; will achieve Progressive Rendering
<li>focus on js &#8211;&gt; can block the parallel downloaded of the content after the script downloaded
</li>
<li>other browser might take approach to download content in parrarel &#8211;&gt; by putting script tag on the buttom, but still not paraller with script
</li>
<li>split js, download those that is needed to be executed first and everything else. then include the script after the page on load (or when we need it next)
</li>
<li>use page speed of firebug (to split manually) or some other microsoft tool (<a target="blank" href="http://msdn.microsoft.com/en-us/devlabs/ee423534.aspx"><span class="icon"> </span>doloto</a>)
</li>
</ul>
</li>
</li>
</li>
</ul>
<h3>Sample Good page performance sites from top to down</h3>
<ul>
<li>google use sth
</li>
<li>Bootloader used in Fabcebooke to load script dynamically
</li>
<li>yahoo hv something else
</li>
<li>you tube still hv script on top of the source
</li>
<li>amamzon: put the script 40% down in the page
</li>
<li>craigslist: jquery script on the bottom, nvr use it on the first page for the pre-fetching to be used in 2nd page
</li>
<li>ebay: lots of script download in the body &#8211;&gt; bad in ie7
</li>
<li>new twitter: use LABjs.com
</li>
<li>bing: scripts over the place
</li>
<li>wikipidea: all script on head
</li>
</ul>
<h3>New stuff</h3>
<ul>
<li>mobile waterfalls: download only after the prev download done
</li>
<li><a target="blank" href="http://browserscope.org"><span class="icon"> </span>http://browserscope.org</a> includes mobile browser
<ul>
<li>the performace differ from: wifi, carriers</p>
<ul>
<li>they hv different carrier transcoding for one website. e.g: optus changing the size of the images, fix the data and redirect the link to download ALL the resources in paraller. They also inject js file in everypage they download and this is very bad script.
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>WEBP image</h3>
<ul>
<li>format from google (<a target="blank" href="http://code.google.com/speed/webp/"><span class="icon"> </span>http://code.google.com/speed/webp/</a>)</p>
<li>39% smaller compression images
</li>
<li>based on VP8 codec
</li>
<li>loss of quality
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://lindaocta.com/?feed=rss2&#038;p=424</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 right, now &#8211; Workshop</title>
		<link>http://lindaocta.com/?p=422</link>
		<comments>http://lindaocta.com/?p=422#comments</comments>
		<pubDate>Fri, 29 Oct 2010 05:16:45 +0000</pubDate>
		<dc:creator>Linda Octa</dc:creator>
				<category><![CDATA[Conference]]></category>

		<guid isPermaLink="false">http://lindaocta.com/?p=422</guid>
		<description><![CDATA[Wednesday, October 13 2010 by Ben Schwarz @benschwarz Brief Background: Backwards compatible, the new tags will not be displayed in IE6 Build for browser vendor not for the user You tube can&#8217;t work with HTML5 audio/video because HTML5 could not display the advertisement Background reading:]]></description>
			<content:encoded><![CDATA[<p>Wednesday, October 13 2010 by <strong>Ben Schwarz</strong> @benschwarz</p>
<p>Brief Background:</p>
<ul>
<li>Backwards compatible, the new tags will not be displayed in IE6
</li>
<li>Build for browser vendor not for the user
</li>
<li>You tube can&#8217;t work with HTML5 audio/video because HTML5 could not display the advertisement
</li>
</ul>
<p>
Background reading:
</p>
<ul>
<li><a href="http://south10.webdirections.org/workshops#html5-right-now target="blank">Web directions South, HTML5 right, now</a></li>
<li><a target="blank" href="http://www.slideshare.net/benschwarz/building-a-better-web"><span class="icon"> </span>Workshop slide</a> by Ben Schwarz @benschwarz
</li>
<li><a target="blank" href="http://dev.w3.org/html5/spec-author-view/"><span class="icon"> </span>HTML5 Edition for Web Authors</a> by Michael Smith @sideshowbarker
</li>
<li><a target="blank" href="http://dev.w3.org/html5/spec/Overview.html"><span class="icon"> </span>W3c HTML5 Specs</a>
</li>
<li><a target="blank" href="http://www.w3schools.com/html5/"><span class="icon"> </span>HTML5 w3school</a>
</li>
<li><a target="blank" href="http://html5.org/tools/web-apps-tracker"><span class="icon"> </span>HTML5 Revision Tracker</a>
</li>
</ul>
<p><h2>New tags/attributes in HTML5 (partial)</h2>
<h3>Header</h3>
<ul>
<li><tt>&lt;!DOCTYPE html&gt;</tt>: strict standard compliance mode
</li>
<li><tt>&lt;meta charset="utf-8"&gt;</tt>
</li>
<li>base: base directory (root directory)
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;head&gt;<br />
&nbsp; &nbsp;&lt;base href=&quot;http://www.w3schools.com/css/&quot; target=&quot;_blank&quot; /&gt;<br />
&lt;/head&gt;</div></div>
</li>
<li>command: the abstraction behind menu items, buttons, and links. <a target="blank" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/commands.html#commands"><span class="icon"> </span>Reference</a>
</li>
<li>script, assume all script is javascript: <tt>&lt;script src="path"&gt;&lt;/script&gt;</tt>
<ul>
<li>async attribute: true if set and nothing else will be loaded (all partial download will be paused) until the javascript is downloaded. NOTE: The javascript might change the state of the DOM.</p>
<ul>
<li>ie9, chrome can download up to 6 resources now</p>
</li>
</ul>
</li>
<li>defer attribute: include script, but don&#8217;t need to execute the script. execute only after the document is loaded, (safari, chrome, ie9)
<ul>
<li>browser can cache this js so it will load faster
</li>
<li>executed before window onload
</li>
</ul>
</li>
</ul>
</li>
<li>style:
<ul>
<li>scopy attribute: If present, the styles should ONLY apply to the style elements parent element and its child elements.
</li>
</ul>
</li>
</ul>
<h3>Sectioning content tag</h3>
<ul>
<li>section: </p>
<ul>
<li>Only Chrome has default style for this tag, thus, if use other browser, we need to create the default style.
</li>
<li>Optional:
<ul>
<li>&lt;header&gt;: but basically no section without header
</li>
<li>&lt;footer&gt;
</li>
</ul>
</li>
</ul>
</li>
<li>article:
<ul>
<li>e.g. twitter tweet might be article or news paper clip, but this is not a blog post.</p>
</li>
<li>bascially the content can be taken and still make sense. it&#8217;s standalone content
</li>
<li>&lt;header&gt;&lt;h1&gt;
</li>
<li>&lt;time&gt;:
<ul>
<li>Attribute:</p>
<ul>
<li><a target="blank" href="http://www.quackit.com/html_5/tags/html_time_tag.cfm"><span class="icon"> </span>HTML time tag</a>
</li>
<li>datetime for format,
</li>
<li>pubdate: publication date with boolean value: e.g. of time tag: 47 mins ago
</li>
</ul>
</li>
</ul>
</li>
<li>&lt;footer&gt;
</li>
</ul>
</li>
<li>aside:
<ul>
<li>similar to article can belong to article/section</p>
<ul>
<li>can be removed from the article/section, but the content of the article/section is still clear</p>
</li>
<li>it&#8217;s just an additional information for article/section
</li>
<li>&lt;figure&gt; that can be wrap around image, video, svg, object (visual base content)
<ul>
<li>&lt;figcaption&gt; the information of the figure. it can be used become tooltip of the figure
</li>
<li>can have multiple figcaption per figures
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>nav: navigation
<ul>
<li>consist of &lt;ul&gt;&lt;li&gt;
</li>
</ul>
</li>
</ul>
<h3>Heading content tag</h3>
<ul>
<li>hgroup &#8211; block level element, grouping headers together although &#8220;h&#8221; tag itself is a block level element</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;header&gt;<br />
&nbsp; &nbsp; &lt;hgroup&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;h1&gt;sss&lt;/h1&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;h2&gt;ddd&lt;/h2&gt;<br />
&nbsp; &nbsp; &lt;/hgroup&gt;<br />
&lt;/header&gt;</div></div>
<ul>
<li>Test page outliner: <a target="blank" href="http://gsnedders.html5.org/outliner/"><span class="icon"> </span>http://gsnedders.html5.org/outliner/</a> to get the outline of the website content. Try on: <a target="blank" href="http://germanforblack.com"><span class="icon"> </span>http://germanforblack.com</a>
</li>
</ul>
</li>
</ul>
<h3>Content tag:</h3>
<ul>
<li>a with new attributes: See <a target="blank" href="http://www.w3schools.com/html5/tag_a.asp"><span class="icon"> </span>a tag</a>
</li>
<li>strong: In HTML 4.01, the &lt;strong&gt; tag defined strong emphasized text, but in HTML5 it defines important text.
</li>
<li>q &#8211; inline quote
</li>
<li>progress &#8211; tag defines work-in-progress
<ul>
<li>set the value of the progress bar
</li>
</ul>
</li>
</ul>
<h3>&lt;a&gt; tag in detail</h3>
<p>PS: to stack the value up we can do rel=&#8221;feed licence nofollow&#8221; etc&#8230;.</p>
<ul>
<li>&lt;a rel=&#8221;alternate&#8221;&gt; alternate version that represent current page e.g pdf
</li>
<li>&lt;a rel=&#8221;archives&#8221;&gt; list of old post/content
</li>
<li>&lt;a rel=&#8221;author&#8221;&gt; author of the content
</li>
<li>&lt;a rel=&#8221;external&#8221;&gt; external source e.g. arrow link for wiki page to point to external source
</li>
<li>&lt;a rel=&#8221;licence&#8221;&gt; licence about the content (microformat)
</li>
<li>&lt;a rel=&#8221;nofollow&#8221;&gt; e.g. we are linking to external content, but we don&#8217;t take responsible on the content
</li>
<li>&lt;a rel=&#8221;noreferrer&#8221;&gt; (still draft) e.g. we don want to be referrer when you click on the link
</li>
<li>&lt;a rel=&#8221;feed&#8221;&gt; e.g. rss feed. firefox will do auto discover
</li>
<li>&lt;a rel=&#8221;first&#8221;&gt;
</li>
<li>&lt;a rel=&#8221;last&#8221;&gt;
</li>
<li>&lt;a rel=&#8221;prev&#8221;&gt;
</li>
<li>&lt;a rel=&#8221;next&#8221;&gt;
</li>
<li>&lt;a rel=&#8221;up&#8221;&gt; is for breadcrumbs. anchor up
</li>
<li>&lt;a rel=&#8221;prefetch&#8221;&gt; &#8211; only work in firefox. if you hv link, firefox will automatically download the html page of the link and put it in cache. but only for one level. note: it won&#8217;t download image or other content of the page except the text. becareful if the page consist of post method of delete, it will be automatically happen.
</li>
<li>&lt;a rel=&#8221;tag&#8221;&gt; for tag &#8211;&gt; come from micro format
</li>
<li>&lt;a rel=&#8221;sidebar&#8221;&gt; is like favourite in ie, panel in opera, bookmark in firefox it self. this sidebar might be disappear. used to add to bookmark
</li>
<li>&lt;a rel=&#8221;search&#8221;&gt; when click on the link and do the search
</li>
<li>&lt;a rel=&#8221;pingback&#8221;&gt; get response from other website e.g. about the current article
</li>
</ul>
<h3>
Embedded content tag:<br />
</h3>
<ul>
<li>canvas &#8211; bmp image
</li>
<li>video
</li>
<li>audio
</li>
<li>embed
</li>
<li>iframe: eg. sandbox attribute Defines restrictions to the frame content like allow-forms, allow-scripts, etc
</li>
<li>img: align, border, hspace, vspace is not supported in HTML5
</li>
</ul>
<h3>
Interactive content tag:<br />
</h3>
<ul>
<li>menu</p>
<ul>
<li>label
</li>
<li>type: Defines which type of menu to display. Default value is &#8220;list&#8221;. e.g.:
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;menu&gt;<br />
&lt;menu type=&quot;toolbar&quot;&gt;<br />
&lt;menu type=&quot;list&quot;&gt;<br />
&lt;menu label=&quot;A pretty label&quot;&gt;</div></div>
</li>
</ul>
</li>
</ul>
<ul>
<li>Can hv ul, li
</li>
<li>Can hv button
</li>
</ul>
<h3>Block level links:</h3>
<ul>
<li>old way:</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;h&gt;1&gt;&lt;a href=''&gt;title&lt;/a&gt;&lt;/h1&gt;<br />
&lt;p&gt;Brief summary about my article&lt;a href=''&gt;readmore&lt;/a&gt;&lt;/p&gt;</div></div>
</li>
<li>new way:
<div class="codecolorer-container text mac-classic wiki" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;a href='/article'&gt;<br />
&nbsp; &nbsp; &lt;h1&gt;title&lt;/h1&gt;<br />
&nbsp; &nbsp; &lt;p&gt;Brief summary about my article&lt;/p&gt;<br />
&lt;/a&gt;</div></div>
</li>
</ul>
<h3>Microformats:</h3>
<ul>
<li><a target="blank" href="http://microformats.org"><span class="icon"> </span>Microformats.org</a></p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;p class=&quot;hcard&quot;&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;span class=&quot;fn&quot;&gt;Linda Octalina&lt;/span&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;span class=&quot;adr region&quot;&gt;Toowoomba&lt;/span&gt;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;span class=&quot;email&quot;&gt;xxx&lt;/span&gt;<br />
&lt;/p&gt;</div></div>
</li>
<li><a target="blank" href="https://addons.mozilla.org/en-US/firefox/addon/2240/"><span class="icon"> </span>Firefox plugin</a> to export person contact to addressbook using hcard</li>
<li>zotero
</li>
</li>
</ul>
<h3>Microdata</h3>
<ul>
<li>Microdata specs: <a target="blank" href="http://data-vocabulary.org"><span class="icon"> </span>http://data-vocabulary.org</a>
</li>
<li>review bar at google search:
<ul>
<li>www.google.com/webmasters/tools/richsnippets: debugger for website for microformats and microdata. Result will show the google search preview on the url and the microformats/microdata from the url.
</li>
</ul>
</li>
<li>Sample:
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;header itemscope itemtype=&quot;http://data-vocabulary.org/Person&quot;&gt;<br />
&nbsp; &nbsp; &lt;img itemprop=&quot;photo&quot; src=&quot;sss.jpg&quot;/&gt;<br />
&nbsp; &nbsp; &lt;h1 itemprop=&quot;name&quot;&gt;linda&lt;/h1&gt;<br />
&lt;/header&gt;</div></div>
</li>
<ul>
<li>itemscope: is a &#8220;thing&#8221;
</li>
<li>itemtype: link to show the documentation of metadata of the Person or other stuff like organization, product, review, review-aggretate, breadcrumb
</li>
<li>itemprop to describe the tag type
</li>
</ul>
</ul>
<h3>Forms:</h3>
<ul>
<li>&lt;input type=&#8221;email&#8221;&gt; that will switch keybord in ipad with @ symbol. Have validator in webkit only (chrome)
</li>
<li>&lt;input type=&#8221;url&#8221;&gt; get .com button in the keyboard. if we hold down .com button we will get .org or others. Have validator e.g. if there&#8217;s no http or no suffix (chrome)
</li>
<li>&lt;input type=&#8221;file&#8221; multiple&gt; select multiple files to be uploaded (using shift to select multiple files).(Firefox, safari)
</li>
</ul>
<h3>
Autofocus, Placeholder, Search, Required:<br />
</h3>
<ul>
<li>placeholder: not working with IE6
</li>
<li>autofocus: on the text input. it&#8217;s boolean
</li>
<li>search: Have special look (can be overwritten) and hv an x icon when word is typed in. e.g: &lt;input type=&#8221;search&#8221; placeholder=&#8221;search&#8221;&gt;
</li>
<li>required: only work in chrome but will not see the error message
</li>
</ul>
<h3>
Dates:<br />
</h3>
<ul>
<li>still working on it
</li>
<li>how the calendar should look like, for now, still very ugly
</li>
<li>in all browser only show a textbox same as normal input box
</li>
</ul>
<h3>
<a target="blank" href="http://modernizr.com"><span class="icon"> </span>Modernizr</a> by Paul Irish</h3>
<p>Modernizr is javascript that let you to control the design of your site to work different browser. And you can implement CSS3, HTML and Modernizr will detect if the browser supports the style/tag, and Modernizer will control the fallbacks for browsers that don’t yet support them.</p>
<ul>
<li>sample: <a target="blank" href="https://gist.github.com/afd9cdb72bfed8f6fa70"><span class="icon"> </span>https://gist.github.com/afd9cdb72bfed8f6fa70</a>
</li>
<li>automatically add class to html tag.
</li>
<li>E.g check if browser support csscolumn. In css:
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">p {width: 33em;}</div></div>
<p>when use modernizer it will set .csscolums p style. If the browser support csscolumn, it will create two colums otherwise only 1 column will be displayed.
</li>
</ul>
<ul>
<li>If autofocus is not supported in the browser, get the very first field that hv autofocus attribute and focus it. Sample code:</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$(function() {<br />
&nbsp; &nbsp; if (!Modernizr.input.autofocus) {<br />
&nbsp; &nbsp; &nbsp; &nbsp; $(&quot;[autofocus]:first&quot;).focus()<br />
&nbsp; &nbsp; }<br />
});</div></div>
</li>
<li>placeholder same way. use jquery code to set the placeholder value to the input field if the field not on focus and set to empty if it&#8217;s in focus. Other issue: if the user put space, it will not put the placeholder back
</li>
<li>For IE, Shiv wrote script for IE like &lt;!&#8211;[if IE]&gt; &lt;script src=/docs/js/shiv.js&#8221;&gt;&lt;/script&gt;&lt;![endif]. Modernizr will handle this work for IE 8 and below as IE9 does not require this.
</li>
<li>Modernizer also set almost everything to block like:
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">section, article, header, aside, figure, footer, menu, nav {display: block;}</div></div>
</li>
</ul>
<h3>Canvas tag</h3>
<ul>
<li>performace slow but ie9 using dedicated memory/graphic card so it&#8217;s better
</li>
<li>can draw video in canvas
</li>
<li>E.g. Akihabara games uses canvas and svg: <a target="blank" href="http://www.kesiev.com/akihabara/"><span class="icon"> </span>http://www.kesiev.com/akihabara/</a>
</li>
</ul>
<h3>Svg</h3>
<ul>
<li>supported in IE 9 and might be the best support
</li>
<li>using &lt;svg&gt; tag and put content in the tag like &lt;circle&gt;
</li>
<li>raphaeljs.com for drawing svg and can have xml as the input. SVG will still be displayed in IE6
</li>
<li>unlike canvas, we can change the value within svg because all is defined as DOM nodes
</li>
</ul>
<h3>Video &amp; Audio</h3>
<ul>
<li>h264 &#8211; by codec apple, licencing constrain (need to pay by number of user), there&#8217;s rules for this codec: ie9, safari, chrome
</li>
<li>webm &#8211; lead by google. it&#8217;s a decoder (open source)
<ul>
<li>mozzile, opera, sony, youtube.
</li>
<li>not supported by safari
</li>
<li>ie
</li>
</ul>
</li>
<li>solution: flash &#8211; <a target="blank" href="http://www.longtailvideo.com/"><span class="icon"> </span>jwplayer</a>
</li>
<li><a target="blank" href="http://firefogg.org/"><span class="icon"> </span>firefogg</a>: video encoding and uploading for Firefox
</li>
<li><a target="blank" href="http://diveintohtml5.org/video.html"><span class="icon"> </span>http://diveintohtml5.org/video.html</a> By Mark Pilgrm
</li>
<li><a target="blank" href="http://hacks.mozilla.org"><span class="icon"> </span>http://hacks.mozilla.org</a>: <a target="blank" href="http://hacks.mozilla.org/category/audio/"><span class="icon"> </span>http://hacks.mozilla.org/category/audio/</a>
</li>
<li>
Video &amp; audio attributes:</p>
<ul>
<li>autoplay</p>
</li>
<li>controls: optional
</li>
<li>autobuffer
</li>
<li>loop
</li>
</ul>
</li>
<li>Sample: To make this work in iPad, h264 mp4 need to be the first in the video tag
<ul>
<li>Video</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;&lt;video controls autoplay autobuffer loop&gt;<br />
&nbsp; &nbsp; &lt;source src=&quot;movie.mp4&quot; type=&quot;video/mp4; codecs='avc1.42E01E, mp4a.40.2'&quot;&gt;<br />
&nbsp; &nbsp; &lt;source src=&quot;movie.webm&quot; type=&quot;video/wem; codecs='vp8, vorbis'&quot;&gt; everything else<br />
&nbsp; &nbsp; &lt;source src=&quot;movie.ogv&quot; type=&quot;video/ogg; codecs='theora, vorbis'&quot;&gt; firefox<br />
&nbsp; &nbsp; &lt;object&gt; this is where flash come in &lt;/object&gt;<br />
&nbsp;&lt;/video&gt;</div></div>
</li>
</ul>
<ul>
<li>Audio</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;audio controls autoplay autobuffer loop&gt;<br />
&nbsp; &nbsp; &lt;source src=&quot;sound.mp3&quot;&gt;<br />
&nbsp; &nbsp; &lt;source src=&quot;sound.ogg&quot;&gt;<br />
&nbsp; &nbsp; &lt;object&gt; this is where flash come in &lt;/object&gt;<br />
&lt;/audio&gt;</div></div>
</li>
</ul>
</li>
<li>NOTE:
<ul>
<li>mp3: not work in ff, safari (+wav), opera(+wav), ipad, iphone
</li>
<li>ogg: ff and chrome
</li>
</ul>
</li>
</ul>
<h3>Web sockets:</h3>
<ul>
<li>webkit browser: chrome, opera
</li>
<li>create connection to the server and can call back to the server every 20 miliseconds
</li>
<li>push data. sort of like tcp socket
</li>
<li>e.g. headers of each request returned by server. if too many request can crash the server
</li>
<li><a target="blank" href="ws://"><span class="icon"> </span>ws://</a>  &#8211; same as <a target="blank" href="http://"><span class="icon"> </span>http://</a>
</li>
<li><a target="blank" href="wss://"><span class="icon"> </span>wss://</a> &#8211; same as <a target="blank" href="https://"><span class="icon"> </span>https://</a>
</li>
<li>they are birectional:
<ul>
<li>connect to the server with all the headers exchange
</li>
<li>send/receive as many times as you want on that connection
</li>
<li>disconnect
</li>
<li>each frame is 2 bytes of overhead (every message is sent only 2 bytes overhead including message)
</li>
<li>simple API:
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">var socket = new &lt;a class=&quot;missing wiki&quot; href=&quot;/trac/wiki/WebSocket&quot; rel=&quot;nofollow&quot;&gt;WebSocket?&lt;/a&gt;(&quot;&lt;a target=&quot;blank&quot; href=&quot;ws://www.domain.com&quot;&gt;&lt;span class=&quot;icon&quot;&gt; &lt;/span&gt;ws://www.domain.com&lt;/a&gt;&quot;);<br />
socket.onopen = function () {};<br />
socket.onmessage = function () {}; --&gt; will receive json from server<br />
socket.send(message);<br />
socket.onclose = function () {};</div></div>
</li>
</ul>
</li>
</ul>
<ul>
<li>server will not know when the client drop off
</li>
</ul>
<ul>
<li>node.js knockout
</li>
<li>flash has a good support for web socket: <a target="blank" href="http://github.com/gimite/web-socket-js"><span class="icon"> </span>http://github.com/gimite/web-socket-js</a>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;script src=&quot;swfobject.js&quot;&gt;&lt;/script&gt;<br />
&lt;script src=&quot;FABridge.js&quot;&gt;&lt;/script&gt;<br />
&lt;script src=&quot;web_socket.js&quot;&gt;&lt;/script&gt;</div></div>
</li>
<li>use web sockets when they&#8217;re supported (by browser) &#8211; or use ajax/javascript
</li>
<li>not really very useful now
</li>
<li>Usage of socket:
<ul>
<li><a target="blank" href="http://explorer-sox.no.de/rooms/demo/theshiz"><span class="icon"> </span>http://explorer-sox.no.de/rooms/demo/theshiz</a>: To create live chat application
</li>
<li><a target="blank" href="http://lds.li/post/1032271000/gabbertalk"><span class="icon"> </span>http://lds.li/post/1032271000/gabbertalk</a>: It&#8217;s like a chat room by showing the new message at another user client if there&#8217;s update
</li>
</ul>
</li>
</ul>
<h3>Mobile Extra tags</h3>
<ul>
<li>define by apple, see <a target="blank" href="http://developer.apple.com/library/safari"><span class="icon"> </span>http://developer.apple.com/library/safari</a></li>
<li>meta:
<ul>
<li><tt>&lt;meta name="apple-mobile-web-app-capable" content="yes"&gt;</tt>
</li>
<li><tt>&lt;meta name="format-detection" content="telephone-no"&gt;</tt>  &#8211;&gt; turn of telephone number
</li>
<li><tt>&lt;meta name="apple-mobile-web-app-status-bar" ...&gt;</tt> &#8211;&gt; the signal bar on top of iphone
</li>
<li><tt>&lt;meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0,user-scalable:0;"&gt;</tt>
<ul>
<li>width = fix to device resolution
</li>
<li>initial-scale: zoom in the website
</li>
<li>maximum-scale: max zoom
</li>
<li>user-scalable: if the page can be scaled by user
</li>
</ul>
</li>
</ul>
</li>
<li>link (can set icon):
<ul>
<li><tt>&lt;link rel="apple-touch-icon-precomposed" href="mobile-icon.png"/&gt;</tt>: Will overwrite the default gradient on the icon.
</li>
<li><tt>&lt;link rel="apple-touch-icon-style" ... &gt;</tt>: Will remove the address bar to make the website look like native app
</li>
</ul>
</li>
</ul>
<ul>
<li>css3 media query: for device detection.</p>
<ul>
<li>Sample for iphone 3 (need to change for ipad/iphone4)</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">@media all and (max-device-width: 480px) {<br />
&nbsp; &nbsp; body { margin 0 3 em font-size 200%; }<br />
}</div></div>
</li>
<li>double density screen: -webkit-min-device-pixel-ratio:2 (can get from apple mobile dev site) &#8211;&gt; for iphone4 especially
</li>
</ul>
</li>
<li>
Note: </p>
<ul>
<li>We need to real specific on the style. e.g. potrait and landscape. if style has changed, need to set the original style back: <a target="blank" href="http://goldenlink.com.au"><span class="icon"> </span>http://goldenlink.com.au</a> the floating when the page oriented
</li>
<li>iphone3/4 ipad, anroid use webkit but they are slightly different for the styling
</li>
</ul>
</li>
</ul>
<h3>Offline mode</h3>
<ul>
<li>can be set through javascript
</li>
<li>only work for firefox
</li>
<li>&lt;html manifest=&#8221;site.manifest&#8221;&gt; &#8211;&gt; for site.manifest filename can be changed
</li>
<li>content-type:text/cache-manifest &#8211;&gt; server need to send this information so it will be cache
</li>
<li>sample cache manifest file:
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">CACHE MANIFEST<br />
&nbsp; &nbsp; <br />
/<br />
/css/master.css<br />
/js/<br />
&nbsp; &nbsp; <br />
NETWORK: --&gt; (optional) require network access (or ask if they want to connect to internet)<br />
/people<br />
&nbsp; &nbsp; <br />
or <br />
NETWORK:<br />
* &nbsp; &nbsp; &nbsp; --&gt; everysingle address need network<br />
&nbsp; &nbsp; <br />
FALLBACK: &nbsp; --&gt; optional<br />
/offline.html &nbsp;--&gt; divert &nbsp;to offline.html if not online instead of giving them error</div></div>
<ul>
<li>To force cache update</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">CACHE MANIFEST<br />
# Rev 1 --&gt; version number will be updated if there's update in the resources</div></div>
</li>
</ul>
</li>
</ul>
<ul>
<li>localstorage:
</li>
<ul>
<li>browser will not clear it up</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">localStorage.setItem(key, stringValue); &nbsp; //stringValue MUST be a string. <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//if json need to be parsed yet<br />
.getItem(key)<br />
.removeItem(key)<br />
.clear() //clear local database</div></div>
</li>
</ul>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://lindaocta.com/?feed=rss2&#038;p=422</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery </title>
		<link>http://lindaocta.com/?p=416</link>
		<comments>http://lindaocta.com/?p=416#comments</comments>
		<pubDate>Fri, 29 Oct 2010 05:11:19 +0000</pubDate>
		<dc:creator>Linda Octa</dc:creator>
				<category><![CDATA[Conference]]></category>

		<guid isPermaLink="false">http://lindaocta.com/?p=416</guid>
		<description><![CDATA[Tuesday, October 12 2010 by Craig Sharkie @twalve Useful Links: Web directions South, jQuery]]></description>
			<content:encoded><![CDATA[<p>Tuesday, October 12 2010 by <strong>Craig Sharkie</strong> @twalve</p>
<p>Useful Links:</p>
<ul>
<li><a href="http://south10.webdirections.org/workshops#jquery-loves-designers-workshop" target="blank">Web directions South, jQuery <3s designers</a></li>
<li><a target="blank" href="http://download2us.softpedia.com/dl/4c58e6ed18635bbb24995eec182ebb61/4cb3d792/600062293/webscripts/javascripts/jqapi.zip"><span class="icon"> </span>jQuery offline API</a>
</li>
<li><a target="blank" href="http://labs.impulsestudios.ca/jquery-cheat-sheet"><span class="icon"> </span>jQuery 1.4 Cheat Sheet </a>
</li>
<li><a target="blank" href="http://woorkup.com/2010/06/13/jquery-1-4-2-visual-cheat-sheet/"><span class="icon"> </span>jQuery 1.4.2 Visual Cheat Sheet</a>
</li>
</ul>
<p>Useful Plugins:</p>
<ul>
<li><a target="blank" href="http://gsgd.co.uk/sandbox/jquery/easing/"><span class="icon"> </span>Advanced easing options</a></li>
<li><a target="blank" href="http://ajaxian.com/archives/jQuery-mobile-announced-touch-optimized-web-framework-for-smartphones-tablets"><span class="icon"> </span>jQuery Mobile Framework</a>, will be released around December
</li>
</ul>
<p>
]]></content:encoded>
			<wfw:commentRss>http://lindaocta.com/?feed=rss2&#038;p=416</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Set value of the variable in &#8220;FOR&#8221; loop in Window batch script</title>
		<link>http://lindaocta.com/?p=337</link>
		<comments>http://lindaocta.com/?p=337#comments</comments>
		<pubDate>Fri, 16 Jul 2010 05:14:50 +0000</pubDate>
		<dc:creator>Linda Octa</dc:creator>
				<category><![CDATA[Window]]></category>
		<category><![CDATA[batch file]]></category>
		<category><![CDATA[batch processor]]></category>
		<category><![CDATA[batch script]]></category>
		<category><![CDATA[enabledelayedexpansion]]></category>

		<guid isPermaLink="false">http://lindaocta.com/?p=337</guid>
		<description><![CDATA[Running for loop and setting the variable values within the for loop is different in window batch file comparing to other scripting or programming language. Following example is trying to get the total value of 1, 2, 3 and 4. set COUNT=0 for %%F in (1 2 3 4) do ( set /A COUNT=!COUNT! + &#8230; </p><p><a class="more-link block-button" href="http://lindaocta.com/?p=337">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Running for loop and setting the variable values within the for loop is different in window batch file comparing to other scripting or programming language.</p>
<p>Following example is trying to get the total value of 1, 2, 3 and 4.</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">set COUNT=0<br />
for %%F in (1 2 3 4) do (<br />
set /A COUNT=!COUNT! + 1<br />
echo %COUNT%<br />
)</div></div>
<p>But we will get:</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">0<br />
0<br />
0<br />
0</div></div>
<p>This is because batch processor expands the variable only once, thus %COUNT% is expanded to its value, which is the initial value, 0.</p>
<p>To fix this, <strong>ENABLEDELAYEDEXPANSION</strong> can be turned on to delay the batch processor expanding the variable the end of the looping. Also, using <strong>!</strong> instead of <strong>%</strong> to expand the environment variable value.</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">setlocal ENABLEDELAYEDEXPANSION<br />
set COUNT=0<br />
for %%F in (1 2 3 4) do (<br />
set /A COUNT=!COUNT! + %%F<br />
echo !COUNT!<br />
)</div></div>
<p>The result of the above code is:</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">1<br />
3<br />
6<br />
10</div></div>
<p>There&#8217;s another way to enable the delay expansion is through the registry. Please refer to <a href="http://batcheero.blogspot.com/2007/06/how-to-enabledelayedexpansion.html">http://batcheero.blogspot.com/2007/06/how-to-enabledelayedexpansion.html</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://lindaocta.com/?feed=rss2&#038;p=337</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Writing files to NTFS drive in Snow Leopard</title>
		<link>http://lindaocta.com/?p=360</link>
		<comments>http://lindaocta.com/?p=360#comments</comments>
		<pubDate>Thu, 15 Jul 2010 05:10:51 +0000</pubDate>
		<dc:creator>Linda Octa</dc:creator>
				<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[iNTFS]]></category>
		<category><![CDATA[NTFS drive]]></category>
		<category><![CDATA[NTFS harddisk]]></category>
		<category><![CDATA[NTFS mounter]]></category>
		<category><![CDATA[snow leopard]]></category>
		<category><![CDATA[write]]></category>

		<guid isPermaLink="false">http://lindaocta.com/?p=360</guid>
		<description><![CDATA[Had problem in writing files to my external harddisk with NTFS format through Snow Leopard. In some forum, expert recommended to use free utility tools like: iNTFS and NTFS mounter Write files to NTFS drive is actually supported by Snow Leopard but this functionality is not enabled by default. The above utility tools are useful &#8230; </p><p><a class="more-link block-button" href="http://lindaocta.com/?p=360">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Had problem in writing files to my external harddisk with NTFS format through Snow Leopard. </p>
<p>In some forum, expert recommended to use free utility tools like: <a href="http://www.itecnologici.com/intfs-per-scrivere-su-partizioni-ntfs-semplicemente-usando-il-supporto-nativo-di-snow-leopard">iNTFS</a> and <a href="http://ntfsmounter.com/">NTFS mounter</a></p>
<p>Write files to NTFS drive is actually supported by Snow Leopard but this functionality is not enabled by default. The above utility tools are useful for Leopard, as Leopard does not support write operation. To enable the write operation fro NTFS drive in Snow Leopard: </p>
<ol>
<li>In Terminal, type diskutil info /Volumes/volume_name, where volume_name is the name of the NTFS volume. From the output, copy the Volume UUID value to the clipboard.
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">diskutil info /Volumes/drive_name</div></div>
</li>
<li>Back up /etc/fstab if you have it; it shouldn&#8217;t be there in a default install.
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo cp /etc/fstab /etc/fstab.ori</div></div>
</li>
<li>Type sudo nano /etc/fstab
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo vi /etc/fstab</div></div>
</li>
<li>In the editor, type UUID=, then paste the UUID number you copied from the clipboard. Type a Space, then type none ntfs rw. The final line should look like this:
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">UUID=123-456-789 none ntfs rw</div></div>
<p>where 123-456-789 is the UUID you copied in the first step.</li>
<li>Repeat the above steps for any other NTFS drives/partitions you have.</li>
<li>Save the file and quit nano (Control-X, Y, Enter), then restart your system.</li>
<li>Restart the computer, the added NTFS drive should be able to be written. </li>
</ol>
<p><strong>NOTE:</strong><br />
If there is not UUID, use the volume label instead.</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">LABEL=volume_label none ntfs rw</div></div>
<p>Useful link:</p>
<ol>
<li><a href="http://www.macosxhints.com/article.php?story=20090913140023382">http://www.macosxhints.com/article.php?story=20090913140023382</a></li>
<li><a href="http://www.insanelymac.com/forum/index.php?showtopic=211212">http://www.insanelymac.com/forum/index.php?showtopic=211212</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://lindaocta.com/?feed=rss2&#038;p=360</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
