<rss version="2.0">
    <channel>
    <title>JustinSpegele.com - Design, development, social media and other random stuff</title>
    <description>JustinSpegele.com is a web design and development blog focusing on web standards, usability, best practices and coding tutorials; specifically JavaScript, Ajax, PHP and CSS.</description>
    <link>http://justinspegele.com/</link>
    <language>en-us</language> 
    <copyright>Copyright 2009, Justin Spegele</copyright>
        <item>
            <title>Live Streaming Sessions From the Web 2.0 Summit</title>
            <description>The Web 2.0 Summit will be streaming live sessions from the conference all week long, starting today at 7:35 pm EST, with "A Conversation with Evan Williams."  Evan Williams is the Chairman and Chief Product Officer at Twitter. This will be a great opportunity to hear from some of the top people in the business.  I highly recommend that you check some of these sessions out.  The full schedule of streaming sessions follows.</description>
            <link>http://justinspegele.com/128+live-streaming-sessions-from-the-web-20-summit</link>
            <guid>http://justinspegele.com/128+live-streaming-sessions-from-the-web-20-summit</guid>
            <pubDate>Tuesday, 20 Oct 2009 12:40  EST</pubDate>
        </item>
        <item>
            <title>MD5 and SHA1 Hash Generator</title>
            <description>This is one of those functions that I simply got tired of googling, so threw together my own md5 and sha1 hash generator.  It uses the standard PHP md5() and sha1() functions.  Here it is for your hash generating pleasure.</description>
            <link>http://justinspegele.com/127+md5-and-sha1-hash-generator</link>
            <guid>http://justinspegele.com/127+md5-and-sha1-hash-generator</guid>
            <pubDate>Thursday, 18 Jun 2009 18:12  EST</pubDate>
        </item>
        <item>
            <title>Why Use a PHP Framework?</title>
            <description>If you're like me, you might be hesitant to use to a framework because, for some strange reason, you actually enjoy writing code from scratch.  While there's a time and place for writing all of your code by hand, a framework is a great way to get your professional projects out the door faster and easier.  If you could get twice as many apps out the door in the same amount of time, why not give it a shot?</description>
            <link>http://justinspegele.com/124+why-use-a-php-framework</link>
            <guid>http://justinspegele.com/124+why-use-a-php-framework</guid>
            <pubDate>Monday, 15 Jun 2009 06:55 EST</pubDate>
        </item>
        <item>
            <title>101 High Quality CSS And XHTML Free Templates And Layouts [1stwebdesigner]</title>
            <description>For those of you aren't into the design aspect of building a website or web application, 1stwebdesigner recently posted a list of 101 free, high-quality CSS and XHTML web templates.  If you're looking for a template for your next project, or just a little inspiration, be sure to check out this list.</description>
            <link>http://justinspegele.com/122+101-high-quality-css-and-xhtml-free-templates-and-layouts-1stwebdesigner</link>
            <guid>http://justinspegele.com/122+101-high-quality-css-and-xhtml-free-templates-and-layouts-1stwebdesigner</guid>
            <pubDate>Wednesday, 18 Mar 2009 07:45 EST</pubDate>
        </item>
        <item>
            <title>Breadcrumbs In Web Design: Examples And Best Practices [Smashing Magazine]</title>
            <description>A great post from Smashing Magazine about the importance of using breadcrumbs and best practices for implementing them. Breadcrumbs offer a tremendous boost to the usability of content-rich sites by reducing the number of user actions and increasing the navigability of the site.</description>
            <link>http://justinspegele.com/121+breadcrumbs-in-web-design-examples-and-best-practices-smashing-magazine</link>
            <guid>http://justinspegele.com/121+breadcrumbs-in-web-design-examples-and-best-practices-smashing-magazine</guid>
            <pubDate>Tuesday, 17 Mar 2009 18:15 EST</pubDate>
        </item>
        <item>
            <title>20 Useful PHP Components &amp; Tutorials for Everyday Projects [noupe]</title>
            <description>Here's an excellent list of high-quality PHP components and tutorials compiled by the team over an noupe.com. The list covers everything from autosuggest and  form validation to charts and shoutboxes.  A very useful list for anyone coding dynamic PHP sites or web applications.</description>
            <link>http://justinspegele.com/120+20-useful-php-components-amp-tutorials-for-everyday-projects-noupe</link>
            <guid>http://justinspegele.com/120+20-useful-php-components-amp-tutorials-for-everyday-projects-noupe</guid>
            <pubDate>Tuesday, 03 Mar 2009 07:35  EST</pubDate>
        </item>
        <item>
            <title>Samsung Unveils 50-inch Multitouch TV at CES</title>
            <description>Possibly the coolest thing to come out of a fairly low-key CES this year was the 50-inch multitouch screen TV from Samsung.  While there really isn't much of a market for a multitouch television (would you rather get up off the couch to use the multitouch features, or just use the remote?), just think about having this as your PC monitor.  50-inch multitouch PC/table?  Count me in.</description>
            <link>http://justinspegele.com/119+samsung-unveils-50-inch-multitouch-tv-at-ces</link>
            <guid>http://justinspegele.com/119+samsung-unveils-50-inch-multitouch-tv-at-ces</guid>
            <pubDate>Sunday, 11 Jan 2009 16:12 EST</pubDate>
        </item>
        <item>
            <title>xkcd's Take on the Macworld Keynote</title>
            <description>xkcd's take on Steve Jobs not being the keynote speaker at Macworld 2009</description>
            <link>http://justinspegele.com/117+xkcds-take-on-the-macworld-keynote</link>
            <guid>http://justinspegele.com/117+xkcds-take-on-the-macworld-keynote</guid>
            <pubDate>Wednesday, 07 Jan 2009 18:27 EST</pubDate>
        </item>
        <item>
            <title>Top 10 Things to Look for from MacWorld 2009</title>
            <description>With Apple's final MacWorld opening today, there's a lot of anticipation over what Apple might announce this time.  It's safe to say that Apple won't break the mold this year by announcing a new product like the iMac, iPod or iPhone, yet this go around is still packed with drama and hype.  Here are the top 10 announcements I'd like to see come out of MacWorld 2009.</description>
            <link>http://justinspegele.com/116+top-10-things-to-look-for-from-macworld-2009</link>
            <guid>http://justinspegele.com/116+top-10-things-to-look-for-from-macworld-2009</guid>
            <pubDate>Monday, 04 Jan 2009 08:12 EST</pubDate>
        </item>
        <item>
            <title>Welcome to the New justinspegele.com</title>
            <description>Welcome to the all new justinspegele.com.  This site is where I'm going to share my random thoughts, stuff I find on the interwebs, review movies, books, games, etc. and whatever else I come up with.  Check out the site and come back often.</description>
            <link>http://justinspegele.com/115+welcome-to-the-new-justinspegelecom</link>
            <guid>http://justinspegele.com/115+welcome-to-the-new-justinspegelecom</guid>
            <pubDate>Saturday, 03 Jan 2009 11:05  EST</pubDate>
        </item>
        <item>
            <title>MySQL: Subqueries vs. Joins</title>
            <description>MySQL subqueries, supported in v4.1+, allow for SELECT statements to be placed within other statements, giving you a structured query that can be isolated from the rest of the query.  This allows you to avoid using complex joins and have more readable, easier to understand code.  These advantages come at the expense of code performance, though, as those complex joins are often more efficient than a subquery.  For a small-scale database, like one for a personal website or blog, the ease and readability of your code will provide more of a benefit than the small hit in performance.</description>
            <link>http://justinspegele.com/114+mysql-subqueries-vs-joins</link>
            <guid>http://justinspegele.com/114+mysql-subqueries-vs-joins</guid>
            <pubDate>Wednesday, 01 Oct 2008 11:00  EST</pubDate>
        </item>
        <item>
            <title>MySQL Stored Procedures: CASE Statements</title>
            <description>Many developers aren't aware that there is a CASE statement in MySQL 5.0 which enables you to have if-then-else functionality directly in your SQL.  The CASE statement is for stored procedures, which are SQL statements that can be stored on the server so that clients don't have to keep reissuing the same statements ove rand over.  The functionality of the MySQL CASE statement is basically the same as any other case function in programming.  If a search condition evaluates as true, then the following block of code is executed.  You can have any number of if-then statements and follow them up with a single else statement to be executed if none of the search conditions are true. Be sure to always add an ELSE clause into your code block.  MySQL will return the "Case not found for CASE statement" error if no search conditions evaluate to true and there is no ELSE clause.  For instances where there is no ELSE code to execute, use an empty BEGIN . . . END code block.  The CASE function is one of the most powerful functions in SQL coding.  The CASE function can evaluate complex conditional statements, use any comparison operator and check multiple conditions all directly in your SQL code.  CASE allows you to combine multiple SQL queries into one powerful query, based on the conditions you lay out.</description>
            <link>http://justinspegele.com/113+mysql-stored-procedures-case-statements</link>
            <guid>http://justinspegele.com/113+mysql-stored-procedures-case-statements</guid>
            <pubDate>Sunday, 28 Sep 2008 7:18  EST</pubDate>
        </item>
        <item>
            <title>Microsoft, Mozilla, Google Talk Browser Futures [eWeek]</title>
            <description>eWeek recently put together a panel of representatives from Microsoft, Mozilla and Google to talk about the future of web browsers.  Cross browser compapatability is the major topic here as developers continue to struggle with the lack of standards.  The panel of experts faced off on HTML 5, Canvas, Silverlight, IE 8, Google Chrome and Firefox at the Web 2.0 Expo, then took on questions from an audience of disgruntled developers hoping to hear how these browsers will unify the web.  Let's just say that I don't expect to be able to forget about browser compatability for quite some time.</description>
            <link>http://justinspegele.com/112+microsoft-mozilla-google-talk-browser-futures-eweek</link>
            <guid>http://justinspegele.com/112+microsoft-mozilla-google-talk-browser-futures-eweek</guid>
            <pubDate>Monday, 22 Sep 2008 9:53  EST</pubDate>
        </item>
        <item>
            <title>50+ High Quality .PSD Files and Tutorials [Noupe]</title>
            <description>Check out these PSD files and tutorials posted at Noupe.com yesterday.  These could be a huge help for you next time your trying to create that perfect graphic for your site.</description>
            <link>http://justinspegele.com/111+50-high-quality-psd-files-and-tutorials-noupe</link>
            <guid>http://justinspegele.com/111+50-high-quality-psd-files-and-tutorials-noupe</guid>
            <pubDate>Monday, 11 Aug 2008 11:29  EST</pubDate>
        </item>
        <item>
            <title>Aurora Concept Video [Adaptive Path]</title>
            <description>Aurora is a concept browser created by Adaptive Path as part of the Mozilla concept browser series.  The video explores and entirely new way in which people could interact with the web through technology that is projected to appear in the mainstream over the next decade.</description>
            <link>http://justinspegele.com/110+aurora-concept-video-adaptive-path</link>
            <guid>http://justinspegele.com/110+aurora-concept-video-adaptive-path</guid>
            <pubDate>Wednesday, 06 Aug 2008 7:46  EST</pubDate>
        </item>
        <item>
            <title>96 Free Icon Sets For Web Designers and Developers [specky boy]</title>
            <description>The team at speckyboy.com took the time to pull together a list of 96 high-quality, free icon sets; the least you can do is take a look at it.  Besides, there's some really good icon packs in here.  This post is definitely worth a bookmark.</description>
            <link>http://justinspegele.com/109+96-free-icon-sets-for-web-designers-and-developers-specky-boy</link>
            <guid>http://justinspegele.com/109+96-free-icon-sets-for-web-designers-and-developers-specky-boy</guid>
            <pubDate>Tuesday, 05 Aug 2008 12:58  EST</pubDate>
        </item>
        <item>
            <title>Sorting 2D Arrays in JavaScript</title>
            <description>So you're working with a 2D array in JavaScript and you need to find a way to sort the damn thing.  As it turns out, it's not nearly as bad as you might think.  While JavaScript does not have a built in 2D array sort function to go along with array.sort(), you are able to utilize good old sort() by passing it a custom comparison function.</description>
            <link>http://justinspegele.com/107+sorting-2d-arrays-in-javascript</link>
            <guid>http://justinspegele.com/107+sorting-2d-arrays-in-javascript</guid>
            <pubDate>Monday, 04 Aug 2008 18:55  EST</pubDate>
        </item>
        <item>
            <title>CSS Layouts: 40+ Tutorials, Tips, Demos and Best Practices [noupe]</title>
            <description>Noupe.com posted a very good resource for CSS designers of all skill levels yesterday; 40+ tutorials, tips, demos and best practices.</description>
            <link>http://justinspegele.com/106+css-layouts-40-tutorials-tips-demos-and-best-practices-noupe</link>
            <guid>http://justinspegele.com/106+css-layouts-40-tutorials-tips-demos-and-best-practices-noupe</guid>
            <pubDate>Tuesday, 29 Jul 2008 20:48  EST</pubDate>
        </item>
        <item>
            <title>5 Rules of Variable Naming [Ian Hickman]</title>
            <description>Ian Hickman posted 5 rules for variable naming, today.  I strongly agree with the first 4 rules and hope you all follow them; the 5th is debatable. Personally, I use i, ii, j, k, etc. all the time and have never found it to be a problem.  They are commonly used names for loop counters and any programmer should know what they mean.</description>
            <link>http://justinspegele.com/105+5-rules-of-variable-naming-ian-hickman</link>
            <guid>http://justinspegele.com/105+5-rules-of-variable-naming-ian-hickman</guid>
            <pubDate>Thursday, 24 Jul 2008 20:55  EST</pubDate>
        </item>
        <item>
            <title>Photoshop vs Fireworks [Digital Web]</title>
            <description>And so the never ending debate continues.  Nathan Smith at Digital Web Magazine had the opportunity to debate the use of Photoshop versus Fireworks with 8 top web designers; 4 in favor of each.  Though they each had convincing arguments; the most convincing to me was offered by Jared Christensen, a designer at Viewzi.</description>
            <link>http://justinspegele.com/104+photoshop-vs-fireworks-digital-web</link>
            <guid>http://justinspegele.com/104+photoshop-vs-fireworks-digital-web</guid>
            <pubDate>Wednesday, 23 Jul 2008 21:48  EST</pubDate>
        </item>
        <item>
            <title>North Carolina Library Teaches Game Design to Kids [Ars Technica]</title>
            <description>Michael Thompson over at Ars Technica published a story yesterday on a North Carolina public library that is offering summer workshops in game design.  Kids get an opportunity to design 2D platforming games (think NES side-scrollers) in small groups over the course of 4 days.  Utilizing a drag-and-drop application and pre-built graphics libraries, the kids are able to design a working title over the course of a week.</description>
            <link>http://justinspegele.com/103+north-carolina-library-teaches-game-design-to-kids-ars-technica</link>
            <guid>http://justinspegele.com/103+north-carolina-library-teaches-game-design-to-kids-ars-technica</guid>
            <pubDate>Tuesday, 22 Jul 2008 18:20  EST</pubDate>
        </item>
        <item>
            <title>Generating Random and Unique Directory Names in PHP</title>
            <description>It's been way too long since I've updated the site, and I wouldn't exactly say I'm coming back with a bang, but I've got a nice little function that I thought many of you could use.  My latest project has a file share built in where users can store up to 100MB of files right in the web app. Very often, a user doesn't want to take the time to think up a name for the share; especially one that will only be around for one or two uses.  To make their lives just that much easier, I built a function to generate a random string of characters, then check to see if that string is already in use.  If it is, I simply run through the loop a second time, generating a new random string.  That may not sound like the most efficient way of doing it, but being that there's over 250,000,000 10-character permutations of the 36 letters and numbers (and my site is just not that popular), I don't expect to run through that loop too many times.</description>
            <link>http://justinspegele.com/101+generating-random-and-unique-directory-names-in-php</link>
            <guid>http://justinspegele.com/101+generating-random-and-unique-directory-names-in-php</guid>
            <pubDate>Tuesday, 17 Jun 2008 7:12PM  EST</pubDate>
        </item>
        <item>
            <title>Firefox 3 Launches June 17th, Mozilla Goes for Guinness Record</title>
            <description>Mozilla is set to release the highly anticipated Firefox 3 tomorrow, June 17th.  The latest version of the worlds second most popular web browser features an enhanced user experience, better performance, tighter security and even more customization.  All this combine to create what Mozilla call the "fastest, smartest, most powerful browser" they've released to date.</description>
            <link>http://justinspegele.com/100+firefox-3-launches-june-17th-mozilla-goes-for-guinness-record</link>
            <guid>http://justinspegele.com/100+firefox-3-launches-june-17th-mozilla-goes-for-guinness-record</guid>
            <pubDate>Tuesday, 16 Jun 2008 6:10PM  EST</pubDate>
        </item>
        <item>
            <title>Dynamically Construct and Edit XML Documents with PHP DOM</title>
            <description>When working with XML-based applications you'll often find the need to append elements to your document or even build new XML documents on the fly.  PHP's DOM API can be used to dynamically generate well-formed XML documents as well as editing existing files.  In this tutorial we will construct a basic XML document used to store information on pending repairs at an auto repair shop, using the DOM API.</description>
            <link>http://justinspegele.com/98+dynamically-construct-and-edit-xml-documents-with-php-dom</link>
            <guid>http://justinspegele.com/98+dynamically-construct-and-edit-xml-documents-with-php-dom</guid>
            <pubDate>Wednesday, 27 Feb 2008 4:32PM  EST</pubDate>
        </item>
        <item>
            <title>PHP Recursive Directory Traversal</title>
            <description>A recursive function, simply put, is a function that calls itself.  Certain functional languages, such as LISP and Scheme, are designed with recursion in mind; and recursive functions are often required to complete a program.  PHP, on the other hand, focuses on iteration.  Recursion is often very costly in PHP and not usually your best option.  In the case of traversing a file system, though, recursion is the best and most efficient option.</description>
            <link>http://justinspegele.com/97+php-recursive-directory-traversal</link>
            <guid>http://justinspegele.com/97+php-recursive-directory-traversal</guid>
            <pubDate>Wednesday, 13 Feb 2008 7:02PM  EST</pubDate>
        </item>
    </channel></rss>