<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>TheLadders.com Developer Blog</title>
      <link>http://dev.theladders.com/</link>
      <description>Developer Blog</description>
      <language>en</language>
      <copyright>Copyright 2008</copyright>
      <lastBuildDate>Wed, 16 Apr 2008 10:52:10 -0500</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=3.2</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>Chained Comparators in JavaScript</title>
         <description><![CDATA[<p>Currently on the Ladders search jobs results page, the sort options are chained together. For example, if you do a sort on company and then do a sort on location, the jobs will be sorted by location. But the jobs with the same location also are sorted by company. This is done by keeping track of the comparators executed. Each time a sort is executed, the comparator function is added to an array. </p>

<p>var allJobs = new Array();  //array containing all the job objects<br />
var comparatorChain = new Array(); //array containing all the executed comparators </p>

<p>function sortByCompany()<br />
{<br />
    &nbsp;&nbsp;&nbsp;&nbsp;comparatorChain.push(companyNameSort);<br />
    &nbsp;&nbsp;&nbsp;&nbsp;allJobs.sort(sortJobsFunction)	<br />
}</p>

<p>function companyNameSort(a, b)<br />
{<br />
     &nbsp;&nbsp;&nbsp;&nbsp;// code to compare company name<br />
}</p>

<p>function sortByLocation()<br />
{<br />
    &nbsp;&nbsp;&nbsp;&nbsp;comparatorChain.push(locationSort);<br />
    &nbsp;&nbsp;&nbsp;&nbsp;allJobs.sort(sortJobsFunction);<br />
}</p>

<p>function locationSort(a, b)<br />
{<br />
    &nbsp;&nbsp;&nbsp;&nbsp;// code to compare location<br />
}</p>

<p>function sortJobsFunction(a, b)<br />
{<br />
    &nbsp;&nbsp;&nbsp;&nbsp;var results = 0;</p>

<p>    &nbsp;&nbsp;&nbsp;&nbsp;for (var i = comparatorChain.length – 1; i >= 0; i--)<br />
    &nbsp;&nbsp;&nbsp;&nbsp;{<br />
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result = comparatorChain[i](a, b);<br />
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (result != 0)<br />
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
             &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return result;  <br />
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
     &nbsp;&nbsp;&nbsp;&nbsp;}<br />
     &nbsp;&nbsp;&nbsp;&nbsp;return result;<br />
}<br />
</p>]]></description>
         <link>http://dev.theladders.com/archives/2008/04/chained_comparators_in_javascript.html</link>
         <guid>http://dev.theladders.com/archives/2008/04/chained_comparators_in_javascript.html</guid>
         <category></category>
         <pubDate>Wed, 16 Apr 2008 10:52:10 -0500</pubDate>
      </item>
            <item>
         <title>How GoogleNotebook Can Improve</title>
         <description><![CDATA[<p>I've pretty much abandoned Outlook for Personal Information Management in favor of Google's various apps.  Calendar and Email are no brainers.  But the <a href="http://www.google.com/notebook">GoogleNotebook</a> deserves some further comment.  When you consider the typical functionality of a notebook, it should be the easiest app to provide, and in fact there are many competing implementations from other providers. There's much more that should be done, though, and it seems to me that because the basic app is so simple it get's very little attention. </p>

<p>The existing product has some good functionality: multiple notebooks and sections to help organize your notes, nice AJAX UI to move and browse through notes and edit with basic WYSIWYG controls, sharing so you can collaborate or make your notes public. The trash can, too, is a nice addition. And they've made progress since the early releases.  At first, it was very URL centric. As if the only thing you could possibly want to make a note about is a web page identified by a URL. </p>

<p>As a side note, as I come up with blog ideas, i enter them into one of my notebooks, and in this case, I'm even writing this entry with GoogleNotebook.<br />
</p>]]></description>
         <link>http://dev.theladders.com/archives/2007/08/how_googlenotebook_can_improve.html</link>
         <guid>http://dev.theladders.com/archives/2007/08/how_googlenotebook_can_improve.html</guid>
         <category></category>
         <pubDate>Fri, 17 Aug 2007 18:05:53 -0500</pubDate>
      </item>
            <item>
         <title>Where Were You When You First Experienced the World Wide Web</title>
         <description><![CDATA[<p>Recently, I was writing up a self profile. I got to the part about starting to work with the Internet and it made me think about where and when I first saw the World Wide Web. To be clear, I was using the Internet before the WWW, but seeing the graphical web for the first time was consequential. I was in college, in the basement of <a href="http://maps.rutgers.edu/building.aspx?id=159">Hill Center</a>. This is where they used to (and may still) keep CS students. Computer labs and offices often have the distinction of finding space in basements or "dungeons". <br />
</p>]]></description>
         <link>http://dev.theladders.com/archives/2007/07/where_were_you_when_you_first.html</link>
         <guid>http://dev.theladders.com/archives/2007/07/where_were_you_when_you_first.html</guid>
         <category></category>
         <pubDate>Fri, 27 Jul 2007 14:25:46 -0500</pubDate>
      </item>
            <item>
         <title>The iPod of the (Near) Future</title>
         <description><![CDATA[<p>In my last post, I <a href="http://dev.theladders.com/archives/2007/07/why_im_not_getting_an_iphone_1.html">talked about</a> the problems with the current incarnation of the iPod. Today, I'm going to talk about the iPod of the future. What will a such a device be like?</p>]]></description>
         <link>http://dev.theladders.com/archives/2007/07/the_ipod_of_the_near_future.html</link>
         <guid>http://dev.theladders.com/archives/2007/07/the_ipod_of_the_near_future.html</guid>
         <category></category>
         <pubDate>Fri, 27 Jul 2007 00:00:00 -0500</pubDate>
      </item>
            <item>
         <title>Is online movie rental a commodity?</title>
         <description><![CDATA[<p>I got an email from Netflix yesterday that they were reducing my monthly rate: "We're lowering the price of your Netflix plan!". Great news, but I have to wonder why they are doing it? I already had a good deal, because I signed up nine or ten years ago, I have the original plan (4 DVDs at a time) for the price of the 3 DVD plan now. I love the service and I've never had an issue with the price. I was perfectly happy paying $20.99 a month.  Or maybe it was $23.99? I don't really know, nor did I really care. The service is great, what matter a few bucks. The convenience and the quality of the service has always been much more important than the price. And in my mind, it's a substitute for paying for premium cable channels. We only have basic cable.</p>]]></description>
         <link>http://dev.theladders.com/archives/2007/07/is_online_movie_rental_a_commo_1.html</link>
         <guid>http://dev.theladders.com/archives/2007/07/is_online_movie_rental_a_commo_1.html</guid>
         <category></category>
         <pubDate>Thu, 26 Jul 2007 16:15:00 -0500</pubDate>
      </item>
            <item>
         <title>What To Do With Old Books</title>
         <description><![CDATA[<p>I happened upon this totally unexpected, very creative service at my local <a href="http://northjersey.citysearch.com/profile/44719045/jersey_city_nj/sweet_priscilla.html">coffee shop</a> the other day. </p>]]></description>
         <link>http://dev.theladders.com/archives/2007/07/what_to_do_with_old_books_1.html</link>
         <guid>http://dev.theladders.com/archives/2007/07/what_to_do_with_old_books_1.html</guid>
         <category></category>
         <pubDate>Thu, 26 Jul 2007 14:33:16 -0500</pubDate>
      </item>
            <item>
         <title>Give Intelli J a Try</title>
         <description><![CDATA[<p>When I first started working at The Ladders, I used Eclipse. It was the standard editor for a programmer. Most people in tech use it. However, Josh kept raving about how great Intelli J was. I was skeptical at first, but after Eclipse kept crashing on me, I decided to give Intelli J a try.</p>]]></description>
         <link>http://dev.theladders.com/archives/2007/07/give_intelli_j_a_try.html</link>
         <guid>http://dev.theladders.com/archives/2007/07/give_intelli_j_a_try.html</guid>
         <category></category>
         <pubDate>Wed, 25 Jul 2007 17:05:09 -0500</pubDate>
      </item>
            <item>
         <title>Lessons from my 1st Encounter with Event Handling in Javascript</title>
         <description><![CDATA[<p>When I first started writing Javascript code (not long ago), the first few things that I started to play with were onclick and onload events.  So, how did I use to attach event to elements. Well, I would simply do this:</p>]]></description>
         <link>http://dev.theladders.com/archives/2007/07/lessons_from_my_1st_encounter.html</link>
         <guid>http://dev.theladders.com/archives/2007/07/lessons_from_my_1st_encounter.html</guid>
         <category></category>
         <pubDate>Wed, 25 Jul 2007 15:44:42 -0500</pubDate>
      </item>
            <item>
         <title>YSlow Review</title>
         <description><![CDATA[<p>Yahoo! <a href="http://developer.yahoo.com/yslow">YSlow</a> came out today and this is my mini review.  It's an addon for the super useful <a hre="http://www.getfirebug.com/">Firebug</a>.</p>

<p>It's very cool but gave <a href="http://www.theladders.com/">http://www.theladders.com/</a> a grade of F. WTF? Looking deeper you going to want to configure your <a href="http://www.getfirebug.com/">CDN</a> After that our score improved to a D, still ugly. Had to be a way to squeeze more out without going around and rewriting all our front end code.</p>]]></description>
         <link>http://dev.theladders.com/archives/2007/07/yslow_review.html</link>
         <guid>http://dev.theladders.com/archives/2007/07/yslow_review.html</guid>
         <category></category>
         <pubDate>Wed, 25 Jul 2007 10:31:38 -0500</pubDate>
      </item>
            <item>
         <title>Dynamic Entity Framework</title>
         <description><![CDATA[<p>Having a high number of web-pages means that the Product team keeps demanding for a variety of dynamically generated web components like popups and sliders on the pages. I will call them Dynamic Entities or DE henceforth. Currently we support three types of Dynamic Entities - DE's on our website. The most popular is the cloudover, which is nothing more than a popup having the focus while graying out the parent browser, thus actively forcing the user to act. Sliders are other user attention grabbers; these are small in size and slide out from the navigation tab, but they do not get the user focus. The last one is the good old popup which can be closed or ignored by the user; needless to say these are used only when the user should be given an option to ignore it, if he wishes so.</p>]]></description>
         <link>http://dev.theladders.com/archives/2007/07/dynamic_entity_framework.html</link>
         <guid>http://dev.theladders.com/archives/2007/07/dynamic_entity_framework.html</guid>
         <category></category>
         <pubDate>Tue, 24 Jul 2007 17:09:09 -0500</pubDate>
      </item>
            <item>
         <title>Optimizing TheLadders Website for the iPhone</title>
         <description><![CDATA[<p>It sounds like additional work for the UI and Design teams at TheLadders but with a little bit of tweaks and following some guidelines, we can optimize our website to look good on a small screen on the iPhone or any cell phone.</p>]]></description>
         <link>http://dev.theladders.com/archives/2007/07/optimizing_theladders_website.html</link>
         <guid>http://dev.theladders.com/archives/2007/07/optimizing_theladders_website.html</guid>
         <category></category>
         <pubDate>Tue, 24 Jul 2007 16:56:15 -0500</pubDate>
      </item>
            <item>
         <title>Development Project Plans Made Simple</title>
         <description><![CDATA[<p>While looking for Requirement Doc (Functional Spec) samples, I stumbled upon Joel Spolsky's piece on "<a href="http://www.joelonsoftware.com/articles/fog0000000245.html">Painless Software Schedules</a>".  It's old (in Internet time), written back in March 2000.  Yet, many years later I still find it to be tremendously insightful and, basically, "the right approach".  </p>]]></description>
         <link>http://dev.theladders.com/archives/2007/07/development_project_plans_made.html</link>
         <guid>http://dev.theladders.com/archives/2007/07/development_project_plans_made.html</guid>
         <category></category>
         <pubDate>Mon, 23 Jul 2007 15:16:28 -0500</pubDate>
      </item>
            <item>
         <title>Why I&apos;m Not Getting an iPhone</title>
         <description><![CDATA[<p>I’m not going to get an iPhone. It’s going take monk-like to discipline to keep me away from the Apple store, but I’m not going to do it. I’m going to hold on to my Treo 650, despite my issues with it. Why?</p>

<p>The iPod is deprecated. </p>]]></description>
         <link>http://dev.theladders.com/archives/2007/07/why_im_not_getting_an_iphone_1.html</link>
         <guid>http://dev.theladders.com/archives/2007/07/why_im_not_getting_an_iphone_1.html</guid>
         <category></category>
         <pubDate>Mon, 23 Jul 2007 00:00:00 -0500</pubDate>
      </item>
            <item>
         <title>Excel Instead of MS Project for Software Development Schedules</title>
         <description><![CDATA[<p>MS Project is not an effective tool for Software Development schedules.  I can't speak for super-sized projects like a new national air-traffic control system, for example.  But for projects with 2 to 10 developers, agile or otherwise, I've found Excel to be a better tool.</p>]]></description>
         <link>http://dev.theladders.com/archives/2007/05/excel_instead_of_ms_project_fo.html</link>
         <guid>http://dev.theladders.com/archives/2007/05/excel_instead_of_ms_project_fo.html</guid>
         <category></category>
         <pubDate>Wed, 16 May 2007 17:32:22 -0500</pubDate>
      </item>
            <item>
         <title>Physical Facility for the Developer Offsite</title>
         <description><![CDATA[<p>In a previous entry, I talked about the Developer offsite.  For those that are interested, here are the details of where we stayed.</p>]]></description>
         <link>http://dev.theladders.com/archives/2007/04/physical_facility_for_the_deve.html</link>
         <guid>http://dev.theladders.com/archives/2007/04/physical_facility_for_the_deve.html</guid>
         <category></category>
         <pubDate>Wed, 04 Apr 2007 17:28:10 -0500</pubDate>
      </item>
      
   </channel>
</rss>
