<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2121185560235400553</id><updated>2011-12-04T12:06:33.055-08:00</updated><category term='Computers'/><category term='Religion'/><title type='text'>Nerdy Thoughts</title><subtitle type='html'>My name is James Shewey, and I am an IT professional with experience in Linux, Mac and Windows environments. I received my BS in computer Science from Azusa Pacific University and as you can imagine, I very much like to tinker. This blog is a space for me to post how-tos, code and information relating to projects I am working on. I hope these will be of benefit to the general public.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jdshewey.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2121185560235400553/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jdshewey.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>James</name><uri>http://www.blogger.com/profile/03989262007438051503</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2121185560235400553.post-7973592816730305721</id><published>2011-03-15T09:14:00.000-07:00</published><updated>2011-03-15T09:23:13.695-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Religion'/><title type='text'>Are Christians Obsessed With Gays and Abortion? Yes.</title><content type='html'>&lt;span style="font-style:italic;"&gt;In this post, I address the question of David French in his article Are Christians Obsessed With Gays and Abortion? "http://www.patheos.com/Resources/Additional-Resources/Christians-Obsessed-With-Gays-and-Abortion-David-French-03-14-2011-?offset=0&amp;amp;max=1"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I think this author misses the point. Perception is reality. Sure Christians may spend their money on humanitarian efforts like World Vision. but just because the Westbound Baptist Church donates to World Vision doesn't make the words coming out of their mouth less hateful. This article is even backhanded in a way. Look at the militant undertones: "...would profoundly understate my antagonistic role in the culture wars...I sue governments and individuals...opposing jihadist Islam, or fighting to end...I make my living fighting the culture war." This author goes on to say, " I travel the country speaking to thousands of Christians about our cultural and political battles, I raise a significant amount of money to fight those battles, and I'm constantly interacting with the media—both religious and secular." Shortly followed by the statement "I chuckle when I hear the common critique of the religious and secular left."&lt;br /&gt;&lt;br /&gt;Right. So you A) run around using this terminology and fighting against "the gays" and then B) write people off and condescend them when they say you are hateful.&lt;br /&gt;&lt;br /&gt;An excellent book on this topic is unChristian (written by Christian authors who do not support gay rights/marriage etc.) http://www.amazon.com/unChristian-Generation-Really-Christianity-Matters/dp/0801013003/ref=sr_1_1?ie=UTF8&amp;amp;qid=1300204791&amp;amp;sr=8-1&lt;br /&gt;&lt;br /&gt;Outsiders are literally telling us what keeps them from having a relationship with God and why they don't want to come to church; they view us as hateful. Instead of taking the criticism and doing something about it, we are far too often writing them off in the way that this article does. Perception is reality. Personally, I would rather have a gay couple in the pews listening to the message of Christ than have them stay away because we felt the need to tell them what they are doing is sinful. The fact is we are all sinners. Some sins are just different than others. No one sin is greater than the other. We all need to be in church. It is not we who convict by telling others when they are wrong, it is the Holy Spirit. Accordingly, we should let Jesus speak to these people instead of speaking for him. Especially when this is a topic mentioned only 6 times in the entirety of scripture and always in linguistically or contextually questionable manners. (happy to discuss this; I wrote a research paper on it) If the spirit does not feel the need to convict them on this issue, then why would I? Perhaps there are other sins that may need to be addressed first. Perhaps the sin of breaking a vow to their partner or the adultery would be greater than that of a homosexual relationship. Who knows. Only God. Instead of becoming defensive when someone offers this critique, we should go offensive by being loving and welcoming. You can blame the media for only showing the liberal viewpoint and say that they are misrepresenting us all you want. I say it's our fault for not living our lives in such a way that the media cannot use propaganda to cast us negatively. It is our job to live our lives so that the love and truth of Christ is undeniable. For every finger we point, there are three pointing back at us.&lt;br /&gt;&lt;br /&gt;"Even a child is known by his actions, by whether his conduct is pure and right." -Prov 20:11&lt;br /&gt;&lt;br /&gt;&lt;i&gt;-From a Facebook post I made in response to an article shared by a friend; Mark Murdock. Thanks Mark!&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2121185560235400553-7973592816730305721?l=jdshewey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdshewey.blogspot.com/feeds/7973592816730305721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jdshewey.blogspot.com/2011/03/are-christians-obsessed-with-gays-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2121185560235400553/posts/default/7973592816730305721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2121185560235400553/posts/default/7973592816730305721'/><link rel='alternate' type='text/html' href='http://jdshewey.blogspot.com/2011/03/are-christians-obsessed-with-gays-and.html' title='Are Christians Obsessed With Gays and Abortion? Yes.'/><author><name>James</name><uri>http://www.blogger.com/profile/03989262007438051503</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2121185560235400553.post-7550446471874168489</id><published>2010-11-18T10:17:00.001-08:00</published><updated>2010-11-18T21:07:46.296-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computers'/><title type='text'>Why you may no longer be able to get hulu</title><content type='html'>I chose "Why you may no longer be able to get hulu" as the title for this post because I was concerned that the title "Why you should care about net neutrality" would be A) boring and B) too nerdy for more than a handful of my more technically oriented of my friends to want to read. The fact is however, if you don't care about net neutrality, bad things could and are happening, so this post is targeted at you if you are non-technical. &lt;br /&gt;&lt;br /&gt;Recently people have been criticizing a movement for net neutrality - the idea that service providers should indiscriminately provide their service. These critics say things like "there are no examples of service providers interfering with service" and that regulating and that "regulating internet services would stifle the free market." &lt;br /&gt;&lt;br /&gt;To give some examples of things that would go against network neutrality, if an ISP like Comcast were to charge youtube to deliver their content, Or perhaps charge Skype extra to deliver their content first (Eg before youtube, so that the voice stream would not be choppy), these networks could no longer be considered "neutral." Potentially and at the extreme, this could have important censorship implications, with an ISP censoring speech that they did not like (Eg, blocking a blog critical of their service.) This is something that is a very &lt;a href="http://arstechnica.com/tech-policy/news/2010/11/uk-to-isps-prioritize-away-so-long-as-you-tell-users.ars"&gt;real possibility&lt;/a&gt; for our UK brethren.&lt;br /&gt;&lt;br /&gt;So why should this this be important to us here in the US? Because the entertainment industry owns the internet. Nearly all of the largest providers of internet service are either owned by the entertainment industry, (like Time Warner Cable), own a major network (like Comcast, who &lt;a href="http://arstechnica.com/tech-policy/news/2010/11/uk-to-isps-prioritize-away-so-long-as-you-tell-users.ars"&gt;owns NBC&lt;/a&gt;), or are providers of cable service (like RCN, Charter, Cablevision, Road Runner, Cox and others). Because RCN et all contract with major networks (ABC, NBC, CBS and Fox), this means that nearly all providers of internet service are in some way or another, part of the entertainment industry.  In the case of RCN et. all, they depend on their contracts with the entertainment industry in order to stay in business (try being a cable company who doesn't provide Fox or ABC. You would go out of business pretty quick). This means that for one reason or another, these companies have strong reasons to protect their intellectual property.&lt;br /&gt;&lt;br /&gt;Because these internet companies are owned by such large entertainment conglomerates, these conglomerate's subsidiaries often times become pawns in larger games of corporate chess. An example scenario: If Fox were to decide that they wanted to charge Cablevision more money than they had previously had been to rebroadcast Fox's content, (Channels like Fox, FX, Fox News and others) what what would stop Fox from blocking Cablevision internet customers from Hulu in addition to blocking Cablevision's cable customers from fox channels when their retrans contract was up in order to provide additional incentive for Cablevision to renew their contract at the higher rate? Oh wait; This isn't a hypothetical scenario. It has &lt;a href="http://paidcontent.org/article/419-fox-uses-hulu-briefly-as-pawn-in-retrans-battle-with-cablevision/"&gt;already happened.&lt;/a&gt; So the answer is apparently nothing since Fox owns part of Hulu (along with partners NBC and ABC)&lt;br /&gt;&lt;br /&gt;At this point, the capitalist/republican/free market economist in you should be saying "yeah, but what about alternative ISPs like AT&amp;T and Verizon? Shouldn't competition between these companies prevent abuses of consumer's rights?" Unfortunately, they too have their incentive to discriminate against certain kinds of traffic, although to a significantly lesser degree. Since AT&amp;T and Verizon are both providers of cellular services, they are presently facing huge demand on their networks and are having trouble keeping pace with the rapid &lt;a href="http://apple.slashdot.org/story/10/11/17/2120251/ATampT-Wireless-Data-Still-Growing-At-1000"&gt;data growth&lt;/a&gt; seen over the past couple of years.  This has been a &lt;a href="http://www.nytimes.com/2009/09/03/technology/companies/03att.html?_r=1"&gt;notorious problem&lt;/a&gt; on these networks and cellular providers are barely able to keep pace with the rapid explosion of demand for data due to the increasing use of smartphones. In order to solve this problem, networks often have to temporarily deploy trucks with cell phone towers attached to areas with high demand. The lack of capacity on these networks causes cellular providers to desire the ability to discriminate against traffic as a matter of survival. If people began to download movies and music with their cell phone the way they do on their computer, cellular networks would collapse under the demand. Likewise, if cellular providers were unable to discriminate against Voice over IP data, even if their network wouldn't collapse under the strain, they wouldn't be able to charge you overages when you go above your minutes because you would just use your unlimited data plan through Skype. Cellular providers also wouldn't be able to charge you for tethering (which they do currently) because they would now be disallowed from determining if your data is coming from the phone itself or a device attached to the phone. Either way, they can't make as much money without discriminating against your data. Thus, cellular providers have wised up and are now &lt;a href=http://gigaom.com/2010/09/23/verizon-4g-pricing/"&gt;placing caps on their data.&lt;/a&gt; Cellular providers had simply tried to block Voice over IP apps, but had to abandon this because the FCC was going to launch an &lt;a href="http://www.macrumors.com/2009/10/06/atandt-to-allow-skype-and-google-voice-to-operate-on-its-mobile-network/"&gt;investigation.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For subscribers who use landlines with AT&amp;T and Verizon however, you will find that their data discrimination practices are much less draconian than that of cable based ISPs This is because they aren't part of the entertainment lobby, and don't really care about the declining value of intellectual property due to piracy. But ultimately, the idea that AT&amp;T and Verizon could compete with cable companies to the benefit of consumers falls on it face for a few reasons: 1) you are arguing that Ma' Bell will save you - A company that the government saw fit to break up due to it's anticompetitive and monopolistic behavior just a few short year ago and 2) These companies are behind the 8 ball. With AT&amp;T and Verizon, the DSL technology they used to use to provide service over their copper was maxed out for several years. It had reached it technological speed limit. In that era, when DSL providers were dukeing it out with cable, DSL providers lost because they had reached the technological upper limit of their network and couldn't go above 768kbps downstream, while cable has managed to scale up to 50 mbps. Verizon's response was to build a fiber to the home network, but this took time, and only now are they recovering. In the intervening years, cable providers  managed to snatch up all the market share. AT&amp;T is late to the game in reviving the quality of it's service and will be deploying a faster grade of DSL that was recently invented over the next few years. Ultimately however, This has all resulted in monopolies and duopolies in the &lt;a href="http://arstechnica.com/old/content/2006/07/7242.ars"&gt;majority of America.&lt;/a&gt;  Sometimes &lt;a href="http://arstechnica.com/business/news/2006/12/u-verse.ars/3"&gt;Exclusive contracts&lt;/a&gt; with cable providers prevent companies like Verizon from laying fiber in certain cities.  In the town I currently live, all of the towns around me have FiOs, but not my town. This is due to an exclusive contract with Comcast. Then when competition does begin to arise, cable companies and ISPs will &lt;a href="http://arstechnica.com/tech-policy/news/2010/11/the-price-of-muni-broadband-eternal-war-with-time-warner-cable.ars"&gt;sue&lt;/a&gt; to prevent the competition from getting a toe hold. &lt;br /&gt;&lt;br /&gt;Ultimately, these large entertainment conglomerates are afraid of losing control of their intellectual property. This is why they sue &lt;a href="http://www.theregister.co.uk/2005/02/05/riaa_sues_the_dead/"&gt;dead&lt;/a&gt; people, the &lt;a href=" http://www.afterdawn.com/news/article.cfm/2005/02/04/deceased_grandmother_sued_by_riaa"&gt;elderly,&lt;/a&gt; &lt;a href="http://www.p2pnet.net/story/11637"&gt;the&lt;/a&gt; &lt;a href="http://www.afterdawn.com/news/article.cfm/2008/12/02/riaa_sues_hospitalized_teen , http://www.foxnews.com/story/0,2933,96797,00.html"&gt;sick,&lt;/a&gt; children,  and &lt;a href="http://www.afterdawn.com/news/article.cfm/2006/02/05/riaa_sues_woman_that_has_no_computer "&gt;people who don't even own&lt;/a&gt; or know how to use a computer for piracy. For the same reason, entertainment conglomerates throttle traffic that they view as a threat and force their &lt;a href="http://torrentfreak.com/comcast-throttles-bittorrent-traffic-seeding-impossible/"&gt;customers&lt;/a&gt; to do so &lt;a href=" http://www.slyck.com/news.php?story=1944"&gt;as well.&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;And who is standing up for you, the consumer? The Obama administration's FCC, who is very sympathetic towards network neutrality and American broadband consumer's plight tried to, but unfortunately they don't have the teeth needed to protect you because it was &lt;a href="http://www.marketwatch.com/story/comcast-wins-suit-vs-fcc-rules-on-internet-2010-04-06"&gt;stripped by the judiciary.&lt;/a&gt; There have been several bills placed before congress to work around this issue, but unfortunately, Republicans in congress have turned this into a free market economy issue. Since congress is basically a bunch of old guys who barely know how to use a computer, they have no idea what to do with the internet and try to put it into a box that they understand (free market economy.) In spite of this fact however, congressional representatives are required to make policies to foster internet growth and protect the technology sector. Since they have &lt;a href=" http://www.youtube.com/watch?v=f99PcP0aFNE "&gt;no idea what they are talking about or how it works, &lt;/a&gt; they are unable to make informed policy decisions and can't come to a consensus on what is best for our country and have tanked the several net neutrality bills in that have been proposed by the few technologically savvy congresspeople.&lt;br /&gt;&lt;br /&gt;And the results are becoming catastrophic. Because no one is standing up for consumers, entertainment conglomerates are doing things like including programs on CDs that automatically install a &lt;a href="http://en.wikipedia.org/wiki/Sony_rootkit"&gt;program&lt;/a&gt; on your computer without your consent that prevents you from duplicating a CD more than a set number of times. It just so happens that this program can't be uninstalled and also (accidentally) crashes your computer.&lt;br /&gt;&lt;br /&gt;Likewise and even more troubling, Google has recently invented a platform called &lt;a href="http://www.google.com/tv/features.html"&gt;Google TV.&lt;/a&gt; This invention is a huge step forward in that it seamlessly integrates internet content with your TV. You can watch internet videos using it, search your TV guide, recorded shows and internet websites for content simultaneously and install apps to enhance and extend your device. The entertainment lobby however has banded together to &lt;a href="http://online.wsj.com/article/SB10001424052702303339504575566572021412854.html?mod=WSJ_hpp_LEFTWhatsNewsCollection"&gt;block web content to these device&lt;/a&gt; because it would compete with their services. This would be akin to a power company refusing to power a vacuum cleaner simply because it was not purchased from the power company. Have you ever wondered why you can only get a DVR from your cable provider?&lt;br /&gt;&lt;br /&gt;And the fact is, if we as Americans continue to ignore the anticompetitive and monopolistic practices of the entertainment conglomerates and cellular providers, they are going to continue to walk all over us. If the entertainment lobby had &lt;a href-"http://arstechnica.com/tech-policy/news/2010/11/bill-would-nuke-visa-cards-adwords-dns-records-for-pirates.ars"&gt;their&lt;/a&gt; &lt;a href="http://arstechnica.com/tech-policy/news/2010/04/acta-is-here.ars/"&gt;way,&lt;/a&gt; they would be able to disconnect a customer &lt;a href="http://www.zeropaid.com/news/86439/france-changes-three-strikes-to-judge-ordering-disconnections/"&gt;without a trial&lt;/a&gt; because they believe that said user was pirating content.&lt;br /&gt;&lt;br /&gt;So what can be done to prevent these abuses from continuing? Several things:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Enforce truth in advertising requirements. If an internet service provider &lt;a href="http://consumerist.com/2010/03/comcast-unlimited-usage-doesnt-mean-unlimited-usage.html"&gt;advertises their service as unlimited,&lt;/a&gt; then that service should actually be unlimited and not have a data cap. ISPs should also not be allowed to be disconnect a user and still charge for service for the remainder of a consumer's contract for going over the cap either.&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Use Sherman anti-trust laws to divorce content from content delivery. If ISPs and/or cable companies no loger own the content they provide, they they no longer have incentive to interfere with the delivery of said content.&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Use Sherman anti-trust laws to break up entertainment conglomerates and ISPs&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Nullify anticompetitive exclusive contracts between cable providers and cities&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Do not allow ISP to sell bundled services. This eliminates the temptation to degrade other services and give priority to your own services in order to sell your product.&lt;br /&gt;&lt;br /&gt;&lt;li&gt; Establish fair bandwidth shaping rules. With the infamous bittorrent blocking scandals, ISPs claimed to be trying to preserve the integrity of their network. This is because they do what is called oversubscribing. The theory is that if you have 50 users in a neighborhood, not all of the will be using the internet at the same time. So if you have 50 megabits to a neighborhood and allow speeds of "up to" 5 megabits for each household, then you can support 10 households using all 5 megabits of their allotted connection. But what happens if you have 20 of your 50 users on during peak hours and 10 are using bittorrent to download, lets say... uhh... public domain classical music, then the remaining 10 don't get any service. The only fair way to treat the situation is to shape the bandwidth so that if there are only 10 active users, then give them all 5 megabits of bandwidth. If there are 20 users, then throttle everyone back to only 2.5 megabits. Instead of blocking a specific protocol, you would be using a fair bandwidth shaping practice in a protocol agnostic manner (eg you don't care if they are downloading files, or watching youtube.) This would be in contrast to using data caps, which are almost always advertised as "unlimited."&lt;br /&gt;&lt;br /&gt;&lt;li&gt; require providers to make published guarantees (perhaps in a standardized box like with nutrition information on food) regarding A) minimum bandwidth (eg you always get a minimum of 1 megabit, but up to 5 megabits if available) B) uptime C) latency (how long it takes data to get to a location and back) D) jitter and packet loss (data is broken up into small chunks called packets. Sometimes one of the packets gets lost and has to be resent. If too many get lost, then speed degrades or connectivity is completely lost. For example, "we guarantee successful deliver of 90 out of 100 packets") &lt;br /&gt;&lt;br /&gt;&lt;li&gt; Do not allow ISPs/Cellular providers to block or prioritize content or data they don't like. The only protocols that should be allowed to be prioritized (or perhaps even required to be prioritize) are those designated as protocols requiring Quality of Service (QOS) by the IETF or IEEE governing bodies.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;And what can you do?:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Write your congressional and state representatives and let them know how you feel.&lt;/span&gt; The fact is, they are probably don't really understand the internet. This means that you have to tell them how you feel about the way things are and what you think should be done. You also need to emphasize that this issue is not about free market economics. The internet is not an economy in a classical sense, and therefore you cannot apply the same principles. Politicians need to understand that network neutrality should transcend political lines. I am a registered republican and strongly believe in capitalism and the free market. But the internet is a different economy and I cannot follow my party on this one. Mostly because I am computer savvy and therefore understand what is going on.&lt;br /&gt;&lt;br /&gt;So please, speak out for your rights.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2121185560235400553-7550446471874168489?l=jdshewey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdshewey.blogspot.com/feeds/7550446471874168489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jdshewey.blogspot.com/2010/11/why-you-may-no-longer-be-able-to-get.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2121185560235400553/posts/default/7550446471874168489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2121185560235400553/posts/default/7550446471874168489'/><link rel='alternate' type='text/html' href='http://jdshewey.blogspot.com/2010/11/why-you-may-no-longer-be-able-to-get.html' title='Why you may no longer be able to get hulu'/><author><name>James</name><uri>http://www.blogger.com/profile/03989262007438051503</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2121185560235400553.post-4694706598457000942</id><published>2009-10-27T15:53:00.000-07:00</published><updated>2011-12-04T12:06:33.060-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computers'/><title type='text'>Christmas Wish List</title><content type='html'>Seriously, I want the Bluetooth headset. Also, Amazon gift cards are good.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;1 to 3 pairs of JL Audio C2-650 Component Speakers - these should come in a box with three parts. If it is all one part, it is not a component speker and is the wrong part&lt;br /&gt;&lt;li&gt;1 to 3 pairs of JL Audio ZR100-CT Tweeters&lt;br /&gt;&lt;li&gt;1 JL Audio W0v3 12 inch subwoofer&lt;br /&gt;&lt;br /&gt;You can find a place to buy the speakers above &lt;a href="http://www.jlaudio.com/dealers"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.google.com/products/catalog?hl=en&amp;safe=off&amp;q=hauppauge+colossus&amp;bav=on.2,or.r_gc.r_pw.,cf.osb&amp;biw=1920&amp;bih=912&amp;um=1&amp;ie=UTF-8&amp;tbm=shop&amp;cid=14737903409044060932&amp;sa=X&amp;ei=nUzYTtfgOejh0QHG5dDZDQ&amp;ved=0CGMQxBUwAA"&gt;Huppauge Colossus Video capture card&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.google.com/products/catalog?hl=en&amp;q=P8437&amp;um=1&amp;ie=UTF-8&amp;tbm=shop&amp;cid=12914170666951440633&amp;sa=X&amp;ei=41DYTuLSL6nV0QHNruD4DQ&amp;ved=0CGQQ8wIwAA"&gt;Dell Riser card&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="https://www.google.com/search?q=2.4+ghz+wireless+keyboard+and+mouse&amp;tbm=shop&amp;hl=en&amp;aq=0&amp;oq=2.4+ghz+wireless+ke#q=2.4+ghz+wireless+keyboard+and+mouse&amp;hl=en&amp;safe=off&amp;tbs=p_ord:p&amp;tbm=shop&amp;sa=X&amp;ei=Sc3bTqL9LsHm0QHM07mLDA&amp;ved=0CAsQuw0oAQ&amp;bav=on.2,or.r_gc.r_pw.,cf.osb&amp;fp=cbcbdb28c1a76b22&amp;biw=1920&amp;bih=955"&gt;2.4 Ghz Wireless keyboard and mouse (Not RF)&lt;/a&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="https://www.google.com/search?q=2.4+ghz+wireless+keyboard+and+mouse&amp;tbm=shop&amp;hl=en&amp;aq=0&amp;oq=2.4+ghz+wireless+ke#sclient=psy-ab&amp;hl=en&amp;safe=off&amp;tbs=p_ord:p&amp;tbm=shop&amp;source=hp&amp;q=Motorola+ht820&amp;pbx=1&amp;oq=Motorola+ht820&amp;aq=f&amp;aqi=g1&amp;aql=&amp;gs_sm=e&amp;gs_upl=445514l445514l0l445859l1l1l0l0l0l0l223l223l2-1l1l0&amp;bav=on.2,or.r_gc.r_pw.,cf.osb&amp;fp=cbcbdb28c1a76b22&amp;biw=1920&amp;bih=955"&gt;Motorola ht820 Bluetooth headset&lt;/a&gt; (3rd year on my list and running - hint, hint)&lt;br /&gt;&lt;li&gt;Double Action Taurus 4510 Judge Public Defender (It's a gun, Ask Dad)&lt;br /&gt;&lt;br /&gt;CDs:&lt;br /&gt;&lt;li&gt;Yael Naim's self-titled album&lt;br /&gt;&lt;li&gt;The Forth World by Kara's Flowers&lt;br /&gt;Hands all Over by Maroon 5&lt;br /&gt;&lt;br /&gt;Gift cards:&lt;br /&gt;&lt;li&gt;Home Depot/Lowes Gift Cards&lt;br /&gt;&lt;li&gt;Target Gift Cards&lt;br /&gt;&lt;li&gt;Amazon Gift Cards&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2121185560235400553-4694706598457000942?l=jdshewey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdshewey.blogspot.com/feeds/4694706598457000942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jdshewey.blogspot.com/2009/10/christmas-wish-list.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2121185560235400553/posts/default/4694706598457000942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2121185560235400553/posts/default/4694706598457000942'/><link rel='alternate' type='text/html' href='http://jdshewey.blogspot.com/2009/10/christmas-wish-list.html' title='Christmas Wish List'/><author><name>James</name><uri>http://www.blogger.com/profile/03989262007438051503</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2121185560235400553.post-4574407123040769167</id><published>2009-05-29T15:13:00.000-07:00</published><updated>2010-02-04T09:20:42.010-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computers'/><title type='text'>Creating deb packages manually/Using alien to convert RPMs</title><content type='html'>&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Although you can create debian packages using an automated installer at compile time using checkinstall at compile time. In this example, we will be using precompiled binary files that need to be ported from RPM packages to deb packages to port a program to a debian based system&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Background:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I work for a Managed Service Provider, and we use a product called N-Able to do monitoring for our clients. We monitor servers on all platforms (Windows, Linux and Mac) and accordingly have to be able to install software for this on each operating system. The only issue was, for Linux, there was no Debian agent, (only red hat) so I decided to port it to Debian systems.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;In order to do this, you will need to have 2 tools installed: 1) alien and 2) ar. I used an Ubuntu 9.04 system for this process, though it should work on any system&lt;br /&gt;&lt;br /&gt;Step 1: Convert the RPM to deb&lt;br /&gt;&lt;br /&gt;to do this, simply type "alien &lt;i&gt;packagename&lt;/i&gt;" You should now have a deb file with the same name as the origional (save for the extension)&lt;br /&gt;&lt;br /&gt;Step 2: Extract the data from the deb archive&lt;br /&gt;&lt;br /&gt;In this example, most of the files were converted and no additional work was necessary, however 1 of the packages required additional modifications, as the startup  scripts it used were written for the red hat style startup/shutdown system using chkconfig, etc. This is very incompatible with Debian based systems. To correct this, I had to extract the deb package, so that I could modify these packages.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Start by creating a directory for each file and copying the deb into the folder:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;mkdir nagent&lt;br /&gt;cp nagent-rhel5.1_6.7.0.2169-3_i386.deb ./nagent&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Then move into the directory and extract the data from the deb package:&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;cd nagent&lt;br /&gt;ar x nagent-rhel5.1_6.7.0.2169-3_i386.deb&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;You should now have 3 additional files: control.tar.gz data.tar.gz and debian-binary&lt;br /&gt;debian-binary can be ignored, as it only has a version # used by ar. This leaves us with data.tar.gz and control.tar.gz. data.tar.gz is all of the binary and configuration files needed by the program. If you extract this file, using tar, you will note that it mirrors the file structure of your base system. This is because dpkg  just extracts this file with a working directory of root. In other words, if you have a file in ~/nagent/var, when you run dpkg nagent-rhel5.1_6.7.0.2169-3_i386.deb, after it has been repackaged, whatever files in ~/nagent/var will be extracted to /var on your system. I would reccomend creating a directory in your working directory, called data and extracting the data.tar.gz file in there. For the purposes of my project, I needed to update /etc/init.d/n-agent so that it worked correctly on a Debian system. I will not go into detail on bash scripting here, as that is well beyond the scope of this blog post. You can get some help by checking out /etc/init.d/skeleton on a debian system to get an idea of what your startup script might look like, or any of the other startup scripts in the /etc/init.d directory. After you are done making changes, simply re-compress the files to data.tar.gz and overwrite the one in your nagent (or comparable) directory. Next, comes the control.tar.gz file. In this archive are 6 files. conffiles contains a listing of configuration files. If removed using the dpkg --remove command, config files will be left behind (to remove said files, --purge wold be used.) control contains package information such as a description and dependancies that dpkg should check for before installing. alien should have already updated this for you. The md5sums file should be self explanatory and already taken care of for you by alien as well. The remaining files are used to configure non-static elements of you system at install/removal time. The preinst is a BASH script which runs before the installation of the debain package. Likewise postinst is run after installation. Finally prerm is used before removal. For my purposes, I only needed to modify postinst to add a user used by my program. This was because red hat and debian use different programs to add users.&lt;br /&gt;&lt;br /&gt;Step 3: Repackageing your deb file&lt;br /&gt;&lt;br /&gt;After updating and rearchiving you data.tar.gz and control.tar.gz directories, and cleaning up any work files/directories you used by deleting them, you must then repackage you deb file. This can be done with the command:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;ar cr nagent-rhel5.1_6.7.0.2169-3_i386.deb&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;You can now run dpkg -i &lt;i&gt;filename&lt;/i&gt; to verify that the changes you made worked correctly.&lt;br /&gt;&lt;br /&gt;This should be everything you need to port a RPM package to a deb package. Good Luck!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2121185560235400553-4574407123040769167?l=jdshewey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdshewey.blogspot.com/feeds/4574407123040769167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jdshewey.blogspot.com/2009/05/creating-deb-packages-manuallyusing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2121185560235400553/posts/default/4574407123040769167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2121185560235400553/posts/default/4574407123040769167'/><link rel='alternate' type='text/html' href='http://jdshewey.blogspot.com/2009/05/creating-deb-packages-manuallyusing.html' title='Creating deb packages manually/Using alien to convert RPMs'/><author><name>James</name><uri>http://www.blogger.com/profile/03989262007438051503</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2121185560235400553.post-8138658967248362231</id><published>2009-05-28T07:14:00.000-07:00</published><updated>2009-11-03T09:34:50.929-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computers'/><title type='text'>Dual Head Display</title><content type='html'>While many mistakenly call Linux servers with dual monitors using xinetrama or twin view "dual head," few know that dual head indicates a setup different than dual monitors. A dual head system has two monitors running &lt;span style="font-weight: bold;"&gt;two separate window managers&lt;/span&gt; or even two separate x sessions.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Problem:&lt;/span&gt;&lt;br /&gt;I have two monitors at work, and while I am a Mac and Linux Solutions Engineer with Staples Technology Solutions, Our ticketing system is based on the .net framework, which means that I have to run windows somehow in order to enter tickets. While we can use a terminal server for this, there are other things which are also windows only which I sometimes need to test, and so I really can't do without running 3 OSs daily. I have a Mac laptop, so that takes care of one, but I only have 1 desktop and need two more OSs. Enter VirtualBox (virtualbox.org). With VirtualBox, I am able to run a windows VM on my Linux installation (or vice versa if I wanted). Now, rather than trying to set up two seperate windows managers to run and then run virtualbox on top of one of them, I figured I would save CPU cycles by running KDE on display :0.0 and starting virtualbox directly on display :0.1 without a window manager. I also wanted this because I LOVE compiz--Especially the cube with edge flip. But, I didn't want windows disappearing when I rotated the cube (which would have happened with twinview or xinetrama), so a dual head setup seemed like the perfect solution. Getting this setup however, proved to be harder than one might think...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solution:&lt;/span&gt;&lt;br /&gt;First, the computer I was using was a bit old, and as a result I had a bit of trouble initially when I was trying to use an old Radeon X600 card. Supposedly it was supported by the latest ATI driver, but no such luck. I never could get it to work with the proprietary driver and since the free (as in speech) driver did not support doing dual monitors through the single DVI port (with splitter) I had problems. I work around it by robbing an NV285 card out of one of the other workstations we had lying around and I was in business. Sort of. I didn't have too much trouble configuring my xorg file using the nvidia-xconfig tool. I had to then go into my xorg.conf file and disable twinview (and xinetrama) and I was good to go. Sort of. I fired up KDE and got KDE on one monitor and a blank monitor on next to it. I could move my mouse between them. Excellent. Now to set my startup options. In case you are looking for where to set programs to run at start up in KDE, creating an executable BASH script in ~/.kde/Autostart/ will cause this bash script to be executed at login. So, I wrote this little diddy and I was all set:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;compiz &amp;amp;&lt;br /&gt;DISPLAY=":0.1" VBoxManage startvm 'Windows XP' -type gui&lt;/pre&gt;&lt;/blockquote&gt;Well, sort of all set. Now I noticed that I was getting compiz started on both monitors, even though I did not have a WM on :0.1. With a little research, I figured out that if I edited /usr/bin/compiz edited the COMPIZ_OPTIONS variable to read "COMPIZ_OPTIONS=--replace --ignore-desktop-hints --only-current-screen", it would start on just display :0.0. You can also run "compiz.real --replace --ignore-desktop-hints --only-current-screen &amp;amp;" in your Autostart BASH script. Be careful because compiz may autostart on Ubuntu Jaunty 9.04, so if you start it again from an Autostart script, theings are going to get confusing.  I had this problem at first. I forget how I would up stopping KDE from starting compiz at startup. I found the post on the ubuntu forms, but it's not really important. What is important is that this was the absolute wrong thing to do. After doing this, I could not type on :0.1. I could move my mouse over there and select windows, but no keyboard and compiz effects were appalingly slow. So I hit the ubuntu bug tracker and came across bug https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/173517 and bug https://bugs.launchpad.net/ubuntu/+source/desktop-effects/+bug/209229. But how to configure :0.1 to stop that annoying cube behavior? I tried selecting screen 1 in ccsm (Compiz Config Settings Manager) but this just configured compiz on display :0.0. Fortunately, I came across a forum post with a user with the same problem. He was able to resolve his issue by starting ccsm on display :0.1 and then configuring. So I tried to start ccsm on display :0.1. For the record, if you need to start any program on a different display, simply prepend "DISPLAY=":X.X" to your command. I fired up my terminal and ran "DISPLAY=":0.1"ccsm" and it hung trying to load the icons for the program becuase there was no window manager on that monitor to manage the icons. Super annoying. Finally, I edited my /etc/kde4/kdm/kdmrc file and switched which display kdm started on by changing the "StaticServers=:0" to read "StaticServers=:0.1" and restarting kdm (sudo killall kdm followed by sudo kdm). Now, if you do this, be sure to disable compiz on display :0.0 and then calling compiz.real directly using the command "DISPLAY=:0.1 compiz.real --replace --ignore-desktop-hints --only-current-screen &amp;amp;" otherwise, you may mess things up. After this I was able to start ccsm and configure this display so that my cube only had 1 side and no loger rotated (it was appearing as a two sided cube) For some reason some of the options were global (such as edge flip) while others were localized (like the number of sides on the cube). Whatever. I got what I needed. Anyway, after setting everything back so that it displayed correctly and windows started at login, I had what I wanted. And with both monitors running compiz effects (even though :0.1 didn't use them) I was now getting the performance I wanted out of my video card. So if you are having trouble with compiz performance with your nvidia NV285 card (or other card) and are running compiz on only one screen, try running it on both screens.&lt;br /&gt;&lt;br /&gt;Ahhh. Much better.&lt;br /&gt;&lt;br /&gt;Here is my xorg.conf file in case you are having trouble configuring dual head:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;# nvidia-settings: X configuration file generated by nvidia-settings&lt;br /&gt;# nvidia-settings:  version 1.0  (buildd@palmer)  Sun Feb  1 20:21:04 UTC 2009&lt;br /&gt;&lt;br /&gt;# xorg.conf (X.Org X Window System server configuration file)&lt;br /&gt;#&lt;br /&gt;# This file was generated by dexconf, the Debian X Configuration tool, using&lt;br /&gt;# values from the debconf database.&lt;br /&gt;#&lt;br /&gt;# Edit this file with caution, and see the xorg.conf manual page.&lt;br /&gt;# (Type "man xorg.conf" at the shell prompt.)&lt;br /&gt;#&lt;br /&gt;# This file is automatically updated on xserver-xorg package upgrades *only*&lt;br /&gt;# if it has not been modified since the last upgrade of the xserver-xorg&lt;br /&gt;# package.&lt;br /&gt;#&lt;br /&gt;# Note that some configuration settings that could be done previously&lt;br /&gt;# in this file, now are automatically configured by the server and settings&lt;br /&gt;# here are ignored.&lt;br /&gt;#&lt;br /&gt;# If you have edited this file but would like it to be automatically updated&lt;br /&gt;# again, run the following command:&lt;br /&gt;#   sudo dpkg-reconfigure -phigh xserver-xorg&lt;br /&gt;&lt;br /&gt;Section "ServerLayout"&lt;br /&gt;    Identifier     "Default Layout"&lt;br /&gt;    Screen       0  "Screen0" 0 1024&lt;br /&gt;    Screen       1  "Screen1" Above "Screen0"&lt;br /&gt;    InputDevice    "Keyboard0" "CoreKeyboard"&lt;br /&gt;    InputDevice    "Mouse0" "CorePointer"&lt;br /&gt;    Option        "AllowEmptyInput" "On"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Module"&lt;br /&gt;    Load           "dbe"&lt;br /&gt;    Load           "extmod"&lt;br /&gt;#    Load           "type1"&lt;br /&gt;#    Load           "freetype"&lt;br /&gt;    Load           "glx"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "ServerFlags"&lt;br /&gt;    Option         "Xinerama" "0"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "InputDevice"&lt;br /&gt;    # generated from default&lt;br /&gt;    Identifier     "Keyboard0"&lt;br /&gt;    Driver         "keyboard"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "InputDevice"&lt;br /&gt;    # generated from default&lt;br /&gt;    Identifier     "Mouse0"&lt;br /&gt;    Driver         "mouse"&lt;br /&gt;    Option         "Protocol" "auto"&lt;br /&gt;    Option         "Device" "/dev/psaux"&lt;br /&gt;    Option         "Emulate3Buttons" "no"&lt;br /&gt;    Option         "ZAxisMapping" "4 5"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Monitor"&lt;br /&gt;    Identifier     "Configured Monitor"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Monitor"&lt;br /&gt;    Identifier     "Monitor0"&lt;br /&gt;    VendorName     "Unknown"&lt;br /&gt;    ModelName      "DELL 1704FPT"&lt;br /&gt;    HorizSync       30.0 - 81.0&lt;br /&gt;    VertRefresh     56.0 - 76.0&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Monitor"&lt;br /&gt;    Identifier     "Monitor1"&lt;br /&gt;    VendorName     "Unknown"&lt;br /&gt;    ModelName      "DELL 1704FPT"&lt;br /&gt;    HorizSync       30.0 - 81.0&lt;br /&gt;    VertRefresh     56.0 - 76.0&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;#Section "Device"&lt;br /&gt;#    Identifier     "Configured Video Device"&lt;br /&gt;#    Driver         "nvidia"&lt;br /&gt;#EndSection&lt;br /&gt;&lt;br /&gt;Section "Device"&lt;br /&gt;    Identifier     "Device0"&lt;br /&gt;    Driver         "nvidia"&lt;br /&gt;    VendorName     "NVIDIA Corporation"&lt;br /&gt;    BoardName      "Quadro NVS 280 PCI-E"&lt;br /&gt;    BusID          "PCI:1:0:0"&lt;br /&gt;    Screen          0&lt;br /&gt;# Force one level when AC power&lt;br /&gt;    Option        "RegistryDwords" "PowerMizerLevelAC=0x3"&lt;br /&gt;#Enable overclocking&lt;br /&gt;    Option       "Coolbits" "1"&lt;br /&gt;&lt;br /&gt;    Option         "RenderAccel" "True"&lt;br /&gt;    Option         "TripleBuffer" "True"&lt;br /&gt;    Option         "DamageEvents" "True"&lt;br /&gt;    Option         "NoDRI"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Device"&lt;br /&gt;    Identifier     "Device1"&lt;br /&gt;    Driver         "nvidia"&lt;br /&gt;    VendorName     "NVIDIA Corporation"&lt;br /&gt;    BoardName      "Quadro NVS 280 PCI-E"&lt;br /&gt;    BusID          "PCI:1:0:0"&lt;br /&gt;    Screen          1&lt;br /&gt;# Force one level when AC power&lt;br /&gt;    Option        "RegistryDwords" "PowerMizerLevelAC=0x3"&lt;br /&gt;&lt;br /&gt;#Enable overclocking&lt;br /&gt;    Option        "Coolbits" "1"&lt;br /&gt;    Option         "RenderAccel" "True"&lt;br /&gt;    Option         "TripleBuffer" "True"&lt;br /&gt;    Option         "DamageEvents" "True"&lt;br /&gt;    Option         "NoDRI"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Screen"&lt;br /&gt;    Identifier     "Default Screen"&lt;br /&gt;    Device         "Configured Video Device"&lt;br /&gt;    Monitor        "Configured Monitor"&lt;br /&gt;    DefaultDepth    24&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Screen"&lt;br /&gt;    Identifier     "Screen0"&lt;br /&gt;    Device         "Device0"&lt;br /&gt;    Monitor        "Monitor0"&lt;br /&gt;    DefaultDepth    24&lt;br /&gt;    Option         "TwinView" "0"&lt;br /&gt;    Option         "TwinViewXineramaInfoOrder" "CRT-0"&lt;br /&gt;    Option         "metamodes" "CRT-0: nvidia-auto-select +0+0"&lt;br /&gt;    SubSection     "Display"&lt;br /&gt;        Depth       24&lt;br /&gt;    EndSubSection&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Screen"&lt;br /&gt;    Identifier     "Screen1"&lt;br /&gt;    Device         "Device1"&lt;br /&gt;    Monitor        "Monitor1"&lt;br /&gt;    DefaultDepth    24&lt;br /&gt;    Option         "TwinView" "0"&lt;br /&gt;    Option         "metamodes" "CRT-1: nvidia-auto-select +0+0"&lt;br /&gt;    SubSection     "Display"&lt;br /&gt;        Depth       24&lt;br /&gt;    EndSubSection&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "Extensions"&lt;br /&gt;    Option         "Composite" "Enable"&lt;br /&gt;EndSection&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2121185560235400553-8138658967248362231?l=jdshewey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdshewey.blogspot.com/feeds/8138658967248362231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jdshewey.blogspot.com/2009/05/dual-head-display.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2121185560235400553/posts/default/8138658967248362231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2121185560235400553/posts/default/8138658967248362231'/><link rel='alternate' type='text/html' href='http://jdshewey.blogspot.com/2009/05/dual-head-display.html' title='Dual Head Display'/><author><name>James</name><uri>http://www.blogger.com/profile/03989262007438051503</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2121185560235400553.post-1325496434028150627</id><published>2009-05-27T09:42:00.000-07:00</published><updated>2009-05-27T10:28:38.208-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computers'/><title type='text'>Displaying only posts with a certain tag on your blogger homepage</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Problem:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    Part of why I am creating this blog is so that if/when I am looking for a new job, those who are potentially Googling me will be able to see projects that I have worked on or am working on in order to impress prospective employers (In addition to wanting to potentially help others and also so that I may reference work I did in the past if needed). On the other hand, there may be things such as religion, philosophy or politics that I wish to blog about which might detract or prevent me from getting hired (Even in spite of non-discrimination laws. When I was in sales I learned [via my sales figures] that things can subconsciously affect our decisions, which is why I always dressed nice) As such, I wanted to be able to have the front page of my blog only display articles which were tagged with "Computers" while being able to hide hide other posts when the time comes for me to get a job.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solution:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I was miffed on how to do this for at first. I tried deleting (manually) the main pane for posts on the front page and replacing this with the URL to page which searches for posts by tag, however, this just caused problems with the main page. I was at a loss until, after a bit of research I found the following blog post: &lt;a href="http://blog.mobocracy.net/2007/06/filtering-blogger-by-label.html"&gt;http://blog.mobocracy.net/2007/06/filtering-blogger-by-label.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now, in case this link becomes defunct, here is the gist of how to properly apply this fix:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"From your blog dashboard, click on "Layout" then click on "Edit HTML". Once you have done that, click the "Expand Widget Templates" checkbox. Now you're ready to edit. As always, I recommend making a backup before you get started. First, search for the line that starts with &lt;b:includable id="'main'" var="'top'"&gt;. You are going to remove everything in that function between &lt;b:loop values="'data:posts'" var="'post'"&gt; and the closing tag with the following:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; &amp;lt b:if cond="'data:blog.url"&amp;gt&lt;br /&gt;   &amp;lt b:if cond="'data:post.labels'"&amp;gt&lt;br /&gt;     &amp;lt b:loop values="'data:post.labels'" var="'label'"&amp;gt&lt;br /&gt;       &amp;lt b:if cond="'data:label.name"&amp;gt&lt;br /&gt;         &amp;lt b:include data="'post'" name="'printPosts'/"&amp;gt&lt;br /&gt;       &amp;lt /b:if&amp;gt&lt;br /&gt;     &amp;lt /b:loop&amp;gt&lt;br /&gt;   &amp;lt /b:if&amp;gt&lt;br /&gt; &amp;lt b:else/&amp;gt&lt;br /&gt;   &amp;lt b:include data="'post'" name="'printPosts'/"&amp;gt&lt;br /&gt; &amp;lt /b:if&amp;gt&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The above change essentially says the following: if you are on the homepage, and a post has labels, and the post has the "main" label, then call printPosts. Or, if you are not on the homepage, call printPosts. Now search for the close tag of the main function (it looks like &amp;lt/b:includable&gt;) and after it paste the following code:&lt;br /&gt;&lt;br /&gt;&amp;lt b:includable id="'printPosts'" var="'post'"&gt;&lt;br /&gt;&amp;lt b:if cond="'data:post.dateHeader'"&gt;&lt;br /&gt;&amp;lt h2 class="'date-header'"&gt;&amp;lt data:post.dateheader/&gt;&amp;lt /h2&gt;&lt;br /&gt;&amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt b:include data="'post'" name="'post'/"&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt b:if cond="'data:blog.pageType"&gt;&lt;br /&gt;&amp;lt b:include data="'post'" name="'comments'/"&gt;&lt;br /&gt;&amp;lt /b:if&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&lt;br /&gt;The above code is your printPosts function/method. It is identical to what you had before, it was just turned into a function to reduce code duplication. That's it. Now only posts with a "main" label will show up on the front page. For Peter Sachs, who was wanting to filter out content, just change the (== "main") markup to something like (!= "nsfw"). Enjoy."&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Note: don't forget the "Expand widget templates" checkbox or else you will not be able to find the sections referenced.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;It took me a bit of time to figure out where the code was supposed to go exactly and how it was to be formatted, so I am including a complete working example&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;taken&lt;span style="font-weight: bold;"&gt; &lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;from html code for this blog below:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt ?xml version="1.0" encoding="UTF-8" ?&gt;&lt;br /&gt;&amp;lt !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;&lt;br /&gt;&amp;lt html dir="'data:blog.languageDirection'" xmlns="'http://www.w3.org/1999/xhtml'" b="'http://www.google.com/2005/gml/b'" data="'http://www.google.com/2005/gml/data'" expr="'http://www.google.com/2005/gml/expr'"&gt;&lt;br /&gt;  &amp;lt head&gt;&lt;br /&gt;    &amp;lt b:include data="'blog'" name="'all-head-content'/"&gt;&lt;br /&gt;    &amp;lt title&gt;&amp;lt data:blog.pagetitle/&gt;&amp;lt /title&gt;&lt;br /&gt;    &amp;lt b:skin&gt;&amp;lt ![CDATA[/*&lt;br /&gt;-----------------------------------------------&lt;br /&gt;Blogger Template Style&lt;br /&gt;Name:     Minima&lt;br /&gt;Designer: Douglas Bowman&lt;br /&gt;URL:      www.stopdesign.com&lt;br /&gt;Date:     26 Feb 2004&lt;br /&gt;Updated by: Blogger Team&lt;br /&gt;----------------------------------------------- */&lt;br /&gt;&lt;br /&gt;/* Variable definitions&lt;br /&gt;   ====================&lt;br /&gt;   &amp;lt Variable name="bgcolor" description="Page Background Color"&lt;br /&gt;             type="color" default="#fff" value="#ffffff"&gt;&lt;br /&gt;   &amp;lt Variable name="textcolor" description="Text Color"&lt;br /&gt;             type="color" default="#333" value="#333333"&gt;&lt;br /&gt;   &amp;lt Variable name="linkcolor" description="Link Color"&lt;br /&gt;             type="color" default="#58a" value="#5588aa"&gt;&lt;br /&gt;   &amp;lt Variable name="pagetitlecolor" description="Blog Title Color"&lt;br /&gt;             type="color" default="#666" value="#666666"&gt;&lt;br /&gt;   &amp;lt Variable name="descriptioncolor" description="Blog Description Color"&lt;br /&gt;             type="color" default="#999" value="#999999"&gt;&lt;br /&gt;   &amp;lt Variable name="titlecolor" description="Post Title Color"&lt;br /&gt;             type="color" default="#c60" value="#cc6600"&gt;&lt;br /&gt;   &amp;lt Variable name="bordercolor" description="Border Color"&lt;br /&gt;             type="color" default="#ccc" value="#cccccc"&gt;&lt;br /&gt;   &amp;lt Variable name="sidebarcolor" description="Sidebar Title Color"&lt;br /&gt;             type="color" default="#999" value="#999999"&gt;&lt;br /&gt;   &amp;lt Variable name="sidebartextcolor" description="Sidebar Text Color"&lt;br /&gt;             type="color" default="#666" value="#666666"&gt;&lt;br /&gt;   &amp;lt Variable name="visitedlinkcolor" description="Visited Link Color"&lt;br /&gt;             type="color" default="#999" value="#999999"&gt;&lt;br /&gt;   &amp;lt Variable name="bodyfont" description="Text Font"&lt;br /&gt;             type="font" default="normal normal 100% Georgia, Serif" value="normal normal 100% Georgia, Serif"&gt;&lt;br /&gt;   &amp;lt Variable name="headerfont" description="Sidebar Title Font"&lt;br /&gt;             type="font"&lt;br /&gt;             default="normal normal 78% 'Trebuchet MS',Trebuchet,Arial,Verdana,Sans-serif" value="normal normal 78% 'Trebuchet MS',Trebuchet,Arial,Verdana,Sans-serif"&gt;&lt;br /&gt;   &amp;lt Variable name="pagetitlefont" description="Blog Title Font"&lt;br /&gt;             type="font"&lt;br /&gt;             default="normal normal 200% Georgia, Serif" value="normal normal 200% Georgia, Serif"&gt;&lt;br /&gt;   &amp;lt Variable name="descriptionfont" description="Blog Description Font"&lt;br /&gt;             type="font"&lt;br /&gt;             default="normal normal 78% 'Trebuchet MS', Trebuchet, Arial, Verdana, Sans-serif" value="normal normal 78% 'Trebuchet MS', Trebuchet, Arial, Verdana, Sans-serif"&gt;&lt;br /&gt;   &amp;lt Variable name="postfooterfont" description="Post Footer Font"&lt;br /&gt;             type="font"&lt;br /&gt;             default="normal normal 78% 'Trebuchet MS', Trebuchet, Arial, Verdana, Sans-serif" value="normal normal 78% 'Trebuchet MS', Trebuchet, Arial, Verdana, Sans-serif"&gt;&lt;br /&gt;   &amp;lt Variable name="startSide" description="Side where text starts in blog language"&lt;br /&gt;             type="automatic" default="left" value="left"&gt;&lt;br /&gt;   &amp;lt Variable name="endSide" description="Side where text ends in blog language"&lt;br /&gt;             type="automatic" default="right" value="right"&gt;&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;/* Use this with templates/template-twocol.html */&lt;br /&gt;&lt;br /&gt;body {&lt;br /&gt;  background:$bgcolor;&lt;br /&gt;  margin:0;&lt;br /&gt;  color:$textcolor;&lt;br /&gt;  font:x-small Georgia Serif;&lt;br /&gt;  font-size/* */:/**/small;&lt;br /&gt;  font-size: /**/small;&lt;br /&gt;  text-align: center;&lt;br /&gt;  }&lt;br /&gt;a:link {&lt;br /&gt;  color:$linkcolor;&lt;br /&gt;  text-decoration:none;&lt;br /&gt;  }&lt;br /&gt;a:visited {&lt;br /&gt;  color:$visitedlinkcolor;&lt;br /&gt;  text-decoration:none;&lt;br /&gt;  }&lt;br /&gt;a:hover {&lt;br /&gt;  color:$titlecolor;&lt;br /&gt;  text-decoration:underline;&lt;br /&gt;}&lt;br /&gt;a img {&lt;br /&gt;  border-width:0;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;/* Header&lt;br /&gt;-----------------------------------------------&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;#header-wrapper {&lt;br /&gt;  width:660px;&lt;br /&gt;  margin:0 auto 10px;&lt;br /&gt;  border:1px solid $bordercolor;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;#header-inner {&lt;br /&gt;  background-position: center;&lt;br /&gt;  margin-left: auto;&lt;br /&gt;  margin-right: auto;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#header {&lt;br /&gt;  margin: 5px;&lt;br /&gt;  border: 1px solid $bordercolor;&lt;br /&gt;  text-align: center;&lt;br /&gt;  color:$pagetitlecolor;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#header h1 {&lt;br /&gt;  margin:5px 5px 0;&lt;br /&gt;  padding:15px 20px .25em;&lt;br /&gt;  line-height:1.2em;&lt;br /&gt;  text-transform:uppercase;&lt;br /&gt;  letter-spacing:.2em;&lt;br /&gt;  font: $pagetitlefont;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#header a {&lt;br /&gt;  color:$pagetitlecolor;&lt;br /&gt;  text-decoration:none;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;#header a:hover {&lt;br /&gt;  color:$pagetitlecolor;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;#header .description {&lt;br /&gt;  margin:0 5px 5px;&lt;br /&gt;  padding:0 20px 15px;&lt;br /&gt;  max-width:700px;&lt;br /&gt;  text-transform:uppercase;&lt;br /&gt;  letter-spacing:.2em;&lt;br /&gt;  line-height: 1.4em;&lt;br /&gt;  font: $descriptionfont;&lt;br /&gt;  color: $descriptioncolor;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;#header img {&lt;br /&gt;  margin-$startSide: auto;&lt;br /&gt;  margin-$endSide: auto;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Outer-Wrapper&lt;br /&gt;----------------------------------------------- */&lt;br /&gt;#outer-wrapper {&lt;br /&gt;  width: 660px;&lt;br /&gt;  margin:0 auto;&lt;br /&gt;  padding:10px;&lt;br /&gt;  text-align:$startSide;&lt;br /&gt;  font: $bodyfont;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;#main-wrapper {&lt;br /&gt;  width: 410px;&lt;br /&gt;  float: $startSide;&lt;br /&gt;  word-wrap: break-word; /* fix for long text breaking sidebar float in IE */&lt;br /&gt;  overflow: hidden;     /* fix for long non-text content breaking IE sidebar float */&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;#sidebar-wrapper {&lt;br /&gt;  width: 220px;&lt;br /&gt;  float: $endSide;&lt;br /&gt;  word-wrap: break-word; /* fix for long text breaking sidebar float in IE */&lt;br /&gt;  overflow: hidden;      /* fix for long non-text content breaking IE sidebar float */&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Headings&lt;br /&gt;----------------------------------------------- */&lt;br /&gt;&lt;br /&gt;h2 {&lt;br /&gt;  margin:1.5em 0 .75em;&lt;br /&gt;  font:$headerfont;&lt;br /&gt;  line-height: 1.4em;&lt;br /&gt;  text-transform:uppercase;&lt;br /&gt;  letter-spacing:.2em;&lt;br /&gt;  color:$sidebarcolor;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Posts&lt;br /&gt;-----------------------------------------------&lt;br /&gt; */&lt;br /&gt;h2.date-header {&lt;br /&gt;  margin:1.5em 0 .5em;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;.post {&lt;br /&gt;  margin:.5em 0 1.5em;&lt;br /&gt;  border-bottom:1px dotted $bordercolor;&lt;br /&gt;  padding-bottom:1.5em;&lt;br /&gt;  }&lt;br /&gt;.post h3 {&lt;br /&gt;  margin:.25em 0 0;&lt;br /&gt;  padding:0 0 4px;&lt;br /&gt;  font-size:140%;&lt;br /&gt;  font-weight:normal;&lt;br /&gt;  line-height:1.4em;&lt;br /&gt;  color:$titlecolor;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.post h3 a, .post h3 a:visited, .post h3 strong {&lt;br /&gt;  display:block;&lt;br /&gt;  text-decoration:none;&lt;br /&gt;  color:$titlecolor;&lt;br /&gt;  font-weight:normal;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.post h3 strong, .post h3 a:hover {&lt;br /&gt;  color:$textcolor;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.post-body {&lt;br /&gt;  margin:0 0 .75em;&lt;br /&gt;  line-height:1.6em;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.post-body blockquote {&lt;br /&gt;  line-height:1.3em; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.post-footer {&lt;br /&gt;  margin: .75em 0;&lt;br /&gt;  color:$sidebarcolor;&lt;br /&gt;  text-transform:uppercase;&lt;br /&gt;  letter-spacing:.1em;&lt;br /&gt;  font: $postfooterfont;&lt;br /&gt;  line-height: 1.4em;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.comment-link {&lt;br /&gt;  margin-$startSide:.6em;&lt;br /&gt;  }&lt;br /&gt;.post img {&lt;br /&gt;  padding:4px;&lt;br /&gt;  border:1px solid $bordercolor;&lt;br /&gt;  }&lt;br /&gt;.post blockquote {&lt;br /&gt;  margin:1em 20px;&lt;br /&gt;  }&lt;br /&gt;.post blockquote p {&lt;br /&gt;  margin:.75em 0;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;/* Comments&lt;br /&gt;----------------------------------------------- */&lt;br /&gt;#comments h4 {&lt;br /&gt;  margin:1em 0;&lt;br /&gt;  font-weight: bold;&lt;br /&gt;  line-height: 1.4em;&lt;br /&gt;  text-transform:uppercase;&lt;br /&gt;  letter-spacing:.2em;&lt;br /&gt;  color: $sidebarcolor;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;#comments-block {&lt;br /&gt;  margin:1em 0 1.5em;&lt;br /&gt;  line-height:1.6em;&lt;br /&gt;  }&lt;br /&gt;#comments-block .comment-author {&lt;br /&gt;  margin:.5em 0;&lt;br /&gt;  }&lt;br /&gt;#comments-block .comment-body {&lt;br /&gt;  margin:.25em 0 0;&lt;br /&gt;  }&lt;br /&gt;#comments-block .comment-footer {&lt;br /&gt;  margin:-.25em 0 2em;&lt;br /&gt;  line-height: 1.4em;&lt;br /&gt;  text-transform:uppercase;&lt;br /&gt;  letter-spacing:.1em;&lt;br /&gt;  }&lt;br /&gt;#comments-block .comment-body p {&lt;br /&gt;  margin:0 0 .75em;&lt;br /&gt;  }&lt;br /&gt;.deleted-comment {&lt;br /&gt;  font-style:italic;&lt;br /&gt;  color:gray;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;#blog-pager-newer-link {&lt;br /&gt;  float: $startSide;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;#blog-pager-older-link {&lt;br /&gt;  float: $endSide;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;#blog-pager {&lt;br /&gt;  text-align: center;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;.feed-links {&lt;br /&gt;  clear: both;&lt;br /&gt;  line-height: 2.5em;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Sidebar Content&lt;br /&gt;----------------------------------------------- */&lt;br /&gt;.sidebar {&lt;br /&gt;  color: $sidebartextcolor;&lt;br /&gt;  line-height: 1.5em;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;.sidebar ul {&lt;br /&gt;  list-style:none;&lt;br /&gt;  margin:0 0 0;&lt;br /&gt;  padding:0 0 0;&lt;br /&gt;}&lt;br /&gt;.sidebar li {&lt;br /&gt;  margin:0;&lt;br /&gt;  padding-top:0;&lt;br /&gt;  padding-$endSide:0;&lt;br /&gt;  padding-bottom:.25em;&lt;br /&gt;  padding-$startSide:15px;&lt;br /&gt;  text-indent:-15px;&lt;br /&gt;  line-height:1.5em;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;.sidebar .widget, .main .widget {&lt;br /&gt;  border-bottom:1px dotted $bordercolor;&lt;br /&gt;  margin:0 0 1.5em;&lt;br /&gt;  padding:0 0 1.5em;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;.main .Blog {&lt;br /&gt;  border-bottom-width: 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Profile&lt;br /&gt;----------------------------------------------- */&lt;br /&gt;.profile-img {&lt;br /&gt;  float: $startSide;&lt;br /&gt;  margin-top: 0;&lt;br /&gt;  margin-$endSide: 5px;&lt;br /&gt;  margin-bottom: 5px;&lt;br /&gt;  margin-$startSide: 0;&lt;br /&gt;  padding: 4px;&lt;br /&gt;  border: 1px solid $bordercolor;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.profile-data {&lt;br /&gt;  margin:0;&lt;br /&gt;  text-transform:uppercase;&lt;br /&gt;  letter-spacing:.1em;&lt;br /&gt;  font: $postfooterfont;&lt;br /&gt;  color: $sidebarcolor;&lt;br /&gt;  font-weight: bold;&lt;br /&gt;  line-height: 1.6em;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.profile-datablock {&lt;br /&gt;  margin:.5em 0 .5em;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.profile-textblock {&lt;br /&gt;  margin: 0.5em 0;&lt;br /&gt;  line-height: 1.6em;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.profile-link {&lt;br /&gt;  font: $postfooterfont;&lt;br /&gt;  text-transform: uppercase;&lt;br /&gt;  letter-spacing: .1em;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Footer&lt;br /&gt;----------------------------------------------- */&lt;br /&gt;#footer {&lt;br /&gt;  width:660px;&lt;br /&gt;  clear:both;&lt;br /&gt;  margin:0 auto;&lt;br /&gt;  padding-top:15px;&lt;br /&gt;  line-height: 1.6em;&lt;br /&gt;  text-transform:uppercase;&lt;br /&gt;  letter-spacing:.1em;&lt;br /&gt;  text-align: center;&lt;br /&gt;}&lt;br /&gt;]]&gt;&amp;lt /b:skin&gt;&lt;br /&gt;  &amp;lt /head&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt body&gt;&lt;br /&gt;  &amp;lt div id="'outer-wrapper'"&gt;&amp;lt div id="'wrap2'"&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt !-- skip links for text browsers --&gt;&lt;br /&gt;    &amp;lt span id="'skiplinks'" style="'display:none;'"&gt;&lt;br /&gt;      &amp;lt a href="'#main'"&gt;skip to main &amp;lt /a&gt; |&lt;br /&gt;      &amp;lt a href="'#sidebar'"&gt;skip to sidebar&amp;lt /a&gt;&lt;br /&gt;    &amp;lt /span&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt div id="'header-wrapper'"&gt;&lt;br /&gt;      &amp;lt b:section class="'header'" id="'header'" maxwidgets="'1'" showaddelement="'no'"&gt;&lt;br /&gt;&amp;lt b:widget id="'Header1'" locked="'true'" title="'Nerdy" type="'Header'"&gt;&lt;br /&gt;&amp;lt b:includable id="'main'"&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt b:if cond="'data:useImage'"&gt;&lt;br /&gt;    &amp;lt b:if cond="'data:imagePlacement"&gt;&lt;br /&gt;      &amp;lt !--Show just the image, no text--&gt;&lt;br /&gt;      &amp;lt div id="'header-inner'"&gt;&lt;br /&gt;        &amp;lt a href="'data:blog.homepageUrl'" style="'display:"&gt;&lt;br /&gt;          &amp;lt img alt="'data:title'" height="'data:height'" id="'data:widget.instanceId" src="'data:sourceUrl'" width="'data:width'" style="'display:" /&gt;&lt;br /&gt;        &amp;lt /a&gt;&lt;br /&gt;      &amp;lt /div&gt;&lt;br /&gt;    &amp;lt b:else/&gt;&lt;br /&gt;      &amp;lt !--&lt;br /&gt;      Show image as background to text. You can't really calculate the width&lt;br /&gt;      reliably in JS because margins are not taken into account by any of&lt;br /&gt;      clientWidth, offsetWidth or scrollWidth, so we don't force a minimum&lt;br /&gt;      width if the user is using shrink to fit.&lt;br /&gt;      This results in a margin-width's worth of pixels being cropped. If the&lt;br /&gt;      user is not using shrink to fit then we expand the header.&lt;br /&gt;      --&gt;&lt;br /&gt;      &amp;lt div style="'&amp;quot;background-image:" id="'header-inner'"&gt;&lt;br /&gt;        &amp;lt div class="'titlewrapper'" style="'background:"&gt;&lt;br /&gt;          &amp;lt h1 class="'title'" style="'background:"&gt;&lt;br /&gt;            &amp;lt b:include name="'title'/"&gt;&lt;br /&gt;          &amp;lt /h1&gt;&lt;br /&gt;        &amp;lt /div&gt;&lt;br /&gt;        &amp;lt b:include name="'description'/"&gt;&lt;br /&gt;      &amp;lt /div&gt;&lt;br /&gt;    &amp;lt /b:if&gt;&lt;br /&gt;  &amp;lt b:else/&gt;&lt;br /&gt;    &amp;lt !--No header image --&gt;&lt;br /&gt;    &amp;lt div id="'header-inner'"&gt;&lt;br /&gt;      &amp;lt div class="'titlewrapper'"&gt;&lt;br /&gt;        &amp;lt h1 class="'title'"&gt;&lt;br /&gt;          &amp;lt b:include name="'title'/"&gt;&lt;br /&gt;        &amp;lt /h1&gt;&lt;br /&gt;      &amp;lt /div&gt;&lt;br /&gt;      &amp;lt b:include name="'description'/"&gt;&lt;br /&gt;    &amp;lt /div&gt;&lt;br /&gt;  &amp;lt /b:if&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'title'"&gt;&lt;br /&gt;  &amp;lt b:if cond="'data:blog.url"&gt;&lt;br /&gt;    &amp;lt data:title/&gt;&lt;br /&gt;  &amp;lt b:else/&gt;&lt;br /&gt;    &amp;lt a href="'data:blog.homepageUrl'"&gt;&amp;lt data:title/&gt;&amp;lt /a&gt;&lt;br /&gt;  &amp;lt /b:if&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'description'"&gt;&lt;br /&gt;  &amp;lt div class="'descriptionwrapper'"&gt;&lt;br /&gt;    &amp;lt p class="'description'"&gt;&amp;lt span&gt;&amp;lt data:description/&gt;&amp;lt /span&gt;&amp;lt /p&gt;&lt;br /&gt;  &amp;lt /div&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt /b:widget&gt;&lt;br /&gt;&amp;lt /b:section&gt;&lt;br /&gt;    &amp;lt /div&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt div id="'content-wrapper'"&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt div id="'crosscol-wrapper'" style="'text-align:center'"&gt;&lt;br /&gt;        &amp;lt b:section class="'crosscol'" id="'crosscol'" showaddelement="'no'/"&gt;&lt;br /&gt;      &amp;lt /div&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt div id="'main-wrapper'"&gt;&lt;br /&gt;        &amp;lt b:section class="'main'" id="'main'" showaddelement="'no'"&gt;&lt;br /&gt;&amp;lt b:widget id="'Blog1'" locked="'true'" title="'Blog" type="'Blog'"&gt;&lt;br /&gt;&amp;lt b:includable id="'nextprev'"&gt;&lt;br /&gt;  &amp;lt div class="'blog-pager'" id="'blog-pager'"&gt;&lt;br /&gt;    &amp;lt b:if cond="'data:newerPageUrl'"&gt;&lt;br /&gt;      &amp;lt span id="'blog-pager-newer-link'"&gt;&lt;br /&gt;      &amp;lt a class="'blog-pager-newer-link'" href="'data:newerPageUrl'" id="'data:widget.instanceId" title="'data:newerPageTitle'"&gt;&amp;lt data:newerpagetitle/&gt;&amp;lt /a&gt;&lt;br /&gt;      &amp;lt /span&gt;&lt;br /&gt;    &amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt b:if cond="'data:olderPageUrl'"&gt;&lt;br /&gt;      &amp;lt span id="'blog-pager-older-link'"&gt;&lt;br /&gt;      &amp;lt a class="'blog-pager-older-link'" href="'data:olderPageUrl'" id="'data:widget.instanceId" title="'data:olderPageTitle'"&gt;&amp;lt data:olderpagetitle/&gt;&amp;lt /a&gt;&lt;br /&gt;      &amp;lt /span&gt;&lt;br /&gt;    &amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt b:if cond="'data:blog.homepageUrl"&gt;&lt;br /&gt;      &amp;lt a class="'home-link'" href="'data:blog.homepageUrl'"&gt;&amp;lt data:homemsg/&gt;&amp;lt /a&gt;&lt;br /&gt;      &amp;lt b:else/&gt;&lt;br /&gt;      &amp;lt b:if cond="'data:newerPageUrl'"&gt;&lt;br /&gt;        &amp;lt a class="'home-link'" href="'data:blog.homepageUrl'"&gt;&amp;lt data:homemsg/&gt;&amp;lt /a&gt;&lt;br /&gt;      &amp;lt /b:if&gt;&lt;br /&gt;    &amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt /div&gt;&lt;br /&gt;  &amp;lt div class="'clear'/"&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'backlinks'" var="'post'"&gt;&lt;br /&gt;  &amp;lt a name="'links'/"&gt;&amp;lt h4&gt;&amp;lt data:post.backlinkslabel/&gt;&amp;lt /h4&gt;&lt;br /&gt;  &amp;lt b:if cond="'data:post.numBacklinks"&gt;&lt;br /&gt;    &amp;lt dl class="'comments-block'" id="'comments-block'"&gt;&lt;br /&gt;      &amp;lt b:loop values="'data:post.backlinks'" var="'backlink'"&gt;&lt;br /&gt;        &amp;lt div class="'collapsed-backlink"&gt;&lt;br /&gt;          &amp;lt dt class="'comment-title'"&gt;&lt;br /&gt;            &amp;lt span class="'backlink-toggle-zippy'"&gt;&amp;#160;&amp;lt /span&gt;&lt;br /&gt;            &amp;lt a href="'data:backlink.url'" rel="'nofollow'"&gt;&amp;lt data:backlink.title/&gt;&amp;lt /a&gt;&lt;br /&gt;            &amp;lt b:include data="'backlink'" name="'backlinkDeleteIcon'/"&gt;&lt;br /&gt;          &amp;lt /dt&gt;&lt;br /&gt;          &amp;lt dd class="'comment-body"&gt;&lt;br /&gt;            &amp;lt data:backlink.snippet/&gt;&lt;br /&gt;          &amp;lt /dd&gt;&lt;br /&gt;          &amp;lt dd class="'comment-footer"&gt;&lt;br /&gt;            &amp;lt span class="'comment-author'"&gt;&amp;lt data:post.authorlabel/&gt; &amp;lt data:backlink.author/&gt;&amp;lt /span&gt;&lt;br /&gt;            &amp;lt span class="'comment-timestamp'"&gt;&amp;lt data:post.timestamplabel/&gt; &amp;lt data:backlink.timestamp/&gt;&amp;lt /span&gt;&lt;br /&gt;          &amp;lt /dd&gt;&lt;br /&gt;        &amp;lt /div&gt;&lt;br /&gt;      &amp;lt /b:loop&gt;&lt;br /&gt;    &amp;lt /dl&gt;&lt;br /&gt;  &amp;lt /b:if&gt;&lt;br /&gt;  &amp;lt p class="'comment-footer'"&gt;&lt;br /&gt;    &amp;lt a class="'comment-link'" href="'data:post.createLinkUrl'" id="'data:widget.instanceId" target="'_blank'"&gt;&amp;lt data:post.createlinklabel/&gt;&amp;lt /a&gt;&lt;br /&gt;  &amp;lt /p&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'post'" var="'post'"&gt;&lt;br /&gt;  &amp;lt div class="'post"&gt;&lt;br /&gt;    &amp;lt a name="'data:post.id'/"&gt;&lt;br /&gt;    &amp;lt b:if cond="'data:post.title'"&gt;&lt;br /&gt;      &amp;lt h3 class="'post-title"&gt;&lt;br /&gt;     &amp;lt b:if cond="'data:post.link'"&gt;&lt;br /&gt;       &amp;lt a href="'data:post.link'"&gt;&amp;lt data:post.title/&gt;&amp;lt /a&gt;&lt;br /&gt;     &amp;lt b:else/&gt;&lt;br /&gt;        &amp;lt b:if cond="'data:post.url'"&gt;&lt;br /&gt;          &amp;lt a href="'data:post.url'"&gt;&amp;lt data:post.title/&gt;&amp;lt /a&gt;&lt;br /&gt;        &amp;lt b:else/&gt;&lt;br /&gt;          &amp;lt data:post.title/&gt;&lt;br /&gt;        &amp;lt /b:if&gt;&lt;br /&gt;     &amp;lt /b:if&gt;&lt;br /&gt;      &amp;lt /h3&gt;&lt;br /&gt;    &amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt div class="'post-header-line-1'/"&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt div class="'post-body"&gt;&lt;br /&gt;      &amp;lt data:post.body/&gt;&lt;br /&gt;      &amp;lt div style="'clear:"&gt; &amp;lt !-- clear for photos floats --&gt;&lt;br /&gt;    &amp;lt /div&gt;&lt;br /&gt; &lt;br /&gt;    &amp;lt b:if cond="'data:post.hasJumpLink'"&gt;&lt;br /&gt;      &amp;lt div class="'jump-link'"&gt;&lt;br /&gt;        &amp;lt a href="'data:post.url"&gt;&amp;lt data:post.jumptext/&gt;&amp;lt /a&gt; &lt;br /&gt;      &amp;lt /div&gt;&lt;br /&gt;    &amp;lt /b:if&gt;&lt;br /&gt;   &lt;br /&gt;    &amp;lt div class="'post-footer'"&gt;&lt;br /&gt;    &amp;lt div class="'post-footer-line"&gt;&lt;br /&gt;      &amp;lt span class="'post-author"&gt;&lt;br /&gt;        &amp;lt b:if cond="'data:top.showAuthor'"&gt;&lt;br /&gt;          &amp;lt data:top.authorlabel/&gt;&lt;br /&gt;          &amp;lt span class="'fn'"&gt;&amp;lt data:post.author/&gt;&amp;lt /span&gt;&lt;br /&gt;        &amp;lt /b:if&gt;&lt;br /&gt;      &amp;lt /span&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt span class="'post-timestamp'"&gt;&lt;br /&gt;        &amp;lt b:if cond="'data:top.showTimestamp'"&gt;&lt;br /&gt;          &amp;lt data:top.timestamplabel/&gt;&lt;br /&gt;        &amp;lt b:if cond="'data:post.url'"&gt;&lt;br /&gt;          &amp;lt a class="'timestamp-link'" href="'data:post.url'" rel="'bookmark'" title="'permanent"&gt;&amp;lt abbr class="'published'" title="'data:post.timestampISO8601'"&gt;&amp;lt data:post.timestamp/&gt;&amp;lt /abbr&gt;&amp;lt /a&gt;&lt;br /&gt;        &amp;lt /b:if&gt;&lt;br /&gt;        &amp;lt /b:if&gt;&lt;br /&gt;      &amp;lt /span&gt;&lt;br /&gt; &lt;br /&gt;      &amp;lt span class="'reaction-buttons'"&gt;&lt;br /&gt;        &amp;lt b:if cond="'data:top.showReactions'"&gt;&lt;br /&gt;          &amp;lt table border="'0'" cellpadding="'0'" cellspacing="'0'" width="'100%'"&gt;&amp;lt tr&gt;&lt;br /&gt;            &amp;lt td class="'reactions-label-cell'" nowrap="'nowrap'" valign="'top'" width="'1%'"&gt;&lt;br /&gt;              &amp;lt span class="'reactions-label'"&gt;&lt;br /&gt;              &amp;lt data:top.reactionslabel/&gt;&amp;lt /span&gt;&amp;#160;&amp;lt /td&gt;&lt;br /&gt;            &amp;lt td&gt;&amp;lt iframe allowtransparency="'true'" class="'reactions-iframe'" src="'data:post.reactionsUrl'" frameborder="'0'" name="'reactions'" scrolling="'no'/"&gt;&amp;lt /td&gt;&lt;br /&gt;           &amp;lt /tr&gt;&amp;lt /table&gt;&lt;br /&gt;        &amp;lt /b:if&gt;&lt;br /&gt;      &amp;lt /span&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt span class="'star-ratings'"&gt;&lt;br /&gt;        &amp;lt b:if cond="'data:top.showStars'"&gt;&lt;br /&gt;           &amp;lt div color="'data:backgroundColor'" color="'data:textColor'" url="'data:post.absoluteUrl'" height="'42'" type="'RatingPanel'" width="'280'/"&gt;&lt;br /&gt;        &amp;lt /b:if&gt;&lt;br /&gt;      &amp;lt /span&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt span class="'post-comment-link'"&gt;&lt;br /&gt;        &amp;lt b:if cond="'data:blog.pageType"&gt;&lt;br /&gt;          &amp;lt b:if cond="'data:post.allowComments'"&gt;&lt;br /&gt;            &amp;lt a class="'comment-link'" href="'data:post.addCommentUrl'" onclick="'data:post.addCommentOnclick'"&gt;&amp;lt b:if cond="'data:post.numComments"&gt;1 &amp;lt data:top.commentlabel/&gt;&amp;lt b:else/&gt;&amp;lt data:post.numcomments/&gt; &amp;lt data:top.commentlabelplural/&gt;&amp;lt /b:if&gt;&amp;lt /a&gt;&lt;br /&gt;          &amp;lt /b:if&gt;&lt;br /&gt;        &amp;lt /b:if&gt;&lt;br /&gt;      &amp;lt /span&gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt !-- backlinks --&gt;&lt;br /&gt;       &amp;lt span class="'post-backlinks"&gt;&lt;br /&gt;         &amp;lt b:if cond="'data:blog.pageType"&gt;&lt;br /&gt;           &amp;lt b:if cond="'data:post.showBacklinks'"&gt;&lt;br /&gt;             &amp;lt a class="'comment-link'" href="'data:post.url"&gt;&amp;lt data:top.backlinklabel/&gt;&amp;lt /a&gt;&lt;br /&gt;           &amp;lt /b:if&gt;&lt;br /&gt;         &amp;lt /b:if&gt;&lt;br /&gt;       &amp;lt /span&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt span class="'post-icons'"&gt;&lt;br /&gt;        &amp;lt !-- email post links --&gt;&lt;br /&gt;        &amp;lt b:if cond="'data:post.emailPostUrl'"&gt;&lt;br /&gt;          &amp;lt span class="'item-action'"&gt;&lt;br /&gt;          &amp;lt a href="'data:post.emailPostUrl'" title="'data:top.emailPostMsg'"&gt;&lt;br /&gt;              &amp;lt img alt="''" class="'icon-action'" height="'13'" src="'http://www.blogger.com/img/icon18_email.gif'" width="'18'/" /&gt;&lt;br /&gt;          &amp;lt /a&gt;&lt;br /&gt;          &amp;lt /span&gt;&lt;br /&gt;        &amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt !-- quickedit pencil --&gt;&lt;br /&gt;        &amp;lt b:include data="'post'" name="'postQuickEdit'/"&gt;&lt;br /&gt;      &amp;lt /span&gt;&lt;br /&gt;      &amp;lt /div&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt div class="'post-footer-line"&gt;&lt;br /&gt;      &amp;lt span class="'post-labels'"&gt;&lt;br /&gt;        &amp;lt b:if cond="'data:post.labels'"&gt;&lt;br /&gt;          &amp;lt data:postlabelslabel/&gt;&lt;br /&gt;          &amp;lt b:loop values="'data:post.labels'" var="'label'"&gt;&lt;br /&gt;            &amp;lt a href="'data:label.url'" rel="'tag'"&gt;&amp;lt data:label.name/&gt;&amp;lt /a&gt;&amp;lt b:if cond="'data:label.isLast"&gt;,&amp;lt /b:if&gt;&lt;br /&gt;          &amp;lt /b:loop&gt;&lt;br /&gt;        &amp;lt /b:if&gt;&lt;br /&gt;      &amp;lt /span&gt;&lt;br /&gt;      &amp;lt /div&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt div class="'post-footer-line"&gt;&lt;br /&gt;      &amp;lt span class="'post-location'"&gt;&lt;br /&gt;        &amp;lt b:if cond="'data:top.showLocation'"&gt;&lt;br /&gt;          &amp;lt b:if cond="'data:post.location'"&gt;&lt;br /&gt;            &amp;lt data:postlocationlabel/&gt;&lt;br /&gt;            &amp;lt a href="'data:post.location.mapsUrl'" target="'_blank'"&gt;&amp;lt data:post.location.name/&gt;&amp;lt /a&gt;&lt;br /&gt;          &amp;lt /b:if&gt;&lt;br /&gt;        &amp;lt /b:if&gt;&lt;br /&gt;      &amp;lt /span&gt;&lt;br /&gt;      &amp;lt /div&gt;&lt;br /&gt;    &amp;lt /div&gt;&lt;br /&gt;  &amp;lt /div&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'status-message'"&gt;&lt;br /&gt;  &amp;lt b:if cond="'data:navMessage'"&gt;&lt;br /&gt;  &amp;lt div class="'status-msg-wrap'"&gt;&lt;br /&gt;    &amp;lt div class="'status-msg-body'"&gt;&lt;br /&gt;      &amp;lt data:navmessage/&gt;&lt;br /&gt;    &amp;lt /div&gt;&lt;br /&gt;    &amp;lt div class="'status-msg-border'"&gt;&lt;br /&gt;      &amp;lt div class="'status-msg-bg'"&gt;&lt;br /&gt;        &amp;lt div class="'status-msg-hidden'"&gt;&amp;lt data:navmessage/&gt;&amp;lt /div&gt;&lt;br /&gt;      &amp;lt /div&gt;&lt;br /&gt;    &amp;lt /div&gt;&lt;br /&gt;  &amp;lt /div&gt;&lt;br /&gt;  &amp;lt div style="'clear:"&gt;&lt;br /&gt;  &amp;lt /b:if&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'comment-form'" var="'post'"&gt;&lt;br /&gt;  &amp;lt div class="'comment-form'"&gt;&lt;br /&gt;    &amp;lt a name="'comment-form'/"&gt;&lt;br /&gt;    &amp;lt h4 id="'comment-post-message'"&gt;&amp;lt data:postcommentmsg/&gt;&amp;lt /h4&gt;&lt;br /&gt;    &amp;lt p&gt;&amp;lt data:blogcommentmessage/&gt;&amp;lt /p&gt;&lt;br /&gt;    &amp;lt data:blogteamblogmessage/&gt;&lt;br /&gt;    &amp;lt a href="'data:post.commentFormIframeSrc'" id="'comment-editor-src'/"&gt;&lt;br /&gt;    &amp;lt iframe allowtransparency="'true'" class="'blogger-iframe-colorize" frameborder="'0'" height="'275'" id="'comment-editor'" name="'comment-editor'" scrolling="'no'" src="''" width="'100%'/"&gt;&lt;br /&gt;    &amp;lt data:post.friendconnectjs/&gt;&lt;br /&gt;    &amp;lt data:post.cmtfpiframe/&gt;&lt;br /&gt;    &amp;lt script type="'text/javascript'"&gt;&lt;br /&gt;      BLOG_CMT_createIframe(&amp;#39;&amp;lt data:post.apprpcrelaypath/&gt;&amp;#39;, &amp;#39;&amp;lt data:post.communityid/&gt;&amp;#39;);&lt;br /&gt;    &amp;lt /script&gt;&lt;br /&gt;  &amp;lt /div&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'backlinkDeleteIcon'" var="'backlink'"&gt;&lt;br /&gt;  &amp;lt span class="'&amp;quot;item-control"&gt;&lt;br /&gt;    &amp;lt a href="'data:backlink.deleteUrl'" title="'data:top.deleteBacklinkMsg'"&gt;&lt;br /&gt;      &amp;lt img src="'http://www.blogger.com/img/icon_delete13.gif'/" /&gt;&lt;br /&gt;    &amp;lt /a&gt;&lt;br /&gt;  &amp;lt /span&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'postQuickEdit'" var="'post'"&gt;&lt;br /&gt;  &amp;lt b:if cond="'data:post.editUrl'"&gt;&lt;br /&gt;    &amp;lt span class="'&amp;quot;item-control"&gt;&lt;br /&gt;      &amp;lt a href="'data:post.editUrl'" title="'data:top.editPostMsg'"&gt;&lt;br /&gt;        &amp;lt img alt="''" class="'icon-action'" height="'18'" src="'http://www.blogger.com/img/icon18_edit_allbkg.gif'" width="'18'/" /&gt;&lt;br /&gt;      &amp;lt /a&gt;&lt;br /&gt;    &amp;lt /span&gt;&lt;br /&gt;  &amp;lt /b:if&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'main'" var="'top'"&gt;&lt;br /&gt;  &amp;lt !-- posts --&gt;&lt;br /&gt;  &amp;lt div class="'blog-posts"&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt b:include data="'top'" name="'status-message'/"&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt data:adstart/&gt;&lt;br /&gt;    &amp;lt b:loop values="'data:posts'" var="'post'"&gt;&lt;br /&gt;      &amp;lt b:if cond="'data:blog.url"&gt;&lt;br /&gt;   &amp;lt b:if cond="'data:post.labels'"&gt;&lt;br /&gt;     &amp;lt b:loop values="'data:post.labels'" var="'label'"&gt;&lt;br /&gt;       &amp;lt b:if cond="'data:label.name"&gt;&lt;br /&gt;         &amp;lt b:include data="'post'" name="'printPosts'/"&gt;&lt;br /&gt;       &amp;lt /b:if&gt;&lt;br /&gt;     &amp;lt /b:loop&gt;&lt;br /&gt;   &amp;lt /b:if&gt;&lt;br /&gt; &amp;lt b:else/&gt;&lt;br /&gt;   &amp;lt b:include data="'post'" name="'printPosts'/"&gt;&lt;br /&gt; &amp;lt /b:if&gt;&lt;br /&gt;    &amp;lt /b:loop&gt;&lt;br /&gt;    &amp;lt data:adend/&gt;&lt;br /&gt;  &amp;lt /div&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt !-- navigation --&gt;&lt;br /&gt;  &amp;lt b:include name="'nextprev'/"&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt !-- feed links --&gt;&lt;br /&gt;  &amp;lt b:include name="'feedLinks'/"&gt;&lt;br /&gt; &lt;br /&gt;  &amp;lt b:if cond="'data:top.showStars'"&gt;&lt;br /&gt;    &amp;lt script src="'http://www.google.com/jsapi'" type="'text/javascript'/"&gt;&lt;br /&gt;    &amp;lt script type="'text/javascript'"&gt;&lt;br /&gt;      google.load(&amp;quot;annotations&amp;quot;, &amp;quot;1&amp;quot;, {&amp;quot;locale&amp;quot;: &amp;quot;&amp;lt data:top.languagecode/&gt;&amp;quot;});&lt;br /&gt;      function initialize() {&lt;br /&gt;        google.annotations.setApplicationId(&amp;lt data:top.blogspotreviews/&gt;);&lt;br /&gt;        google.annotations.createAll();&lt;br /&gt;        google.annotations.fetch();&lt;br /&gt;      }&lt;br /&gt;      google.setOnLoadCallback(initialize);&lt;br /&gt;    &amp;lt /script&gt;&lt;br /&gt;  &amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'commentDeleteIcon'" var="'comment'"&gt;&lt;br /&gt;  &amp;lt span class="'&amp;quot;item-control"&gt;&lt;br /&gt;    &amp;lt a href="'data:comment.deleteUrl'" title="'data:top.deleteCommentMsg'"&gt;&lt;br /&gt;      &amp;lt img src="'http://www.blogger.com/img/icon_delete13.gif'/" /&gt;&lt;br /&gt;    &amp;lt /a&gt;&lt;br /&gt;  &amp;lt /span&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'printPosts'" var="'post'"&gt;&lt;br /&gt;&amp;lt b:if cond="'data:post.dateHeader'"&gt;&lt;br /&gt;&amp;lt h2 class="'date-header'"&gt;&amp;lt data:post.dateheader/&gt;&amp;lt /h2&gt;&lt;br /&gt;&amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt b:include data="'post'" name="'post'/"&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt b:if cond="'data:blog.pageType"&gt;&lt;br /&gt;&amp;lt b:include data="'post'" name="'comments'/"&gt;&lt;br /&gt;&amp;lt /b:if&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'feedLinks'"&gt;&lt;br /&gt;  &amp;lt b:if cond="'data:blog.pageType"&gt; &amp;lt !-- Blog feed links --&gt;&lt;br /&gt;    &amp;lt b:if cond="'data:feedLinks'"&gt;&lt;br /&gt;      &amp;lt div class="'blog-feeds'"&gt;&lt;br /&gt;        &amp;lt b:include data="'feedLinks'" name="'feedLinksBody'/"&gt;&lt;br /&gt;      &amp;lt /div&gt;&lt;br /&gt;    &amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt b:else/&gt; &amp;lt !--Post feed links --&gt;&lt;br /&gt;    &amp;lt div class="'post-feeds'"&gt;&lt;br /&gt;      &amp;lt b:loop values="'data:posts'" var="'post'"&gt;&lt;br /&gt;        &amp;lt b:if cond="'data:post.allowComments'"&gt;&lt;br /&gt;          &amp;lt b:if cond="'data:post.feedLinks'"&gt;&lt;br /&gt;            &amp;lt b:include data="'post.feedLinks'" name="'feedLinksBody'/"&gt;&lt;br /&gt;          &amp;lt /b:if&gt;&lt;br /&gt;        &amp;lt /b:if&gt;&lt;br /&gt;      &amp;lt /b:loop&gt;&lt;br /&gt;    &amp;lt /div&gt;&lt;br /&gt;  &amp;lt /b:if&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'feedLinksBody'" var="'links'"&gt;&lt;br /&gt;  &amp;lt div class="'feed-links'"&gt;&lt;br /&gt;  &amp;lt data:feedlinksmsg/&gt;&lt;br /&gt;  &amp;lt b:loop values="'data:links'" var="'f'"&gt;&lt;br /&gt;     &amp;lt a class="'feed-link'" href="'data:f.url'" type="'data:f.mimeType'" target="'_blank'"&gt;&amp;lt data:f.name/&gt; (&amp;lt data:f.feedtype/&gt;)&amp;lt /a&gt;&lt;br /&gt;  &amp;lt /b:loop&gt;&lt;br /&gt;  &amp;lt /div&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'comments'" var="'post'"&gt;&lt;br /&gt;  &amp;lt div class="'comments'" id="'comments'"&gt;&lt;br /&gt;    &amp;lt a name="'comments'/"&gt;&lt;br /&gt;    &amp;lt b:if cond="'data:post.allowComments'"&gt;&lt;br /&gt;      &amp;lt h4&gt;&lt;br /&gt;        &amp;lt b:if cond="'data:post.numComments"&gt;&lt;br /&gt;          1 &amp;lt data:commentlabel/&gt;:&lt;br /&gt;        &amp;lt b:else/&gt;&lt;br /&gt;          &amp;lt data:post.numcomments/&gt; &amp;lt data:commentlabelplural/&gt;:&lt;br /&gt;        &amp;lt /b:if&gt;&lt;br /&gt;      &amp;lt /h4&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt b:if cond="'data:post.commentPagingRequired'"&gt;&lt;br /&gt;        &amp;lt span class="'paging-control-container'"&gt;&lt;br /&gt;          &amp;lt a class="'data:post.oldLinkClass'" href="'data:post.oldestLinkUrl'"&gt;&amp;lt data:post.oldestlinktext/&gt;&amp;lt /a&gt;&lt;br /&gt;          &amp;#160;&lt;br /&gt;          &amp;lt a class="'data:post.oldLinkClass'" href="'data:post.olderLinkUrl'"&gt;&amp;lt data:post.olderlinktext/&gt;&amp;lt /a&gt;&lt;br /&gt;          &amp;#160;&lt;br /&gt;          &amp;lt data:post.commentrangetext/&gt;&lt;br /&gt;          &amp;#160;&lt;br /&gt;          &amp;lt a class="'data:post.newLinkClass'" href="'data:post.newerLinkUrl'"&gt;&amp;lt data:post.newerlinktext/&gt;&amp;lt /a&gt;&lt;br /&gt;          &amp;#160;&lt;br /&gt;          &amp;lt a class="'data:post.newLinkClass'" href="'data:post.newestLinkUrl'"&gt;&amp;lt data:post.newestlinktext/&gt;&amp;lt /a&gt;&lt;br /&gt;        &amp;lt /span&gt;&lt;br /&gt;      &amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt dl id="'comments-block'"&gt;&lt;br /&gt;        &amp;lt b:loop values="'data:post.comments'" var="'comment'"&gt;&lt;br /&gt;          &amp;lt dt class="'&amp;quot;comment-author" id="'data:comment.anchorName'"&gt;&lt;br /&gt;            &amp;lt b:if cond="'data:comment.favicon'"&gt;&lt;br /&gt;              &amp;lt img src="'data:comment.favicon'" height="'16px'" style="'margin-bottom:-2px;'" width="'16px'/" /&gt;&lt;br /&gt;            &amp;lt /b:if&gt;&lt;br /&gt;            &amp;lt a name="'data:comment.anchorName'/"&gt;&lt;br /&gt;            &amp;lt b:if cond="'data:comment.authorUrl'"&gt;&lt;br /&gt;              &amp;lt a href="'data:comment.authorUrl'" rel="'nofollow'"&gt;&amp;lt data:comment.author/&gt;&amp;lt /a&gt;&lt;br /&gt;            &amp;lt b:else/&gt;&lt;br /&gt;              &amp;lt data:comment.author/&gt;&lt;br /&gt;            &amp;lt /b:if&gt;&lt;br /&gt;            &amp;lt data:commentpostedbymsg/&gt;&lt;br /&gt;          &amp;lt /dt&gt;&lt;br /&gt;          &amp;lt dd class="'comment-body'"&gt;&lt;br /&gt;            &amp;lt b:if cond="'data:comment.isDeleted'"&gt;&lt;br /&gt;              &amp;lt span class="'deleted-comment'"&gt;&amp;lt data:comment.body/&gt;&amp;lt /span&gt;&lt;br /&gt;            &amp;lt b:else/&gt;&lt;br /&gt;              &amp;lt p&gt;&amp;lt data:comment.body/&gt;&amp;lt /p&gt;&lt;br /&gt;            &amp;lt /b:if&gt;&lt;br /&gt;          &amp;lt /dd&gt;&lt;br /&gt;          &amp;lt dd class="'comment-footer'"&gt;&lt;br /&gt;            &amp;lt span class="'comment-timestamp'"&gt;&lt;br /&gt;              &amp;lt a href="'data:comment.url'" title="'comment"&gt;&lt;br /&gt;                &amp;lt data:comment.timestamp/&gt;&lt;br /&gt;              &amp;lt /a&gt;&lt;br /&gt;              &amp;lt b:include data="'comment'" name="'commentDeleteIcon'/"&gt;&lt;br /&gt;            &amp;lt /span&gt;&lt;br /&gt;          &amp;lt /dd&gt;&lt;br /&gt;        &amp;lt /b:loop&gt;&lt;br /&gt;      &amp;lt /dl&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt b:if cond="'data:post.commentPagingRequired'"&gt;&lt;br /&gt;        &amp;lt span class="'paging-control-container'"&gt;&lt;br /&gt;          &amp;lt a class="'data:post.oldLinkClass'" href="'data:post.oldestLinkUrl'"&gt;&lt;br /&gt;            &amp;lt data:post.oldestlinktext/&gt;&lt;br /&gt;          &amp;lt /a&gt;&lt;br /&gt;          &amp;lt a class="'data:post.oldLinkClass'" href="'data:post.olderLinkUrl'"&gt;&lt;br /&gt;            &amp;lt data:post.olderlinktext/&gt;&lt;br /&gt;          &amp;lt /a&gt;&lt;br /&gt;          &amp;#160;&lt;br /&gt;          &amp;lt data:post.commentrangetext/&gt;&lt;br /&gt;          &amp;#160;&lt;br /&gt;          &amp;lt a class="'data:post.newLinkClass'" href="'data:post.newerLinkUrl'"&gt;&lt;br /&gt;            &amp;lt data:post.newerlinktext/&gt;&lt;br /&gt;          &amp;lt /a&gt;&lt;br /&gt;          &amp;lt a class="'data:post.newLinkClass'" href="'data:post.newestLinkUrl'"&gt;&lt;br /&gt;            &amp;lt data:post.newestlinktext/&gt;&lt;br /&gt;          &amp;lt /a&gt;&lt;br /&gt;        &amp;lt /span&gt;&lt;br /&gt;      &amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt p class="'comment-footer'"&gt;&lt;br /&gt;        &amp;lt b:if cond="'data:post.embedCommentForm'"&gt;&lt;br /&gt;          &amp;lt b:if cond="'data:post.allowNewComments'"&gt;&lt;br /&gt;            &amp;lt b:include data="'post'" name="'comment-form'/"&gt;&lt;br /&gt;          &amp;lt b:else/&gt;&lt;br /&gt;            &amp;lt data:post.nonewcommentstext/&gt;&lt;br /&gt;          &amp;lt /b:if&gt;&lt;br /&gt;        &amp;lt b:else/&gt;&lt;br /&gt;          &amp;lt b:if cond="'data:post.allowComments'"&gt;&lt;br /&gt;            &amp;lt a href="'data:post.addCommentUrl'" onclick="'data:post.addCommentOnclick'"&gt;&amp;lt data:postcommentmsg/&gt;&amp;lt /a&gt;&lt;br /&gt;          &amp;lt /b:if&gt;&lt;br /&gt;        &amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt /p&gt;&lt;br /&gt;    &amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt div id="'backlinks-container'"&gt;&lt;br /&gt;    &amp;lt div id="'data:widget.instanceId"&gt;&lt;br /&gt;       &amp;lt b:if cond="'data:post.showBacklinks'"&gt;&lt;br /&gt;         &amp;lt b:include data="'post'" name="'backlinks'/"&gt;&lt;br /&gt;       &amp;lt /b:if&gt;&lt;br /&gt;    &amp;lt /div&gt;&lt;br /&gt;    &amp;lt /div&gt;&lt;br /&gt;  &amp;lt /div&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt /b:widget&gt;&lt;br /&gt;&amp;lt /b:section&gt;&lt;br /&gt;      &amp;lt /div&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt div id="'sidebar-wrapper'"&gt;&lt;br /&gt;        &amp;lt b:section class="'sidebar'" id="'sidebar'" preferred="'yes'"&gt;&lt;br /&gt;&amp;lt b:widget id="'BlogArchive1'" locked="'false'" title="'Blog" type="'BlogArchive'"&gt;&lt;br /&gt;&amp;lt b:includable id="'main'"&gt;&lt;br /&gt;  &amp;lt b:if cond="'data:title'"&gt;&lt;br /&gt;    &amp;lt h2&gt;&amp;lt data:title/&gt;&amp;lt /h2&gt;&lt;br /&gt;  &amp;lt /b:if&gt;&lt;br /&gt;  &amp;lt div class="'widget-content'"&gt;&lt;br /&gt;  &amp;lt div id="'ArchiveList'"&gt;&lt;br /&gt;  &amp;lt div id="'data:widget.instanceId"&gt;&lt;br /&gt;    &amp;lt b:if cond="'data:style"&gt;&lt;br /&gt;     &amp;lt b:include data="'data'" name="'interval'/"&gt;&lt;br /&gt;    &amp;lt /b:if&gt;&lt;br /&gt;    &amp;lt b:if cond="'data:style"&gt;&lt;br /&gt;      &amp;lt b:include data="'data'" name="'flat'/"&gt;&lt;br /&gt;    &amp;lt /b:if&gt;&lt;br /&gt;    &amp;lt b:if cond="'data:style"&gt;&lt;br /&gt;      &amp;lt b:include data="'data'" name="'menu'/"&gt;&lt;br /&gt;    &amp;lt /b:if&gt;&lt;br /&gt;  &amp;lt /div&gt;&lt;br /&gt;  &amp;lt /div&gt;&lt;br /&gt;  &amp;lt b:include name="'quickedit'/"&gt;&lt;br /&gt;  &amp;lt /div&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'flat'" var="'data'"&gt;&lt;br /&gt;  &amp;lt ul&gt;&lt;br /&gt;    &amp;lt b:loop values="'data:data'" var="'i'"&gt;&lt;br /&gt;      &amp;lt li class="'archivedate'"&gt;&lt;br /&gt;        &amp;lt a href="'data:i.url'"&gt;&amp;lt data:i.name/&gt;&amp;lt /a&gt; (&amp;lt data:i.post-count/&gt;)&lt;br /&gt;      &amp;lt /li&gt;&lt;br /&gt;    &amp;lt /b:loop&gt;&lt;br /&gt;  &amp;lt /ul&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'menu'" var="'data'"&gt;&lt;br /&gt;  &amp;lt select id="'data:widget.instanceId"&gt;&lt;br /&gt;    &amp;lt option value="''"&gt;&amp;lt data:title/&gt;&amp;lt /option&gt;&lt;br /&gt;    &amp;lt b:loop values="'data:data'" var="'i'"&gt;&lt;br /&gt;      &amp;lt option value="'data:i.url'"&gt;&amp;lt data:i.name/&gt; (&amp;lt data:i.post-count/&gt;)&amp;lt /option&gt;&lt;br /&gt;    &amp;lt /b:loop&gt;&lt;br /&gt;  &amp;lt /select&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'interval'" var="'intervalData'"&gt;&lt;br /&gt;  &amp;lt b:loop values="'data:intervalData'" var="'i'"&gt;&lt;br /&gt;      &amp;lt ul&gt;&lt;br /&gt;        &amp;lt li class="'&amp;quot;archivedate"&gt;&lt;br /&gt;          &amp;lt b:include data="'i'" name="'toggle'/"&gt;&lt;br /&gt;          &amp;lt a class="'post-count-link'" href="'data:i.url'"&gt;&amp;lt data:i.name/&gt;&amp;lt /a&gt;&lt;br /&gt;            &amp;lt span class="'post-count'" dir="'ltr'"&gt;(&amp;lt data:i.post-count/&gt;)&amp;lt /span&gt;&lt;br /&gt;          &amp;lt b:if cond="'data:i.data'"&gt;&lt;br /&gt;            &amp;lt b:include data="'i.data'" name="'interval'/"&gt;&lt;br /&gt;          &amp;lt /b:if&gt;&lt;br /&gt;          &amp;lt b:if cond="'data:i.posts'"&gt;&lt;br /&gt;            &amp;lt b:include data="'i.posts'" name="'posts'/"&gt;&lt;br /&gt;          &amp;lt /b:if&gt;&lt;br /&gt;        &amp;lt /li&gt;&lt;br /&gt;      &amp;lt /ul&gt;&lt;br /&gt;  &amp;lt /b:loop&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'toggle'" var="'interval'"&gt;&lt;br /&gt;  &amp;lt b:if cond="'data:interval.toggleId'"&gt;&lt;br /&gt;  &amp;lt b:if cond="'data:interval.expclass"&gt;&lt;br /&gt;    &amp;lt a class="'toggle'" href="'data:widget.actionUrl" action="toggle&amp;quot;" dir="close&amp;amp;toggle="&amp;quot;" toggleopen="&amp;quot;"&gt;&lt;br /&gt;        &amp;lt span class="'zippy"&gt;&amp;#9660; &amp;lt /span&gt;&lt;br /&gt;    &amp;lt /a&gt;&lt;br /&gt;  &amp;lt b:else/&gt;&lt;br /&gt;    &amp;lt a class="'toggle'" href="'data:widget.actionUrl" action="toggle&amp;quot;" dir="open&amp;amp;toggle="&amp;quot;" toggleopen="&amp;quot;"&gt;&lt;br /&gt;          &amp;lt span class="'zippy'"&gt;&lt;br /&gt;            &amp;lt b:if cond="'data:blog.languageDirection"&gt;&lt;br /&gt;              &amp;#9668;&lt;br /&gt;            &amp;lt b:else/&gt;&lt;br /&gt;              &amp;#9658;&lt;br /&gt;            &amp;lt /b:if&gt;&lt;br /&gt;          &amp;lt /span&gt;&lt;br /&gt;    &amp;lt /a&gt;&lt;br /&gt;  &amp;lt /b:if&gt;&lt;br /&gt; &amp;lt /b:if&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt b:includable id="'posts'" var="'posts'"&gt;&lt;br /&gt;  &amp;lt ul class="'posts'"&gt;&lt;br /&gt;    &amp;lt b:loop values="'data:posts'" var="'i'"&gt;&lt;br /&gt;      &amp;lt li&gt;&amp;lt a href="'data:i.url'"&gt;&amp;lt data:i.title/&gt;&amp;lt /a&gt;&amp;lt /li&gt;&lt;br /&gt;    &amp;lt /b:loop&gt;&lt;br /&gt;  &amp;lt /ul&gt;&lt;br /&gt;&amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt /b:widget&gt;&lt;br /&gt;&amp;lt b:widget id="'Profile1'" locked="'false'" title="'About" type="'Profile'"&gt;&lt;br /&gt;&amp;lt b:includable id="'main'"&gt;&lt;br /&gt;    &amp;lt b:if cond="'data:title"&gt;&lt;br /&gt;      &amp;lt h2&gt;&amp;lt data:title/&gt;&amp;lt /h2&gt;&lt;br /&gt;    &amp;lt /b:if&gt;&lt;br /&gt;    &amp;lt div class="'widget-content'"&gt;&lt;br /&gt;    &amp;lt b:if cond="'data:team"&gt; &amp;lt !-- team blog profile --&gt;&lt;br /&gt;      &amp;lt ul&gt;&lt;br /&gt;        &amp;lt b:loop values="'data:authors'" var="'i'"&gt;&lt;br /&gt;          &amp;lt li&gt;&amp;lt a href="'data:i.userUrl'"&gt;&amp;lt data:i.display-name/&gt;&amp;lt /a&gt;&amp;lt /li&gt;&lt;br /&gt;        &amp;lt /b:loop&gt;&lt;br /&gt;      &amp;lt /ul&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt b:else/&gt; &amp;lt !-- normal blog profile --&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt b:if cond="'data:photo.url"&gt;&lt;br /&gt;        &amp;lt a href="'data:userUrl'"&gt;&amp;lt img class="'profile-img'" alt="'data:photo.alt'" height="'data:photo.height'" src="'data:photo.url'" width="'data:photo.width'/" /&gt;&amp;lt /a&gt;&lt;br /&gt;      &amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt dl class="'profile-datablock'"&gt;&lt;br /&gt;        &amp;lt dt class="'profile-data'"&gt;&amp;lt data:displayname/&gt;&amp;lt /dt&gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt b:if cond="'data:showlocation"&gt;&lt;br /&gt;          &amp;lt dd class="'profile-data'"&gt;&amp;lt data:location/&gt;&amp;lt /dd&gt;&lt;br /&gt;        &amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt b:if cond="'data:aboutme"&gt;&amp;lt dd class="'profile-textblock'"&gt;&amp;lt data:aboutme/&gt;&amp;lt /dd&gt;&amp;lt /b:if&gt;&lt;br /&gt;      &amp;lt /dl&gt;&lt;br /&gt;      &amp;lt a class="'profile-link'" href="'data:userUrl'"&gt;&amp;lt data:viewprofilemsg/&gt;&amp;lt /a&gt;&lt;br /&gt;    &amp;lt /b:if&gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt b:include name="'quickedit'/"&gt;&lt;br /&gt;    &amp;lt /div&gt;&lt;br /&gt;  &amp;lt /b:includable&gt;&lt;br /&gt;&amp;lt /b:widget&gt;&lt;br /&gt;&amp;lt /b:section&gt;&lt;br /&gt;      &amp;lt /div&gt;&lt;br /&gt;&lt;br /&gt;      &amp;lt !-- spacer for skins that want sidebar and main to be the same height--&gt;&lt;br /&gt;      &amp;lt div class="'clear'"&gt;&amp;#160;&amp;lt /div&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt /div&gt; &amp;lt !-- end content-wrapper --&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt div id="'footer-wrapper'"&gt;&lt;br /&gt;      &amp;lt b:section class="'footer'" id="'footer'/"&gt;&lt;br /&gt;    &amp;lt /div&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt /div&gt;&amp;lt /div&gt; &amp;lt !-- end outer-wrapper --&gt;&lt;br /&gt;&amp;lt /body&gt;&lt;br /&gt;&amp;lt /html&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2121185560235400553-1325496434028150627?l=jdshewey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jdshewey.blogspot.com/feeds/1325496434028150627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jdshewey.blogspot.com/2009/05/displaying-only-posts-with-certain-tag.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2121185560235400553/posts/default/1325496434028150627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2121185560235400553/posts/default/1325496434028150627'/><link rel='alternate' type='text/html' href='http://jdshewey.blogspot.com/2009/05/displaying-only-posts-with-certain-tag.html' title='Displaying only posts with a certain tag on your blogger homepage'/><author><name>James</name><uri>http://www.blogger.com/profile/03989262007438051503</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
