<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
				  >
<channel>
<title>Doejo: Chicago Web Development, Chicago Graphic Design, Chicago Web Site Design</title>
<link>http://doejo.com/rss</link>
<description><![CDATA[Doejo: We fuel ideas that grow: Chicago Web Development, Chicago Graphic Design, Chicago Web Site Design, Chicago Website Development]]></description>
<image><title>Doejo</title>
<link>http://doejo.com/rss</link>
<url>http://doejo.com/web/desktop/themes/doejo/images/doejo.gif</url>
</image>
<language>en-us</language>
<pubDate>Mon, 06 Sep 2010 00:15:20 -0500</pubDate>
<item>
<title>Galaist Launch Party: Connecting &amp; Celebrating Chicago&acirc;€™s Event Industry</title>
<link>http://doejo.com/blog/galaist-launch-party-connecting-celebrating-chicagos-event-industry</link>
<pubDate>Sun, 05 Sep 2010 18:56:53 -0500</pubDate>
<description><![CDATA[<p><span style="color: #000000;">FOR IMMEDIATE RELEASE<br />Contact: Julie Darling<br />Phone: 312.217.0380<br />Email: julie@galaist.com</span></p>
<p><span style="color: #000000;">&nbsp;</span></p>
<p style="text-align: center;"><a onclick="window.open('http://galaist.com ','','');return false;" href="http://galaist.com"><img src="http://doejo.com/web/uploads/static/galaist1520_1.jpg" alt="" width="355" height="700" /></a></p>
<p><span style="color: #000000;"><br />The Galaist.com Launch Party</span></p>
<p><span style="color: #000000;">Connecting and Celebrating Chicago&rsquo;s Event Industry</span></p>
<p><span style="color: #000000;">CHICAGO, IL: The Galaist team is delighted to announce the launch of Galaist.com (www.galaist.com) with a launch party September 16th from 7PM to Midnight at new event space Room 1520 (www.room1520.com).</span></p>
<p><span style="color: #000000;">Bringing together the best in Chicago&rsquo;s event services industry, the launch gala will introduce guests to the Galaist.com event-planning-made-simple service and entertain with music from jazz band Sabertooth Quartet and a rocking DJ set from Hideout Dance Party DJs Hologram Trav, Lackie P and Dirty Dish.</span></p>
<p><span style="color: #000000;">Top Chicago restaurants and catering companies will be serving hors d&rsquo;oeuvres, Hop Ruiter Belgian Beer, Cosentino Wine and more will be providing an open bar, and gift bags full of Galaist swag will be sent home with event attendees.</span></p>
<p><span style="color: #000000;">Showcasing event services in an intuitive, easily searchable and elegant online format, Galaist.com makes event planning a snap. With a profile on Galaist.com, event service providers can make a big impact on those searching for their specific event services. From florists to entertainment providers, event spaces to limo and car services &ndash; all of the services essential to an event&rsquo;s success &ndash; Galaist.com connects searching event planners with Chicago&rsquo;s event providers.</span></p>
<p><span style="color: #000000;"><a onclick="window.open('http://galaist.com','','');return false;" href="http://galaist.com"><br />THE GALAIST.COM LAUNCH PARTY<br />September 16th from 7 PM - 12 AM<br />Room 1520, 1520 W Fulton<br />RSVP: www.galaist.com/party or call 773.3481227</a></span></p>]]></description>
<author>Philip Tadros</author>
<guid isPermaLink="true" >http://doejo.com/blog/galaist-launch-party-connecting-celebrating-chicagos-event-industry</guid>
</item>
<item>
<title>I like saying Ad Agency, but.. are we at Doejo - Interactive Media, New Media or a Web Agency?</title>
<link>http://doejo.com/blog/i-like-saying-ad-agency-but-are-we-at-doejo-interactive-media-new-media-or-a-web-agency-</link>
<pubDate>Sun, 05 Sep 2010 15:09:45 -0500</pubDate>
<description><![CDATA[<p>People ask all the time, what is doejo? I always say.. &nbsp;"it's an ad agency" "it's a web agency" " we do everything, consulting, web design, web development, tv commercials, print etc"</p>
<p>Saying "Interactive Media" and "New Media" is out of date already, so we want to go back and just be ad men, who specialize in the web.&nbsp;</p>
<p>Doejo is a Web Agency, Page #1 on Google says so.&nbsp;</p>
<p style="text-align: center;"><img src="http://doejo.com/web/uploads/static/Picture_44.png" alt="" width="486" height="369" /></p>]]></description>
<author>Philip Tadros</author>
<guid isPermaLink="true" >http://doejo.com/blog/i-like-saying-ad-agency-but-are-we-at-doejo-interactive-media-new-media-or-a-web-agency-</guid>
</item>
<item>
<title>Speaking at TECHcocktail Startup Mixology Conference Oct 28th</title>
<link>http://doejo.com/blog/speaking-at-techcocktail-startup-mixology-conference-oct-28th</link>
<pubDate>Fri, 03 Sep 2010 15:10:59 -0500</pubDate>
<description><![CDATA[<h1><a href="http://startupmixology.techcocktail.com/2010-chicago/staff/phil-tadros" target="_blank">Frank asked me to speak about my life and all the startups i'm so addicted to... well.. starting. </a></h1>
<p>&nbsp;</p>
<h1>Information</h1>
<p>TECH cocktail is hosting its second conference, the Startup  Mixology Conference, on Thursday, October 28, 2010 in the Lincoln Park  neighborhood in Chicago, Illinois.</p>
<p>Our first conference, held in May 2008, had an amazing speaker  line-up and received great feedback, so we thought we&rsquo;d give it another  go! This newly revitalized format will provide a small group of  attendees with a powerful day of learning from experienced  entrepreneurs. Participants will hear some of the best in the industry  talk about the little things that can make all the difference, share  their successes and more importantly, their failures, and provide their  own case studies from you to learn from and be inspired by.</p>
<h2><strong>The Conference Venue</strong></h2>
<p>We are excited to be using the newly remodeled <a title="Lincoln  Hall" href="http://www.lincolnhallchicago.com/" target="_blank">Lincoln  Hall</a> as the venue for the  conference. With its state-of-the-art  sound and video systems, full kitchen, three stocked bars and  spectacular music hall stage, Lincoln Hall is perfect for a comfortable  and intimate setting for us to get down to business.</p>
<p>Lincoln Hall is just a few blocks from the <a title="Fullerton CTA L  Stop Information" href="http://www.transitchicago.com/travel_information/station.aspx?StopId=59" target="_blank">Fullerton CTA &ldquo;L&rdquo; Stop</a>. They also offers parking  for only $6 at the Children&rsquo;s Memorial Hospital just down the street at  2316 N. Lincoln Avenue. Additionally, there is metered street parking  but we&rsquo;d only suggest this option if you are feeling lucky and have lots  of quarters.</p>
<h2><strong>The Startup Mixer Venue</strong></h2>
<p>After the full day conference we will be hosting our classic startup  mixer event just north of Lincoln Park in the Wrigleyville neighborhood  at John Barleycorn Wrigleyville from 6:30 to 9:00 p.m. This event will  follow our traditional startup mixer format as we will offer several  local startups free demo space to showoff in an expo-style. It will be  free for conference attendees and $10-$20 for non-Conference attendees  (includes a couple of drinks).</p>
<h2><strong><strong>Questions?</strong></strong></h2>
<p>Contact <a href="mailto:frank@techcocktail.com">Frank Gruber</a>, <a href="mailto:jen@techcocktail.com">Jen Consalvo</a>, or <a href="mailto:julia@techcocktail.com">Julia Labandz</a>.</p>]]></description>
<author>Philip Tadros</author>
<guid isPermaLink="true" >http://doejo.com/blog/speaking-at-techcocktail-startup-mixology-conference-oct-28th</guid>
</item>
<item>
<title>What's Greater Than this?</title>
<link>http://doejo.com/blog/whats-greater-than-this</link>
<pubDate>Wed, 25 Aug 2010 12:11:40 -0500</pubDate>
<description><![CDATA[<p>Our friends at CheekyChicago.com wrote up a nice spot on an <a href="http://www.cheekychicago.com/whats-greater-than-this/">awesome new favorite coconut water based sports drink</a> you might have heard of...</p>
<blockquote>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 10px; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 13px; color: #6c3913; line-height: 19px; margin: 0px;">So many people are drinking coconut water for its high potassium and hydrating qualities, but coconut water alone does not give you enough electrolytes and hydration. I recently spoke to Mark and Jon Sider, Chicago brothers who have created an incredible sports drink called Greater &gt; Than.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 10px; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 13px; color: #6c3913; line-height: 19px; margin: 0px;">Mark and Jon were fed up with all the sugary, artificial, chemically formulated drinks on the market so they decided to actually do something about it. The result is Greater &gt; Than, a drink that is&nbsp;<em>completely</em>&nbsp;all natural. It&rsquo;s sweetened with stevia and beet sugar as opposed to tons of additives. Powered by coconut water, G&gt;T also includes ingredients to help you hydrate and perform your best while working out. I&rsquo;ve even heard a few people tell me that the electrolytes in G &gt; T make it a perfect hangover cure.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 10px; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 13px; color: #6c3913; line-height: 19px; margin: 0px;">Mark and Jon worked with top nutritionists and sports scientists to create this low calorie drink, but they didn&rsquo;t want to skimp on taste. G &gt; T comes in three yummy flavors: lemon lime, tropical and orange. I love the lemon lime, which tastes like a fruity Sprite.&nbsp; G &gt; T recently launched in Chicago and will soon expand to other states. You can also purchase product on the G &gt; T website.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 10px; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 13px; color: #6c3913; line-height: 19px; margin: 0px;">So, what&rsquo;s behind the name Greater &gt; Than? Mark and Jon believe that you should never settle for less and that includes what you put in your body.&nbsp; Be greater than in all that you do!</p>
</blockquote>]]></description>
<author>Darren Marshall</author>
<guid isPermaLink="true" >http://doejo.com/blog/whats-greater-than-this</guid>
</item>
<item>
<title>New to Doejo: John Link, Project Manager</title>
<link>http://doejo.com/blog/new-to-doejo-john-link-project-manager</link>
<pubDate>Thu, 22 Jul 2010 10:24:30 -0500</pubDate>
<description><![CDATA[<p>Today I'd like to introduce the newest member of our team, John Link. John recently moved to doejo from a background of amateur segway piloting, bustling newsrooms, and I think something having to do with angry lawyers. We've been getting him up to speed him on board for about a week and we're really stoked about what he's brought to the table so far.&nbsp;</p>
<p>Why we need a Project Manager<br />Everyone at Doejo has a very strong Freelance background. Juggling work and managing deadlines comes pretty naturally to all of us--we're psuedo Project Managers. But after doing the job ourselves for the past few years, and putting an incredible amount of time and energy into keeping up with demand, we've really come to appreciate the qualities of a good project manager. John link will help us define requirements, putting together estimates, and keeping our teams on scope &amp; budget.</p>
<p>Thank you John--Looking forward!</p>]]></description>
<author>Darren Marshall</author>
<guid isPermaLink="true" >http://doejo.com/blog/new-to-doejo-john-link-project-manager</guid>
</item>
<item>
<title>Launch: Osborn Energy</title>
<link>http://doejo.com/blog/launch-osborn-energy</link>
<pubDate>Thu, 01 Jul 2010 13:12:12 -0500</pubDate>
<description><![CDATA[<p>Our friends at The Hazel Group recently brought a development project to us; a conversion from a Flash developer, they needed it in HTML/CSS/JS, mimicking the same UI and effects.&nbsp;Osborn Energy is emerging as an <a href="http://osbornenergy.com">independent energy company</a> with a great track record, and tested research and development outcomes.</p>]]></description>
<author>Darren Marshall</author>
<guid isPermaLink="true" >http://doejo.com/blog/launch-osborn-energy</guid>
</item>
<item>
<title>Texthog featured on CNBC</title>
<link>http://doejo.com/blog/texthog-featured-on-cnbc</link>
<pubDate>Mon, 28 Jun 2010 09:58:56 -0500</pubDate>
<description><![CDATA[<p style="text-align: center;">
<object width="600" height="450"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11635255&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=11635255&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="450"></embed></object>
</p>]]></description>
<author>Darren Marshall</author>
<guid isPermaLink="true" >http://doejo.com/blog/texthog-featured-on-cnbc</guid>
</item>
<item>
<title>Wow. That tastes great!</title>
<link>http://doejo.com/blog/wow-that-tastes-great</link>
<pubDate>Tue, 22 Jun 2010 23:06:57 -0500</pubDate>
<description><![CDATA[<p>These guys are fucking dope.</p>
<p><em><strong>"Greater Than: Coconut Water with Added Boost of Electrolytes</strong></em>&nbsp;Pair of post-college Chicago bros Jon and Mark Sider are looking to riff off vogue for coconut water as natural sports drink with brand dubbed Greater Than that employs mathematical greater-than symbol as logo. It's formulated from coconut water (how much they wouldn't say) plus electrolytes plus water and comes in at 70 calories per 20-oz bottle. "<a href="http://drinkgt.com">Coconut water that tastes grea</a><a href="http://drinkgt.com">t</a>" is proposition for brand initially available just in Chicago. "Nice taste," offered Mary-Ann Somers, marketing vp at Coke's VEB brand incubation unit, but wondered whether it's defensible proposition should others try same strategy. Former Pepsi exec Michael Hartman: "Interesting way to mainstream coconut water," but is it meaningful-enough point of difference should larger cos respond? Designer Ian McLean applauded iconic pack that "falls somewhere between Nike and Speed-O." Why launch in backyard of Gatorade brand? "Have to blame our parents," responded one of bros, "that's where we were born." Info at <a href="/admin/blog/manage-posts/DrinkGT.com.">DrinkGT.com.</a>"</p>]]></description>
<author>Darren Marshall</author>
<guid isPermaLink="true" >http://doejo.com/blog/wow-that-tastes-great</guid>
</item>
<item>
<title>4 SEO Basics that most people don't know</title>
<link>http://doejo.com/blog/4-seo-basics-that-most-people-dont-know</link>
<pubDate>Thu, 17 Jun 2010 12:24:26 -0500</pubDate>
<description><![CDATA[<p>Yeah, yeah, yeah, SEO this, SEO that.</p>
<p>Whether working with large corporations or new sites, I'm always surprised (and surprised to find myself surprised) that more people do not understand SEO basics.</p>
<p>Dear Madames and Sirs,</p>
<p>Before you call me and tell me you want to be #1 for that keyword with a billion monthly searches, please make sure that you've read the following:</p>
<p><!-- pagebreak --></p>
<p>1) Create an XML sitemap and submit it the Search Engines.</p>
<ul>
<li>Search Engines need to crawl and index the pages on your site - you can't show up in the search results if search engines don't know that you exist. Sure, they'll eventually find you but...</li>
</ul>
<p>2) Don't Ignore Yahoo/Bing. Sure Google gets about 70% of all search traffic. But Yahoo and Bing get most of the rest.&nbsp; 30% is a meaningful number.</p>
<p>3) Make sure you have unique page titles&nbsp;</p>
<ul>
<li>You ever go to a restaurant that has "pizza puffs" listed as a menu item 40 times in a row?&nbsp; Page titles help search engines understand the content of the page. Give each page a unique title (60-70 characters max). Use keywords that&nbsp; match the keywords in page content</li>
</ul>
<p><img src="http://doejo.com/web/uploads/static/Chicago_Pizza_Puff.jpg" alt="" width="640" height="451" /></p>
<p>4)&nbsp; Don't start by trying to rank on the first page for the biggest word in the category (especially if you're new site). There are a lot of good strategies for SEO success, this is not one of them. Start by trying to get ranked on a few relevant words.&nbsp; A&nbsp; little research can yield near immediate results with minimal effort.</p>
<ul>
<li>Oh yeah, and accept the fact that you may never rank on the first page for the word that generates 1.5 million monthly searches. Sometimes there are just too many variables for a word of this magnitude - you can make up for the traffic by ranking on multiple words between 10K-100K monthly searches</li>
</ul>
<p>Kenny Mazursky is Doejo's resident SEO Specialist and founder of Down to Earth Marketing specializing in <a href="http://www.chicagomarketingconsulting.com">Chicago Marketing Consulting</a></p>]]></description>
<author>Kenny Mazursky</author>
<guid isPermaLink="true" >http://doejo.com/blog/4-seo-basics-that-most-people-dont-know</guid>
</item>
<item>
<title>An IDEO Props &amp; Thank You!</title>
<link>http://doejo.com/blog/an-ideo-props-thank-you</link>
<pubDate>Wed, 16 Jun 2010 10:04:30 -0500</pubDate>
<description><![CDATA[<p style="text-align: center;"><img src="http://doejo.com/web/uploads/static/IDEO_logo.jpg" alt="" width="300" height="74" /></p>
<p>A gentleman named  Beau who works at the design firm&nbsp;<a href="http://www.ideo.com/">IDEO</a> popped into our Cafe Agency on  Broadway and knew we were a design agency. We connected right away and  he was kind enough to invite us to a party at the new IDEO HQ located at  626 W Jackson, it was a blast. Seeing creative design and business  agency's grow and spread across the globe like IDEO inspires the shit  out of me. The space was amazing and the work would make me for sure  proud. We were looking at a kidney transplant device they made sitting  right next to a product line of soaps and lotions and on the floor near  the shelf of creation was a Trek bike that was designed for people who  might be afraid of ridding a bike and it just all made so much sense.</p>
<p>So thank you, and I will mail back the prop glasses I  ended up wearing all night and walking out with. In the mail.&nbsp;<a href="http://philcoextra.tumblr.com/post/703087095/props" target="_blank">http://philcoextra.tumblr.com/post/703087095/props</a></p>]]></description>
<author>Philip Tadros</author>
<guid isPermaLink="true" >http://doejo.com/blog/an-ideo-props-thank-you</guid>
</item>
<item>
<title>Handy HTTP requests with Curb and Ruby</title>
<link>http://doejo.com/blog/handy-http-requests-with-curb-and-ruby</link>
<pubDate>Sun, 13 Jun 2010 20:06:59 -0500</pubDate>
<description><![CDATA[<p>While working on one of the projects, i tried to find multi-purpose HTTP request class that can use different network interfaces/ip addresses with retry option (if connection slow or server not responding for some reason). Check out&nbsp; a small class wrapper build on top of Ruby <a href="http://curb.rubyforge.org/">Curb</a>, implemented as a module.</p>
<p><!-- pagebreak --></p>
<pre lang="ruby">module ApiRequest
  USER_AGENTS = [
    'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3',
    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)',
    'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3',
    'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.70 Safari/533.4',
    'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.2) Gecko/20100323 Namoroka/3.6.2',
    'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100401 Ubuntu/9.10 (karmic) Firefox/3.5.9'
  ]
  
  CONNECTION_TIMEOUT = 10
  
  @@interfaces = []
  
  # get random user-agent string for usage
  def random_agent
    USER_AGENTS[rand(USER_AGENTS.size-1)]
  end
  
  # get random IP/network interface specified in @@interfaces
  def random_interface
    size = @@interfaces.size
    size &gt; 0 ? @@interfaces[rand(size-1)] : nil
  end
  
  # perform request, assign_to - specify network interface/ip
  def perform(url, assign_to=nil)
    puts url
    interface = assign_to.nil? ? self.random_interface : assign_to
    req = Curl::Easy.new(url)
    req.timeout = CONNECTION_TIMEOUT
    req.interface = interface unless interface.nil?
    req.headers['User-Agent'] = self.random_agent
    begin
      req.perform
      if req.response_code == 200
        return req.downloaded_bytes &gt; 0 ? req.body_str : nil
      else
        nil
      end
    rescue Exception
      return nil
    end
  end
  
  # perform request by number of attempts
  def fetch(url, attempts=3)
    result = nil
    1.upto(attempts) do |a|
      result = self.perform(url)
      break unless result.nil?
    end
    return result
  end
end
</pre>
<p>And sample usage:</p>
<pre lang="ruby">class TestRequest
  include ApiRequest

  def foo
     body = self.fetch('http://google.com')
  end
end
</pre>
<p>If module variable "<em>@@interfaces</em>" is array of ip addresses or network interfaces then one of them (randomly selected) will be used to perform request. Also, function "<em>fetch</em>" has parameter "<em>attempts</em>" which set to 3 by default. It means that operation will be invoked n times until result is downloaded from url. Otherwise - it returns nil. Function perform has a parameter "<em>assign_to</em>" (which it not used in "<em>fetch</em>" function) that allows to bind request to specified interface.  It is useful if you have situation when you might use different workers that bound to exact interface or just one that uses random ip`s. Also, class <em>ApiRequest</em> has a list of user agents which it uses randomly for each performed request.  Pastie: <a href="http://pastie.org/private/j19j3hbebte9bjqaydslmg">http://pastie.org/private/j19j3hbebte9bjqaydslmg</a></p>]]></description>
<author>Dan Sosedoff</author>
<guid isPermaLink="true" >http://doejo.com/blog/handy-http-requests-with-curb-and-ruby</guid>
</item>
<item>
<title>Greater &gt; Than at BevNET</title>
<link>http://doejo.com/blog/greater-than-at-bevnet</link>
<pubDate>Fri, 11 Jun 2010 16:20:00 -0500</pubDate>
<description><![CDATA[<p>Disclaimer: We love these guys. Two brothers from Chicago creating a <a href="http://drinkgt.com">coconut water infused sports drink</a> called Greater &gt; Than.</p>
<p>Ok, so Mark and Jon flew out to BevNet to present their product, just shy of a production run completing in late June. Take a look at the video below, jump to around 34:00 in to make it in time for their introduction. Together, these guys have what so many other companies are lacking: Personality. They are the face of the brand, they are so amped about their product, sometimes a bit cheesy, but they own it--and I LOVE how authentic they are. Shoestring and from scratch, they are putting themselves out there. They got what plants crave.</p>
<p>Still waiting for their Hans and Frans sketch.</p>
<p style="text-align: center;">
<object id="lsplayer" width="560" height="340" data="http://cdn.livestream.com/grid/LSPlayer.swf?channel=bevnetcom&amp;clip=pla_e5658fda-f4c7-4fb5-8c8f-8d6a5e6ce1a7&amp;autoPlay=false" type="application/x-shockwave-flash">
<param name="data" value="http://cdn.livestream.com/grid/LSPlayer.swf?channel=bevnetcom&amp;clip=pla_e5658fda-f4c7-4fb5-8c8f-8d6a5e6ce1a7&amp;autoPlay=false" />
<param name="allowScriptAccess" value="always" />
<param name="allowFullScreen" value="true" />
<param name="src" value="http://cdn.livestream.com/grid/LSPlayer.swf?channel=bevnetcom&amp;clip=pla_e5658fda-f4c7-4fb5-8c8f-8d6a5e6ce1a7&amp;autoPlay=false" />
<param name="name" value="lsplayer" />
<param name="wmode" value="transparent" />
<param name="allowfullscreen" value="true" />
</object>
</p>]]></description>
<author>Darren Marshall</author>
<guid isPermaLink="true" >http://doejo.com/blog/greater-than-at-bevnet</guid>
</item>
<item>
<title>You have superhuman powers</title>
<link>http://doejo.com/blog/you-have-superhuman-powers</link>
<pubDate>Fri, 11 Jun 2010 11:06:18 -0500</pubDate>
<description><![CDATA[<p>For the past few months, I've spent a lot of time thinking about ways to systematically predict the future. Ok, maybe not so much predict the future so much as predicting the outcome to particular events, but in this life, in business, in the markets, in gambling, your-bet-is-your-bond... but it ain't no good to just bet on something, you gotta believe it too homie, and if you believe it like you believe fire is hot, then by golly you're on to something.</p>
<p>So predicting the future, as silly as it sounds, is real. So real, it's the kind of thing you can almost practice--so long as you don't get all syfy on us and get into other universe-boggling ideas. Anyhow.. if you're really aiming for a certain thing to happen--and really want it badly (for any number of reasons), my bet is that you'll get it. Sounds simple, sure.. but the counter is also similar, and also just as real, and both are equally volatile.</p>
<p>We've all heard of the law of attraction, this mumbo-jumbo idea that this wacky dude named Einstein put together like a hundred years ago. The jist is that like-attracts-like. Ergo, postitive-attracts-positive, and negative-attracts-negative. But it ain't that simple. I think you need to couple that with something I heard recently from one of our clients, Matthew Linklater--who's consequently <a href="http://thelinklater.com">publishing a book and offers training</a> for these kinds of things--has explained it me as a value/belief system. In a nutshell,&nbsp;if you have a goal, and truly believe you're capable of reaching it you will--keep it positive, cast away doubt, and you'll get it.</p>]]></description>
<author>Darren Marshall</author>
<guid isPermaLink="true" >http://doejo.com/blog/you-have-superhuman-powers</guid>
</item>
<item>
<title>MPMusicPlayerController &quot;Hello World!&quot; iPhone app with source code</title>
<link>http://doejo.com/blog/mpmusicplayercontroller-hello-world-iphone-app-with-source-code</link>
<pubDate>Thu, 03 Jun 2010 19:13:50 -0500</pubDate>
<description><![CDATA[<p style="text-align: center;"><img src="http://doejo.com/web/uploads/static/screens.jpg" alt="" width="660" height="333" /></p>
<p>Once I was listening to iPod music player on my iPhone and I decided to look up lyrics for a song that was playing. What do you usually do in that case? Right, go to Google in mobile Safari (that takes 40 seconds, AT&amp;T 3G hi!). What next? Navigate through several adful websites and finally, yes! The good one that has lyrics&hellip; Wait, now you&rsquo;re listening to a completely different song, ughh.</p>
<p>So, the idea came to my mind, why not just to create an app that identifies a song that&rsquo;s playing right now, no Google, no clicking around, just give me my lyrics right away when I open the app!</p>
<p><!-- pagebreak --></p>
<p>So, let&rsquo;s begin. Open XCode and choose a View-based Application.</p>
<p style="text-align: center;"><img src="http://doejo.com/web/uploads/static/xcode.jpg" alt="" width="440" height="359" /></p>
<p style="text-align: left;">Let&rsquo;s <a href="http://cocoawithlove.com/2009/04/showing-message-over-iphone-keyboard.html" target="_blank">download a LoadingView class</a> by Matt Gallagher to make it all fancy, before we dive into the development. I love using this view, there are several reasons: it&rsquo;s super fast, because it&rsquo;s using <strong>QuartzCore</strong> and it&rsquo;s highly customizable. This view comes full-screen sized but I think it looks better like this:</p>
<p style="text-align: center;"><img src="http://doejo.com/web/uploads/static/loading.jpg" alt="" width="203" height="195" /></p>
<p style="text-align: left;">Also, now we should add <strong>QuartzCode</strong> and <strong>MediaPlayer</strong> frameworks to the project.</p>
<p style="text-align: center;"><img src="http://doejo.com/web/uploads/static/frameworks.jpg" alt="" width="240" height="107" /></p>
<p>We&rsquo;ll be using UIWebView to download lyrics from <em>lyrics.wikia.com</em> (it&rsquo;s the best source that I found and URLs are very convenient &ndash; http://lyrics.wikia.com/Artist:Song).</p>
<p>First, we need to add UIWebViewDelegate protocol to MainViewController class to handle all user clicks inside the UIWebView browser (otherwise it&rsquo;ll crash), then add some views and methods.</p>
<pre>@interface MainViewController : UIViewController &lt;FlipsideViewControllerDelegate, UIWebViewDelegate&gt; {<br />&nbsp;&nbsp;&nbsp; <strong>IBOutlet</strong> UIWebView *webView;<br />&nbsp;&nbsp;&nbsp; LoadingView *loadingView;<br />&nbsp;&nbsp;&nbsp; <strong>IBOutlet</strong> UIView *emptyView;<br />}<br />@property (nonatomic, retain) IBOutlet UIWebView *webView;<br />@property (nonatomic, retain) LoadingView *loadingView;<br />@property (nonatomic, retain) UIView *emptyView;<br />- (<strong>IBAction</strong>)showInfo;<br />- (<strong>IBAction</strong>)refreshLyrics;</pre>
<p>Ok, now we should create a handler (shouldStartLoadWithRequest) to monitor user clicks inside the UIWebView:</p>
<pre>- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {<br />&nbsp;&nbsp; &nbsp;if (navigationType == UIWebViewNavigationTypeLinkClicked) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;[[UIApplication sharedApplication] openURL:[request URL]];<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;return NO;<br />&nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp;return YES;<br />}</pre>
<p>Now, let&rsquo;s get lyrics immediately the main view loads:</p>
<pre>- (void)viewDidLoad {<br />&nbsp;&nbsp; &nbsp;[self refreshLyrics];<br />&nbsp;&nbsp; &nbsp;[super viewDidLoad];<br />}</pre>
<p>There&rsquo;s also a refresh button, that&rsquo;s why I&rsquo;m using - (IBAction) refreshLyrics.</p>
<p>In the refreshLyrics we need to gather information about currently playing song from iPod using MPMusicPlayerController, thanks to iPhone OS3.0 it&rsquo;s pretty easy:</p>
<pre>MPMediaItem *media = [[MPMusicPlayerController iPodMusicPlayer] nowPlayingItem];<br />NSString *artist = [media valueForProperty:MPMediaItemPropertyArtist];<br />NSString *song = [media valueForProperty:MPMediaItemPropertyTitle];</pre>
<p>Now, we need to create an URL, it works like that:</p>
<pre>NSString *urlAddress = [[NSString alloc] initWithFormat:@"http://lyrics.wikia.com/%@:%@", artist, song];<br />NSString* escapedUrl = [urlAddress stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];</pre>
<p>That&rsquo;s almost it! One thing left &ndash; we need to direct the UIWebView to this URL:</p>
<pre>NSURL *url = [NSURL URLWithString:escapedUrl];<br />NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];<br />[webView loadRequest:requestObj];</pre>
<p>The app also shows activity indicator in the status bar, here&rsquo;s the one liner:</p>
<pre>[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]; // or NO&hellip;</pre>
<p>Well, that&rsquo;s it. <a href="http://doejo.com/web/uploads/iPodLyrics.zip">Grab the source code here</a>.</p>
<p>P.S. Don&rsquo;t try to submit it to Apple, because they won&rsquo;t approve it - <strong>lyrics are considered to be a copyrighted material</strong>. <br />However, I don&rsquo;t care, with Doejo&rsquo;s Apple developer account I can use it as long as I want :)</p>
<p>P.S.S. There's no garbage collection, if you want to get this thing working properly you need to dealloc objects that were created. Take a look at what <a href="http://developer.apple.com/iphone/library/documentation/cocoa/conceptual/memorymgmt/memorymgmt.html">Apple recommends here</a>.</p>]]></description>
<author>Roman Efimov</author>
<guid isPermaLink="true" >http://doejo.com/blog/mpmusicplayercontroller-hello-world-iphone-app-with-source-code</guid>
</item>
<item>
<title>Rails MongoDB logging on Heroku with MongoHQ</title>
<link>http://doejo.com/blog/rails-mongodb-logging-on-heroku-with-mongohq</link>
<pubDate>Wed, 02 Jun 2010 10:25:45 -0500</pubDate>
<description><![CDATA[<p>I love Heroku but it <a title="Heroku Docs on Logs and Exceptions" href="http://docs.heroku.com/logs-exceptions">only retains your last 100 lines of logs</a>. To save your log output you need to store them  outside of the service. MongoDB is <a title="MongoDB is Fantastic for Logging" href="http://blog.mongodb.org/post/172254834/mongodb-is-fantastic-for-logging">"fantastic for logging"</a> and Heroku's <a title="Heroku MongoHQ Add-on" href="http://addons.heroku.com/mongohq">MongoHQ add-on</a> makes it easy to spin up a MongoDB instance. The first step is to add the MongoHQ add-on to your app:</p>
<pre><code>$ heroku addons:add mongohq:free<br /></code></pre>
<p>You'll need to include Ruby's MongoDB driver <a title="Mongo -  Ruby driver for MongoDB" href="http://github.com/mongodb/mongo-ruby-driver">Mongo</a> in your .gems file:</p>
<pre><code>mongodb-mongo --source gems.github.com<br /></code></pre>
<p>Next, install the <a title="MongoDBLogger" href="http://github.com/peburrows/mongo_db_logger">mongo_db_logger</a> plugin in your rails project (<span style="font-size: x-small;"><code>script/plugin  install git://github.com/peburrows/mongo_db_logger.git</code></span>) and include the library in your application controller:</p>
<pre><code>class ApplicationController &lt; ActionController::Base<br />  include MongoDBLogging<br /><br />  helper :all # include all helpers, all the time<br />  protect_from_forgery # See ActionController::RequestForgeryProtection for details<br />end</code></pre>
<p>And then, to actually use it in your different environments, add the  following line to your app&rsquo;s <code class="ruby">"config/#{environment}.rb"</code>:</p>
<pre><code>config.logger = MongoLogger.new</code></pre>
<p>Once you've installed the plugin you will have to hard code connection information into the plugin. I edited mongo_logger.rb to connect to MongoDB via Heroku's evironment variable MONGOHQ_URL</p>
<pre><code>begin<br />  @mongo_collection_name = "#{Rails.env}_log"<br />  <br />  uri = URI.parse(ENV['MONGOHQ_URL'])<br /><br />  @mongo_connection ||= Mongo::Connection.new(uri.host, uri.port, :auto_reconnect =&gt; true).db(uri.path.gsub(/^\//, ''))<br />  <br />  @mongo_connection.authenticate(uri.user, uri.password)<br /><br />  # setup the capped collection if it doesn't already exist<br />  unless @mongo_connection.collection_names.include?(@mongo_collection_name)<br />    @mongo_connection.create_collection(@mongo_collection_name, {:capped =&gt; true, :size =&gt; 10.megabytes})<br />  end<br />rescue =&gt; e<br />  puts "=&gt; !! A connection to mongo could not be established - #{e.message} - the logger will function like a normal ActiveSupport::BufferedLogger !!"<br />end</code></pre>
<p>To learn more about the mongo_db_logger plugin, read Phil Burrows' article <a title="Rails Logging with MongoDB" href="http://blog.philburrows.com/articles/2009/09/28/rails-logging-with-mongodb/">"Rails Logging with MongoDB"</a></p>
<p><a title="Abi Noda" href="http://abinoda.com">Abi Noda</a> is a software engineer at Doejo and partner at <a title="Janitorial quality control software" href="http://orangeqc.com">OrangeQC</a>, a software as a service company offering quality control systems for food and janitorial service companies.</p>]]></description>
<author>Abi Noda</author>
<guid isPermaLink="true" >http://doejo.com/blog/rails-mongodb-logging-on-heroku-with-mongohq</guid>
</item>
<item>
<title>GoDaddy SSL certificate throws errors in Google Chrome?</title>
<link>http://doejo.com/blog/godaddy-ssl-certificate-throws-errors-in-google-chrome</link>
<pubDate>Sun, 30 May 2010 17:19:27 -0500</pubDate>
<description><![CDATA[<p><strong>Synopsis: GoDaddy SSL certificates are causing errors in some of the browsers, e.g. Google Chrome. Provided is a method to fix this.</strong></p>
<p style="text-align: center;"><img src="http://doejo.com/web/uploads/static/Untitled_1.jpg" alt="GoDaddy SSL certificate error in google Chrome" width="660" height="382" /></p>
<p style="text-align: left;"><!-- pagebreak --><strong>How-to:</strong> Download intermediate certificate available at GoDaddy repository: <a title="GoDaddy intermediate SSL Certificate" href="https://certs.godaddy.com/anonymous/repository.seam?streamfilename=gd_intermediate.crt&amp;actionMethod=anonymous%2Frepository.xhtml%3Arepository.streamFile%28%27%27%29&amp;cid=315573">gd_intermediate.crt</a>. Upload to your server (wherever you store your SSLs)</p>
<p style="text-align: left;">In Apache vhost configuration add:</p>
<pre>SSLCertificateChainFile /&lt;path_to_cert&gt;/gd_intermediate.crt</pre>]]></description>
<author>Timur Zaynullin</author>
<guid isPermaLink="true" >http://doejo.com/blog/godaddy-ssl-certificate-throws-errors-in-google-chrome</guid>
</item>
<item>
<title>CSS/JQuery navigation with menu items enlarging on hover without shifting adjacent elements</title>
<link>http://doejo.com/blog/css-jquery-navigation-with-menu-items-enlarging-on-hover-without-shifting-adjacent-elements</link>
<pubDate>Sat, 29 May 2010 00:37:23 -0500</pubDate>
<description><![CDATA[<p><strong>Synopsis:</strong> Menu (navigation items) are popping out (font-size increased) on hover without pushing/shifting adjacent menu items.<br /><strong>Bonus:</strong> How to center navigation of undefined width.</p>
<p style="text-align: center;"><img src="http://doejo.com/web/uploads/static/menu.gif" alt="" width="608" height="92" /></p>
<p>I strongly encourage all web developers (designers, front-end developers or whatever) to solve all layout problems with simple CSS. Only after several hours of lamentation, declaring an anathema on IE6 (and even IE7), you guys are allowed to use a lovely JQuery.</p>
<p><!-- pagebreak --></p>
<p>Here is a nice JQuery menu idea, which I quickly made for one of ours recent projects and would like to share with The Web Designing / Developing World :)<br />Works for all popular browsers (even for our IE6 &amp; IE7).<br /><br />Description is much longer than describing subject, but everything is pretty simple: <br />1. assigning each list-item element the width of a nested anchor (including padding); <br />2. adding new class (increasing font size and removing padding) to current a<br />3. on mouse enter: assign current anchor and parent list-item width property<br />4. on mouse leave: remove class with font size enlargement, and remove padding.</p>
<pre>&lt;script type="text/javascript"&gt;<br />$(document).ready(function() {&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $(".main-menu .wrapper-ul ul li").each( function () {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $(this).width($(this).children().innerWidth());<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;});<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $(".main-menu .wrapper-ul ul li a").mouseenter(function() {&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $(this).width($(this).parent().innerWidth());<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $(this).addClass("active");&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; });<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $(".main-menu .wrapper-ul ul li a").mouseleave(function() {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $(this).removeClass("active");<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $(this).addClass("no-padding");&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; });&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />});&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />&lt;/script&gt;</pre>
<p><br />Be careful with paddings: don't make them to small. Otherwise, your enlarged text simply won't fit into its' parent list-item.</p>
<pre>&lt;div class="main-menu"&gt;<br />&nbsp;&nbsp;&nbsp; &lt;div class="wrapper-ul"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ul&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;&lt;a href="#"&gt;home&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;&lt;a href="#"&gt;success stories&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;&lt;a href="#"&gt;about us&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;&lt;a href="#"&gt;contact&lt;/a&gt;&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/ul&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />&lt;/div&gt;</pre>
<p><br />Bonus: a CSS technic to center our menu elements with undefined width. <br />Here comes the CSS:</p>
<pre>.no-padding&nbsp;&nbsp; { padding:0 !important; }<br />.main-menu { width: 600px; margin: 0 auto; height: 39px; border: solid 1px #ccc; }<br />.wrapper-ul { <br />&nbsp;&nbsp;&nbsp; float: left;<br />&nbsp;&nbsp;&nbsp; width: 100%;<br />&nbsp;&nbsp;&nbsp; overflow: hidden;<br />&nbsp;&nbsp;&nbsp; position:relative;<br />&nbsp;&nbsp;&nbsp; height: 39px; }<br />.wrapper-ul ul{ <br />&nbsp;&nbsp;&nbsp; clear: left;<br />&nbsp;&nbsp;&nbsp; height: 39px;<br />&nbsp;&nbsp;&nbsp; float: left;<br />&nbsp;&nbsp;&nbsp; left: 50%;<br />&nbsp;&nbsp;&nbsp; margin: 0;<br />&nbsp;&nbsp;&nbsp; padding: 0;<br />&nbsp;&nbsp;&nbsp; position: relative;<br />&nbsp;&nbsp;&nbsp; text-align: center; }<br />.wrapper-ul ul li{<br />&nbsp;&nbsp;&nbsp; display: block;<br />&nbsp;&nbsp;&nbsp; float: left;<br />&nbsp;&nbsp;&nbsp; list-style: none;<br />&nbsp;&nbsp;&nbsp; padding: 0;<br />&nbsp;&nbsp;&nbsp; margin: 0;<br />&nbsp;&nbsp;&nbsp; height: 39px;<br />&nbsp;&nbsp;&nbsp; position: relative;<br />&nbsp;&nbsp;&nbsp; right: 50%; }<br />.wrapper-ul ul li a{<br />&nbsp;&nbsp;&nbsp; display: block;<br />&nbsp;&nbsp;&nbsp; line-height: 39px;<br />&nbsp;&nbsp;&nbsp; font-size: 12px;<br />&nbsp;&nbsp;&nbsp; white-space: nowrap;<br />&nbsp;&nbsp;&nbsp; color: #21949e;<br />&nbsp;&nbsp;&nbsp; padding: 0 32px;<br />&nbsp;&nbsp;&nbsp; text-transform: uppercase;<br />&nbsp;&nbsp;&nbsp; text-decoration: none; <br />&nbsp;&nbsp;&nbsp; font-weight: bold; }<br />.wrapper-ul ul li .active { <br />&nbsp;&nbsp;&nbsp; font-size: 18px; <br />&nbsp;&nbsp;&nbsp; font-weight: bold; <br />&nbsp;&nbsp;&nbsp; margin: 0; <br />&nbsp;&nbsp;&nbsp; padding: 0 !important; <br />&nbsp;&nbsp;&nbsp; text-decoration: none; }</pre>
<p>Don't forget to "clear" all floated elements. <br />Menu text is popping, navigation elements and navigation itself is centered (you don't even need to assign their width by yourself!), everything is W3C valid and cross-browser tested!ï»¿</p>]]></description>
<author>Masha Safina</author>
<guid isPermaLink="true" >http://doejo.com/blog/css-jquery-navigation-with-menu-items-enlarging-on-hover-without-shifting-adjacent-elements</guid>
</item>
<item>
<title>Just go out and get it done, next.</title>
<link>http://doejo.com/blog/just-go-out-and-get-it-done-next</link>
<pubDate>Thu, 27 May 2010 15:11:17 -0500</pubDate>
<description><![CDATA[<p>Melissa Pierce is a great example of someone who had an idea and just did it. First time film maker produced "<a href="http://lifeinperpetualbeta.com/">Life In Perpetual Beta</a>" a one hour "documentary film about the ways in which technology has/is/will change the ways in which we think about ourselves as individuals and a society. It is exploring the cultural shift that technology creates as it enables people to live less planned and more passionate life."</p>
<p>So many people would have been held back by the production quality of audio and video, Melissa just rolls with it and captures the right message in a super cast of doers I and many on my team respect and look up to.</p>
<p>Enjoy the trailer bellow and thank you Melissa for just going out and getting it done!</p>
<p><!-- pagebreak --></p>
<p style="text-align: center;">
<object width="640" height="385" data="http://www.youtube.com/v/4YTJfS3FfZo&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash">
<param name="data" value="http://www.youtube.com/v/4YTJfS3FfZo&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" />
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="src" value="http://www.youtube.com/v/4YTJfS3FfZo&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" />
<param name="allowfullscreen" value="true" />
</object>
</p>]]></description>
<author>Philip Tadros</author>
<guid isPermaLink="true" >http://doejo.com/blog/just-go-out-and-get-it-done-next</guid>
</item>
<item>
<title>Make IE6 respect width (CSS)</title>
<link>http://doejo.com/blog/make-ie6-respect-width-css</link>
<pubDate>Thu, 27 May 2010 13:56:23 -0500</pubDate>
<description><![CDATA[<p>What we do to emulate min-width in IE-6? We apply this css to container:</p>
<pre>.container {<br />  height:auto !important;<br />  height:200px;<br />  min-height:200px; }</pre>
<p>Here's what happens: IE 6 doesn't understand !important, IE6 doesn't know what min-height is, IE6 doesn't care about height or width, it enlarges the container, as much as needed to fit content (css for ie6: min-height = height). So we set auto height for normal browsers, then add height for ie6 (acts like min-height) and true min-height for normal browsers.</p>
<p>If IE6 doesn't respect the height/width, what do we do when we need it to have fixed Height/Width CSS properties?</p>
<p><!-- pagebreak --></p>
<p>If we have something like this:</p>
<pre>&lt;div class="container"&gt;<br />  &lt;div class="fixed-box"&gt;<br />    &lt;p&gt;something[..]&lt;/p&gt;<br />  &lt;/div&gt;<br />&lt;/div&gt;</pre>
<p>And we don't want fixed-box to be larger than 200px in width under any circumstances. But show content that goes beyond fixed-box size, overlapping the container. This helps:</p>
<pre>.container {<br />  .fixed-box { overflow:hidden; }<br />  .p { position:relative; }<br />}</pre>]]></description>
<author>Timur Zaynullin</author>
<guid isPermaLink="true" >http://doejo.com/blog/make-ie6-respect-width-css</guid>
</item>
<item>
<title>Doejo rockets for your desktop</title>
<link>http://doejo.com/blog/doejo-rockets-for-your-desktop</link>
<pubDate>Tue, 25 May 2010 19:49:44 -0500</pubDate>
<description><![CDATA[<p><img title="Doejo Wallpapers" src="http://doejo.com/web/uploads/static/wallpapers.jpg" alt="Doejo Wallpapers" width="660" height="245" /></p>
<p>We're giving you some retro desktop wallpapers featuring the Doejo rocket! Download links for the most common resolutions after the jump...</p>
<p><!-- pagebreak --></p>
<table style="width: 100%;">
<tbody>
<tr>
<td style="width: 50%;">
<h4>Green Solar System</h4>
<p><a href="http://doejo.com/web/uploads/wallpapers/doejo-solarsystem-green-1024x768.jpg">1024x768</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-solarsystem-green-1280x800.jpg">1280x800</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-solarsystem-green-1280x1024.jpg">1280x1024</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-solarsystem-green-1600x1200.jpg">1600x1200</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-solarsystem-green-1920x1200.jpg">1920x1200</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-solarsystem-green-2560x1600.jpg">2560x1600</a></p>
</td>
<td style="width: 50%;">
<h4>Green Rocket</h4>
<p><a href="http://doejo.com/web/uploads/wallpapers/doejo-rocket-green-1024x768.jpg">1024x768</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-rocket-green-1280x800.jpg">1280x800</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-rocket-green-1280x1024.jpg">1280x1024</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-rocket-green-1600x1200.jpg">1600x1200</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-rocket-green-1920x1200.jpg">1920x1200</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-rocket-green-2560x1600.jpg">2560x1600</a></p>
</td>
</tr>
<tr>
<td>
<h4>Brown Solar System</h4>
<p><a href="http://doejo.com/web/uploads/wallpapers/doejo-solarsystem-brown-1024x768.jpg">1024x768</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-solarsystem-brown-1280x800.jpg">1280x800</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-solarsystem-brown-1280x1024.jpg">1280x1024</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-solarsystem-brown-1600x1200.jpg">1600x1200</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-solarsystem-brown-1920x1200.jpg">1920x1200</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-solarsystem-brown-2560x1600.jpg">2560x1600</a></p>
</td>
<td>
<h4>Brown Rocket</h4>
<p><a href="http://doejo.com/web/uploads/wallpapers/doejo-rocket-brown-1024x768.jpg">1024x768</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-rocket-brown-1280x800.jpg">1280x800</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-rocket-brown-1280x1024.jpg">1280x1024</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-rocket-brown-1600x1200.jpg">1600x1200</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-rocket-brown-1920x1200.jpg">1920x1200</a><br /> <a href="http://doejo.com/web/uploads/wallpapers/doejo-rocket-brown-2560x1600.jpg">2560x1600</a></p>
</td>
</tr>
</tbody>
</table>
<p><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><img style="border-width: 0;" src="http://i.creativecommons.org/l/by-nc-nd/3.0/80x15.png" alt="Creative Commons License" /></a><br /><span style="font-size: 11px;"> This work by <a rel="cc:attributionURL" href="http://www.doejo.com">doejo</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/">Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License</a></span></p>]]></description>
<author>Jeff Merrick</author>
<guid isPermaLink="true" >http://doejo.com/blog/doejo-rockets-for-your-desktop</guid>
</item>
</channel>
</rss>