<?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/"
	>

<channel>
	<title>Robert on Software Development &#187; Software Development</title>
	<atom:link href="http://standefer.com/blog/category/software-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://standefer.com/blog</link>
	<description>Seeing it all, one line of code at a time</description>
	<lastBuildDate>Tue, 25 May 2010 22:23:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Changes</title>
		<link>http://standefer.com/blog/2010/05/25/changes/</link>
		<comments>http://standefer.com/blog/2010/05/25/changes/#comments</comments>
		<pubDate>Tue, 25 May 2010 22:23:03 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://standefer.com/blog/?p=71</guid>
		<description><![CDATA[Back in March, I was promoted to Chief Technology Officer. This was a pretty big deal for me, as you can probably imagine, and it greatly expanded the scope of my responsibilities. That&#8217;s partly why I&#8217;ve not been spending enough time writing for this blog. I&#8217;m actually proud of my posts here. I think they [...]]]></description>
			<content:encoded><![CDATA[<p>Back in March, I was promoted to Chief Technology Officer. This was a pretty big deal for me, as you can probably imagine, and it greatly expanded the scope of my responsibilities. That&#8217;s partly why I&#8217;ve not been spending enough time writing for this blog. I&#8217;m actually proud of my posts here. I think they have real value, but to be honest, they&#8217;re not as focused as I&#8217;d like them to be.</p>
<p>So, I think I will narrow the scope of this blog to my experiences as CTO of a software company. This will include development, of course, and maybe even some code. But I also want to share nuggets of wisdom I come across, stories of success and failure, and frustrations as well.</p>
<p>We ship our product on June 7. It&#8217;s my first commercial software project. Everything I&#8217;ve done previous to this has been in the enterprise, relatively safe in the confines of a large corporation where the users were my coworkers and didn&#8217;t spend their own personal money on the stuff I created. This is something entirely different.</p>
<p>I do hope you&#8217;ll return regularly, or add me to your RSS reader. I will treat you to stories about cloud computing, rich client applications, raising capital, dealing with constant change, and pig farming.</p>
]]></content:encoded>
			<wfw:commentRss>http://standefer.com/blog/2010/05/25/changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This Library Has No Card</title>
		<link>http://standefer.com/blog/2009/07/07/this-library-has-no-card/</link>
		<comments>http://standefer.com/blog/2009/07/07/this-library-has-no-card/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 03:21:04 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://standefer.com/blog/2009/07/07/this-library-has-no-card/</guid>
		<description><![CDATA[There&#8217;s a term that comes from online games known as grinding. This term is used to describe a repetitive activity intended to accomplish some goal. For example, you might find yourself repeatedly killing a certain type of creature in the hopes that it&#8217;ll give you a particular piece of loot. That&#8217;s grinding.
The point of bringing [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a term that comes from online games known as <span style="font-style: italic;">grinding</span>. This term is used to describe a repetitive activity intended to accomplish some goal. For example, you migh<span style="font-style: italic;"><span style="font-style: italic;"><span style="font-style: italic;"><span style="font-style: italic;"></span></span></span></span>t find yourself repeatedly killing a certain type of creature in the hopes that it&#8217;ll give you a particular piece of loot. That&#8217;s grinding.</p>
<p>The point of bringing that up is to say that I feel like I&#8217;ve been grinding a lot on a particular task at work. It seems like a pretty simple task, involving SharePoint document libraries and Word documents, but something about the whole thing just isn&#8217;t sitting right. Not yet. I&#8217;ve spent a lot of time on my whiteboard, mapping things out. Each time I&#8217;ve come up with a solution, I go into SharePoint and figure out why it won&#8217;t work. Content query web part? Nope. Document library web part with querystring filter? Nope. Individual libraries for each user group? Nope.</p>
<p>And so on, and on, and on, until the end of the day comes and I throw my hands up in the air in defeat as I trudge out to my Jeep for my mercifully short commute home through downtown Des Moines. Yet I still have the specter of the problem hanging over me, taunting me, urging me to just stay in bed and pull the comforter over my head until SharePoint somehow magically solves itself.</p>
<p>As a grown up, I have figured out that such solutions aren&#8217;t really solutions at all, and I do indeed have to face the music, so to speak. The first step to overcoming the demon is to admit that <span style="font-style: italic;">I </span>am the one with the problem: my skills in this particular area aren&#8217;t strong enough, so perhaps I can&#8217;t figure this one out on my own.</p>
<p>Tomorrow I&#8217;m bringing in another set of eyes to work on the problem with me. Hopefully we can collaborate effectively and devise some kind of solution that will solve the problem without taking forever to implement. This guy&#8217;s SharePoint knowledge is next to nil, but he&#8217;s a smart developer so maybe just talking about the problem will give me the eureka moment.</p>
<p>I&#8217;ll let you know.</p>
]]></content:encoded>
			<wfw:commentRss>http://standefer.com/blog/2009/07/07/this-library-has-no-card/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Path to Self-Discovery on Rails</title>
		<link>http://standefer.com/blog/2009/06/20/the-path-to-self-discovery-on-rails/</link>
		<comments>http://standefer.com/blog/2009/06/20/the-path-to-self-discovery-on-rails/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 01:46:46 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://standefer.com/blog/2009/06/20/the-path-to-self-discovery-on-rails/</guid>
		<description><![CDATA[Until about two weeks ago, I had no idea why so many developers were going ga-ga over Ruby on Rails. It wasn&#8217;t because I had a problem with Rails; in fact, I didn&#8217;t have an opinion at all. That&#8217;s the beauty of ignorance.
But as I started to delve deeper into SubSonic for my current project, [...]]]></description>
			<content:encoded><![CDATA[<p>Until about two weeks ago, I had no idea why so many developers were going ga-ga over Ruby on Rails. It wasn&#8217;t because I had a problem with Rails; in fact, I didn&#8217;t have an opinion at all. That&#8217;s the beauty of ignorance.</p>
<p>But as I started to delve deeper into SubSonic for my current project, I realized I needed to learn a bit more about the product that SubSonic is somewhat based on, specifically ActiveRecord. I figured, what better way to gain insight into how SubSonic works than to understand the genesis of the whole thing.</p>
<p>My foray into Rails development has been swift and deep. Now I get it: Rails lets you build Web applications very quickly, and it does that by requiring an adherence to a specific architecture that is governed by one person. It makes total sense.</p>
<p>That paragraph could be taken as a bash on Rails, but in fact, it&#8217;s not. I really like Rails. I really like that Rails is overseen and designed by one person (well, technically two). I think that&#8217;s a strong feature of the framework. In the .NET world, we don&#8217;t have that. .NET is meant to be general-purpose. It&#8217;s designed to let you create your own frameworks, and it gives you a million ways to do everything right and a million ways to do everything wrong. As I said to a colleague several years back, &#8220;.NET&#8217;s flexibilty is inflexible.&#8221;</p>
<p>Learning Rails is making me a better developer. It&#8217;s forcing me to learn new ways of doing things. I didn&#8217;t expect the exercise to have such an immediate and valuable impact. If I take nothing else away from this experience, I&#8217;ll at least have a much broader understanding of this business.</p>
<p>And MVC, of course.</p>
]]></content:encoded>
			<wfw:commentRss>http://standefer.com/blog/2009/06/20/the-path-to-self-discovery-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing Issues with the SharePoint SP2 Upgrade</title>
		<link>http://standefer.com/blog/2009/06/03/fixing-issues-with-the-sharepoint-sp2-upgrade/</link>
		<comments>http://standefer.com/blog/2009/06/03/fixing-issues-with-the-sharepoint-sp2-upgrade/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 21:10:46 +0000</pubDate>
		<dc:creator>Robert</dc:creator>
				<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://standefer.com/blog/2009/06/03/fixing-issues-with-the-sharepoint-sp2-upgrade/</guid>
		<description><![CDATA[Yesterday I installed Service Pack 2 for WSS 3.0 and MOSS 2007 on the two servers in our Development farm. I purposely did not follow the guidelines for upgrading SharePoint as I wanted to see what happened when I ran the installer. Since it’s a dev environment, there was no risk.
Long story short, the upgrade [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I installed Service Pack 2 for WSS 3.0 and MOSS 2007 on the two servers in our Development farm. I purposely did not follow the guidelines for upgrading SharePoint as I wanted to see what happened when I ran the installer. Since it’s a dev environment, there was no risk.</p>
<p>Long story short, the upgrade on both of my servers failed. Looking at the logs, I saw this:</p>
<blockquote><p>[SPManager] [ERROR] [6/2/2009 10:44:16 AM]: The system cannot find the path specified.</p></blockquote>
<p>That’s it. That’s all I had to go on. After some hemming and hawing and tearing my hair out, I figured out what the problem was. It’s not that the installer can’t find a path, it’s that the IIS metabase is pointing to a “dead site,” or a site defined in IIS for which the directory structure doesn’t exist. That fixed the problem on the database server.</p>
<p>On the farm’s front-end server, I got the same error, but I didn’t think that it was a problem with IIS.</p>
<p>My solution was to simply detach and reattach the content database, which is what Microsoft says to do in its best practices document for upgrading SharePoint.</p>
<p>If you choose to not follow the directions and end up with the “file not found” error, try this.</p>
<p>First, execute this command (replace the bracketed items with your details, without brackets of course):</p>
<p><code>stsadm –o deletecontentdb –url [http://example.com] –databasename [contentdbname] –databaseserver [databaseserver]</code></code></p>
<p>Don’t worry about the word “delete” in the command. It doesn’t actually delete your database. It just detaches it.</p>
<p>Once that’s done, reattach the content database via:</p>
<p><code>stsadm –o addcontentdb –url [http://example.com] –databasename [contentdbname] –databaseserver [databaseserver]</code></p>
<p>Now run psconfig to tie it all together:</p>
<p><code>psconfig –cmd upgrade –inplace b2b –wait –force</code></code></p>
<p>The configuration completed and everything worked.</p>
<p>My suggestion is to follow Microsoft's SharePoint upgrade best practices document to the letter. This is the best way to head off these kinds of issues. And always make sure you back up your content and configuration databases before you upgrade. Few things are worse than rebuilding a SharePoint farm from scratch.</p>
]]></content:encoded>
			<wfw:commentRss>http://standefer.com/blog/2009/06/03/fixing-issues-with-the-sharepoint-sp2-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
