<?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/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>64 Square Feet</title>
	<atom:link href="http://64sqft.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://64sqft.wordpress.com</link>
	<description>My adventures in web development and technology</description>
	<lastBuildDate>Fri, 27 May 2011 14:21:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='64sqft.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>64 Square Feet</title>
		<link>http://64sqft.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://64sqft.wordpress.com/osd.xml" title="64 Square Feet" />
	<atom:link rel='hub' href='http://64sqft.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Validation error when re-ordering Drupal menus</title>
		<link>http://64sqft.wordpress.com/2011/03/21/validation-error-when-re-ordering-drupal-menus/</link>
		<comments>http://64sqft.wordpress.com/2011/03/21/validation-error-when-re-ordering-drupal-menus/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 15:28:57 +0000</pubDate>
		<dc:creator>Dana</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://64sqft.wordpress.com/?p=156</guid>
		<description><![CDATA[Had a weird problem crop up with our new drupal site we&#8217;re developing. When re-ordering the Primary Links menu, my editors would get the following error: &#8220;Validation error, please try again. If this error persists, please contact the site administrator&#8221;. This is a really weird error because the Primary Links form shouldn&#8217;t really be doing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=156&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Had a weird problem crop up with our new drupal site we&#8217;re developing. When re-ordering the Primary Links menu, my editors would get the following error: &#8220;Validation error, please try again. If this error persists, please contact the site administrator&#8221;. This is a really weird error because the Primary Links form shouldn&#8217;t really be doing any validation in the normal sense.</p>
<p>So I started digging around in the logs. I noticed first off that the apache logs were showing that apache was actually crashing and restarting every time I saw this error. This is pretty serious, but doesn&#8217;t tell me what&#8217;s going on. So I went and checked the PHP logs. Nothing. Lastly I checked the syslog and came up with the following entry: &#8220;suhosin[10579]: ALERT &#8211; configured POST variable limit exceeded &#8211; dropped variable &#8216;mlid:3691[hidden]&#8216;&#8221;. Now that&#8217;s interesting, no?</p>
<p>Suhosin is a security package for PHP. Apparently it didn&#8217;t like the massive amount of data the Primary Menu for is posting. So after doing a quick Google search I discovered that I can up the limit for post variables in Suhosin. I went to my Suhosin in ini file and uncommented and changed the following lines:</p>
<p>suhosin.post.max_array_depth = 512<br />
suhosin.post.max_vars = 1000<br />
suhosin.request.max_vars = 500</p>
<p>I then restarted the apache2 service and tested. Everything is fine. If you&#8217;d had similar experience or can shed some light on exactly what these parameters do, please leave a comment.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/64sqft.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/64sqft.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/64sqft.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/64sqft.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/64sqft.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/64sqft.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/64sqft.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/64sqft.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/64sqft.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/64sqft.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/64sqft.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/64sqft.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/64sqft.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/64sqft.wordpress.com/156/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=156&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://64sqft.wordpress.com/2011/03/21/validation-error-when-re-ordering-drupal-menus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dba22d0249943bbff6e3243a54da6f2d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dana</media:title>
		</media:content>
	</item>
		<item>
		<title>Tools to build a monster website with no money</title>
		<link>http://64sqft.wordpress.com/2010/11/18/tools-to-build-a-monster-website-with-no-money/</link>
		<comments>http://64sqft.wordpress.com/2010/11/18/tools-to-build-a-monster-website-with-no-money/#comments</comments>
		<pubDate>Thu, 18 Nov 2010 15:56:23 +0000</pubDate>
		<dc:creator>Dana</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://64sqft.wordpress.com/?p=153</guid>
		<description><![CDATA[I&#8217;m knee deep in the redesign of our corporate website. This is an incredible task for several reasons. First, I dont&#8217; have a technical &#8220;team&#8221;, it&#8217;s just me bolting together this website for a healthcare organization that has over 6000 employees. This thing is frigging big, man. 500 pages, a few dozen forms, news feeds, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=153&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m knee deep in the redesign of our corporate website. This is an incredible task for several reasons. First, I dont&#8217; have a technical &#8220;team&#8221;, it&#8217;s just me bolting together this website for a healthcare organization that has over 6000 employees. This thing is frigging big, man. 500 pages, a few dozen forms, news feeds, custom physician search module, medical library integration, charitable giving integration, Job search and application integration, and the list goes on.</p>
<p>Luckily there are tools that have made my job a thousand times easier and so I&#8217;m going to share a few. Some of these I&#8217;ve written about in the past, but I&#8217;m going to roll them together here for my sake, and for yours.</p>
<p><a href="http://drupal.org/"><strong>Drupal</strong></a></p>
<p>I cannot say enough about this program. Drupal is the savior of the modern corporate web developer. If I had to custom code everything that Drupal is doing for our website it would take a team of developers working for several years to put this thing up. With Drupal I&#8217;ve been able to put together the framework for our site, fully branded in just a few short months (working part time on it). And now my users will fill in content while I go on to program the custom stuff. We&#8217;re looking at a 9 month implementation time for a gigantic site with a team consisting of 1 developer, 1 marketing guy, and a handful of content editors&#8230;.and no capital expenditures. The company we had originally contracted with to redo our site wanted $100k and had a team of at least a dozen developers/designers. We&#8217;re doing this thing for zero dollars and the amazing thing, it&#8217;s going to be better and more expandable than what this firm was promising to deliver.</p>
<p>So now that the framework is in place, let&#8217;s talk about some great libraries and tools.</p>
<p><a href="http://bastian-allgeier.de/css_browser_selector/"><strong>CSS Browser Selector</strong></a></p>
<p>Here&#8217;s how web development works. You fire up Firefox or Chrome and develop your site because these browsers have killer development tools. Then once you get everything nailed just perfect, you fire up Internet Explorer and discover that all the work you just did is horribly broken. At this point you can either go have a beer and contemplate another career, or you can fire up CSS Browser Selector. What this little library does is sniff the browser and attach classes to the html tag in your page. This way you can easily write CSS rules targeting specific browsers. No more hacks! I&#8217;m convinced this is the greatest tool in my web building arsenal.</p>
<p><a href="http://jquery.com/"><strong>JQuery</strong></a></p>
<p>I honestly don&#8217;t know how I lived before JQuery. Oh wait, I know, I just avoided Javascript at all costs. Seriously, Javascript gives me the cold sweats. Well, I no longer fear Javascript, and John Resig, you are unreal. Thanks for putting this gigantic time saver together.</p>
<p><strong><a href="http://www.marghoobsuleman.com/jquery-image-dropdown">JQuery Image Dropdown</a></strong></p>
<p>This is a fantastic piece of code that replaces the standard dropdown selection box (which is rendered differently on every single browser) and makes it a beautiful, skinnable, dropdown. It works perfectly and consistently across all browsers and looks fantastic.</p>
<p><strong><a href="http://www.geektantra.com/2010/05/jquery-megamenu-2/">JQuery MegaMenu</a></strong></p>
<p>Mega menus are giant fly out menus that can contain all sorts of content and are a great way to guide your users to the right content in very deep sites. Once again though, the problem is getting them first to look gorgeous and second, getting them to work consistently across all browsers. Well, this one accomplishes both.</p>
<p>OK so that&#8217;s it for now. I&#8217;m sure as I get deeper and deeper into this project over the next few months I&#8217;ll have some more great tools and stuff to share. I&#8217;ll also be doing some write ups on my favorite Drupal modules.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/64sqft.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/64sqft.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/64sqft.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/64sqft.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/64sqft.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/64sqft.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/64sqft.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/64sqft.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/64sqft.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/64sqft.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/64sqft.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/64sqft.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/64sqft.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/64sqft.wordpress.com/153/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=153&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://64sqft.wordpress.com/2010/11/18/tools-to-build-a-monster-website-with-no-money/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dba22d0249943bbff6e3243a54da6f2d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dana</media:title>
		</media:content>
	</item>
		<item>
		<title>CSS Browser Selector</title>
		<link>http://64sqft.wordpress.com/2010/11/03/css-browser-selector/</link>
		<comments>http://64sqft.wordpress.com/2010/11/03/css-browser-selector/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 16:19:42 +0000</pubDate>
		<dc:creator>Dana</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://64sqft.wordpress.com/?p=151</guid>
		<description><![CDATA[I&#8217;m constantly running into a particularly sucky situation when designing website layouts. Even though today&#8217;s browsers are much better at rendering html and css in a consistent manner, there are still lots of little annoyances that make my job miserable and usually result in dumbing down the design so it looks the same across browser [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=151&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m constantly running into a particularly sucky situation when designing website layouts. Even though today&#8217;s browsers are much better at rendering html and css in a consistent manner, there are still lots of little annoyances that make my job miserable and usually result in dumbing down the design so it looks the same across browser versions.</p>
<p>Today I found a fantastic utility. It&#8217;s basically a browser sniffer that injects class tags that denote which browser the end user is using into the HTML tag at runtime. So if somebody visits my site using Firefox, the HTML tag will have a class of &#8216;ff&#8217; applied. What this means is that I can now apply CSS only to certain browsers and I can have different CSS for each browser without resorting to hacks. This is a FANTASTIC tool. I still have to write custom CSS for each browser, so there&#8217;s still a lot of work to do if a certain browser is being finicky, this utility does not do any &#8220;resets&#8221; or anything like that. But it now let&#8217;s me write specific CSS to deal with quirks and bugs in a logical and beautiful format and that&#8217;s great.</p>
<p>There are two versions out there. One is a Javascript version and the other is a PHP version. You can get them at the links below.</p>
<p>Javascript version: <a href="http://rafael.adm.br/css_browser_selector/">http://rafael.adm.br/css_browser_selector/</a></p>
<p>PHP version: <a href="http://bastian-allgeier.de/css_browser_selector/">http://bastian-allgeier.de/css_browser_selector/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/64sqft.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/64sqft.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/64sqft.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/64sqft.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/64sqft.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/64sqft.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/64sqft.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/64sqft.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/64sqft.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/64sqft.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/64sqft.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/64sqft.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/64sqft.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/64sqft.wordpress.com/151/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=151&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://64sqft.wordpress.com/2010/11/03/css-browser-selector/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dba22d0249943bbff6e3243a54da6f2d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dana</media:title>
		</media:content>
	</item>
		<item>
		<title>2010 Web Design Survey</title>
		<link>http://64sqft.wordpress.com/2010/10/22/2010-web-design-survey/</link>
		<comments>http://64sqft.wordpress.com/2010/10/22/2010-web-design-survey/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 15:02:22 +0000</pubDate>
		<dc:creator>Dana</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://64sqft.wordpress.com/?p=149</guid>
		<description><![CDATA[The 2010 Web Design Survey is live. Everyone involved in any way in creating websites should take this survey. http://alistapart.com/articles/survey2010 2009 results are here: http://www.alistapart.com/articles/findings-from-the-web-design-survey-2009/<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=149&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The 2010 Web Design Survey is live. Everyone involved in any way in creating websites should take this survey. </p>
<p>http://alistapart.com/articles/survey2010</p>
<p>2009 results are here:</p>
<p>http://www.alistapart.com/articles/findings-from-the-web-design-survey-2009/</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/64sqft.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/64sqft.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/64sqft.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/64sqft.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/64sqft.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/64sqft.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/64sqft.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/64sqft.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/64sqft.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/64sqft.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/64sqft.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/64sqft.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/64sqft.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/64sqft.wordpress.com/149/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=149&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://64sqft.wordpress.com/2010/10/22/2010-web-design-survey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dba22d0249943bbff6e3243a54da6f2d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dana</media:title>
		</media:content>
	</item>
		<item>
		<title>Project Management</title>
		<link>http://64sqft.wordpress.com/2010/08/10/project-management/</link>
		<comments>http://64sqft.wordpress.com/2010/08/10/project-management/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 16:46:46 +0000</pubDate>
		<dc:creator>Dana</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[project management]]></category>

		<guid isPermaLink="false">http://64sqft.wordpress.com/?p=145</guid>
		<description><![CDATA[I thought I&#8217;d write something a little different today. As programmers and sys-admins and jacks-of-all-trades, we&#8217;re often asked to juggle multiple projects at a time and we need to keep track of where each project or task is. It&#8217;s not all about just knowing technology. So I&#8217;ll say the dirty words now: Project Management. I know, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=145&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I thought I&#8217;d write something a little different today. As programmers and sys-admins and jacks-of-all-trades, we&#8217;re often asked to juggle multiple projects at a time and we need to keep track of where each project or task is. It&#8217;s not all about just knowing technology. So I&#8217;ll say the dirty words now: Project Management. I know, even typing it makes me cringe.</p>
<p>Project Management is one of those things like golf. Everyone sucks at it and so there are a million other people who SAY they are good at it and want to sell you classes and gadgets to make you good at it to. But that&#8217;s really a lie. Everyone pretty much sucks at it. It&#8217;s just an inexact science. So I&#8217;m not going to give you any great insight here, I&#8217;m just going to tell you what has been working for me lately.</p>
<p>In the past I have tried fancy to-do list programs and calendars and organizers and mind maps and spreadsheets and all that and it became more of a hassle to use the damn software than it was to actually do the work. So, I asked my boss. I said; &#8220;Boss, I have a dozen irons in the fire and I don&#8217;t know how to keep track of them all, and so I don&#8217;t know how to keep you in the loop. What should I do?&#8221;. My boss being the good guy he is, and having a desire for simplicity as I do gave me a brilliant solution. Text files.</p>
<p>Text files??? Yes text files. My boss pointed out to me that there&#8217;s only two things that matter to him. What is the current status of the project, and what is the next step. So what he does is use a plain old text file for each project. Inside that text file he has lines that simply have the date and the next step for that project. Simple. Brilliant.</p>
<p>So I decided to give it a shot but take it just one step further. I use TextMate for my text editor so I wrote some shortcuts to make my text entry quicker. I also wanted to add the current status in addition to next steps. So my text file for a given project might look like this:</p>
<pre class="brush: plain;">
Title: HEAT MPS
Created by: Dana
Date: 2010-07-28
Description: Update program to send requests from HEAT to Print4 program.

Team Members: Alison

-------------------------------------------

2010-07-28 - Next Step: Get with tech support to discuss errors in web service.
2010-08-05 - Status: Have docs, reviewing new API
2010-08-05 - Next Step: Goal is to complete by 8/6
2010-08-09 - Status: Finished coding and got things working. Not in production yet!
2010-08-09 - Next Step: Mark to verify data got there OK and Alison to instruct on what to do with bad records.
2010-08-10 - Status: Verified that records were sent, moved into production. Still have issue with bad records. Address in a later revision.
</pre>
<p>And that&#8217;s it. Now anytime somebody calls or emails wanting to know what&#8217;s been done or what I&#8217;m working on, I can tell them. Now of course this is more of a personal project tracking system rather than a &#8220;project management&#8221; system but the beauty of it is that it doesn&#8217;t require fancy software, there&#8217;s no learning curve. </p>
<p>It&#8217;s all about keeping it simple. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/64sqft.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/64sqft.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/64sqft.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/64sqft.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/64sqft.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/64sqft.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/64sqft.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/64sqft.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/64sqft.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/64sqft.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/64sqft.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/64sqft.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/64sqft.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/64sqft.wordpress.com/145/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=145&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://64sqft.wordpress.com/2010/08/10/project-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dba22d0249943bbff6e3243a54da6f2d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dana</media:title>
		</media:content>
	</item>
		<item>
		<title>Linode Rocks!</title>
		<link>http://64sqft.wordpress.com/2010/06/25/linode-rocks/</link>
		<comments>http://64sqft.wordpress.com/2010/06/25/linode-rocks/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 05:39:35 +0000</pubDate>
		<dc:creator>Dana</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://64sqft.wordpress.com/?p=139</guid>
		<description><![CDATA[Yeah I know&#8230; a lot of things &#8220;rock&#8221; on this blog lately. But so be it. I&#8217;m digging into open source lately and really enjoying the quality and flexibility of the products. Drupal, WordPress, Linux, PHP, MySQL, CodeIgniter&#8230; these are my new friends. So I am finishing up a new Drupal site for a band [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=139&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Yeah I know&#8230; a lot of things &#8220;rock&#8221; on this blog lately. But so be it. I&#8217;m digging into open source lately and really enjoying the quality and flexibility of the products. Drupal, WordPress, Linux, PHP, MySQL, CodeIgniter&#8230; these are my new friends.</p>
<p>So I am finishing up a new Drupal site for a band that I was pleased to play drums for as they recorded their debut album and so I needed a host to serve the site. I also want to get my resume site up and host a few other clients as well. So as I was digging through the usual garbage hosting companies selling everything under the sun (except for performance and configurability) for $5 a month, I ran across a twitter post from somebody talking about Linode.</p>
<p>Linode is a somewhat unique hosting company that sells virtual servers. You pick what configuration you want, and then they spin up a virtual Linux server in just about any flavor you can think of. Then they give you the keys and let you run with it.</p>
<p>Now I love me some virtual machines. I think it&#8217;s the greatest technology ever developed. Screw up your server? No problem, wipe it out and start over. Try doing that on real hardware. It would take hours if not days to reconfigure. So Linode already had me interested. But what I think is really cool is that they just give you a bare server. No lame control panels to deal with, just an SSH account and a raw server to manipulate to your hearts content. OK, I take that back, they do have a control panel, but it&#8217;s not for the OS, it&#8217;s for the virtual hardware. You can see stats, partition the drives, reformat it at will, whatever. Want to try Ubuntu today and Debian tomorrow? No problem. I also like the DNS control panel. It&#8217;s the first I&#8217;ve seen like it. Linode is all about giving up control.</p>
<p>Now I&#8217;m not a big Linux guy. The last time I really took a hard look at Linux was years ago with a Slackware distro. It was a nightmare. Couldn&#8217;t get anything working. Absolute mess. What I&#8217;ve discovered is that Linux has come a long way. Apt-get is freaking awesome. I had Apache, PHP and MySQL configured in about an hour. Apache itself has made HUGE strides in ease of configuration. Yeah I still had to freshen up on Unix commands, but that information is easy to come by. All in all, setting up my server was relatively painless and I actually had fun doing it.</p>
<p>The greatest thing about the whole experience though was the updated walkthroughs for setting up just about anything on your Linode. The documentation is easy to follow, complete and VERY up to date. And that&#8217;s what sets these guys apart in my mind. They&#8217;ve taken the time to make the customer experience top notch.</p>
<p>Pricing is very good too. No you&#8217;re not going to host your site for $5 a month. But with plans starting at $20, the service is more than reasonable. And I like that the plans are based on RAM, storage and bandwidth, and not on features. I&#8217;m so sick of getting charged extra if I want a database or a DNS entry.</p>
<p>So what about performance? Well, I&#8217;m not pushing a lot of data yet, but I set up a client&#8217;s Drupal site on another host a few months ago and that sucker ran like an absolute pig. My Linode so far is zippy fast. We&#8217;ll see if it holds up as I put 3 more sites on it in the next month, but I think it will be just fine.</p>
<p>So I give Linode 5 beers. Yes beers. Who the heck wants stars?</p>
<p><a href="https://www.linode.com">https://www.linode.com</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/64sqft.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/64sqft.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/64sqft.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/64sqft.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/64sqft.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/64sqft.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/64sqft.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/64sqft.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/64sqft.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/64sqft.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/64sqft.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/64sqft.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/64sqft.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/64sqft.wordpress.com/139/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=139&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://64sqft.wordpress.com/2010/06/25/linode-rocks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dba22d0249943bbff6e3243a54da6f2d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dana</media:title>
		</media:content>
	</item>
		<item>
		<title>Uploading Files via JQuery, Form Plugin &amp; ASP.NET MVC</title>
		<link>http://64sqft.wordpress.com/2010/06/25/uploading-files-via-jquery-form-plugin-asp-net-mvc/</link>
		<comments>http://64sqft.wordpress.com/2010/06/25/uploading-files-via-jquery-form-plugin-asp-net-mvc/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 17:41:32 +0000</pubDate>
		<dc:creator>Dana</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[Form Plugin]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Uploader]]></category>

		<guid isPermaLink="false">http://64sqft.wordpress.com/?p=106</guid>
		<description><![CDATA[Finding a good way to do asynchronous uploads to a website has been tough. Honestly, I don&#8217;t know why they haven&#8217;t built the ability to upload via XHR into modern browsers yet. At any rate, I looked at a lot of solutions, most of which are built on Flash *ugh*, and I just couldn&#8217;t find [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=106&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Finding a good way to do asynchronous uploads to a website has been tough. Honestly, I don&#8217;t know why they haven&#8217;t built the ability to upload via <a href="http://en.wikipedia.org/wiki/XMLHttpRequest">XHR</a> into modern browsers yet. At any rate, I looked at a lot of solutions, most of which are built on Flash *ugh*, and I just couldn&#8217;t find anything that was really solid. I finally found a clever little JQuery form plugin creatively called&#8230;.. drum roll please&#8230; JQuery Form Plugin! <a href="http://malsup.com/jquery/form/">[Website]</a> So today I&#8217;m going to explain the proper way to use it to upload files asynchronously because there&#8217;s a few special things you need to know about.</p>
<p>First you need a form in your View. This can be a standard submit form but you need to make sure you set the <em>enctype </em>properly. Here&#8217;s what mine looks like.</p>
<pre class="brush: xml;">
&lt;form id=&quot;ajaxUploadForm&quot; action=&quot;&lt;%= Url.Action(&quot;UploadImage&quot;, &quot;Upload&quot;)%&gt;&quot; method=&quot;post&quot; enctype=&quot;multipart/form-data&quot;&gt;
    &lt;fieldset&gt;
        &lt;legend&gt;Upload&lt;/legend&gt;
        &lt;input id=&quot;file&quot; name=&quot;file&quot; type=&quot;file&quot; value=&quot;&quot; /&gt;
        &lt;input id=&quot;ajaxUploadButton&quot; type=&quot;submit&quot; value=&quot;Submit&quot; /&gt;
    &lt;/fieldset&gt;
&lt;/form&gt;
</pre>
<p>Easy enough. Now make sure you&#8217;ve included JQuery and the JQuery Forms JavaScript into your page. Then you&#8217;ll add a JavaScript function to catch the submit and deal with it properly. Here&#8217;s mine:</p>
<pre class="brush: jscript;">
$(&quot;#ajaxUploadForm&quot;).ajaxForm({
    iframe: &quot;true&quot;,
    success: function (response) {
        var msg = $.parseJSON($(response).val());
        if (msg.status == &quot;valid&quot;) {
            fadeInPageMessage(&quot;success&quot;, msg.message);
        } else if (msg.status == &quot;invalid&quot;) {
            fadeInPageMessage(&quot;error&quot;, msg.message);
        }
    }
});
</pre>
<p>So there&#8217;s a few important things to note here. I set the iframe parameter to &#8220;true&#8221;. This is done because you can&#8217;t upload a file via an AJAX call. So what the Form Plugin does is create an iframe dynamically, then submits the form as a normal POST via that iframe. </p>
<p>Now, since we&#8217;ve done a POST through an iframe and not via an XHR (XmlHttpRequest), the return data is also going to come back through that iframe, and it&#8217;s going to come back like a normal page would. This causes a lot of problems for people because normally your Controller Action would return a JsonResult which comes down to the browser as the type &#8220;application/json&#8221;. Since this is coming down to that iframe the browser thinks you&#8217;re downloading a file and prompts the user to pick a program to open it. This is obviously not what we want. </p>
<p>So how do we get our JSON result from this iframe and get it back to our javascript function so we can deal with it? Well, we have to return the data as HTML instead of JSON so the browser will not prompt the user. And since we&#8217;re sending down HTML we&#8217;ll follow the guidelines set by the creators of the Form Plugin and place our JSON string inside a TextArea. Here&#8217;s how that&#8217;s done.</p>
<p>We&#8217;ll create a new class that extends the JsonResult class. I found this code by <a href="http://aspzone.com/tech/jquery-file-upload-in-asp-net-mvc-without-using-flash/">John Rudolf Lewis</a> and it works fantastic:</p>
<pre class="brush: csharp;">
public class FileUploadJsonResult : JsonResult
{
	public override void ExecuteResult(ControllerContext context)
	{
		this.ContentType = &quot;text/html&quot;;
		context.HttpContext.Response.Write(&quot;&lt;textarea&gt;&quot;);
		base.ExecuteResult(context);
		context.HttpContext.Response.Write(&quot;&lt;/textarea&gt;&quot;);
	}
}
</pre>
<p>You use this class exactly like you would use your regular JsonResult class. As a result, here&#8217;s my Controller:</p>
<pre class="brush: csharp;">
public ActionResult UploadImage()
{
	HttpPostedFileBase file = Request.Files[&quot;file&quot;];
	if (file.ContentLength &gt; 0)
	{
		file.SaveAs([put your path here]);
		return new FileUploadJsonResult {
			Data = new {
				status = &quot;valid&quot;,
				message = &quot;Upload Successful&quot;
			}
		};
	}
	else
	{
		return new FileUploadJsonResult {
			Data = new {
				status = &quot;invalid&quot;,
				message = &quot;No Image Selected for Upload&quot;
			}
		};
	}
}
</pre>
<p>So this code checks to see if there&#8217;s a file and if so, saves it to disk and sends back a JSON response. If no file exists it sends back a separate response.</p>
<p>There&#8217;s one final thing that&#8217;s important to note. Now that we have the data in our iframe, we need to turn it back into a JSON object. If you go back at our client side JavaScript you&#8217;ll see the following code:</p>
<pre class="brush: jscript;">
success: function (response) {
    var msg = $.parseJSON($(response).val());
...
</pre>
<p>This takes the response, which is just a TextArea with some content, and using the val() function gets our JSON string. Then it passes it on to the parseJSON function which turns that string back into an object and assigns it to the msg variable. Now we can manipulate msg any way we see fit. </p>
<p>So in closing, the way the Form Plugin works is that it submits your form through an iframe. You process that submission, formulate your JSON string, wrap it in in a TextArea, and send it back to the browser as HTML. Then you strip the JSON string out of that HTML, turn it back into an object and do with it what you please.</p>
<p>I hope this clarifies the process for some of you and helps you to write great, Flash free upload pages.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/64sqft.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/64sqft.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/64sqft.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/64sqft.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/64sqft.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/64sqft.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/64sqft.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/64sqft.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/64sqft.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/64sqft.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/64sqft.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/64sqft.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/64sqft.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/64sqft.wordpress.com/106/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=106&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://64sqft.wordpress.com/2010/06/25/uploading-files-via-jquery-form-plugin-asp-net-mvc/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dba22d0249943bbff6e3243a54da6f2d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dana</media:title>
		</media:content>
	</item>
		<item>
		<title>WebFonts Rock!</title>
		<link>http://64sqft.wordpress.com/2010/06/15/webfonts-rock/</link>
		<comments>http://64sqft.wordpress.com/2010/06/15/webfonts-rock/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 03:55:03 +0000</pubDate>
		<dc:creator>Dana</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://64sqft.wordpress.com/?p=100</guid>
		<description><![CDATA[After the scare of a potential layoff at my job last week I decided it was time to get my portfolio back in order and refresh some of my skills. I have a buddy, who&#8217;s band I did some drum tracks for, who&#8217;s designer asked me for some help with the technical side of things. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=100&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After the scare of a potential layoff at my job last week I decided it was time to get my portfolio back in order and refresh some of my skills. I have a buddy, who&#8217;s band I did some drum tracks for, who&#8217;s designer asked me for some help with the technical side of things. So I took it on as a way to get back into Drupal a bit and kind of get &#8220;back to basics&#8221;.</p>
<p>So the fonts she used were of course not the lowest common denominator fonts and so I was faced with either going with 1995 old-school graphic roll-overs or dig around and see what&#8217;s new in fonts. Well, after digging around I re- discovered webfonts and the @font-family css tag.</p>
<p>Now webfonts are really nothing new, but we&#8217;re finally getting to a point where there&#8217;s broad support. There&#8217;s also a bunch of new tools popping up to make imbedding fonts in your pages easier.</p>
<p><a href="http://code.google.com/webfonts">Google</a> offers a webfont library though it&#8217;s a small collection and I really don&#8217;t like any of their fonts at all. <a href="http://webfonts.fonts.com/">Fonts.com</a> has an offering though it&#8217;s beta and they will eventually charge for it. <a href="http://typekit.com/">TypeKit</a> has free webfonts but I found it kind of a pain in the butt to set up and they also charge if you want more than a few fonts. I finally found a site called <a href="http://www.fontsquirrel.com/">Font Squirrel</a> which I think rocks.</p>
<p>The cool thing about font squirrel is that you can upload your font files and they will create a package for you that contains everything you need to make your fonts work across browsers. You simply include the stylesheet they generate and then reference the font-family name. It could not be easier.</p>
<p>Now I haven&#8217;t tested this across all browsers but honestly, all I&#8217;m concerned with these days is IE8, Firefox and WebKit based browsers. I think supporting IE6 and 7 (or Opera of all things) is a complete waste of time and is mostly done by developers who are just anal.</p>
<p>Anyway, check out Font Squirrel and let&#8217;s all start making the web beautiful!</p>
<p>Update: Apparently I missed another web font service. <a href="http://www.fontslive.com/">Fonts Live</a> is another option to check out. Thanks Bill!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/64sqft.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/64sqft.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/64sqft.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/64sqft.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/64sqft.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/64sqft.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/64sqft.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/64sqft.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/64sqft.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/64sqft.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/64sqft.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/64sqft.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/64sqft.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/64sqft.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=100&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://64sqft.wordpress.com/2010/06/15/webfonts-rock/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dba22d0249943bbff6e3243a54da6f2d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dana</media:title>
		</media:content>
	</item>
		<item>
		<title>And the Angel of Death Passes Over</title>
		<link>http://64sqft.wordpress.com/2010/06/10/and-the-angel-of-death-passes-over/</link>
		<comments>http://64sqft.wordpress.com/2010/06/10/and-the-angel-of-death-passes-over/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 14:54:44 +0000</pubDate>
		<dc:creator>Dana</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[layoffs]]></category>

		<guid isPermaLink="false">http://64sqft.wordpress.com/?p=96</guid>
		<description><![CDATA[I&#8217;ve been on pins and needles for the past two weeks. My company announced layoffs on Tuesday a week ago. All we knew was that 150 people were getting notices and a significant portion of those were coming out of corporate jobs (IT, HR, Marketing, etc). It&#8217;s a nerve wracking experience to sit and wait [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=96&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been on pins and needles for the past two weeks. My company announced layoffs on Tuesday a week ago. All we knew was that 150 people were getting notices and a significant portion of those were coming out of corporate jobs (IT, HR, Marketing, etc).</p>
<p>It&#8217;s a nerve wracking experience to sit and wait for the axe to fall. It&#8217;s worse when you begin to see the term notices come through email and then see your coworkers announcing their demise on Facebook. You begin to dread going into work every day because it may be your last day, and tomorrow you will be wondering how you&#8217;ll pay your mortgage and feed your family.</p>
<p>We all like to feel like we&#8217;re indispensable, but I&#8217;ve been around long enough to know that NOBODY is indispensable. Depending on the situation at a given company, anyone can go and it doesn&#8217;t matter how educated you are, how well you are liked, or how critical you think your services are to the company. When the money runs out, and the company is forced to make the hard decision, nobody is safe.</p>
<p>The good news is that I eluded the cuts this time. However, many of the people I work with on a daily basis did not. It&#8217;s a sad thing. But on the bright side, it&#8217;s nice to know that we are not in this position because our company is mismanaged. In fact, this move is evidence of our leadership&#8217;s willingness to act quickly, rather than wait until the last minute and have to cut deeper. So I&#8217;m encouraged that our company is willing to make the hard choices and try and steer it&#8217;s own course.</p>
<p>That doesn&#8217;t really make the situation any easier. But it does mean that I get to write code and bolt together systems for at least another quarter. Could be worse.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/64sqft.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/64sqft.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/64sqft.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/64sqft.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/64sqft.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/64sqft.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/64sqft.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/64sqft.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/64sqft.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/64sqft.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/64sqft.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/64sqft.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/64sqft.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/64sqft.wordpress.com/96/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=96&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://64sqft.wordpress.com/2010/06/10/and-the-angel-of-death-passes-over/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dba22d0249943bbff6e3243a54da6f2d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dana</media:title>
		</media:content>
	</item>
		<item>
		<title>Converting Community Server 2.1 to WordPress</title>
		<link>http://64sqft.wordpress.com/2010/06/09/converting-community-server-2-1-to-wordpress/</link>
		<comments>http://64sqft.wordpress.com/2010/06/09/converting-community-server-2-1-to-wordpress/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 17:39:02 +0000</pubDate>
		<dc:creator>Dana</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[community server]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://64sqft.wordpress.com/?p=92</guid>
		<description><![CDATA[We&#8217;ve been using Community Server here at the hospital for years. Lately though we&#8217;re realizing that it just doesn&#8217;t have the features that we want in a blogging app and it has too many other features we don&#8217;t need, like forums, etc. I had to do a lot of customization to get it the way [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=92&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been using Community Server here at the hospital for years. Lately though we&#8217;re realizing that it just doesn&#8217;t have the features that we want in a blogging app and it has too many other features we don&#8217;t need, like forums, etc. I had to do a lot of customization to get it the way my users wanted it and so it hasn&#8217;t been kept up to date over the years since each update would require all the customizations to be done again. So I thought it was time to get off of Community Server and go with something better. That something is WordPress.</p>
<p>Why WordPress? Let&#8217;s face it, WordPress is best of breed blogging software. Sure there are others out there, but in my opinion WordPress is the best, so let&#8217;s leave this discussion at that.</p>
<p>The biggest challenge I had in moving to WordPress though was converting old blog data. My gut reaction was to just forget about moving old posts (who reads old blog posts anyway?) and just start new. My bloggers though did not like that idea. I guess people get attached to their posts. Anyway, I started looking for conversion programs and just couldn&#8217;t find anything that would convert CS2.1 to WP. I did find a plug-in for exporting CS as BlogML, however, the hosted version of WordPress does not import BlogML. So if I wanted to use that I would have to host a copy of WP, and then I&#8217;d be right back where I was with CS. I just don&#8217;t have the time to keep up a custom install of another program.</p>
<p>So I decided I would have to write my own converter. I decided that I&#8217;d export my CS data as WordPress WXL since that seemed to be the smoothest path. I also decided that I would only worry about posts and tags. My bloggers don&#8217;t use categories (most don&#8217;t even use tags) and rarely use photos and such. So I could get away with the basics.</p>
<p>The program was really not that hard to write. Microsoft&#8217;s XMLTextWriter class is pretty killer and it was fairly easy to match the WXL format. One problem I had though, and this really threw me for a loop, is that WordPress will not import a file that has a Byte Order Marker (BOM) at the beginning. I cannot tell you how long I spent poring over my XML and examining every bit of data I was exporting, and then I discovered that it was just this stupid BOM screwing up the import. *sigh*.</p>
<p>Anyway, I wanted to share this little program I made in case anyone else needs to convert an old CS2.1 blog to WordPress. The program is a very simple command line program. You&#8217;ll need Visual Studio 2010 to open the source and change a few things:</p>
<ol>
<li>In the file BlogData.cs, change the connectionString variable to the connection string for your database.</li>
<li>In the file Program.cs change the blogs array to contain the blog usernames and the blog title you wish to use. I could have written something to figure this out automatically, but I have one user per blog and I only needed to export a few blogs. You may have to alter the program if you have multi-user blogs.</li>
<li>In the file Program.cs change the savePath variable to contain the export file location.</li>
</ol>
<p>The program will export one xml file per user listed in the blogs array. It will also export the tags for the user and blog posts. The program WILL NOT export images or attachments, categories, or comments. I didn&#8217;t need these things so I didn&#8217;t bother exporting them. If you need them, you can alter the program to suit you.</p>
<p>I hope this helps save somebody a little time and trouble. Here&#8217;s a link to the project on CodePlex.</p>
<p><a href="http://cstowxl.codeplex.com/">Community Server 2.1 to WordPress WXL Exporter</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/64sqft.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/64sqft.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/64sqft.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/64sqft.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/64sqft.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/64sqft.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/64sqft.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/64sqft.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/64sqft.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/64sqft.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/64sqft.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/64sqft.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/64sqft.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/64sqft.wordpress.com/92/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=64sqft.wordpress.com&amp;blog=10846855&amp;post=92&amp;subd=64sqft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://64sqft.wordpress.com/2010/06/09/converting-community-server-2-1-to-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/dba22d0249943bbff6e3243a54da6f2d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Dana</media:title>
		</media:content>
	</item>
	</channel>
</rss>
