<?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:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;AkQCQX89cSp7ImA9WxNUGE4.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433</id><updated>2009-11-09T23:32:40.169-08:00</updated><title>TeamCo AntHill</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://teamco-anthill.blogspot.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>260</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/TeamcoAnthill" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;AkQCQX8yfSp7ImA9WxNUGE4.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-7611439271152725446</id><published>2009-11-09T03:45:00.000-08:00</published><updated>2009-11-09T23:32:40.195-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-09T23:32:40.195-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="tooltip" /><category scheme="http://www.blogger.com/atom/ns#" term="Prototype" /><category scheme="http://www.blogger.com/atom/ns#" term="jQuery" /><title>Tooltip.js</title><content type="html">&lt;span style="font-weight: bold;"&gt;jQuery:&lt;/span&gt;&lt;br /&gt;tip.init(object) &lt;span style="font-style: italic;"&gt;#tooltip will be taken from object "helper" attribute&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;img src="..." helper="..."&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;tip.init('img[helper]')&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;var tip = {&lt;br /&gt;init : function(e){&lt;br /&gt;   $(e).bind("mouseenter", this.createTip);&lt;br /&gt;   $(e).mouseleave(function(){$("#tip").remove()});&lt;br /&gt;   $(e).click(function(){$("#tip").remove()});&lt;br /&gt;   $(e).mousemove(function(e){$("#tip").css({left:e.pageX+30,&lt;br /&gt;                                             top:e.pageY-16})});&lt;br /&gt;},&lt;br /&gt;createTip : function(e) {&lt;br /&gt;    var obj=$(e.currentTarget),&lt;br /&gt;        title=$.trim(obj.attr("helper"));&lt;br /&gt;    if(title.length&gt;0){        &lt;br /&gt;       return $("#tip").length === 0 ?&lt;br /&gt;          $("&lt;span style="font-style: italic;"&gt;&lt;&lt;/span&gt;div&lt;span style="font-style: italic;"&gt;&gt;&lt;/span&gt;").html("&lt;span style="font-style: italic;"&gt;&lt;&lt;/span&gt;span&lt;span style="font-style: italic;"&gt;&gt;&lt;/span&gt;"+$.trim(obj.attr("helper"))+"&lt;span style="font-style: italic;"&gt;&lt;&lt;/span&gt;/span&lt;span style="font-style: italic;"&gt;&gt;&lt;/span&gt;").&lt;br /&gt;                     attr("id","tip").&lt;br /&gt;                     css({left:e.pageX+30,&lt;br /&gt;                          top:e.pageY-16,&lt;br /&gt;                          position:'absolute',&lt;br /&gt;                          border:'1px solid #FFE222',&lt;br /&gt;                          background:'#FFFBC2',&lt;br /&gt;                          color:'#514721',&lt;br /&gt;                          padding:'5px 10px',&lt;br /&gt;                          textTransform:'lowercase',&lt;br /&gt;                          fontVariant:'small-caps',&lt;br /&gt;                          zIndex:9000}).&lt;br /&gt;                     appendTo("body") : null;&lt;br /&gt;&lt;/code&gt;        } else {return false}&lt;br /&gt;&lt;div&gt;    }&lt;br /&gt;};&lt;/div&gt;&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;Prototype:&lt;br /&gt;&lt;/span&gt;&lt;span&gt;tip.createTip(container,object)&lt;/span&gt; &lt;span style="font-style: italic;"&gt;#tooltip will be taken from object "title" attribute&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;div id="container"&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;&lt;/span&gt;img src="..." title="..." /&lt;span style="font-style: italic;"&gt;&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;&lt;/span&gt;/div&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;tip.&lt;/span&gt;&lt;span&gt;createTip&lt;/span&gt;&lt;span style="font-style: italic;"&gt;($('container'),'img[title]')&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;var tip = {&lt;br /&gt; title  : '',&lt;br /&gt; opacity: .8,&lt;br /&gt; marginX: 30,&lt;br /&gt; marginY: -46,&lt;br /&gt; position : function(i,e){&lt;br /&gt;     return i.setStyle({left:e.clientX+this.marginX+'px',&lt;br /&gt;                        top:e.clientY+this.marginY+'px'})&lt;br /&gt; },&lt;br /&gt; enter : function(i){&lt;br /&gt;     var tip=this;&lt;br /&gt;     $(i).observe(antHill.events.menter,function(e){&lt;br /&gt;         var div,obj=$(e.currentTarget);&lt;br /&gt;         tip.title=obj.readAttribute("title");&lt;br /&gt;         obj.writeAttribute("title",'');&lt;br /&gt;         if($("tip")===null){&lt;br /&gt;             div=new Element('div',{id:'tip'});&lt;br /&gt;             div.addClassName('tooltip').&lt;br /&gt;                 setOpacity(tip.opacity).&lt;br /&gt;                 innerHTML="&lt;span style="font-style: italic;"&gt;&lt;&lt;/span&gt;span&lt;span style="font-style: italic;"&gt;&gt;&lt;/span&gt;"+tip.title+"&lt;span style="font-style: italic;"&gt;&lt;&lt;/span&gt;/span&lt;span style="font-style: italic;"&gt;&gt;&lt;/span&gt;";&lt;br /&gt;             tip.position(div,e);&lt;br /&gt;             $($$('body')[0]).insert({bottom:div});&lt;br /&gt;         }&lt;br /&gt;         Event.stop(e)}.bindAsEventListener($(i)));&lt;br /&gt; },&lt;br /&gt; leave : function(i){&lt;br /&gt;     $(i).observe(antHill.events.mleave,function(e){&lt;br /&gt;         $("tip").remove();&lt;br /&gt;         $(i).writeAttribute("title",tip.title);&lt;br /&gt;         Event.stop(e)}.bindAsEventListener($(i)));&lt;br /&gt; },&lt;br /&gt; move : function(i){&lt;br /&gt;     $(i).observe(antHill.events.mmove,function(e){&lt;br /&gt;         antHill.tip.position($("tip"),e);&lt;br /&gt;         Event.stop(e)}.bindAsEventListener($(i)));&lt;br /&gt; },&lt;br /&gt; init : function(i){&lt;br /&gt;     this.enter(i);&lt;br /&gt;     this.leave(i);&lt;br /&gt;     this.move(i);&lt;br /&gt; },&lt;br /&gt; createTip : function(c,i){c.select(i).&lt;br /&gt;                             each(function(i){tip.init(i)})}&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-7611439271152725446?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/7611439271152725446/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=7611439271152725446" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/7611439271152725446?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/7611439271152725446?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/iMue66Kv274/tooltipjs.html" title="Tooltip.js" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/11/tooltipjs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUARXc_fip7ImA9WxNUFE8.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-8747822547662283241</id><published>2009-11-05T03:56:00.000-08:00</published><updated>2009-11-05T03:57:24.946-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-05T03:57:24.946-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MySQL" /><category scheme="http://www.blogger.com/atom/ns#" term="Backup" /><title>AutoMySQLBackup</title><content type="html">A script to take daily, weekly and monthly backups of your MySQL databases using mysqldump. Features - Backup mutiple databases - Single backup file or to a seperate file for each DB - Compress backup files - Backup remote servers - E-mail logs ...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sourceforge.net/projects/automysqlbackup/"&gt;http://sourceforge.net/projects/automysqlbackup/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-8747822547662283241?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/8747822547662283241/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=8747822547662283241" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/8747822547662283241?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/8747822547662283241?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/gd9nD9oer2Y/automysqlbackup.html" title="AutoMySQLBackup" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/11/automysqlbackup.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ANQX0yeip7ImA9WxNUFE8.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-1412513808160267460</id><published>2009-11-05T03:48:00.000-08:00</published><updated>2009-11-05T03:49:50.392-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-05T03:49:50.392-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="packer" /><category scheme="http://www.blogger.com/atom/ns#" term="compressor" /><category scheme="http://www.blogger.com/atom/ns#" term="css" /><title>7 Free Tools to Minify your Scripts and CSS</title><content type="html">&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.crockford.com/javascript/jsmin.html"&gt;JSMin (JavaScript Minifier)&lt;/a&gt; - removes comments and unnecessary whitespace from JavaScript files&lt;/li&gt;&lt;li&gt;&lt;a href="http://js-optimizer.sourceforge.net/"&gt;JSO (JavaScript Optimizer)&lt;/a&gt; - allows you to manage your JavaScript and CSS resources and to reduce the amount of data transfered between the server and the client.&lt;/li&gt;&lt;li&gt;&lt;a href="http://dean.edwards.name/packer/"&gt;Packer&lt;/a&gt; – An online JavaScript Compressor&lt;/li&gt;&lt;li&gt;&lt;a href="http://jscompress.com/"&gt;JSCompress.com&lt;/a&gt; – Online tool that uses either JSMin or Packer to compress your files&lt;/li&gt;&lt;li&gt;&lt;a href="http://shygypsy.com/cssCompress/"&gt;CSS Compressor&lt;/a&gt; – Online tool that compresses your CSS file&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.digitaloverload.co.uk/jsmin/"&gt;DigitalOverload JavaScript Minifier&lt;/a&gt; – Online tool that minifies your JavaScript files&lt;/li&gt;&lt;li&gt;&lt;a href="http://developer.yahoo.com/yui/compressor/"&gt;YUI Compressor&lt;/a&gt; – A JavaScript minifier designed to be 100% safe and yields a higher compression ratio than most other tools.&lt;/li&gt;&lt;/ol&gt;&lt;a href="http://www.devcurry.com/2009/11/7-free-tools-to-minify-your-scripts-and.html"&gt;http://www.devcurry.com/2009/11/7-free-tools-to-minify-your-scripts-and.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-1412513808160267460?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/1412513808160267460/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=1412513808160267460" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/1412513808160267460?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/1412513808160267460?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/qlH9bpWwoIQ/7-free-tools-to-minify-your-scripts-and.html" title="7 Free Tools to Minify your Scripts and CSS" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/11/7-free-tools-to-minify-your-scripts-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMMR3gzeCp7ImA9WxNUEEU.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-45010784542052432</id><published>2009-11-01T05:00:00.000-08:00</published><updated>2009-11-01T05:01:26.680-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-01T05:01:26.680-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Caja" /><title>Caja</title><content type="html">Caja allows websites to &lt;b&gt;safely embed&lt;/b&gt; DHTML web applications from third parties, and enables &lt;b&gt;rich interaction&lt;/b&gt; between the embedding page and the embedded applications.  It uses an &lt;a href="http://en.wikipedia.org/wiki/Object-capability_model" rel="nofollow"&gt;object-capability security model&lt;/a&gt; to allow for a wide range of &lt;b&gt;flexible security policies&lt;/b&gt;, so that the containing page can effectively control the embedded applications' use of user data and to allow gadgets to prevent interference between gadgets' UI elements. &lt;p&gt;Today, some websites embed third-party code using &lt;tt&gt;iframe&lt;/tt&gt;s. This approach does not prevent a wide variety of attacks: &lt;a href="http://code.google.com/p/google-caja/wiki/RedirectWithoutUserAction" rel="nofollow"&gt;redirection to phishing pages&lt;/a&gt; which could pretend to be a login page for the embedding application; stopping the browser from working until the user &lt;a href="http://code.google.com/p/google-caja/wiki/RedirectWithoutUserAction" rel="nofollow"&gt;downloads malware&lt;/a&gt;; &lt;a href="http://code.google.com/p/google-caja/wiki/HistoryMining" rel="nofollow"&gt;stealing history information&lt;/a&gt; about which sites a user has visited so that more target phishing attacks can be done; and &lt;a href="http://code.google.com/p/google-caja/wiki/UrlFetchingSideChannel" rel="nofollow"&gt;port scanning&lt;/a&gt; the user's local network.  Finally, even though a website can choose not to give data to an &lt;tt&gt;iframe&lt;/tt&gt; app, once it has done so it can place no further restrictions on what the &lt;tt&gt;iframe&lt;/tt&gt; app can do with it — it cannot stop the &lt;tt&gt;iframe&lt;/tt&gt; app from sending that data elsewhere. &lt;/p&gt;&lt;p&gt;Caja addresses these problems which are not addressed by &lt;tt&gt;iframe&lt;/tt&gt; jails; and it does so in a very &lt;b&gt;flexible&lt;/b&gt; way. If a container wishes to allow an embedded application to use a particular web service, but not to send arbitrary network requests, then it can give the application an object that interacts with that web service, but deny access to &lt;tt&gt;XMLHttpRequest&lt;/tt&gt;.  Under Caja, &lt;b&gt;passing objects grants authority, and denying access to objects denies authority&lt;/b&gt;, as is typical in an object-capability environment. Information leakage can be prevented by allowing user data to be encapsulated in objects that can be rendered in user-readable form but not read by scripts ; we can prevent leakage without solving the problem of covert channels.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://code.google.com/p/google-caja/"&gt;http://code.google.com/p/google-caja/&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-45010784542052432?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/45010784542052432/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=45010784542052432" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/45010784542052432?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/45010784542052432?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/7DLTaR66lAU/caja.html" title="Caja" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/11/caja.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MCSHg5cCp7ImA9WxNWGEg.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-4321027780157489039</id><published>2009-10-13T06:19:00.000-07:00</published><updated>2009-10-18T02:51:09.628-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-18T02:51:09.628-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Accordion" /><category scheme="http://www.blogger.com/atom/ns#" term="jQuery" /><title>Accordion.js</title><content type="html">&lt;span&gt;accordion.init params (&lt;/span&gt;&lt;code&gt;accordion.init(5,1,"ul.menu","slow"&lt;/code&gt;&lt;span&gt;):&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;5: opened section index (numeric)&lt;/li&gt;&lt;li&gt;1: autohide (bool)&lt;/li&gt;&lt;li&gt;"ul.menu": container element&lt;/li&gt;&lt;li&gt;"slow": speed&lt;/li&gt;&lt;/ul&gt;On each page can be rendered "#navid" parameter (section name) to focus setting.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;HTML&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;i&gt;&lt;&lt;/i&gt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;head&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;script type="text/javascript" src="jquery.js"&gt;&lt;i&gt;&lt;&lt;/i&gt;/script&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;script type="text/javascript" src="accordion.js"&gt;&lt;i&gt;&lt;&lt;/i&gt;/script&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;script type="text/javascript"&gt;&lt;br /&gt;$(document).ready(function(){accordion.init(5,1,"ul.menu","slow")});&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;/script&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;/head&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;body&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;ul class="menu"&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;li rel="category"&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;h3 rel="title"&gt;parent&lt;i&gt;&lt;&lt;/i&gt;/h3&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;ul level="0"&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;li rel="category"&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;h3 rel="title"&gt;category 1&lt;i&gt;&lt;&lt;/i&gt;/h3&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;ul level="1"&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 1&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 2&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 3&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;/ul&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;li rel="category"&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;h3 rel="title"&gt;category 2&lt;i&gt;&lt;&lt;/i&gt;/h3&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;ul level="1"&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 1&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 2&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;/ul&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;li rel="category"&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;h3 rel="title"&gt;category 2&lt;i&gt;&lt;&lt;/i&gt;/h3&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;ul level="1"&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 1&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 2&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;/ul&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;/ul&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;                  &lt;i&gt;&lt;br /&gt;&lt;&lt;/i&gt;li rel="category"&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;h3 rel="title"&gt;parent&lt;i&gt;&lt;&lt;/i&gt;/h3&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;ul level="0"&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;li rel="category"&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;h3 rel="title"&gt;category 1&lt;i&gt;&lt;&lt;/i&gt;/h3&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;ul level="1"&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 1&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 2&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 3&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;/ul&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;li rel="category"&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;h3 rel="title"&gt;category 2&lt;i&gt;&lt;&lt;/i&gt;/h3&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;ul level="1"&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 1&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 2&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;/ul&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;li rel="category"&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;h3 rel="title"&gt;parent&lt;i&gt;&lt;&lt;/i&gt;/h3&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;ul level="1"&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;li rel="category"&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;h3 rel="title"&gt;category 1&lt;i&gt;&lt;&lt;/i&gt;/h3&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;ul level="2"&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 1&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 2&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 3&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;/ul&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;li rel="category"&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;h3 rel="title"&gt;category 2&lt;i&gt;&lt;&lt;/i&gt;/h3&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;ul level="2"&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 1&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 2&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;/ul&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;li rel="category"&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;h3 rel="title"&gt;category 2&lt;i&gt;&lt;&lt;/i&gt;/h3&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;ul level="2"&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 1&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 2&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;/ul&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;/ul&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;li rel="category"&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;h3 rel="title"&gt;category 2&lt;i&gt;&lt;&lt;/i&gt;/h3&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;ul level="1"&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 1&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;       &lt;i&gt;&lt;&lt;/i&gt;li class="sub_items"&gt;&lt;i&gt;&lt;&lt;/i&gt;a href="#"&gt;link 2&lt;i&gt;&lt;&lt;/i&gt;/a&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;    &lt;i&gt;&lt;&lt;/i&gt;/ul&gt;&lt;br /&gt; &lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;/ul&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;/li&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;/ul&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;span id="navid" style="display:none"&gt;category 1&lt;i&gt;&lt;&lt;/i&gt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;&lt;/i&gt;/body&gt;&lt;i&gt;&lt;br /&gt;&lt;&lt;/i&gt;/html&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Javascript&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;$.fn.equals = function(compareTo) {&lt;br /&gt;       if (!compareTo||!compareTo.length||this.length!=compareTo.length){return false}&lt;br /&gt;       for(var i=0;i&lt;this.length;i++){if(this[i]!==compareTo[i]){return false}}&lt;br /&gt;       return true;&lt;br /&gt;}&lt;br /&gt;var menu = function accordion(l,h,c,s){&lt;br /&gt; var accordion = {&lt;br /&gt;    init : function(){&lt;br /&gt;       this.autohide=h;&lt;br /&gt;       this.speed=s;   &lt;br /&gt;       this.parents=[];   &lt;br /&gt;       this.container=$(c);   &lt;br /&gt;       this.focus=$("#navid");&lt;br /&gt;       this.initMenu(l)}, &lt;br /&gt;    categories : function(){return this.getH3(this.getLi(this.container))},   &lt;br /&gt;    getLi : function(e){return $(e).find("li[rel=category]")},   &lt;br /&gt;    getH3 : function(e){return $(e).find("h3[rel=title]")},      &lt;br /&gt;    close : function(e){$(e).find("h3:first").addClass("close")},      &lt;br /&gt;    findParents: function(p){&lt;br /&gt;       var c=this.container,a=this.parents;&lt;br /&gt;       $.each(p.parents("ul"),function(){&lt;br /&gt;  if($(this).equals(c)){return}&lt;br /&gt;  else {a.push($(this))}})&lt;br /&gt;       return a},&lt;br /&gt;    up : function(p,e,h){&lt;br /&gt;       var u=p.find("ul");&lt;br /&gt;       h?u.hide():u.slideUp(this.speed);&lt;br /&gt;       this.getH3(p).removeClass("close")},&lt;br /&gt;    down : function(p,e){&lt;br /&gt;       var b=$.browser.msie&amp;amp;&amp;amp;$.browser.version=='7.0',&lt;br /&gt;    o=this.findParents(p),&lt;br /&gt;    s=this.speed, &lt;br /&gt;    u=p.parent().find("ul[level="+e.attr("level")+"]"),&lt;br /&gt;    h=$.grep(u,function(a){return a!=e[0]});     &lt;br /&gt;       b?e.show(s):e.slideDown(s);&lt;br /&gt;       if(this.autohide)$.each(h,function(){accordion.up($(this).parent())});&lt;br /&gt;       this.close(p);      &lt;br /&gt;       $.each(o, function(){&lt;br /&gt;  accordion.close($(this).parent());&lt;br /&gt;  b?$(this).show(s):$(this).slideDown(s)})},&lt;br /&gt;    anime : function(t,e,h){this[t](e.parent(),e,h)},&lt;br /&gt;    setFocus : function(i) {&lt;br /&gt;       var f=this.focus,t=f.text();&lt;br /&gt;       if(f.length&gt;0){$.each(this.categories(),function(k,v){if($(v).text()==t)i=k})}&lt;br /&gt;       return i},&lt;br /&gt;    initMenu : function(i,init){&lt;br /&gt;       var p,e=this.container.find("ul");&lt;br /&gt;       if(i==-1)this.setEvents(e);&lt;br /&gt;       if(init){e=$(e[i]);e.is(':visible')?this.anime("up",e):this.anime("down",e)}&lt;br /&gt;       else{this.setEvents(e);i=this.setFocus(i);this.anime("down",$(e[i]))}},&lt;br /&gt;    setEvents : function(e){&lt;br /&gt;       var h=this.categories();&lt;br /&gt;       h.bind("click",function(e){accordion.initMenu(h.index($(e.target)),1);});&lt;br /&gt;       this.anime("up",e,1)}&lt;br /&gt; }&lt;br /&gt; return accordion.init();&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-4321027780157489039?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/4321027780157489039/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=4321027780157489039" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/4321027780157489039?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/4321027780157489039?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/_1iezDLmMOw/accordeonjs.html" title="Accordion.js" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/10/accordeonjs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08DR3cycSp7ImA9WxNWEE0.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-4748594054241212049</id><published>2009-10-08T06:50:00.000-07:00</published><updated>2009-10-08T06:51:16.999-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-08T06:51:16.999-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="iPhone" /><category scheme="http://www.blogger.com/atom/ns#" term="Ruby" /><category scheme="http://www.blogger.com/atom/ns#" term="rails" /><title>iPhone &amp; Rails</title><content type="html">&lt;strong&gt;ObjectiveResource&lt;/strong&gt; is an Objective-C port of Ruby on Rails' &lt;a href="http://api.rubyonrails.org/classes/ActiveResource/Base.html"&gt;ActiveResource&lt;/a&gt;. It provides a way to serialize objects to and from Rails' standard RESTful web-services (via XML or JSON) and handles much of the complexity involved with invoking web-services of any language from the iPhone.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://iphoneonrails.com/"&gt;http://iphoneonrails.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-4748594054241212049?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/4748594054241212049/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=4748594054241212049" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/4748594054241212049?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/4748594054241212049?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/wUW11OQI_30/iphone-rails.html" title="iPhone &amp; Rails" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/10/iphone-rails.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQDQ3o4fSp7ImA9WxNXGU8.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-8596658800077981355</id><published>2009-10-07T07:40:00.000-07:00</published><updated>2009-10-07T07:56:12.435-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-07T07:56:12.435-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Ajax" /><category scheme="http://www.blogger.com/atom/ns#" term="Cross domain" /><category scheme="http://www.blogger.com/atom/ns#" term="Flash" /><title>Cross-Domain Ajax with Flash</title><content type="html">flXHR is a *client-based* cross-browser, XHR-compatible tool for cross-domain Ajax (Flash) communication. It utilizes an invisible flXHR.swf instance that acts as sort of a client-side proxy for requests, combined with a Javascript object/module wrapper that exposes an identical interface to the native XMLHttpRequest (XHR) browser object, with a few helpful additions and a couple of minor limitations (see the documentation for more details).&lt;br /&gt;&lt;br /&gt;flXHR requires plugin v9.0.124 for security reasons. See the documentation for a configuration flag "autoUpdatePlayer" which will attempt to automatically inline update the plugin if need be.&lt;br /&gt;&lt;br /&gt;The result is that flXHR can be used as a drop-in replacement for XHR based Ajax, giving you consistent, secure, efficient cross-domain client-to-server cross-domain Ajax communication, without messy workarounds such as IFRAME proxies, dynamic script tags, or server-side proxying.&lt;br /&gt;&lt;br /&gt;flXHR brings a whole new world of cross-domain Ajax and API-consistency to any browser with Javascript and Flash Player plugin v9+ support (Adobe claims Flash has 99% browser support now External Link). No other methods or workarounds can claim that kind of wide-spread support or consistency. In addition, flXHR boasts the ability to be dropped-in to many different Javascript frameworks (Dojo, Prototype, jQuery, etc) for even easier and more robust Ajax usage.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://flxhr.flensed.com/"&gt;http://flxhr.flensed.com/&lt;/a&gt;&lt;qtlend&gt;&lt;/qtlend&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-8596658800077981355?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/8596658800077981355/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=8596658800077981355" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/8596658800077981355?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/8596658800077981355?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/69OKp8eQFQo/cross-domain-ajax-with-flash.html" title="Cross-Domain Ajax with Flash" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/10/cross-domain-ajax-with-flash.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMNRnoyeSp7ImA9WxNXE0U.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-6841207349265362606</id><published>2009-10-01T01:07:00.000-07:00</published><updated>2009-10-01T01:08:17.491-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-01T01:08:17.491-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><title>An Introduction to JavaScript’s “this”</title><content type="html">JavaScript is an amazing little language, but it’s got some quirks that turn a lot of people off. One of those quirks is &lt;code&gt;this&lt;/code&gt;, and how it’s not necessarily what you expect it to be. &lt;code style="font-weight: bold;"&gt;this&lt;/code&gt; isn’t that complicated, but there are very few explanations of how it works on the internet. I find myself constantly re-explaining the concept to those who are new to JavaScript development. This article is an attempt to explain how &lt;code&gt;this&lt;/code&gt; works and how to use it properly.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://justin.harmonize.fm/index.php/2009/09/an-introduction-to-javascripts-this/"&gt;http://justin.harmonize.fm/index.php/2009/09/an-introduction-to-javascripts-this/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-6841207349265362606?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/6841207349265362606/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=6841207349265362606" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6841207349265362606?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6841207349265362606?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/7oXybdsE0RI/introduction-to-javascripts-this.html" title="An Introduction to JavaScript’s “this”" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/10/introduction-to-javascripts-this.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMGRX04fCp7ImA9WxNXE0U.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-7643112784957565780</id><published>2009-10-01T01:05:00.000-07:00</published><updated>2009-10-01T01:07:04.334-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-01T01:07:04.334-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="BugMash" /><category scheme="http://www.blogger.com/atom/ns#" term="Ruby" /><category scheme="http://www.blogger.com/atom/ns#" term="rails" /><title>BugMash</title><content type="html">&lt;p&gt;Have you ever wondered how you could get started contributing to the core Rails code? Have you been watching the growth of RailsBridge and wondering where you could fit in? Well, wonder no longer: we have an answer to both of those questions. Announcing:&lt;/p&gt;    &lt;span style="font-weight: bold;"&gt;The First Rails and RailsBridge BugMash&lt;br /&gt;&lt;/span&gt;    &lt;p&gt;The idea is simple: RailsBridge has a lot of energy. &lt;a href="https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets?q=all" class="external"&gt;The Rails Lighthouse&lt;/a&gt; has a lot of open tickets. With the help of some Rails Core team members, we're going to see what we can do to cut down the number of open tickets, encourage more people to get involved with the Rails source, and have some fun.&lt;/p&gt;    &lt;ol&gt;&lt;li&gt;Confirm that the bug can be reproduced&lt;/li&gt;&lt;li&gt;If it can't be reproduced, try to figure out what information would make it possible to be reproduced&lt;/li&gt;&lt;li&gt;If it can be reproduced, add the missing pieces: better repro instructions, a failing patch, and/or a patch that applies cleanly to the current Rails source&lt;/li&gt;&lt;li&gt;Bring promising tickets to the attention of the Core team&lt;/li&gt;&lt;/ol&gt;    &lt;p&gt;Some of the Bridgers will be organizing a face-to-face way for BugMash participants to come together (&lt;a href="http://wiki.railsbridge.org/projects/railsbridge/wiki/BugMash#Teams" class="wiki-page"&gt;Teams&lt;/a&gt;), but there's no need to be there to be a part of it. We'll also have a room open on IRC, and people who are familiar with the Rails internals will be available to help point you in the right direction. We're going to do everything we can to make it easy to start contributing to Rails.&lt;/p&gt;    &lt;p&gt;We'll be adding more details to this bare outline over the coming week, including a checklist of what you can do to get ready to work in the Rails source and details on a scoring system and rewards for the most active participants. For now, though, there are two things for you to do:&lt;/p&gt;    &lt;ol&gt;&lt;li&gt;Reserve at least a chunk of that weekend to roll up your sleeves and work on the BugMash&lt;/li&gt;&lt;li&gt;Speak up if you can contribute prizes, familiarity with the Rails source, or other help to the project.&lt;/li&gt;&lt;/ol&gt;        &lt;p style="font-weight: bold;"&gt;Official BugMash hours&lt;/p&gt;&lt;p&gt;Rails contributors are located all over the world, so we're going to define an extended weekend for the BugMash. So we're going to run from Saturday noon in New Zealand (00:00:00 September 26 GMT) to Sunday midnight on the US West coast (07:00:00 September 28 GMT). That should give everyone who wants to be involved plenty of time to participate.&lt;/p&gt;    &lt;span style="font-weight: bold;"&gt;Resources&lt;br /&gt;&lt;/span&gt;    &lt;ul&gt;&lt;li&gt;&lt;a href="http://wiki.railsbridge.org/projects/railsbridge/wiki/Pre-flight_Checklist" class="wiki-page"&gt;Pre-flight Checklist&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.railsbridge.org/projects/railsbridge/wiki/BugMashFlowchart" class="wiki-page"&gt;BugMashFlowchart&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.railsbridge.org/projects/railsbridge/wiki/BugMashCheatSheet" class="wiki-page"&gt;BugMashCheatSheet&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://guides.rubyonrails.org/contributing_to_rails.html" class="external"&gt;Contributing to Rails&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/bins/41908" class="external"&gt;Tickets tagged with 'bugmash'&lt;/a&gt;&lt;/li&gt;&lt;li&gt;There are official Rails Continuous Integration servers which test against multiple interpreters and databases. See the Continuous Integration section in the &lt;a href="http://wiki.railsbridge.org/projects/railsbridge/wiki/BugMashFlowchart" class="wiki-page"&gt;BugMashFlowchart&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The Rails &lt;a href="http://github.com/rails/rails/blob/master/ci/ci_setup_notes.txt" class="external"&gt;Continuous Integration Server Setup Notes&lt;/a&gt; can be helpful in getting the various databases configured&lt;/li&gt;&lt;li&gt;&lt;a class="external" href="http://railscasts.com/episodes/113-contributing-to-rails-with-git"&gt;http://railscasts.com/episodes/113-contributing-to-rails-with-git&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.railsbridge.org/projects/railsbridge/wiki/BugMashStats" class="wiki-page"&gt;BugMashStats&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://railsbridge.org/"&gt;http://railsbridge.org/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://wiki.railsbridge.org/projects/railsbridge/wiki/BugMash"&gt;http://wiki.railsbridge.org/projects/railsbridge/wiki/BugMash&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-7643112784957565780?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/7643112784957565780/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=7643112784957565780" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/7643112784957565780?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/7643112784957565780?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/R2Pq78iDmaY/bugmash.html" title="BugMash" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/10/bugmash.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYCQ3s8cSp7ImA9WxNXE0U.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-1248465911446374812</id><published>2009-10-01T01:01:00.000-07:00</published><updated>2009-10-01T01:02:42.579-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-01T01:02:42.579-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="YUI" /><category scheme="http://www.blogger.com/atom/ns#" term="Framework" /><title>YUI 3 Is Out!</title><content type="html">&lt;p&gt;This is a ground-up redesign of YUI:&lt;/p&gt; &lt;blockquote&gt; &lt;ol&gt;&lt;li&gt;&lt;strong&gt;Selector-driven:&lt;/strong&gt; YUI 3 is built around one of the lightest, fastest selector engines available, bringing the expressive power of the CSS selector specification into actions that target DOM nodes.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Syntactically terse:&lt;/strong&gt; Without polluting the global namespace, YUI 3 supports a more terse coding style in which more can be accomplished with less code.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Self-completing:&lt;/strong&gt; YUI 3’s light (6.2KB gzipped) seed file can serve as the starting point for any implementation. As long as this seed file is present on the page, you can load any module in the library on the fly. And all modules brought into the page via the built-in loader are done so via combo-handled, non-blocking HTTP requests. This makes loading the library safe, easy and fast.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Sandboxed:&lt;/strong&gt; YUI modules are bound to YUI instances when you &lt;code&gt;use()&lt;/code&gt; them; this protects you against changes that might happen later in the page’s lifecycle. (In other words, if someone blows away a module you’re using after you’ve created your YUI instance, your code won’t be affected.)&lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt;&lt;a href="http://ajaxian.com/archives/yui-3-is-out"&gt;http://ajaxian.com/archives/yui-3-is-out&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developer.yahoo.com/yui/3/"&gt;http://developer.yahoo.com/yui/3/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-1248465911446374812?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/1248465911446374812/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=1248465911446374812" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/1248465911446374812?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/1248465911446374812?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/ejdgH9LVzyM/yui-3-is-out.html" title="YUI 3 Is Out!" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/10/yui-3-is-out.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEINRHkyeyp7ImA9WxNQEE8.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-6126655802431089907</id><published>2009-09-15T06:49:00.001-07:00</published><updated>2009-09-15T06:49:55.793-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-15T06:49:55.793-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="Ruby" /><category scheme="http://www.blogger.com/atom/ns#" term="rails" /><category scheme="http://www.blogger.com/atom/ns#" term="Adobe" /><category scheme="http://www.blogger.com/atom/ns#" term="Flex" /><title>Ruby on Rails application with Adobe Flex &amp; RestfulX Framework</title><content type="html">&lt;p&gt;A simple tutorial on how to create a Ruby on Rails application with Adobe Flex and the &lt;a href="http://restfulx.github.com/"&gt;RestfulX&lt;/a&gt; Framework in 10  minutes and  10 steps.&lt;/p&gt; &lt;p&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/3_VuA9q3o0g&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/3_VuA9q3o0g&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;  &lt;!--  &lt;rdf:rdf rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" dc="http://purl.org/dc/elements/1.1/" trackback="http://madskills.com/public/xml/rss/module/trackback/"&gt;    &lt;rdf:description about="http://www.riatube.com/2009/09/09/ruby-on-rails-application-with-adobe-flex-restfulx-framework/" identifier="http://www.riatube.com/2009/09/09/ruby-on-rails-application-with-adobe-flex-restfulx-framework/" title="Ruby on Rails application with Adobe Flex &amp;#038; RestfulX Framework" ping="http://www.riatube.com/2009/09/09/ruby-on-rails-application-with-adobe-flex-restfulx-framework/trackback/"&gt; &lt;/rdf:RDF&gt; --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-6126655802431089907?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/6126655802431089907/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=6126655802431089907" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6126655802431089907?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6126655802431089907?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/WRD0FCodguI/ruby-on-rails-application-with-adobe.html" title="Ruby on Rails application with Adobe Flex &amp; RestfulX Framework" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/09/ruby-on-rails-application-with-adobe.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EHQHo_fip7ImA9WxNQEEw.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-1910157617880090225</id><published>2009-09-15T05:58:00.000-07:00</published><updated>2009-09-15T06:00:31.446-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-15T06:00:31.446-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Cheat sheets" /><category scheme="http://www.blogger.com/atom/ns#" term="IE" /><category scheme="http://www.blogger.com/atom/ns#" term="IE fix" /><category scheme="http://www.blogger.com/atom/ns#" term="css" /><title>Ultimate IE6 Cheatsheet: How To Fix 25+ Internet Explorer 6 Bugs</title><content type="html">&lt;img style="width: 397px; height: 158px;" class="inlineFull" src="http://www.virtuosimedia.com/images/content/tutorials/internet-explorer-6.jpg" alt="Internet Explorer 6" /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Written by Benjamin / September 15, 2009&lt;/span&gt;&lt;br /&gt;&lt;p&gt;The best strategy for dealing with Internet Explorer 6 is not to support it.&lt;/p&gt;    &lt;p&gt;Stop. Ok, I feel your frustration. You're a web developer and you're ready to tear your hair out because you &lt;em&gt;have&lt;/em&gt; to support Internet Explorer 6, but, to put it tactfully, IE6 doesn't support you. You've spent hours on it, but you just can't seem to get your layout right. I can empathize. I can also help.&lt;/p&gt;    &lt;p&gt;This isn't one of those rants about IE6 or a campaign to try to kill it. There are enough of those around the web, but they don't help if you need to support IE6 because it still has a significant enough marketshare that you can't ignore it for business reasons. No, this is the resource you've been hoping for.&lt;/p&gt;    &lt;p&gt;I've scoured the web for resources and also included some of my own fixes for IE6 and now I've put it all together in this cheetsheet/reference manual as a resource for anyone who has to deal with Internet Explorer 6. Where possible, I've done my best to provide the cleanest and valid solutions to each bug instead of ugly hacks. I've also tried to give proper credit for each case, but some of the solutions have been shared so many times that finding the original discover of each fix is difficult. If you see a missing credit or if I missed a bug and fix, please &lt;a href="http://www.virtuosimedia.com/contact" rel="nofollow"&gt;contact me&lt;/a&gt; and let me know and I'll update this page.&lt;/p&gt;    &lt;p&gt;This massive IE6 guide took a while to put together, so bookmark it, share it, tweet it, and use it to save yourself and your coworkers hours of screaming at your monitor and banging your head against your desk or other inanimate objects. Don't be fooled, however, this cheatsheet is as much for me as it is for you.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.virtuosimedia.com/tutorials/ultimate-ie6-cheatsheet-how-to-fix-25-internet-explorer-6-bugs"&gt;http://www.virtuosimedia.com/tutorials/ultimate-ie6-cheatsheet-how-to-fix-25-internet-explorer-6-bugs&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-1910157617880090225?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/1910157617880090225/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=1910157617880090225" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/1910157617880090225?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/1910157617880090225?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/vkFXBXcXe64/ultimate-ie6-cheatsheet-how-to-fix-25.html" title="Ultimate IE6 Cheatsheet: How To Fix 25+ Internet Explorer 6 Bugs" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/09/ultimate-ie6-cheatsheet-how-to-fix-25.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIGRXk4eSp7ImA9WxNQEEw.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-4597914230110678482</id><published>2009-09-15T05:40:00.000-07:00</published><updated>2009-09-15T05:42:04.731-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-15T05:42:04.731-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><category scheme="http://www.blogger.com/atom/ns#" term="Mac OSX" /><title>Mac Central</title><content type="html">&lt;img alt="http://www.danrodney.com/img/title-mac.png" src="http://www.danrodney.com/img/title-mac.png" /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Keyboard Shortcuts&lt;/li&gt;&lt;li&gt;Multi-Touch Gestures&lt;/li&gt;&lt;li&gt;Tips &amp;amp; Tricks&lt;/li&gt;&lt;li&gt;Recommended programs&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.danrodney.com/mac/index.html"&gt;http://www.danrodney.com/mac/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-4597914230110678482?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/4597914230110678482/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=4597914230110678482" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/4597914230110678482?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/4597914230110678482?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/iud-_pNrGZE/mac-central.html" title="Mac Central" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/09/mac-central.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8CSHcyeCp7ImA9WxNRGEk.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-2203945507746502463</id><published>2009-09-13T06:16:00.000-07:00</published><updated>2009-09-13T06:17:49.990-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-13T06:17:49.990-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="LightningDOM" /><category scheme="http://www.blogger.com/atom/ns#" term="Prototype" /><title>LightningDOM</title><content type="html">&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Why on earth would you re-implement the DOM?&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;And in Javascript?? You’ve got to be out of your minds! Well, it turns out there is actually a sane reason: speed. Most web developers know that the DOM is &lt;em&gt;dog slow&lt;/em&gt;, particularly in IE-land. There are plans to fix this in IE8, Chrome and possibly Firefox 3.1, but for at least the next few years, we’ll be supporting browsers with a slow DOM.&lt;/p&gt; &lt;p&gt;But is it really &lt;em&gt;too &lt;/em&gt;slow? I mean, can’t users wait a couple seconds for the page to load? After all, they’ve been doing it for years! No, they can’t wait. At least, not anymore. Google taught us the competitive advantage of speed and we’ve been trying (though it’s been tough in Web 2.0 land) to not look back.&lt;/p&gt;&lt;p&gt;&lt;a href="http://blog.cornerstonenw.com/2008/09/10/donating-lightningdom/"&gt;http://blog.cornerstonenw.com/2008/09/10/donating-lightningdom/&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-2203945507746502463?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/2203945507746502463/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=2203945507746502463" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/2203945507746502463?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/2203945507746502463?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/QWaGaq9MV1U/lightningdom.html" title="LightningDOM" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/09/lightningdom.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMBQ3w-eip7ImA9WxNRGE4.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-6316777501242518585</id><published>2009-09-13T01:59:00.000-07:00</published><updated>2009-09-13T02:00:52.252-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-13T02:00:52.252-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Debug" /><category scheme="http://www.blogger.com/atom/ns#" term="FirePHP" /><category scheme="http://www.blogger.com/atom/ns#" term="firebug" /><title>Formaldehyde</title><content type="html">&lt;a href="http://www.php.net/" rel="nofollow"&gt;PHP&lt;/a&gt; and Web Development are perfectly married but Ajax interactions have always been difficult to debug. Applications like &lt;a href="http://getfirebug.com/" rel="nofollow"&gt;Firebug&lt;/a&gt; are extremely useful to deploy, debug, and generally for Web Applications development. These kind of softwares are still running via browser but both JavaScript and PHP require hard test, being dynamic programming languages, as dynamic is an Ajax interaction. There are several ways to debug Ajax calls but honestly I have never found one able to be integrated without effort and easy to manage directly via JavaScript and/or Firebog or whatever console is there ... This is the reason I have created a single, well tested, widely compatible and fast Error Debugger, where all we need to do is to require_once this single file for each Ajax called page. Everything else will become so natural that you will ask yourself why on earth nobody created such simple solution before. Most advanced PHP frameworks integrate an error manager able to make deploy and debug easier. Unofrtunately, too often these frameworks are not that simple to configure or are not scalable enough, even if what we are trying to do is extremely simple. For these cases and every other, Formaldehyde could be integrated without effort, at all! To better understand how Formaldehyde will change our daily WTF during Ajax interactions, words cannot compete with code and images.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/formaldehyde/"&gt;http://code.google.com/p/formaldehyde/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/formaldehyde/wiki/FirePHP"&gt;http://code.google.com/p/formaldehyde/wiki/FirePHP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-6316777501242518585?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/6316777501242518585/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=6316777501242518585" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6316777501242518585?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6316777501242518585?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/fvjgOQ_kuw8/formaldehyde.html" title="Formaldehyde" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/09/formaldehyde.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MGSH04fyp7ImA9WxNREk4.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-8432082591135365001</id><published>2009-09-06T03:02:00.000-07:00</published><updated>2009-09-06T03:03:49.337-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-06T03:03:49.337-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="DB" /><category scheme="http://www.blogger.com/atom/ns#" term="ActiveRecord" /><category scheme="http://www.blogger.com/atom/ns#" term="plugin" /><category scheme="http://www.blogger.com/atom/ns#" term="Ruby" /><category scheme="http://www.blogger.com/atom/ns#" term="rails" /><title>Master slave adapter</title><content type="html">&lt;div id="description"&gt;   &lt;p&gt; This simple plugin acts as a common ActiveRecord adapter and allows you to setup a master-slave environment using any database you like (and is supported by ActiveRecord). &lt;/p&gt; &lt;p&gt; This plugin works by handling two connections, one to a master database, that will receive all non-"SELECT" statements, and another to a slave database that that is going to receive all SELECT statements. It also tries to do as little black magic as possible, it works just like any other ActiveRecord database adapter and performs no monkeypatching at all, so it’s easy and simple to use and understand.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://agilewebdevelopment.com/plugins/master_slave_adapter"&gt;http://agilewebdevelopment.com/plugins/master_slave_adapter&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-8432082591135365001?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/8432082591135365001/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=8432082591135365001" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/8432082591135365001?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/8432082591135365001?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/992sc_LQcrA/master-slave-adapter.html" title="Master slave adapter" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/09/master-slave-adapter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UHRHk7eyp7ImA9WxNSGUo.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-2014419205861103120</id><published>2009-09-03T04:56:00.000-07:00</published><updated>2009-09-03T05:00:35.703-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-03T05:00:35.703-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Design" /><category scheme="http://www.blogger.com/atom/ns#" term="jQuery" /><category scheme="http://www.blogger.com/atom/ns#" term="IxEdit" /><title>IxEdit</title><content type="html">IxEdit is a JavaScript-based interaction design tool for the web. With IxEdit, designers can practice DOM-scripting without coding to change, add, move, or transform elements dynamically on your web pages. Especially, IxEdit must be useful to try various interactions rapidly in the prototyping phase of your web application.&lt;br /&gt;&lt;img style="float: left;" alt="http://www.ixedit.com/assets/images/embedimage.png" src="http://www.ixedit.com/assets/images/embedimage.png" /&gt;Interactions are visual changes of the screen which occur when users act on user interface elements. In other words, interactions are the behaviors of the user interface. For instance, when a user click a button, an image switches to another, or when a user drags an edge, the viewport expands. Those are interactions. Users are doing their jobs with a computer through various interactions generally.&lt;br /&gt;&lt;img style="float: left;" alt="http://www.ixedit.com/assets/images/localdb.png" src="http://www.ixedit.com/assets/images/localdb.png" /&gt;To implement interactions on a web page, programming with JavaScript is needed. However, it is hard to manage JavaScript for many designers. Therefore, making well-designed web interactions is difficult in general. IxEdit solves this problem. If you have basic knowledge about HTML and CSS, you can create interactions as you like. JavaScript coding is no longer needed.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ixedit.com/"&gt;http://www.ixedit.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-2014419205861103120?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/2014419205861103120/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=2014419205861103120" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/2014419205861103120?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/2014419205861103120?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/k_h-i0ZqFHg/ixedit.html" title="IxEdit" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/09/ixedit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cCQHcyfCp7ImA9WxNSGEQ.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-6114584202795778282</id><published>2009-09-02T06:42:00.000-07:00</published><updated>2009-09-02T06:44:21.994-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-02T06:44:21.994-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ruby" /><category scheme="http://www.blogger.com/atom/ns#" term="rails" /><category scheme="http://www.blogger.com/atom/ns#" term="roo" /><category scheme="http://www.blogger.com/atom/ns#" term="gem" /><title>roo</title><content type="html">&lt;p&gt;This gem allows you to access the content of&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Open-office spreadsheets (.ods)&lt;/li&gt;&lt;li&gt;Excel spreadsheets (.xls)&lt;/li&gt;&lt;li&gt;Google (online) spreadsheets&lt;/li&gt;&lt;li&gt;Excel’s new file format .xlsx&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://roo.rubyforge.org/rdoc/index.html"&gt;http://roo.rubyforge.org/rdoc/index.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://roo.rubyforge.org/"&gt;http://roo.rubyforge.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-6114584202795778282?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/6114584202795778282/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=6114584202795778282" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6114584202795778282?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/6114584202795778282?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/SzIuPIjJCAU/roo.html" title="roo" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/09/roo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8NR3w5cSp7ImA9WxNSGEo.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-2521590886638813493</id><published>2009-09-02T01:07:00.000-07:00</published><updated>2009-09-02T01:08:16.229-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-02T01:08:16.229-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Framework" /><category scheme="http://www.blogger.com/atom/ns#" term="Prototype" /><title>Prototype 1.6.1 released</title><content type="html">&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Full compatibility with new browsers.&lt;/strong&gt; This version of Prototype fully supports versions 1.0 and higher of Google Chrome, and Internet Explorer 8 in both compatibility mode and super-standards mode.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Element metadata storage.&lt;/strong&gt; Easily associate JavaScript key/value pairs with a DOM element. &lt;a href="http://prototypejs.org/2009/2/16/pimp-my-code-1-element-storage"&gt;See the blog post that started it off.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;New mouse events.&lt;/strong&gt; Internet Explorer’s proprietary “mouseenter” and “mouseleave” events are now available in all browsers.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Improved performance and housekeeping.&lt;/strong&gt; The frequently used Function#bind, String#escapeHTML, and Element#down methods are faster, and Prototype is better at cleaning up after itself.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Built with Sprockets.&lt;/strong&gt; You can now include the Prototype source code repository in your application and use &lt;a href="http://getsprockets.org/"&gt;Sprockets&lt;/a&gt; for dependency management and distribution.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Inline documentation with PDoc.&lt;/strong&gt; Our &lt;a href="http://api.prototypejs.org/"&gt;API documentation&lt;/a&gt; is now stored in the source code with &lt;a href="http://pdoc.org/"&gt;PDoc&lt;/a&gt; so it’s easy to send patches or view documentation for a specific version. &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://prototypejs.org/2009/9/1/prototype-1-6-1-released"&gt;http://prototypejs.org/2009/9/1/prototype-1-6-1-released&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-2521590886638813493?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/2521590886638813493/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=2521590886638813493" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/2521590886638813493?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/2521590886638813493?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/LWAvUTABjLU/prototype-161-released.html" title="Prototype 1.6.1 released" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/09/prototype-161-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8BRHc6eCp7ImA9WxNSGE0.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-8144040593750519243</id><published>2009-09-01T04:14:00.000-07:00</published><updated>2009-09-01T04:17:35.910-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-01T04:17:35.910-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Debug" /><category scheme="http://www.blogger.com/atom/ns#" term="YAML" /><title>YAML Debug</title><content type="html">&lt;p&gt;&lt;img alt="http://debug.yaml.de/docs/images/ui.png" src="http://debug.yaml.de/docs/images/ui.png" /&gt;&lt;cite&gt;&lt;br /&gt;&lt;/cite&gt;&lt;/p&gt;&lt;p&gt;&lt;cite&gt;... an assistive tool for web developers, that allows you to quickly review code quality and semantic structure of any website (particularly those based on &lt;a href="http://www.yaml.de/en/"&gt;YAML&lt;/a&gt;) as well as  testing it against common oversights.&lt;/cite&gt;&lt;/p&gt; &lt;p&gt;&lt;cite&gt;This tool is &lt;strong&gt;not&lt;/strong&gt; intended to be a reliable test environment for the accessibility of websites!&lt;br /&gt;&lt;/cite&gt;&lt;/p&gt;&lt;h3&gt;Supported Browsers&lt;/h3&gt;               &lt;p&gt;YAML Debug fully supports &lt;em&gt;Firefox 3.x&lt;/em&gt;, &lt;em&gt;Opera 9.x&lt;/em&gt; and &lt;em&gt;Webkit&lt;/em&gt; browsers. There are some minor problems with &lt;em&gt;Safari 3.x&lt;/em&gt;, which doesn't allow disabling imported style sheets. &lt;/p&gt; &lt;p&gt;There is only limited support for &lt;em&gt;Internet Explorer 7&lt;/em&gt;  due to the fact that most highlighting features are based on CSS 2.1 selectors.&lt;/p&gt;&lt;h3&gt;Get the Bookmarklet&lt;/h3&gt;               &lt;p&gt;&lt;small&gt;Drag the following link to your favourites (or right-click and choose: «add to favourites» in the context menu)&lt;/small&gt;&lt;/p&gt;               &lt;p&gt;&lt;a class="dl-button" href="javascript:(function(){var%20s=document.createElement('script');var%20t=new%20Date().getTime();s.setAttribute('type','text/javascript');s.setAttribute('class','ydebug');s.setAttribute('src','http://debug.yaml.de/debugger.js?d='+String(t));document.getElementsByTagName('head')[0].appendChild(s);})();"&gt;YAML Debug&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a class="dl-button" href="javascript:(function(){var%20s=document.createElement('script');var%20t=new%20Date().getTime();s.setAttribute('type','text/javascript');s.setAttribute('class','ydebug');s.setAttribute('src','http://debug.yaml.de/debugger.js?d='+String(t));document.getElementsByTagName('head')[0].appendChild(s);})();"&gt;&lt;/a&gt;&lt;a href="http://debug.yaml.de/"&gt;http://debug.yaml.de&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-8144040593750519243?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/8144040593750519243/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=8144040593750519243" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/8144040593750519243?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/8144040593750519243?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/Y7DLWz5xrj4/yaml-debug.html" title="YAML Debug" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/09/yaml-debug.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQFSXo9eip7ImA9WxNSF00.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-1872741239652858628</id><published>2009-08-31T01:26:00.000-07:00</published><updated>2009-08-31T01:28:38.462-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-31T01:28:38.462-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="FCKeditor" /><category scheme="http://www.blogger.com/atom/ns#" term="CKEditor" /><title>CKEditor v3.0 - A Complete Rewrite of FCKeditor</title><content type="html">&lt;p&gt;&lt;a title="CKEditor" href="http://ckeditor.com/" target="_blank"&gt;CKEditor&lt;/a&gt; is a &lt;strong&gt;Version 3.0 of FCKeditor&lt;/strong&gt;. After almost two years of intensive development, the first stable version of CKEditor 3.0 has finally released.&lt;/p&gt; &lt;p&gt;CKEditor is a complete rewrite of our so loved FCKeditor, which got a bit old after six years of great success. Not to say that FCKeditor is doing bad, but there are some new things we could bring to it, and CKEditor is the result of it. There are dozens of new features in CKEditor.&lt;/p&gt; &lt;p&gt;&lt;a title="CKEditor" href="http://ckeditor.com/" target="_blank"&gt;CKEditor&lt;/a&gt; is &lt;strong&gt;fast to load and fast to use&lt;/strong&gt;. The development team stayed focused to bring the best performance you can have, using all modern best practices. You’ll be amazed with it.&lt;/p&gt; &lt;p&gt;You’ll note that they have also a &lt;strong&gt;brand new UI&lt;/strong&gt; based on the Kama skin. Other than modern, Kama is colorful like a chameleon, so you can &lt;strong&gt;precisely match its color to your needs&lt;/strong&gt;. This is an innovative and unique feature you’ll find in CKEditor only.&lt;/p&gt; &lt;p&gt;The CKEditor code is also much different now. It’s up to date with the new JavaScript development requirements, offering a &lt;strong&gt;rich and powerful integration and interaction API&lt;/strong&gt;. The editor is totally plugin based, and it can be extended and modified in all senses to fit all needs.&lt;/p&gt; &lt;p style="text-align: center;"&gt;&lt;a title="CKEditor" href="http://ckeditor.com/" target="_blank"&gt;&lt;img src="http://www.webappers.com/img/2009/08/ckeditor.jpg" alt="CKEditor" width="420" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;Requirements: Internet Explorer, Mozilla Firefox, Google Chrome, Safari and Opera&lt;br /&gt;Demo: &lt;a rel="nofollow" href="http://ckeditor.com/demo" target="_blank"&gt;http://ckeditor.com/demo&lt;/a&gt;&lt;br /&gt;License: GPL, LGPL, MIT License&lt;/p&gt;&lt;/blockquote&gt;&lt;a href="http://ckeditor.com"&gt;http://ckeditor.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.webappers.com/2009/08/26/ckeditor-v30-a-complete-rewrite-of-fckeditor/"&gt;http://www.webappers.com/2009/08/26/ckeditor-v30-a-complete-rewrite-of-fckeditor/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-1872741239652858628?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/1872741239652858628/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=1872741239652858628" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/1872741239652858628?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/1872741239652858628?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/2IvHQnE8Ok8/ckeditor-v30-complete-rewrite-of.html" title="CKEditor v3.0 - A Complete Rewrite of FCKeditor" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/08/ckeditor-v30-complete-rewrite-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0INQng7fSp7ImA9WxNSF00.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-7861737892141377237</id><published>2009-08-31T00:56:00.000-07:00</published><updated>2009-08-31T00:59:53.605-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-31T00:59:53.605-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Snow Leopard" /><category scheme="http://www.blogger.com/atom/ns#" term="Ruby" /><category scheme="http://www.blogger.com/atom/ns#" term="rails" /><category scheme="http://www.blogger.com/atom/ns#" term="Mac OSX" /><title>Snow Leopard Upgrade</title><content type="html">&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.gregbenedict.com/2009/08/29/fixing-ruby-gems-mysql-and-passenger-phusion-on-snow-leopard-10-6/"&gt;Fixing Ruby Gems, MySQL and Passenger Phusion on Snow Leopard 10.6 &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://gist.github.com/177368"&gt;Epic Snow Leopard Upgrade Guide&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://frozenplague.net/2009/08/snow-leopard-rubyrails-developer-setup/"&gt;Snow Leopard Ruby/Rails Developer Setup&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.reynoldsftw.com/2009/08/23-snow-leopard-tweaks-you-didnt-know-about/"&gt;23 Snow Leopard Tweaks You Didn’t Know About&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://norbauer.com/notebooks/code/notes/snow-leopard-upgrading-for-rails-developers"&gt;Snow Leopard: Upgrading for Rails Developers&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-7861737892141377237?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/7861737892141377237/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=7861737892141377237" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/7861737892141377237?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/7861737892141377237?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/id5xwGA6Xhg/snow-leopard-upgrade.html" title="Snow Leopard Upgrade" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/08/snow-leopard-upgrade.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUDSXo_eip7ImA9WxNSFk8.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-7667450381568150989</id><published>2009-08-30T01:49:00.000-07:00</published><updated>2009-08-30T01:51:18.442-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-30T01:51:18.442-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RVM" /><category scheme="http://www.blogger.com/atom/ns#" term="Ruby" /><category scheme="http://www.blogger.com/atom/ns#" term="rails" /><category scheme="http://www.blogger.com/atom/ns#" term="gem" /><title>RVM: Ruby Version Manager</title><content type="html">&lt;p&gt; You want to try out all of the different ruby interpreters and versions including different patchlevels, but you don't want to break what's working for you now. No time to waste? &lt;/p&gt;   &lt;p&gt;   Use &lt;em&gt;&lt;a href="http://rvm.beginrescueend.com/"&gt;rvm&lt;/a&gt;&lt;/em&gt;.    Easy installation and switching between available Ruby versions and runtimes, without messing up your current Ruby install!   rvm also allows you to use multiple versions of ruby in separate terminals concurrently!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://rvm.beginrescueend.com"&gt;http://rvm.beginrescueend.com&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-7667450381568150989?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/7667450381568150989/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=7667450381568150989" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/7667450381568150989?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/7667450381568150989?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/v-2G7PwgU8w/rvm-ruby-version-manager.html" title="RVM: Ruby Version Manager" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/08/rvm-ruby-version-manager.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcFRng-cCp7ImA9WxNSF00.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-3502121773416819552</id><published>2009-08-27T03:19:00.000-07:00</published><updated>2009-08-31T01:23:37.658-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-31T01:23:37.658-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Live HTTP headers" /><category scheme="http://www.blogger.com/atom/ns#" term="httpeyes" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><title>httpeyes</title><content type="html">&lt;p&gt; httpeyes is an application that will show the http headers sent and received by different applications on your Windows box. It is very similar to &lt;a href="http://www.blunck.se/iehttpheaders/iehttpheaders.html"&gt;ieHTTPHeaders&lt;/a&gt; with the difference in that httpeyes is a standalone application that does not only work for Microsoft Internet Explorer. So if you want to have a look at those headers for Opera, Firefox, Google Chrome, Flock, Microsoft Internet Explorer or any other app for that matter, just fire up httpeyes and look.&lt;/p&gt; &lt;p&gt; This is a first beta relase. It is currently not feature rich, but what is in there should both work and perform well. Please feel free to contact me if you have issues or would like to request a feature to be implemented. &lt;/p&gt;  &lt;p&gt; &lt;img style="width: 438px; height: 546px;" src="http://www.blunck.se/httpeyes/httpeyes_screenshot.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.blunck.se/httpeyes/httpeyes.html"&gt;http://www.blunck.se/httpeyes/httpeyes.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-3502121773416819552?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/3502121773416819552/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=3502121773416819552" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/3502121773416819552?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/3502121773416819552?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/tGlfIHq2Tow/httpeyes.html" title="httpeyes" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/08/httpeyes.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQCRHozfyp7ImA9WxNSE0g.&quot;"><id>tag:blogger.com,1999:blog-460589603958369433.post-530319131362017021</id><published>2009-08-26T23:51:00.000-07:00</published><updated>2009-08-26T23:59:25.487-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-26T23:59:25.487-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Video" /><category scheme="http://www.blogger.com/atom/ns#" term="Ruby" /><category scheme="http://www.blogger.com/atom/ns#" term="rails" /><title>Building a Video Portal in Rails</title><content type="html">&lt;div id="flashcontent"&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="viddler_aa18800b" height="315" width="545"&gt;&lt;embed src="http://www.viddler.com/player/aa18800b/" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" name="viddler_aa18800b" height="250" width="450"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;a href="http://blog.envylabs.com/2009/08/building-a-video-portal-in-rails/"&gt;http://blog.envylabs.com/2009/08/building-a-video-portal-in-rails/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/460589603958369433-530319131362017021?l=teamco-anthill.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://teamco-anthill.blogspot.com/feeds/530319131362017021/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=460589603958369433&amp;postID=530319131362017021" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/530319131362017021?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/460589603958369433/posts/default/530319131362017021?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TeamcoAnthill/~3/b40G_5TTVJc/building-video-portal-in-rails.html" title="Building a Video Portal in Rails" /><author><name>TeamCo</name><uri>http://www.blogger.com/profile/12970326555127559362</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16126288099881906790" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://teamco-anthill.blogspot.com/2009/08/building-video-portal-in-rails.html</feedburner:origLink></entry></feed>
