<?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>Web Development by Joe Sak &#187; Work Stuff</title>
	<atom:link href="http://www.joesak.com/category/work-stuff/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.joesak.com</link>
	<description>Rails, HTML5, CSS3, jQuery - Thoughts, Advice &#38; Work</description>
	<lastBuildDate>Tue, 27 Jul 2010 14:10:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Ruby on Rails will Save Web Development</title>
		<link>http://www.joesak.com/2008/11/05/ruby-on-rails-will-save-web-development/</link>
		<comments>http://www.joesak.com/2008/11/05/ruby-on-rails-will-save-web-development/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 02:21:29 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Work Stuff]]></category>

		<guid isPermaLink="false">http://www.joesak.com/?p=152</guid>
		<description><![CDATA[I&#8217;m investing time to learn Ruby on Rails and guess what? I&#8217;m becoming happier by the page.   Ruby on Rails is built on, emphasizes and aides developers in working according to the principles of the Agile Manifesto. I&#8217;ve never read anything more inspiring than those 12 principles. Rails has made it possible to skip [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m investing time to learn Ruby on Rails and guess what? I&#8217;m becoming happier by the page.</p>
<p> </p>
<p>Ruby on Rails is built on, emphasizes and aides developers in working according to <a title="Agile Manifesto" href="http://agilemanifesto.org/principles.html">the principles of the Agile Manifesto</a>. I&#8217;ve never read anything more inspiring than those 12 principles. Rails has made it possible to skip functional specs, comprehensive documents and all the other garbage that stops us from delivering working software to our customers that gives them a competitive advantage.</p>
<p>Rails allows you to respond to change rather than try to avoid it. Face it: clients change their minds. They forget to tell you some detail until the last week of development. They decide they don&#8217;t like their original ideas and want to try something new. In order for them to remain competitive, we need to be able to adapt and respond to those changes. So if you can&#8217;t control clients and stop this from happening, why would you continue to beat the dead horse? You write pages and pages of functional specs, scope docs and project plans. But I&#8217;ve never seen a single project completed without a change to any of those. It just doesn&#8217;t happen. Rails makes it easy to work with change, rather than constantly trying to figure out how to avoid it (you can&#8217;t).</p>
<p>Rails makes it possible to work and grow in a dynamic and competitive world. As I learn more, I&#8217;ll post more. Until then, I suggest you try Rails and see for yourself how much better your work can be.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2008/11/05/ruby-on-rails-will-save-web-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SEO for Enliven has been Successful</title>
		<link>http://www.joesak.com/2008/10/06/seo-for-enliven-has-been-successful/</link>
		<comments>http://www.joesak.com/2008/10/06/seo-for-enliven-has-been-successful/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 21:47:32 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Improving Code]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Semantic XHTML]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[Work Stuff]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.joesak.com/?p=84</guid>
		<description><![CDATA[Bunmi told me recently that our sister company, Enliven Software, has been getting regular business and sales through online visitors who did a search on Google. I&#8217;m proud of this, because I wrote the XHTML that&#8217;s been helpful in optimizing enlivensoftware.com for robots like googlebot to understand the site and return it high in the rankings for [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Bunmi Akinyemiju's Blog" href="http://inthrill.com/weblogs/bunmi/">Bunmi</a> told me recently that our sister company, <a href="http://www.enlivensoftware.com">Enliven Software</a>, has been getting regular business and sales through online visitors who did a search on Google.</p>
<p>I&#8217;m proud of this, because I wrote the XHTML that&#8217;s been helpful in optimizing enlivensoftware.com for robots like googlebot to understand the site and return it high in the rankings for search results lists.</p>
<p>How did I do it?<br />
 <br />
<strong>Header tags, Title attributes and Cross-linking, oh my!</strong></p>
<p>Use the proper hierarchy of Header tags in your code. On the home page, H1 belongs to your logo and company name. H2 belongs to the main headline of the page and maybe your company&#8217;s motto if you have one. H3 and H4 can be headers of sections, like News or Events.</p>
<p>On your subpages, make your logo/company name a regular anchor tag linking back to the home page. Now H1 goes to your page name and H2 becomes a sub-header for dividing content. H3 and H4 can still designate page sections. It helps if your H1 matches your Page Title</p>
<p>Then you should put titles on those tags and on your navigation menu links. Hell, you can even put titles on divs! These titles should differ from the text in the tag itself. For example, you could have a link named &#8220;Events&#8221; and its corresponding title could be &#8220;Calendar of Events at Company ABC&#8221;. This is cross-linking and keyword density rolled into one swift move without overloading the user with too much fluff in the words they see.</p>
<p>Also, a good friend of yours can be the ABBR tag. It&#8217;s the tag you use to define abbreviations. In a real-world example, here&#8217;s the code I used for the logo for the new MHSAA web site we&#8217;re working on:</p>
<p>&lt;h1 id=&#8221;logo&#8221; title=&#8221;Michigan High School Athletic Association&#8221;&gt;&lt;abbr title=&#8221;Michigan High School Athletic Association&#8221;&gt;MHSAA&lt;/abbr&gt;&lt;/h1&gt;</p>
<p>Now Google and other robots will know what MHSAA means. That should help in future searches. It also helps that their domain is mhsaa.com.< You can <a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=34575">submit your sitemap to google and <a href="http://www.google.com/webmasters/tools/">use webmaster tools</a> and <a href="http://www.google.com/analytics">google analytics</a>, as well.</p>
<p>So these are simple ways you as a programmer can help your company and clients succeed in SEO. Don&#8217;t forget that you should <a href="http://www.artemisphere.com/posts/30-you-dont-need-seo-usability/">start with a kick-ass writer</a>, too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2008/10/06/seo-for-enliven-has-been-successful/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DotNetNuke Default.CSS: Seriously??</title>
		<link>http://www.joesak.com/2008/06/02/dotnetnuke-defaultcss-seriously/</link>
		<comments>http://www.joesak.com/2008/06/02/dotnetnuke-defaultcss-seriously/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 20:23:15 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Artemis Solutions Group]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[DotNetNuke]]></category>
		<category><![CDATA[Improving Code]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ranting]]></category>
		<category><![CDATA[Skinning]]></category>
		<category><![CDATA[Venting]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Work Stuff]]></category>

		<guid isPermaLink="false">http://www.joesak.com/?p=63</guid>
		<description><![CDATA[Here&#8217;s another one of the myriad of reasons that I am displeased with DotNetNuke as a web development platform: The &#8220;default.css&#8221; included with all installs of DNN has this (and more CSS for other stuff like it) in it: H1 { font-family: Tahoma, Arial, Helvetica; font-size: 20px; font-weight: normal; color: #666644; } H2 { font-family: Tahoma, [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s another one of the <a title="DotNetNuke Sucks" href="/2008/04/23/why-dotnetnuke-is-terrible/">myriad of reasons</a> that I am displeased with DotNetNuke as a web development platform:</p>
<p>The &#8220;default.css&#8221; included with all installs of DNN has this (and more CSS for other stuff like it) in it:<br />
<code><br />
H1<br />
{<br />
font-family: Tahoma, Arial, Helvetica;<br />
font-size: 20px;<br />
font-weight: normal;<br />
color: #666644;<br />
}</code></p>
<p><code>H2<br />
{<br />
font-family: Tahoma, Arial, Helvetica;<br />
font-size: 20px;<br />
...</code></p>
<p>(I think you get the point)</p>
<p>Excuse me, DotNetNuke core team, but isn&#8217;t stuff like this up to the Designers and Developers? Why are you including a default stylesheet with definitions for HTML elements that would be used by Web developers? I can&#8217;t tell you how many times default.css has left me absolutely baffled about the smallest details not being quite right according to our design specs because it has these random &#8220;defaults&#8221; in it. It&#8217;s not up to DNN Core team to define my font families, sizes, and colors. And seriously, <a title="How to Set Font Sizing with CSS" href="http://www.alistapart.com/articles/howtosizetextincss/">stop using pixel font sizing</a>.</p>
<p>It&#8217;s becoming clearer to me almost on a daily basis, that DNN is not the right CMS for a professional Web shop to be using. They probably have this default.css for people who don&#8217;t make skins or know anything about Web development. And if you remove default.css, it completely hoses all the Admin pages and Control Panel. It takes way too much time and effort to figure out what&#8217;s removable and what&#8217;s not, and you always end up surprised when some random element isn&#8217;t positioned or styled correctly later on down the road.</p>
<p>It&#8217;s time for us to move on to a CMS that gives the developer full control over the theme, and not put a bunch of defaults in it that you can&#8217;t get rid of. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2008/06/02/dotnetnuke-defaultcss-seriously/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>CFD Smile Goes Live!</title>
		<link>http://www.joesak.com/2007/11/12/cfd-smile-goes-live/</link>
		<comments>http://www.joesak.com/2007/11/12/cfd-smile-goes-live/#comments</comments>
		<pubDate>Tue, 13 Nov 2007 03:08:43 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Clients]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Custom Development]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Portfolio - Freelance]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Semantic XHTML]]></category>
		<category><![CDATA[Skinning]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[Work Stuff]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.joesak.com/cfd-smile-goes-live/</guid>
		<description><![CDATA[Well, my first side project has finally gone live! After months of hard work, I now unveil www.cfdsmile.com to you. We wanted to bring out the services right up front for best emphasis, and lots of heavy stock photo usage for high impact. We also worked with a professional web content writer to make the [...]]]></description>
			<content:encoded><![CDATA[<p>Well, my first side project has finally gone live! After months of hard work, I now unveil <a href="http://www.cfdsmile.com/">www.cfdsmile.com</a> to you. We wanted to bring out the services right up front for best emphasis, and lots of heavy stock photo usage for high impact.</p>
<p>We also worked with a professional web content writer to make the content more effective and search-engine optimized. This, coupled with semantic HTML, CSS, and google web master tools, will help this site rank high in keywords for Texas Dental Services.</p>
<p>So, please visit the site if you get a chance, and enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2007/11/12/cfd-smile-goes-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Three Scripts I wrote for DotNetNuke Skins</title>
		<link>http://www.joesak.com/2007/09/13/three-scripts-i-wrote-for-dotnetnuke-skins/</link>
		<comments>http://www.joesak.com/2007/09/13/three-scripts-i-wrote-for-dotnetnuke-skins/#comments</comments>
		<pubDate>Thu, 13 Sep 2007 13:23:22 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[Work Stuff]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[vb.net]]></category>

		<guid isPermaLink="false">http://www.joesak.com/three-scripts-i-wrote-for-dotnetnuke-skinning/</guid>
		<description><![CDATA[I&#8217;ve been in email communication with the new Skinning Team Lead at DotNetNuke. I&#8217;m really interested in joining the DotNetNuke skinning team. I bring a pretty unique contribution to the scene, and I&#8217;d like to share it in the most appropriate outlet. So I&#8217;m talking to Timo to see if I can be useful on [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been in email communication with the new <a href="http://www.dotnetnuke.com/Community/Blogs/tabid/825/EntryID/1548/Default.aspx">Skinning Team Lead at DotNetNuke</a>. I&#8217;m really interested in joining the DotNetNuke skinning team. I bring a pretty unique contribution to the scene, and I&#8217;d like to share it in the most appropriate outlet. So I&#8217;m talking to Timo to see if I can be useful on his team.</p>
<p>Until then, I&#8217;m going to share some scripts I wrote for DotNetNuke skins, which I also sent Timo in email.</p>
<p><span id="more-53"></span></p>
<p>Included are comments which explain each function, and then I will link to examples.</p>
<p>At the top of my skin *.ascx files, I have included these scripts by default:</p>
<p><strong>Check for Authentication to Show / Hide Elements on a Skin:</strong></p>
<pre>
<code>
/* -------------------------------------
|  Function Name: IsLoggedIn()
|  Primary Purpose: to return a boolean value depending on the user's logged in state.
|
|  Use: for hiding / displaying specific elements in the skin, such as the "logout" link, in order
|         to keep the public from trying to log in to sites that are only meant for an
|         administrator to log into. The way to log in in this scenario is to navigate to "/admin",
|         where a Default.aspx file is redirecting to the login page.
----------------------------------------*/

Public Function IsLoggedIn() As Boolean
        Return HttpContext.Current.User.Identity.IsAuthenticated
End Function
</code>
</pre>
<p><strong>The HTML / CSS / ASP.NET:</strong></p>
<pre>
<code>
<p class='<%= IsLoggedIn() %>'>You are Logged In
<style type="text/css">
.False{
      display:none;
}
</style>

</code>
</pre>
<p><strong>Example:</strong><br />
This one is a little difficult to link to, as you would need to log in to see the end result. But if you navigate to <a href="http://aol.artemis-staging.com/admin">the Antioch Church admin login page</a>, you&#8217;ll see almost what I mean. If you were to log in, you would see &#8220;Logout&#8221; at the bottom of the page.</p>
<p><strong>Return the Name of the Top Ancestor Page of your current location. Good for usability.</strong></p>
<pre>
<code>
/* -------------------------------------
|  Function Name: SectionName()
|  Primary Purpose: Returns the name of the top Ancestor page in a two-tier page heirarchy
|
|  Use: Display the name of the section the user is navigating in. Can be
|         modified to include more levels of navigation.
----------------------------------------*/
Public Function SectionName() As String
If PortalSettings.ActiveTab.ParentId <> -1 then
	Dim tc As DotNetNuke.Entities.Tabs.TabController = New DotNetNuke.Entities.Tabs.TabController
		Dim parentName As String = tc.GetTab(PortalSettings.ActiveTab.ParentId).TabName
		Return parentName
Else
	Return PortalSettings.ActiveTab.tabname
End if
End Function
</code>
</pre>
<p><strong>HTML / ASP.NET:</strong></p>
<pre>
<code>
<h2 class="sectionname"><%= SectionName() %></h2>

</code>
</pre>
<p><strong>Example:</strong><br />
This one is used on the Auto-Owners web site, and one good example is the <a href="http://auto-owners.com/life.aspx">Life Insurance section</a>. Notice that the words &#8220;Life Insurance&#8221; are always at the top of the life insurance sub pages. This is deliberate and automatic. It was not typed into the text editor anywhere. It is built into the skin so that each sub page gets it automatically, and if the name of that section changes, the heading would change, too.</p>
<p>To see how it works on sections with more than one tier of navigation, see the <a href="http://cityofsouthfield.com/CityDepartments/tabid/180/Default.aspx">City of Southfield Departments</a>. I&#8217;ve written the script in these skins to apply up to 6 levels of navigation. At the time of development, the level didn&#8217;t go beyond 5.</p>
<p><strong>Assign a class to your navigation, using SectionName(), to show the user where they are:</strong></p>
<pre>
<code>
/* -------------------------------------
|  Function Name: AssignClass()
|  Primary Purpose: Accepts a string, and matches that string against the
|                          SectionName() return value
|
|  Use: Assign the class "here" to the current section's navigation anchor,
|          so it may be styled differently than the rest of the menu.
----------------------------------------*/

Public Function AssignClass(ByVal expectedName As String) As String
	If SectionName() = expectedName Then
		Return "here"
	Else
		Return "menu"
	End If
End Function
</code>
</pre>
<p><strong>HTML / CSS / ASP.NET:</strong><br />
<em>Add the &#8220;a&#8221; to the anchor tags. The &#8220;code plugin&#8221; won&#8217;t let me put anchor tags in the code blocks.</em></p>
<pre>
<code>
<ul id="nav">
<li>< href="/">Home</a></li>
<li>< href="/AboutUs/TabId/00/Default.aspx" class='<%= AssignClass('About Us') % >'>About Us</a></li>
<li>< href="/ContactUs/TabId/00/Default.aspx" class='<%= AssignClass('Contact Us') %>'>Contact Us</a></li>
</ul>
<style type="text/css">
#nav a{
   display:block;
   width:100px;
   height:25px;
   background:url(images/nav_bg.gif) repeat-x 0 0;
}
#nav a:hover, #nav a.here{
   background-position:0 -25px;
}
</style>

</code>
</pre>
<p><strong>Example:</strong><br />
This one can be seen in use at the <a href="http://www.lansingsports.org">Greater Lansing Sports Authority</a> site. As you navigate through the site, the menu item stays in the &#8220;hover&#8221; state, indicating that you are in that section of the web site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2007/09/13/three-scripts-i-wrote-for-dotnetnuke-skins/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>City of Southfield voted Best Web Site of 2007 by MEDA</title>
		<link>http://www.joesak.com/2007/07/25/city-of-southfield-voted-best-web-site-of-2007-by-meda/</link>
		<comments>http://www.joesak.com/2007/07/25/city-of-southfield-voted-best-web-site-of-2007-by-meda/#comments</comments>
		<pubDate>Wed, 25 Jul 2007 20:29:55 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Praise]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Teamwork]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[Work Stuff]]></category>

		<guid isPermaLink="false">http://www.joesak.com/city-of-southfield-voted-best-web-site-of-2007-by-meda/</guid>
		<description><![CDATA[From internal Artemis Email: Just released, the Michigan Economic Development Association?s (MEDA) 2nd Annual Marketing Materials Competition has announced The City of Southfield web site as ?Best Web Site? for the population below 100,000 residents category. www.cityofsouthfield.com Judges scoring (1 ? 5, with 5 being the highest): * Creativity: 4 * Graphic Design: 4.5 * [...]]]></description>
			<content:encoded><![CDATA[<p>From internal Artemis Email:</p>
<blockquote><p>
Just released, the Michigan Economic Development Association?s (MEDA) 2nd Annual Marketing Materials Competition has announced The City of Southfield web site as ?Best Web Site? for the population below 100,000 residents category.</p>
<p> <span id="more-46"></span></p>
<p><a href="http://www.cityofsouthfield.com">www.cityofsouthfield.com</a></p>
<p>Judges scoring (1 ? 5, with 5 being the highest):</p>
<p>    * Creativity: 4<br />
    * Graphic Design: 4.5<br />
    * Content: 5</p>
<p>Judges comments:</p>
<p>?This is an excellent website. It is very up to the minute in its ability to play video, get recent news, updates, and give access to forms, tools and information. You?ve woven the design through all the pages and made a lot of information simple and easy to navigate. Whether I?m a business owner or local resident I can access what I need to know easily. You should be proud, great job!?</p>
<p>?Graphically appealing website that is easy to navigate with a lot of very good information. The photos are outstanding and the links/info are easy to see and access??</p>
<p>?Nice site!?</p>
<p>Congratulations to the E-Business Team for another great project! This project was definitely a team effort in which virtually everyone in the E-Business Team played a part. The City of Southfield is certainly excited over the news and sends their sincerest thanks. Excellent job everyone, well done!</p>
<p>Best,</p>
<p>Chris Bachelder</p>
<p>Director of Web Development
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2007/07/25/city-of-southfield-voted-best-web-site-of-2007-by-meda/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Semantic XHTML &#8211; More than Table-less layouts</title>
		<link>http://www.joesak.com/2007/07/18/semantic-xhtml-more-than-table-less-layouts/</link>
		<comments>http://www.joesak.com/2007/07/18/semantic-xhtml-more-than-table-less-layouts/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 19:24:52 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Improving Code]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Semantic XHTML]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Work Stuff]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.joesak.com/semantic-xhtml-more-than-table-less-layouts/</guid>
		<description><![CDATA[OK so I have a confession to make. I didn&#8217;t know that semantic XHTML is different from standards-compliant XHTML. I formally apologize to the entire web development community. My terrible practice over the last seven years has finally caught up with me and put me in my place! I am deeply ashamed and will be [...]]]></description>
			<content:encoded><![CDATA[<p>OK so I have a confession to make. I didn&#8217;t know that semantic XHTML is different from standards-compliant XHTML.</p>
<p>I formally apologize to the entire web development community. My terrible practice over the last seven years has finally caught up with me and put me in my place!</p>
<p>I am deeply ashamed and will be making every effort to step up my game and read all about <a href="http://brainstormsandraves.com/articles/semantics/structure/">the wonderful world of semantic web development</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2007/07/18/semantic-xhtml-more-than-table-less-layouts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modifying DotNetNuke Search and Improving the Results</title>
		<link>http://www.joesak.com/2007/07/14/modifying-dotnetnuke-search-and-improving-the-results/</link>
		<comments>http://www.joesak.com/2007/07/14/modifying-dotnetnuke-search-and-improving-the-results/#comments</comments>
		<pubDate>Sat, 14 Jul 2007 12:41:38 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Artemis Solutions Group]]></category>
		<category><![CDATA[Custom Development]]></category>
		<category><![CDATA[DotNetNuke]]></category>
		<category><![CDATA[Improving Code]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Search Engines]]></category>
		<category><![CDATA[Search Modules]]></category>
		<category><![CDATA[Search Results]]></category>
		<category><![CDATA[Stored Procedure Improvement]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[Work Stuff]]></category>

		<guid isPermaLink="false">http://www.joesak.com/modifying-dotnetnuke-search-and-improving-the-results/</guid>
		<description><![CDATA[Recently, I modified the Stored Procedure named &#8220;GetSearchResults&#8221; to improve the results pages in DotNetNuke web sites. Here is my explanation from the DNN forums. OK &#8212; here is where the actual change is: &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; AND (sw.Word like &#8216;%&#8217; + @Word + &#8216;%&#8217;) AND (t.IsDeleted = 0) AND (t.DisableLink = 0) AND (m.IsDeleted = 0) [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I modified the Stored Procedure named &#8220;GetSearchResults&#8221; to improve the results pages in DotNetNuke web sites. Here is my explanation from the DNN forums.</p>
<p><span id="more-44"></span></p>
<p>OK &#8212; here is where the actual change is:</p>
<p> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p><strong>  AND (sw.Word like &#8216;%&#8217; + @Word + &#8216;%&#8217;)</strong></p>
<p>    AND (t.IsDeleted = 0)</p>
<p><strong>    AND (t.DisableLink = 0)</strong></p>
<p>    AND (m.IsDeleted = 0)</p>
<p>    AND (t.PortalID = @PortalID)</p>
<p><strong>    OR (m.ModuleTitle like &#8216;%&#8217; + @Word + &#8216;%&#8217;)</strong></p>
<p>&#8212;&#8212;&#8212;&#8211;</p>
<p>The bolded lines are the changes</p>
<p>First line is how the search term is matched. Instead of exact, it does a like. We found that a lot of clients would complain that searching &#8220;map&#8221;, for instance, would not return pages which had the word &#8220;maps&#8221; on them. Or &#8220;auto&#8221; won&#8217;t give you &#8220;automobile&#8221;.</p>
<p>Second is the disablelink line. We had the problem of hidden pages showing up in results  but realized sometimes we WANT hidden pages to show up, but sometimes we hide pages because they&#8217;re not ready to be published. So I decided that if I &#8220;disable&#8221; the page then I definitely don&#8217;t want it to come up in the results, but I might want to keep it for later (we aren&#8217;t much for deleting pages around here)</p>
<p>Third is the OR m.ModuleTitle like &#8216;%&#8217; + @Word + &#8216;%&#8217; part &#8212; now this is kind of a subjective one. I have a web site right now for a client that sells insurance. Home insurance, life insurance, and car insurance. When I searched &#8220;car&#8221; I didn&#8217;t get the car insurance page at all, even though the page was titled car insurance and the module was titled car insurance&#8230; The content copy used the word &#8220;automobile&#8221; because this particular client is very traditional and was picky about that wording. So I added the &#8220;OR&#8221; line because if we put the search term in the title, it&#8217;s most likely relevant. We know module titles are what show up as the links on the SRP and so we make sure those titles are always relevant and helpful for the user.</p>
<p>BUT &#8212; we would like to see page name or page title as an option in the settings for how the text displays. we couldn&#8217;t figure out how to modify the core to do that.</p>
<p>OK that is all i hope this has been informational</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2007/07/14/modifying-dotnetnuke-search-and-improving-the-results/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>RetroDC gets included in LogoLounge!</title>
		<link>http://www.joesak.com/2007/05/27/retrodc-gets-included-in-logolounge/</link>
		<comments>http://www.joesak.com/2007/05/27/retrodc-gets-included-in-logolounge/#comments</comments>
		<pubDate>Sun, 27 May 2007 21:00:26 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Artemis Solutions Group]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Praise]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Work Stuff]]></category>

		<guid isPermaLink="false">http://www.joesak.com/retrodc-gets-included-in-logolounge/</guid>
		<description><![CDATA[Congratulations to Steve Jencks of RetroDC and Artemis Solutions Group for the inclusion of his original logo into LogoLounge, an group that publishes an international book for designers around the world to get inspiration for their logo design.]]></description>
			<content:encoded><![CDATA[<p>Congratulations to <a href="http://www.retrodc.com">Steve Jencks of RetroDC</a> and <a href="http://www.artemis-solutions.com">Artemis Solutions Group</a> for the inclusion of his original logo into <a href="http://www.logolounge.com/">LogoLounge</a>, an group that publishes an international book for designers around the world to get inspiration for their logo design.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2007/05/27/retrodc-gets-included-in-logolounge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Page Title SEO</title>
		<link>http://www.joesak.com/2007/05/18/page-title-seo/</link>
		<comments>http://www.joesak.com/2007/05/18/page-title-seo/#comments</comments>
		<pubDate>Fri, 18 May 2007 15:55:45 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Artemis Solutions Group]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Teamwork]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[Work Stuff]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.joesak.com/page-title-seo/</guid>
		<description><![CDATA[I&#8217;ve recently sent out an email at work explaining Page Titles and their importance with SEO. I thought I&#8217;d share it on my blog. You may or may not have noticed that my Post titles and page titles come before my blog title in my page titles. I did this specifically because of SEO. PAGE [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently sent out an email at work explaining Page Titles and their importance with SEO. I thought I&#8217;d share it on my blog. You may or may not have noticed that my Post titles and page titles come before my blog title in my page titles. I did this specifically because of SEO.</p>
<p><strong>PAGE TITLE</strong>: &#8211; the text that shows up at the <strong>TOP OF THE BROWSER</strong> and in <strong>GOOGLE / YAHOO / MSN et al SEARCH RESULTS</strong></p>
<p>Why is the page title important? It is what the casual searching web user will see when searching for content / services offered by <strong>YOUR CLIENT.</strong> So the page titles <strong>MUST INCLUDE </strong>keywords relevant to the pageâ??s content. The page title should be formatted well and <strong>DEFINITELY BE MORE THAN JUST A COPY OF THE PAGE NAME.</strong> The client name should be included.</p>
<p>If you donâ??t know how to do a very quick keyword-density page title, then <strong>AT THE VERY LEAST,</strong> format your page titles like this:</p>
<p><strong>PAGE NAME | CLIENT / WEB SITE NAME</strong></p>
<p>So if your client is <strong><a href="http://www.artemis-solutions.com">Artemis Solutions Group</a></strong> and the page is <strong><a href="http://www.artemis-solutions.com/web_design.aspx">Web Design</a></strong></p>
<p>You can <strong>AT LEAST</strong> type this much:</p>
<p><strong>Web Design | Artemis Solutions Group</strong></p>
<p>But <strong>if you want to be keyword-savvy</strong> (just do a quick search and read on SEO Page Titles and Keywords for quick reference)</p>
<p>You could format it like this:</p>
<p><strong>Web Design &#038; Development | Lansing, MI | Professional Web site Design | Artemis Solutions Group</strong></p>
<p>Itâ??s worth a LOT to the client for us as developers to think about their web marketing strategy and how their content and custom features affect that strategy. A little bit of Usability goes a long way, and is very easy to do.</p>
<p>Proper page titles take minimal effort, and add superb value to the client.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2007/05/18/page-title-seo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)
Database Caching 10/16 queries in 0.008 seconds using disk

Served from: www.joesak.com @ 2010-09-09 22:31:38 -->