<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title>SiteCrafting Blah Blah Blog</title>
		<link>http://www.sitecrafting.com/blog/</link>
		<description>Latest blog entries from staff at SiteCrafting</description>
		<language>en-us</language>
		<pubDate>Sat, 17 May 2008 02:49:30 PDT</pubDate>
		<lastBuildDate>Sat, 17 May 2008 02:49:30 PDT</lastBuildDate>
		<generator>SiteCrafting, Inc. CMS</generator>

		<item>
			<title>Dumping Duplicates</title>
			<link>http://www.sitecrafting.com/blog/dumping-duplicates/</link>
			<description>
  One of the more recent additions to the SiteCrafting CMS arsenal is a comprehensive error logger, tracking all PHP and MySQL errors (by default... other error types can be created on a case by case basis) that occur in new sites we build. Errors are stored in our own intranet system with a timestamp, error body and a site ID (assigned to each client at a different stage of our project workflow). The table looks something like this:+----+---------------------+---------------+---------+| id | logTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | text&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | project |+----+---------------------+---------------+---------+|&amp;nbsp; 2 | 2008-05-14 14:42:15 | A PHP Error&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 ||&amp;nbsp; 3 | 2008-05-14 14:42:26 | A PHP Error&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 ||&amp;nbsp; 4 | 2008-05-14 14:42:34 | A PHP Error&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 ||&amp;nbsp; 5 | 2008-05-14 14:42:47 | A MySQL Error |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 ||&amp;nbsp; 6 | 2008-05-14 14:42:56 | A MySQL Error |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 ||&amp;nbsp; 7 | 2008-05-14 14:43:05 | A PHP Error&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 ||&amp;nbsp; 8 | 2008-05-14 14:43:10 | A PHP Error&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 ||&amp;nbsp; 9 | 2008-05-14 14:43:21 | A MySQL Error |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 |+----+---------------------+---------------+---------+8 rows in set (0.00 sec)Obviously sometimes we get duplicate errors coming through. Aside from being mere mortals who aren't always fast enough to correct an error before it recurs, one of the first stages of debugging is to try and replicate the error. These are often pretty easy to manage. It's pretty trivial to search for all matching errors, check them all, and delete them. Sometimes, though, this just doesn't cut it. Like when there are a few different errors with 10,000 occurrences apiece.
 ... </description>
			<pubDate>Wed, 14 May 2008 16:15:00 PDT</pubDate>
		</item>
		<item>
			<title>Appreciation</title>
			<link>http://www.sitecrafting.com/blog/appreciation/</link>
			<description>
What an honor and at the same time, what a challenge. SiteCrafting is thrilled to be named by The Business Examiner as the Top Place to Work in the category of Employee Appreciation, but --- and here's the big but --- it means we have to live up that honor. A challenge I am glad to take on, given the dedication, commitment, and selflessness shown on a daily basis by our people who truly make SiteCrafting a top place to work.Sure, we have a lot of very smart, technically minded people working here, but what's more important and worthy of recognition is the fact that we have incredible human beings working here. We have individuals committed to our customers, to our vision, to our community and to each other. So how did this happen?&amp;nbsp; And how do I live up to the challenge?
 ... </description>
			<pubDate>Fri, 25 Apr 2008 09:25:00 PDT</pubDate>
		</item>
		<item>
			<title>SiteCrafting to Expand into New Markets</title>
			<link>http://www.sitecrafting.com/blog/sitecrafting-to-expand-new-markets/</link>
			<description>
  Seeing the time as ripe for expansion, SiteCrafting has launched a new venture in an effort to expand into prescription eyewear. SightCrafters, LLC will bring to the eyewear world what SiteCrafting has brought to the web development business.
 ... </description>
			<pubDate>Tue, 01 Apr 2008 09:48:00 PDT</pubDate>
		</item>
		<item>
			<title>Got API?</title>
			<link>http://www.sitecrafting.com/blog/got-api/</link>
			<description>
gotAPI.com is one of the most useful online resources I've come across, primarily because it places resources spread all over the internet into one simple site. I've been using this for quite some time, and have for the most part I have taken its usefulness for granted. Then it occurred to me that I might not be the only one that could find this tool useful (I know, it was a big 'DUH!' moment). So now I will share this gem with others...
 ... </description>
			<pubDate>Mon, 31 Mar 2008 11:40:00 PDT</pubDate>
		</item>
		<item>
			<title>Change is Good</title>
			<link>http://www.sitecrafting.com/blog/change-good/</link>
			<description>
Normally government websites tend to be pretty dry and information-oriented, so I was expecting more of the same when I checked the Snoqualmie Pass traffic cameras from the WSDOT this morning. All the standard stuff that I've come to expect from years of checking the site before driving across the pass was there. However, there was one part of the site that gave me a good laugh this morning. Camera 2 was wiped out in an avalanche over the winter, but rather than a simple &quot;Camera Unavailable&quot; message that I've seen in the past, I saw this:
 ... </description>
			<pubDate>Fri, 28 Mar 2008 17:40:00 PDT</pubDate>
		</item>
		<item>
			<title>Make PHP Growl</title>
			<link>http://www.sitecrafting.com/blog/php-growl/</link>
			<description>
 I stumbled upon a fantastic PHP class today and felt compelled to comment on it. Originally written by Tyler Hall, this class allows you to send notifications to any system running Growl from a PHP script. For those of you that don't know, Growl is an application written for Mac OS X that is intended to act as a universal notification tool (much like the taskbar notification bubbles we've all come to know and love in Windows XP/Vista).
 ... </description>
			<pubDate>Wed, 26 Mar 2008 12:41:00 PDT</pubDate>
		</item>
		<item>
			<title>PHP 5.3 - A Heavy Hitter in Training</title>
			<link>http://www.sitecrafting.com/blog/php-53-heavy-hitter-in/</link>
			<description>
The evolution of PHP into an object-oriented programming language has been a very exciting process to watch. I'll admit its advancement seems to move at a glacial pace at times, but looking back we certainly have come a long way. With the release of 5.0 we saw PHP leave its childhood and enter its awkward adolescent stage. At this point there is evidence of a mature and complex object-oriented language while stilll exhibiting many of its younger habits.So what's in store for us next? Find out after the jump . . .
 ... </description>
			<pubDate>Wed, 12 Mar 2008 16:34:00 PDT</pubDate>
		</item>
		<item>
			<title>Touch the Vote</title>
			<link>http://www.sitecrafting.com/blog/touch-vote/</link>
			<description>
This time of year you either get hooked or get sick of everything politics. That's right, it's a Presidential election season and the 24-hour news cable channels are firing out tons of info both via your TV and online. Some worthy strides in web development practices have also come about on one news site in particular that may help political junkies get their fix anytime, anywhere.
 ... </description>
			<pubDate>Thu, 14 Feb 2008 16:29:00 PST</pubDate>
		</item>
		<item>
			<title>PHP Patterns, Part III</title>
			<link>http://www.sitecrafting.com/blog/php-patterns-part-iii/</link>
			<description>
The Template Object (or TO) is a design pattern of my own that I developed to fill the role of the View layer in the MVC model. As you have probably figured out, the purpose of the TO is to handle everything related to the user interface. The idea here is to separate the interface as much as possible from the rest of the application, so that we could do a complete rewrite of an application without ever touching (or accidentally &quot;breaking&quot;) the view portion.
 ... </description>
			<pubDate>Tue, 29 Jan 2008 15:15:00 PST</pubDate>
		</item>
		<item>
			<title>There is Nothing Small About Everything</title>
			<link>http://www.sitecrafting.com/blog/small/</link>
			<description>
So this is a post I've been working on in my mind for a very long time. I only recently realized that it needed to be written. You see, small business is anything but small. The services and products that businesses like SiteCrafting provide add value to their customers in such a way that small business has become, essentially, everything. 
 ... </description>
			<pubDate>Tue, 22 Jan 2008 19:41:00 PST</pubDate>
		</item>
		<item>
			<title>Thoughts On Creating Website Advertising Guidelines</title>
			<link>http://www.sitecrafting.com/blog/thoughts-on-creating-website-advertising/</link>
			<description>
Let's say you've got a website, and you're considering whether or not to advertise on it. Or maybe you've already got a website with advertising, and you're wondering if a particular kind of ad is appropriate to display on your site. The only problem is, you don't have a concrete set of guidelines to filter out what is acceptable, and what isn't. These are the kinds of questions you should ask yourself to resolve this dilemma.
 ... </description>
			<pubDate>Fri, 18 Jan 2008 11:29:00 PST</pubDate>
		</item>
		<item>
			<title>PHP Passes Homeland Security Test</title>
			<link>http://www.sitecrafting.com/blog/php-passes-homeland-security/</link>
			<description>
When meeting with prospective new clients, we tell them that SiteCrafting uses PHP and MySQL as the development platform. Invariably this leads some of them to ask us what PHP and MySQL are and if they are safe and fast. Sometimes, this can lead to interesting conversations, where we explain to them why we think PHP and MySQL are safe and fast. Occasionally, there's a client who remembers reading an article 4 or 5 years ago about PHP 3 having some security issues. We refer them to current articles on PHP and mention our own experiences, but the latter argument can come across as &quot;Because we say so,&quot; which isn't a good way to get the point across.
 ... </description>
			<pubDate>Wed, 09 Jan 2008 15:51:00 PST</pubDate>
		</item>
		<item>
			<title>Anonymous Recursion with JavaScript</title>
			<link>http://www.sitecrafting.com/blog/anonymous-recursion-javascript/</link>
			<description>
A nice feature of JavaScript is that functions are objects. As such, they do not need a name if they are used right away. But what if you need a short anonymous recursive function? arguments.callee becomes your new best friend.
 ... </description>
			<pubDate>Fri, 04 Jan 2008 15:21:00 PST</pubDate>
		</item>
		<item>
			<title>Technical Debt</title>
			<link>http://www.sitecrafting.com/blog/technical-debt/</link>
			<description>
The concept of technical debt (first coined by Ward Cunningham) has been something that has wandered about my head without a name for quite some time. The other day I read an article that finally put it into words. It is what I have always seen as the reason writing beautiful code is not just an endeavor in aesthetics. At this point you're probably wondering what the heck I'm rambling on about. Don't give up on me yet, I'm about to explain . . .
 ... </description>
			<pubDate>Fri, 21 Dec 2007 10:19:00 PST</pubDate>
		</item>
		<item>
			<title>Understanding Web Design at Alistapart = Holiday Joy</title>
			<link>http://www.sitecrafting.com/blog/understanding-web-design-at-alistapart/</link>
			<description>
Being very fond of the analogy of web design/development-as-architecture, I was overjoyed with this article, by Jeffrey Zeldman, on Alistapart: Understanding web design.There isn't much more to say; it's the usual web-design-isn't-just-looks,-guys, but very eloquently and effectively worded. The kind of stuff to put on the wall. 
 ... </description>
			<pubDate>Tue, 18 Dec 2007 11:03:00 PST</pubDate>
		</item>
		<item>
			<title>Free Buttons</title>
			<link>http://www.sitecrafting.com/blog/buttons/</link>
			<description>
Depending on how well of a response I get I might be doing this more. Figured since the holidays are right around the corner and you all have been pretty good lately I could give you a free mini button set. :) EnjoyDownload Buttons
 ... </description>
			<pubDate>Mon, 17 Dec 2007 14:56:00 PST</pubDate>
		</item>
		<item>
			<title>Facebook Beacon: Social Media Becomes Spyware</title>
			<link>http://www.sitecrafting.com/blog/facebook-beacon-social-media-spyware/</link>
			<description>
I've been a Facebook user for quite some time - even before they had the facebook.com domain. One thing that I absolutely love about it is the control they give you to limit what other people see about you. I've adopted a very serious set of controlls that limits only people I actually know to see anything about me. However, this is a false sense of security. Everything I post online that anyone besides me can access is inherently public. This is what initially drew myself and countless other people to Facebook.However, their new advertising platform - Beacon - throws all this out the window. Beacon is a system that allows Facebook to track what you do on other websites. Let me reiterate that: Facebook tracks what you do online. They don't just track what you say you like on your profile, for example what movies you like; with Beacon they can track what movies you're actually renting. 
 ... </description>
			<pubDate>Tue, 04 Dec 2007 11:41:00 PST</pubDate>
		</item>
		<item>
			<title>Why is AOL denying email?</title>
			<link>http://www.sitecrafting.com/blog/aol-denying-email/</link>
			<description>
  Email debugging is often frustrating and time consuming. There could be numerous reasons why the email you attempted to send out through your code fails: routing issues, firewalls, company servers blacklisting or blocking incoming emails, spam filters, bad DNS records, and email header requirements. The last one can definetely lead to infinite frustration, as I have experienced in the past, and was recently the cause of why AOL was denying emails generated by the php mail() function.
 ... </description>
			<pubDate>Fri, 30 Nov 2007 13:05:00 PST</pubDate>
		</item>
		<item>
			<title>Star Wars IV Animated ASCII Art</title>
			<link>http://www.sitecrafting.com/blog/star-wars-iv-animated-ascii/</link>
			<description>
  In a recent The Code Project Insider email newsletter, there was a link to an animated ASCII art for Star Wars IV, A New Hope. This brought back fond memories of a bygone era, where I cruised the ASCII based bulletin boards on my trusty Color Computer, the CoCo, and played ASCII art games, such as Voyage of the Valkyries (a game written by my Keithley Jr HS teacher Mr. Leo Christopherson*) and Star Trek, on my school's TRS-80 Model 4, trash 80. I also had the experience of entering the code for several ASCII art games from a book, where I learned that the GOTO statement is very dangerous, especially if you put in the wrong line number.
 ... </description>
			<pubDate>Wed, 28 Nov 2007 16:16:00 PST</pubDate>
		</item>
		<item>
			<title>RescueTime: Find out where all your time is going...</title>
			<link>http://www.sitecrafting.com/blog/rescuetime-time-going/</link>
			<description>
Having stumbled upon RescueTime, I feel compelled to share my discovery as this concept is just too useful to keep to myself. The basic idea behind this website is to make it easier to keep track of where you spend your time while at your computer. If you find yourself filling out your timesheet at the end of the week only to realize you can't remember what you were doing all that time, this tool was made for you!
 ... </description>
			<pubDate>Wed, 28 Nov 2007 14:02:00 PST</pubDate>
		</item>
		<item>
			<title>Office Star Trek: TNG marathon</title>
			<link>http://www.sitecrafting.com/blog/office-star-trek-tng-marathon/</link>
			<description>
  That's what we did a couple Fridays ago here in the office. Brian's wife Julie is an avid Trekker and was excited to plan a Next Generation marathon with us. And we definitely put her complete series DVD collection to good use. From about 5:30pm on we watched episode after favorite episode. After a pile of snacks, some great pizza, sharing Star Trek memories, 7 episodes, it was half past midnight and time to wrap it up.Thanks to Julie for making the trek (ha!) up and for those killer communicator cookies. We'll definitely have to do it again sometime.Pics after the break.
 ... </description>
			<pubDate>Tue, 27 Nov 2007 07:18:00 PST</pubDate>
		</item>
	</channel>
</rss>

