<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>theCSSdiv | Ross Bruniges</title>
	
	<link>http://www.thecssdiv.co.uk</link>
	<description>thinking from way outside the box from Ross...</description>
	<pubDate>Fri, 04 Dec 2009 06:52:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/thecssdiv" /><feedburner:info uri="thecssdiv" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Another weird IE6 (and 7 and 8) bug</title>
		<link>http://feedproxy.google.com/~r/thecssdiv/~3/SN6wGEEPnMs/</link>
		<comments>http://www.thecssdiv.co.uk/2009/08/28/another-weird-ie6-bug/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 14:13:33 +0000</pubDate>
		<dc:creator>Ross Bruniges</dc:creator>
		
		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[ie bugs wtf fail]]></category>

		<guid isPermaLink="false">http://www.thecssdiv.co.uk/?p=139</guid>
		<description><![CDATA[This morning I saw an email going around the LBi mailing list from one of the application developers mentioning some weird behavior noticed in IE.
In a nutshell a load of CSS modules had been concatenated into one file leading to quite a large number of selectors being used. He found that after a certain point [...]]]></description>
			<content:encoded><![CDATA[<p>This morning I saw an email going around the <a href="http://www.lbi.com/en/London/">LBi</a> mailing list from one of the application developers mentioning some weird behavior noticed in IE.</p>
<p>In a nutshell a load of CSS modules had been concatenated into one file leading to quite a large number of selectors being used. He found that after a certain point (4096 selectors) IE would ignore everything after it. I had never heard of this before and from reading some comments I got on Twitter a few other folk hadn&#8217;t either&#8230;<span id="more-139"></span></p>
<p>My boss found this online which would hint to it being this being true - <a href="http://msdn.microsoft.com/en-us/library/aa358796%28VS.85%29.aspx">http://msdn.microsoft.com/en-us/library/aa358796%28VS.85%29.aspx</a> but this being a DOM method I wanted to make sure the same went for the CSS parser.</p>
<p>After a chat with <a href="http://www.kryogenix.org/">Stuart Langridge</a> (who provided me with a useful python script to make the file) I have a use case and confirm this bug does indeed exist in IE - even in IE8.</p>
<p>Scroll down to the bottom of this iFrame (make sure you&#8217;re using IE) and you&#8217;ll see the final 5 &#8216;OK&#8217;s are in the default of black and not red as they should be styled!If you&#8217;re not a fan of iFrames it&#8217;s also availiable as an external link - <a href="http://thecssdiv.co.uk/downloads/crazy_selector_test.html">IE 4096 selector usecase</a>.</p>
<p><iframe src="http://thecssdiv.co.uk/downloads/crazy_selector_test.html" height="400" width="400"></p>
<p>No iFrame for you but it&#8217;s OK - <a href="http://thecssdiv.co.uk/downloads/crazy_selector_test.html">check the test case here</a></p>
<p></iframe></p>
<p>In additional news IE will also bork when presented with more than 32 @import statements (<a href="http://www.agum.com/web/2008/03/11/internet-explorer-issue-maximum-of-32-css-import/">http://www.agum.com/web/2008/03/11/internet-explorer-issue-maximum-of-32-css-import/</a>) so in many ways if you have a shed load of CSS you&#8217;re damned if you do and damned if you don&#8217;t!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecssdiv.co.uk/2009/08/28/another-weird-ie6-bug/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.thecssdiv.co.uk/2009/08/28/another-weird-ie6-bug/</feedburner:origLink></item>
		<item>
		<title>Ask Ross anything!</title>
		<link>http://feedproxy.google.com/~r/thecssdiv/~3/-rl1B7vODUw/</link>
		<comments>http://www.thecssdiv.co.uk/2009/03/28/ask-ross-anything/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 08:29:20 +0000</pubDate>
		<dc:creator>Ross Bruniges</dc:creator>
		
		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[barcamplondon6]]></category>

		<category><![CDATA[drunk]]></category>

		<category><![CDATA[hung-over]]></category>

		<guid isPermaLink="false">http://www.thecssdiv.co.uk/?p=138</guid>
		<description><![CDATA[Yesterday night I had planned to come home and write up some slides on something interesting for todays BarCamp at The Guardian offices. Instead of that I came home, noticed that there was beer in the fridge and decided it would be a good idea to drink them all.
Therefore I have no slides, no idea [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday night I had planned to come home and write up some slides on something interesting for todays BarCamp at The Guardian offices. Instead of that I came home, noticed that there was beer in the fridge and decided it would be a good idea to drink them all.</p>
<p>Therefore I have no slides, no idea for an interesting talk and have decided that instead of me talking about stuff that I deem interesting I am going to throw those kind of choices out to you guys instead. In a blatant rip off of talks hosted by Norm! in recent BarCamps I will be taking questions from the audience (assuming I get one) on anything and everything (with hopefully amusing results).</p>
<p>If you didn&#8217;t manage to get a ticket but would still like me to answer your questions (I&#8217;m hoping that the talks may be recorded or videoed in some way) then please leave questions in the comments below (indeed this could be a good place for anyone at BarCamp or not to leave me their contributions&#8230;</p>
<p>Lets see how this one pans out&#8230;..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecssdiv.co.uk/2009/03/28/ask-ross-anything/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.thecssdiv.co.uk/2009/03/28/ask-ross-anything/</feedburner:origLink></item>
		<item>
		<title>Simple jQuery concat/expando plug-in</title>
		<link>http://feedproxy.google.com/~r/thecssdiv/~3/2R7qWGAlP88/</link>
		<comments>http://www.thecssdiv.co.uk/2008/11/02/simple-jquery-expando-plug-in/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 21:11:33 +0000</pubDate>
		<dc:creator>Ross Bruniges</dc:creator>
		
		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[jquery]]></category>

		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.thecssdiv.co.uk/?p=134</guid>
		<description><![CDATA[One of the &#8216;cool&#8217; little features I managed to shoe-horn into capitalradio.co.uk London Guide was a nice little jQuery plug-in that I called the &#8220;expando of win&#8221;. It&#8217;s a fairly simple piece of functionality but I&#8217;ve done it in a way that I&#8217;ve yet to see and is hopefully going to be a bit friendlier [...]]]></description>
			<content:encoded><![CDATA[<p>One of the &#8216;cool&#8217; little features I managed to shoe-horn into <a href="http://www.capitalradio.co.uk/london-guide/">capitalradio.co.uk London Guide</a> was a nice little jQuery plug-in that I called the &#8220;expando of win&#8221;. It&#8217;s a fairly simple piece of functionality but I&#8217;ve done it in a way that I&#8217;ve yet to see and is hopefully going to be a bit friendlier on performance by keeping DOM manipulations to a minimum. It can be seen live in a the wild on event pages such as  the fairly bizarre sounding <a href="http://www.capitalradio.co.uk/london-guide/events/body-worlds-and-the-mirror-of-time/28014/">Body Worlds and the Mirror of Time</a> held at the o2.<span id="more-134"></span></p>
<p>Opposed to hiding all links that you don&#8217;t want to be shown (this seems to be done in most example I found using inline styles of display: none) it adds a class to each of the items you want to be initially shown. Then to perform the show/hide a class on the containing list is toggled and CSS performs all the rest of the magic. So showing 100 new list items is all done via 1 single class change and not through adding inline styles to 100 list items; this just seems far more efficient to me.</p>
<p>You need do a little bit of work to get it working once you&#8217;ve included the JS on your page and instantiated it but nothing more than adding the following CSS to your stylesheet (you&#8217;ll of course have to change class names to suit your site)</p>
<pre><code>
/* note that the class 'truncate' gets added to the parent element through code */
.js .truncated li { display: none; }
.js .truncated li.displayed { display: list-item; }
</code></pre>
<p>You can then call the plug-in like so:</p>
<pre><code>
$('.big_list').truncate();
</code></pre>
<p>Written using the <a href="http://www.learningjquery.com/2007/10/a-plugin-development-pattern ">jQuery plug-in development pattern</a> it&#8217;s fully extendable so it you want to show more than the default number of list items you can dom equally if you want to provide additional text alongside the &#8217;show all&#8217; link you can do by providing over-rides in the form of a option object like so:</p>
<pre><code>
$('.big_list').truncate({
   init_shown: 20,
   displayed_class: 'show_me',
   link_suffix: 'winful events'
});
</code></pre>
<p>Chaining is also supported so you can call additional jQuery methods following it.</p>
<p>Currently only list elements (ordered and un-ordered lists) are supported (as I didn&#8217;t want to over-engineer things as for the use cases I had it didn&#8217;t need to do anything else) and if you try and call it on anything else if breaks out and returns itself so any potential chain isn&#8217;t broken. The same occurs when you try to use it on something with less list items than the initial value to show.</p>
<p>This is clearly not the best plug-in ever written but I think it&#8217;s nice and I like the fact that it goes around things in a different way to most other solutions I have seen. There are probably tons of improvements that could be made (and if you do please let me know so I can update my code here). I also love the way that jQuery allows for these kinda things to be written, and that fact that they are so damn easy to create.</p>
<p>Here is <a href="http://thecssdiv.co.uk/downloads/js/jquery.expando.js">the expando plug-in to download</a>, please use, change, distribute as you wish; just if you do use it let me know and don&#8217;t change the attribution to say you did it :></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecssdiv.co.uk/2008/11/02/simple-jquery-expando-plug-in/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.thecssdiv.co.uk/2008/11/02/simple-jquery-expando-plug-in/</feedburner:origLink></item>
		<item>
		<title>Going cash free</title>
		<link>http://feedproxy.google.com/~r/thecssdiv/~3/TdSo0J1Y8dY/</link>
		<comments>http://www.thecssdiv.co.uk/2008/10/05/going-cash-free/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 19:22:11 +0000</pubDate>
		<dc:creator>Ross Bruniges</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[experiment]]></category>

		<category><![CDATA[likely stupid]]></category>

		<category><![CDATA[money]]></category>

		<guid isPermaLink="false">http://www.thecssdiv.co.uk/?p=133</guid>
		<description><![CDATA[One thing that has been annoying me recently is the amount of cash that I seem to be spending on crap; mainly food crap. I&#8217;m generally fairly good with money and my standard technique is to take out a woad of cash at the start of the week (Saturday) and not spend anymore than that [...]]]></description>
			<content:encoded><![CDATA[<p>One thing that has been annoying me recently is the amount of cash that I seem to be spending on crap; mainly food crap. I&#8217;m generally fairly good with money and my standard technique is to take out a woad of cash at the start of the week (Saturday) and not spend anymore than that until the next Saturday (unless it&#8217;s been planned). Generally this seemed to work out fairly well - I hardly ever over spent but equally hardly ever had money left over to carry into the next week. As I didn&#8217;t plan to carry money over it wasn&#8217;t really a problem.</p>
<p>Since starting my new job (and getting a bit of a pay increase) I found that I could give myself a bit of extra spends each week. A few more pints down the pub, an extra side order with a meal out or an excursion somewhere could now all be mine. But as it happens I didn&#8217;t actually do or need any of this so the money started burning a whole in my wallet and was spent on crappy lunch meals that I don&#8217;t really need; money spending fail if you would.</p>
<p>The plan - to not take money out of the bank and use my cards for my planned spending. Will my urges mean that I buy crap on card? I really hope not but we will see. Equally has the price of living just increased and I actually needed that extra money??</p>
<p>Who knows, but I&#8217;ll be interested to see.</p>
<p>Thanks for reading a fairly pointless and uninteresting post (assuming anyone actually has).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecssdiv.co.uk/2008/10/05/going-cash-free/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.thecssdiv.co.uk/2008/10/05/going-cash-free/</feedburner:origLink></item>
		<item>
		<title>barcamplondon5 slides - enrich the web with comments</title>
		<link>http://feedproxy.google.com/~r/thecssdiv/~3/NJI5HKzYhrY/</link>
		<comments>http://www.thecssdiv.co.uk/2008/09/30/barcamplondon5-slides/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 22:29:52 +0000</pubDate>
		<dc:creator>Ross Bruniges</dc:creator>
		
		<category><![CDATA[Rants]]></category>

		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[articles]]></category>

		<category><![CDATA[barcamplondon5]]></category>

		<category><![CDATA[best practise]]></category>

		<category><![CDATA[comments]]></category>

		<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://www.thecssdiv.co.uk/?p=132</guid>
		<description><![CDATA[So yesterday I posted my slides from barcamplondon5 to slideshare and as cool as they indeed are I&#8217;m pretty sure that the serious points are easily missed without some supporting information - which is why I am writing this post right now.
The main point I was trying to get across is that the web contains [...]]]></description>
			<content:encoded><![CDATA[<p>So yesterday I posted my <a href="http://www.slideshare.net/rossbruniges/enrich-the-web-with-comments-presentation">slides from barcamplondon5</a> to slideshare and as cool as they indeed are I&#8217;m pretty sure that the serious points are easily missed without some supporting information - which is why I am writing this post right now.</p>
<p>The main point I was trying to get across is that the web contains a lot of great content; but it also contains a lot of shit. To ensure that the good stuff gets the credit and exposure that it deserves and likewise so that the bad stuff gets highlighted as bad I believe that we must all comment on the bad that we see so that less experienced people don&#8217;t just blindly copy, paste and use it in their projects. This is even more of a necessity if the article is being promoted as a good one to read either through a good Google ranking or being linked to from a large magazine site or mailing list.<span id="more-132"></span></p>
<div id="__ss_625205" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Enrich the web with comments" href="http://www.slideshare.net/rossbruniges/enrich-the-web-with-comments-presentation?type=powerpoint">Enrich the web with comments</a><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=barcamp5-1222718104349759-8&amp;stripped_title=enrich-the-web-with-comments-presentation" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slideshare.net/swf/ssplayer2.swf?doc=barcamp5-1222718104349759-8&amp;stripped_title=enrich-the-web-with-comments-presentation" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View SlideShare <a style="text-decoration:underline;" title="View Enrich the web with comments on SlideShare" href="http://www.slideshare.net/rossbruniges/enrich-the-web-with-comments-presentation?type=powerpoint">presentation</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/rossbruniges">rossbruniges</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/commenting">commenting</a>)</div>
</div>
<p>I outlined a number of rules that I think should be followed when making comments:</p>
<ol>
<li>outlined and explain best practices that aren&#8217;t outlined in the article; if required link to a blog post supporting your points. If we can send people from a bad article to a good one I see this as a win</li>
<li>be nice!</li>
<li>no personal attacks</li>
<li>be constructive (which is basically a repeat of rule number 1)</li>
<li>focus on getting the basics right first - we need to ensure people are learning this correctly</li>
<li>don&#8217;t target and abuse source code - there may be reasons that it sucks balls (generally <acronym title="What You See Is What You Get">WYSISWYG</acronym>)</li>
</ol>
<p>Along with this I also included a number of examples of the kind of articles that I was &#8220;targeting&#8221;. These can be found at delicious under the tag &#8220;<a href="http://delicious.com/rossbruniges/article-fail">article-fail&#8221;</a> and I&#8217;ll soon be including these on the homepage here. If you want to follow my findings you can subscribe to the <a href="http://feeds.delicious.com/v2/rss/rossbruniges/article-fail">article-fail RSS feed</a> for instant updates! It currently contains things such as CSS techniques that don&#8217;t allow for text resizing and a JS technique that inserts a table into the mark-up because writing tables into your mark-up is stupid!</p>
<p>I hope that people start up with my &#8220;movement for web quality&#8221; - it should be a fairly painless process but the good that it can lead to should be massive (like in &#8220;jungle is massive&#8221;). It&#8217;d be great to think that people can start using the web as a legitimate learning tool again and not learn bad practice (the stuff we learn is generally the stuff that stays with us for life).</p>
<p>I have other plans for how this can be improved but that&#8217;s another post&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecssdiv.co.uk/2008/09/30/barcamplondon5-slides/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.thecssdiv.co.uk/2008/09/30/barcamplondon5-slides/</feedburner:origLink></item>
		<item>
		<title>new CSS for IE6 (kinda)</title>
		<link>http://feedproxy.google.com/~r/thecssdiv/~3/R3SJZ83tG-Y/</link>
		<comments>http://www.thecssdiv.co.uk/2008/09/29/new-css-for-ie6-kinda/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 21:05:21 +0000</pubDate>
		<dc:creator>Ross Bruniges</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[cross browser]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[ie6]]></category>

		<category><![CDATA[web dev]]></category>

		<category><![CDATA[wow]]></category>

		<guid isPermaLink="false">http://www.thecssdiv.co.uk/?p=131</guid>
		<description><![CDATA[When attending a &#8220;future of CSS&#8221; talk at barcamplondon5 I pointed out that a few of the things mentioned as being availiable in IE7 where actually available in IE6. Much amazement was created and people asked why these things weren&#8217;t that well known. To be honest I don&#8217;t know why but in an effort to [...]]]></description>
			<content:encoded><![CDATA[<p>When attending a &#8220;future of CSS&#8221; talk at barcamplondon5 I pointed out that a few of the things mentioned as being availiable in IE7 where actually available in IE6. Much amazement was created and people asked why these things weren&#8217;t that well known. To be honest I don&#8217;t know why but in an effort to raise better awareness I am writing this blog post!<span id="more-131"></span></p>
<p>So with no further or do here are a couple of CSS properties you may never have thought of using due to IE6 compatibility problems&#8230;.</p>
<h3>:first-letter</h3>
<p>Do you think that creating book style initial caps on your paragraphs? Well :first-letter is the thing for you! It&#8217;s a doddle to add this style to any paragraph, div, span - anything containing text!</p>
<pre><code>
p {
  font-weight: bold;
  font-size: 85%;
}
p:first-letter {
  font-style: italic;
  color: red;
  font-size: 100%;
}
</code></pre>
<h3>:first-line</h3>
<p>Very similar to :first-letter (thought probably not as useful) :first-line will render the first line of a block element different to the rest. Expand and contract the size of the element and the first-line changes to fit the text - can lead to style inconsistencies if you want specific words styled differently mind&#8230;</p>
<pre><code>
p {
  font-size: 85%;
}
p:first-line {
  font-size: 100%;
  font-weight: bold;
}
</code></pre>
<p>So there you go - if you were unaware of these properties here are a couple more strings to add to your CSS bow - and they really do work in IE6 (I promise :>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecssdiv.co.uk/2008/09/29/new-css-for-ie6-kinda/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.thecssdiv.co.uk/2008/09/29/new-css-for-ie6-kinda/</feedburner:origLink></item>
		<item>
		<title>barcamplondon5 = win</title>
		<link>http://feedproxy.google.com/~r/thecssdiv/~3/e8XCQBTraVo/</link>
		<comments>http://www.thecssdiv.co.uk/2008/09/29/barcamplondon5-win/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 20:38:23 +0000</pubDate>
		<dc:creator>ross_work</dc:creator>
		
		<category><![CDATA[Rants]]></category>

		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[barcamplondon5]]></category>

		<category><![CDATA[conference]]></category>

		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://www.thecssdiv.co.uk/?p=130</guid>
		<description><![CDATA[My weekend was spent in Richmond at eBay&#8217;s awesome offices at barcamplondon5. It was nice to attend a barcamp again after organising the last one in London and always fun to present (my talk notes and slides will be up soon).
After the general (and totally) unrequired hoo-hah from people regarding the &#8216;keynote&#8217; I hoped that [...]]]></description>
			<content:encoded><![CDATA[<p>My weekend was spent in Richmond at eBay&#8217;s awesome offices at barcamplondon5. It was nice to attend a barcamp again after organising the last one in London and always fun to present (my talk notes and slides will be up soon).</p>
<p>After the general (and totally) unrequired hoo-hah from people regarding the &#8216;keynote&#8217; I hoped that people would come down, enjoy the offices for what it is (a totally awesome space), stay the full weekend, do some good presentations and make it yet another great barcamp and I was pleased on most of these accounts though the fact that there were over 50 no shows really pissed me off - these were people who didn&#8217;t even tell eBay they weren&#8217;t coming - I think for the next barcamp something should be done to ensure this doesn&#8217;t happen (I have ideas)<span id="more-130"></span> on punishments for the naughty attendees. I was also a bit annoyed with the drop out rate after day two (I always talk on day two so they missed out) but we can&#8217;t stop this from happening I guess.</p>
<p>While I know people like hearing about non-tech stuff at barcamps I like hearing interesting work related things so was happy to attend talks like <a href="http://www.slideshare.net/ginader/accessible-javascript-using-frameworks-barcamp-london-5-presentation/">Accessible JavaScript with Frameworks</a> from <a href="http://ginader.de">Dirk</a> and <del>Maintainable CSS</del><a href="2008/Sep/28/css-systems/?PHPSESSID=aa009390d787df30c0467fa81c3d1539">CSS Systems</a> from <a href="http://natbat.net/">Natalie Downe</a>. I equally couldn&#8217;t resist going to ew collegue Tomasz&#8217;s talk on &#8220;The Ancient Art of Stabbing People&#8221; - which was one of the most fantastically bizarre talks ever held at a barcamp I would think.</p>
<p>As I&#8217;ve said in my opening slides my talk notes are coming soon but I didn&#8217;t want to wait ages to get up my write up of a really well run event - so big congratulations to the eBay team of Dees, Johnny and Cian. Looking forward to barcamplondon6 - wherever that may be&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecssdiv.co.uk/2008/09/29/barcamplondon5-win/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.thecssdiv.co.uk/2008/09/29/barcamplondon5-win/</feedburner:origLink></item>
		<item>
		<title>Django raw ID fields - explained (basically)</title>
		<link>http://feedproxy.google.com/~r/thecssdiv/~3/CldNXKiQKxs/</link>
		<comments>http://www.thecssdiv.co.uk/2008/09/22/django-raw-id-fields-explained-basically/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 13:36:32 +0000</pubDate>
		<dc:creator>Ross Bruniges</dc:creator>
		
		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[django]]></category>

		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.thecssdiv.co.uk/?p=127</guid>
		<description><![CDATA[Raw ID fields seem to be a really cool django feature that allows you to link one model into another and provide a pretty nice UI tool that allows your users (editorial) to select which model to include. Unfortunately a quick Google seems to return API docs (which for thicko&#8217;s like me are fairly difficult [...]]]></description>
			<content:encoded><![CDATA[<p>Raw ID fields seem to be a really cool django feature that allows you to link one model into another and provide a pretty nice UI tool that allows your users (editorial) to select which model to include. Unfortunately a quick Google seems to return API docs (which for thicko&#8217;s like me are fairly difficult to understand).</p>
<p>Thankfully after using them in my day job I&#8217;m happy to say that they are actually a piece of cake to do - and I&#8217;m going to explain how (at least how I did them).<span id="more-127"></span></p>
<p>Django makes it really easy to insert a foreign key relationship between models. All you need do is use the native ForeignKey field type into your models.py. For example:</p>
<pre><code>
#you need to import the model you want to ForeignKey into of course
from django.contrib.sites.models import RossLikes

class Ross(models.Model):
    name = models.CharField(max_length-512)
    description = models.TextField()
    image = models.ImageField(upload_to='images')
    likes = models.ForeignKey(RossLikes)</code></pre>
<p>This will provide you with an interface like below.</p>
<p><img class="alignnone size-full wp-image-128" src="http://www.thecssdiv.co.uk/wp-content/uploads/2008/09/foreign_key.png" alt="Django admin with the standard foreign key display (a big select box with ALL possible values)" width="500" height="245" style="display: block; float: none;" /></p>
<p>It&#8217;s got all you need in there and can select any individual record in the RossLikes model to include alongside Ross. Thinking that you have a large number of things to pick from this kind of interface will quickly become a <acronym title="Pain in the ass">PITA</acronym>. This is where raw ID fields come into play!</p>
<p>All you need to do it include this one line into your models modelAdmin method in admin.py:</p>
<pre><code>
class RossAdmin(admin.ModelAdmin):
    raw_id_fields = ('likes')
</code></pre>
<p>You&#8217;ll now get a nice picker style widget that provides you with all the values you had before in the select box with the extra win of being able to filter, search (whatever options you provide for the linked in model when you access it on it&#8217;s own!)</p>
<p><img class="alignnone size-full wp-image-129" title="Raw ID field" src="http://www.thecssdiv.co.uk/wp-content/uploads/2008/09/raw_id.png" alt="When raw ID\'s are set up you get a picker link which opens up a filtered view of the linked model. Pick anything you like (and find it easier)" width="500" height="210" style="display:block; float: none;" /></p>
<p>I find this very helpful and I reckon you will to!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecssdiv.co.uk/2008/09/22/django-raw-id-fields-explained-basically/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.thecssdiv.co.uk/2008/09/22/django-raw-id-fields-explained-basically/</feedburner:origLink></item>
		<item>
		<title>Event delegation in jQuery</title>
		<link>http://feedproxy.google.com/~r/thecssdiv/~3/MpkVKKdZuYY/</link>
		<comments>http://www.thecssdiv.co.uk/2008/09/19/event-delegation-in-jquery/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 16:02:12 +0000</pubDate>
		<dc:creator>Ross Bruniges</dc:creator>
		
		<category><![CDATA[Rants]]></category>

		<category><![CDATA[Web Design]]></category>

		<category><![CDATA[atmediaajax]]></category>

		<category><![CDATA[event delegation]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[jquery]]></category>

		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://www.thecssdiv.co.uk/?p=126</guid>
		<description><![CDATA[At the start of the week I was lucky enough to attend @media Ajax in London. It was a great two days and while surprised at rather small number of attendees (not sure if it&#8217;s proximity to d.Construct and Fronteers had anything to do with this..) yet again the quality of speakers (as with all [...]]]></description>
			<content:encoded><![CDATA[<p>At the start of the week I was lucky enough to attend <a href="http://www.vivabit.com/atmediaAjax/">@media Ajax</a> in London. It was a great two days and while surprised at rather small number of attendees (not sure if it&#8217;s proximity to <a href="http://2008.dconstruct.org/">d.Construct</a> and <a href="http://fronteers.nl/congres/2008/english">Fronteers</a> had anything to do with this..) yet again the quality of speakers (as with all @media events) were high and I feel that I got a lot out of the two days (and nights at the pub :&gt;)</p>
<p>While in the past I have written up my conference experiences this year I must tip my hat towards <a href="http://www.isolani.co.uk/">Mike Davies</a> as he has done an excellent write up of both <a href="http://www.isolani.co.uk/blog/javascript/AtMediaAjaxDayOne">@media ajax day 1</a> and <a href="http://www.isolani.co.uk/blog/javascript/AtMediaAjaxDayTwo">@media ajax day 2</a> over at his blog. Go and read that, it&#8217;s really well written and sums everything up well.</p>
<p>One thing that did cause suitable excitement (for me at least) was the talk from <a href="http://yehudakatz.com/">Yehuda Katz</a> talking about jQuery as it highlighted a previously unknown method of achieving event delegation natively inside the framework.<span id="more-126"></span> If you&#8217;re not sure; event delegation is a way to avoid cluttering up memory (in extreme cases) and code complexity by assigned event handlers to a multiple elements when you can assign one &#8216;uber&#8217; listener and have that decide that action to take depending on which of it&#8217;s child elements was effected. Further information and <a href="http://www.google.com/search?q=event+delegation">articles about event delegation</a> are all over the web and well worth a read.</p>
<p>But back to JQuery business (and a quick apology as I have realised in the middle of writing this article that the two methods I am about to explain currently AREN&#8217;T actually fully native and require plugin&#8217;s. Full native support will be <a href="http://docs.jquery.com/JQuery_1.3_Roadmap">released in 1.3</a> it seems) and the code examples. Both are implemented in basically the same way but it&#8217;s always good to have a couple of options.</p>
<h3>Listen (download at - <a href="http://flesler.blogspot.com/2007/10/jquerylisten.html">flesler.blogspot.com/2007/10/jquerylisten.html</a>)</h3>
<p>Listen allows you to specify a parent element and have it return if it&#8217;s triggered against a specific action on a selector provided it to listen to.</p>
<pre><code>$('ul').listen('click', 'li', function() {
alert('you clicked one of my li elements - and I can tell you which!');
});</code></pre>
<p>The downside to the listen plugin is that it only allows for simple selectors (id, tag, tag.class or class - none of the cool jQuery specific stuff) to be listened against.  Thankfully option number two allows for extra fun and games like this&#8230;</p>
<h3>Delegate (<a href="http://dev.jquery.com/view/trunk/plugins/delegate/jquery.delegate.js">download the code</a>)</h3>
<p>Delegate works in a similar way to listen but has full jQuery selector support so if you want to target more specific elements inside a parent then it&#8217;s for you</p>
<pre><code>$('form').delegate('click', ':checkbox', function() {
alert('would have been kinda hard to find just checkboxes using listen');
});</code></pre>
<p>Delegate will be (according to the roadmap) will likely be ported straight into jQuery proper once 1.3 is released.</p>
<p>So there you go - event delegation (unfortunately via plugin&#8217;s at the moment) in jQuery!</p>
<p><strong>And</strong> as an added bonus there is also <a href="http://www.danwebb.net/2008/2/8/event-delegation-made-easy-in-jquery">Dan Webb&#8217;s implementation</a> that is still worth a read and something to consider using if you feel that his Low Pro behvaiour pattern JS is the best thing since sliced bread (it certainly looks v cool indeed and a very nice idea).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecssdiv.co.uk/2008/09/19/event-delegation-in-jquery/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.thecssdiv.co.uk/2008/09/19/event-delegation-in-jquery/</feedburner:origLink></item>
		<item>
		<title>Barcamplondon4 – 120 geeks and 500 bottles of beer</title>
		<link>http://feedproxy.google.com/~r/thecssdiv/~3/uCIzQV_eqSM/</link>
		<comments>http://www.thecssdiv.co.uk/2008/06/08/barcamplondon4-review/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 06:40:29 +0000</pubDate>
		<dc:creator>Ross Bruniges</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[barcamplondon4]]></category>

		<category><![CDATA[barcamplondon5]]></category>

		<category><![CDATA[beer]]></category>

		<category><![CDATA[event]]></category>

		<category><![CDATA[events]]></category>

		<category><![CDATA[tired]]></category>

		<guid isPermaLink="false">http://www.thecssdiv.co.uk/2008/06/08/barcamplondon4-review/</guid>
		<description><![CDATA[This time last week I was getting ready for the second day of barcamplondon4 by having a nice cool beer on our roof terrace, which with the awesome weather turned out to be the massive hit I hoped it would be.
The same I hope could be said for the whole of barcamplondon4. After the ticketing [...]]]></description>
			<content:encoded><![CDATA[<p>This time last week I was getting ready for the second day of barcamplondon4 by having a nice cool beer on our roof terrace, which with the awesome weather turned out to be the massive hit I hoped it would be.</p>
<p>The same I hope could be said for the whole of barcamplondon4. <span id="more-125"></span>After the ticketing problems (though I would like to add this was more down to the fact that too many people wanted to attend than there was space for) I wanted to ensure that a good show was put on and all feedback that I have heard and read points towards this. The <a href="http://barcamplondon4.backnetwork.com/default.aspx">back network</a> is filling up nicely with content so I’d say the best place to look for such stuff is there.</p>
<p>The <a href="http://barcamplondon4.backnetwork.com/event/?articleid=12">GCap brand rooms</a> rocked, the food was good (even the slightly cold pizza), the beer was drunk, the comedians funny and all talks seemed to go down well, even mine on running barcamps which I have to admit I did while running on empty and notes from which you can find at <a href="http://www.jurecuhalev.com/blog/2008/06/01/notes-on-how-to-organize-barcamplondon4-ross-bruniges/">Jure Cuhalev’s site</a>. Good news is that the bulk of this could soon make it’s way into an article at <a href="http://www.digital-web.com/">digital web magazine</a>!</p>
<p>If there is one thing that I’d like people to take away from barcamplondon4 it’s the name we call it. BarCamps have been described as an ‘un-organised conference’ and having now done one I can say that this term is a load of bollocks; there is a ton of organising to do! Moving forward I’d like them to be called ‘user-generated conferences’ but lets see how this picks up.</p>
<h3>Podcasts</h3>
<p>From what I could see we managed to get good recordings done on all the sessions. But with work commitments I’ve not done as much work on getting these up as I would have liked. Keep your eyes on this site though as they will be published soon and if anyone would like to help make it faster please get in touch!</p>
<h3>Next barcamp</h3>
<div class='vevent' style='margin-bottom: 15px;'>
I was also happy to be able to announce the next barcamp (<span class='summary'>barcamplondon5</span>) – it’s at <span class='location'>eBay’s lovely offices by the Thames in Richmond</span>) and is happening from the <abbr class='dtstart' title='2008-09-27'>27th September</abbr> to the <abbr class='dtend' title='2008-09-28'>28th</abbr>. Further details are soon on the way and while I won’t be doing as much work on this as the last I hope to help the guys out in some way or another; they’ve got a great office space so I’m sure it’ll be a blinder!
</div>
<h3>Final conclusions</h3>
<p>So yeah, that was barcamplondon4. I’ve said it a thousand times before but thank you to everyone who attended, all GCap people who came down to help and present, all the team in the Capital Building and all our lovely sponsors (<a href="http://www.osmosoft.com/">Osmosoft</a>, <a href="http://www.welovelocal.com/">WeLoveLocal</a>, <a href="https://www.ebaypartnernetwork.com/files/hub/en-US/index.html?alt=uk">eBay Partner Network</a>, <a href="http://www.imagination.com/">Imagination </a><code></code>and <a href="http://skillsmatter.com/">Skills Matter</a>) – you really made it awesome; though it maybe didn’t look it I really did enjoy every second.</p>
<p>I have a number of t-shirts left (XL only) so if you’d like one drop me a line or a comment here – I’ll see what I can do to get you one :></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thecssdiv.co.uk/2008/06/08/barcamplondon4-review/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.thecssdiv.co.uk/2008/06/08/barcamplondon4-review/</feedburner:origLink></item>
	</channel>
</rss>
