<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!-- generator="wordpress/2.0" --><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>a hunk, a hunk of birnam love</title>
	<link>http://blog.birnamdesigns.com</link>
	<description>Birnam Designs Blog (BDB) :: sharing tips, resources, ideas, and more, on web development and design</description>
	<pubDate>Fri, 15 Feb 2008 20:12:06 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/bdb" /><feedburner:info uri="bdb" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><item>
		<title>Dreamweaver 8.0.2 update in Vista 64bit</title>
		<link>http://feedproxy.google.com/~r/bdb/~3/IFBuK9u87_g/</link>
		<comments>http://blog.birnamdesigns.com/2007/04/02/dreamweaver-802-update-in-vista-64bit/#comments</comments>
		<pubDate>Mon, 02 Apr 2007 16:29:37 +0000</pubDate>
		<dc:creator>david</dc:creator>
		
	<category>Uncategorized</category>
	<category>software</category>
	<category>quick tips</category>
	<category>development</category>
		<guid isPermaLink="false">http://blog.birnamdesigns.com/2007/04/02/dreamweaver-802-update-in-vista-64bit/</guid>
		<description><![CDATA[I don&#8217;t have a Vista horror story, everything has worked remarkably smoothly. That&#8217;s not to say there haven&#8217;t been any glitches, just that my overall experience has been very positive.
One minor problem that I&#8217;ve had is with Dreamweaver &#8212; the 8.0.2 update didn&#8217;t install. It turns out this problem is only with 64bit version of [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t have a Vista horror story, everything has worked remarkably smoothly. That&#8217;s not to say there haven&#8217;t been any glitches, just that my overall experience has been very positive.</p>
<p>One minor problem that I&#8217;ve had is with Dreamweaver &#8212; the 8.0.2 update didn&#8217;t install. It turns out this problem is only with 64bit version of Vista, and is actually a problem with the InstallShield wrapper around the update file. Fortunately the fix is simple enough &#8212; even though it is fairly difficult to locate!</p>
<p>Adobe outlines the problem <a href="http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=kb400150">here</a>, and provides the update file without the wrapper.</p>
<p>That&#8217;s not the end of the story, though. Unless you run the file with administrator privilege, you will get an error as soon as you run it. It&#8217;s a little difficult to run it with administrator privileges, though, because it&#8217;s an .msp file and &#8220;Run as Administrator&#8221; doesn&#8217;t appear in its right-click menu or properties dialog. To get around this, you need to open a PowerShell or command shell with administrator privileges, and then run the file from there.
</p>
<div class="techtags">Tags: <a href="http://technorati.com/tag/Vista" rel="tag">Vista</a>, <a href="http://technorati.com/tag/Dreamweaver" rel="tag">Dreamweaver</a>, <a href="http://technorati.com/tag/update" rel="tag">update</a></div>]]></content:encoded>
			<wfw:commentRSS>http://blog.birnamdesigns.com/2007/04/02/dreamweaver-802-update-in-vista-64bit/feed/</wfw:commentRSS>
		<feedburner:origLink>http://blog.birnamdesigns.com/2007/04/02/dreamweaver-802-update-in-vista-64bit/</feedburner:origLink></item>
		<item>
		<title>Testing Dreamweaver templates</title>
		<link>http://feedproxy.google.com/~r/bdb/~3/NE-6Mb5nc-Q/</link>
		<comments>http://blog.birnamdesigns.com/2007/02/25/testing-dreamweaver-templates/#comments</comments>
		<pubDate>Sun, 25 Feb 2007 06:03:43 +0000</pubDate>
		<dc:creator>david</dc:creator>
		
	<category>general information</category>
	<category>htaccess / mod_rewrite</category>
	<category>quick tips</category>
	<category>development</category>
		<guid isPermaLink="false">http://blog.birnamdesigns.com/2007/02/25/testing-dreamweaver-templates/</guid>
		<description><![CDATA[I don&#8217;t know why I didn&#8217;t think of this before.
Dreamweaver templates use the .dwt extension, which means that if you try viewing them through a browser you just see it as text, or it will try to download the file. This means that developing Dreamweaver projects means either creating the original file as a .html [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know why I didn&#8217;t think of this before.</p>
<p>Dreamweaver templates use the .dwt extension, which means that if you try viewing them through a browser you just see it as text, or it will try to download the file. This means that developing Dreamweaver projects means either creating the original file as a .html file and converting that to a dwt down the road, or creating an .html file that uses the template, and keep updating it. Both options are just a little more work than I think should be required.</p>
<p>I&#8217;m running apache, but the principle is the same (albeit slightly different steps) in IIS. I&#8217;m also running this on my local computer so I have quick access to httpd.conf, which is apache&#8217;s configuration file. On a shared server, I believe this would also work by adding it to a .htaccess file.</p>
<p>It&#8217;s easy, just add this line to your apache config file &#8212; httpd.conf</p>
<p><code>AddType text/html .dwt</code></p>
<p>And that&#8217;s it! Restart apache and reload the page. Apache will now describe the file as a text/html file in the header, and your browser will render it as such.
</p>
<div class="techtags">Tags: <a href="http://technorati.com/tag/Dreamweaver" rel="tag">Dreamweaver</a>, <a href="http://technorati.com/tag/template" rel="tag">template</a>, <a href="http://technorati.com/tag/apache" rel="tag">apache</a>, <a href="http://technorati.com/tag/httpd.conf" rel="tag">httpd.conf</a></div>]]></content:encoded>
			<wfw:commentRSS>http://blog.birnamdesigns.com/2007/02/25/testing-dreamweaver-templates/feed/</wfw:commentRSS>
		<feedburner:origLink>http://blog.birnamdesigns.com/2007/02/25/testing-dreamweaver-templates/</feedburner:origLink></item>
		<item>
		<title>find out what version of SQL Server you (or your host) is running</title>
		<link>http://feedproxy.google.com/~r/bdb/~3/p5foZyyd1ys/</link>
		<comments>http://blog.birnamdesigns.com/2007/01/23/find-out-what-version-of-sql-server-you-or-your-host-is-running/#comments</comments>
		<pubDate>Tue, 23 Jan 2007 19:04:34 +0000</pubDate>
		<dc:creator>david</dc:creator>
		
	<category>general information</category>
	<category>useful links</category>
	<category>quick tips</category>
	<category>database</category>
		<guid isPermaLink="false">http://blog.birnamdesigns.com/2007/01/23/find-out-what-version-of-sql-server-you-or-your-host-is-running/</guid>
		<description><![CDATA[Have you ever wondered if the SQL Server 2005 database your host is providing might actually be an Express installation? Or maybe you&#8217;re curious if they&#8217;re running the most recent service pack?
I&#8217;ve run into several methods of finding out the version information. The easiest, and my preferred method, is using sseutil &#8212; my command-line sql [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever wondered if the SQL Server 2005 database your host is providing might actually be an Express installation? Or maybe you&#8217;re curious if they&#8217;re running the most recent service pack?</p>
<p>I&#8217;ve run into several methods of finding out the version information. The easiest, and my preferred method, is using <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=fa87e828-173f-472e-a85c-27ed01cf6b02&#038;DisplayLang=en" target="_blank">sseutil</a> &#8212; my command-line sql utility of choice. All you have to do is use the -version argument! For instance:</p>
<p><textarea name="code" class="sql:nocontrols:nogutter">sseutil -m -version -s .\SQLEXPRESS</textarea></p>
<p>If you&#8217;re interested in the version number, that&#8217;s on the first line. This lets you see if the server is up to date. Here is a <a href="http://sqlblog.com/blogs/aaron_bertrand/archive/2006/12/12/419.aspx" target="_blank">full list of SQL Server 2005 version numbers</a>, up to the December CTP of Service Pack 2. (If you need the same info on an older server, ASPFAQ has is an extensive <a href="http://sqlserver2000.databases.aspfaq.com/how-do-i-know-which-version-of-sql-server-i-m-running.html" target="_blank">list of SQL Server 7 and SQL Server 2000 versions</a>)</p>
<p>If you&#8217;re more interested in which edition you&#8217;re running, that&#8217;s on the last line. It might read &#8220;Express Edition&#8221; or &#8220;Express Edition with Advanced Services&#8221; for the free Express edition, or &#8220;Standard Edition,&#8221; &#8220;Workgroup Edition,&#8221; or &#8220;Enterprise Edition&#8221; for the $$$ editions.</p>
<p>But this is only one method! What if you don&#8217;t have sseutil? You can always run this sql command:</p>
<p><textarea name="code" class="sql:nocontrols:nogutter">SELECT @@VERSION</textarea></p>
<p>And finally, I found an alternate method on <a href="http://support.microsoft.com/kb/321185" target="_blank">Microsoft&#8217;s KnowledgeBase</a>, it goes like this:</p>
<p><textarea name="code" class="sql:nocontrols:nogutter">SELECT  SERVERPROPERTY('productversion'), 
SERVERPROPERTY ('productlevel'), 
SERVERPROPERTY ('edition')</textarea>
</p>
<div class="techtags">Tags: <a href="http://technorati.com/tag/SQL+Server" rel="tag">SQL Server</a>, <a href="http://technorati.com/tag/Express" rel="tag">Express</a>, <a href="http://technorati.com/tag/version" rel="tag">version</a>, <a href="http://technorati.com/tag/edition" rel="tag">edition</a>, <a href="http://technorati.com/tag/sseutil" rel="tag">sseutil</a></div>]]></content:encoded>
			<wfw:commentRSS>http://blog.birnamdesigns.com/2007/01/23/find-out-what-version-of-sql-server-you-or-your-host-is-running/feed/</wfw:commentRSS>
		<feedburner:origLink>http://blog.birnamdesigns.com/2007/01/23/find-out-what-version-of-sql-server-you-or-your-host-is-running/</feedburner:origLink></item>
		<item>
		<title>working across multiple computers</title>
		<link>http://feedproxy.google.com/~r/bdb/~3/LIGR7ulzLRI/</link>
		<comments>http://blog.birnamdesigns.com/2007/01/17/working-across-multiple-computers/#comments</comments>
		<pubDate>Wed, 17 Jan 2007 15:58:14 +0000</pubDate>
		<dc:creator>david</dc:creator>
		
	<category>software</category>
	<category>quick tips</category>
		<guid isPermaLink="false">http://blog.birnamdesigns.com/2007/01/17/working-across-multiple-computers/</guid>
		<description><![CDATA[One of the most brilliant applications I&#8217;ve used recently is called Synergy. Are you familiar with VNC, PC Anywhere, or Windows/Apple Remote Desktop? Synergy is basically a smart, scaled down version of these programs, and is meant for situations when you have the actual, physical computers right there on your desk.
Unlike VNC, etc., Synergy does [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most brilliant applications I&#8217;ve used recently is called <a href="http://synergy2.sourceforge.net/" target="_blank">Synergy</a>. Are you familiar with <a href="http://www.realvnc.com/" target="_blank">VNC</a>, <a href="http://www.pcanywhere.com/" target="_blank">PC Anywhere</a>, or <a href="http://www.microsoft.com/windowsxp/downloads/tools/rdclientdl.mspx" target="_blank">Windows</a>/<a href="http://www.apple.com/remotedesktop/" target="_blank">Apple</a> Remote Desktop? Synergy is basically a smart, scaled down version of these programs, and is meant for situations when you have the actual, physical computers right there on your desk.</p>
<p>Unlike VNC, etc., Synergy does not transfer any of the graphics between systems, only the mouse, keyboard, and clipboard. In this sense, it&#8217;s also like using a KVM switch to allow control of multiple computers from the same keyboard/mouse. But instead of buying an expensive switch (I couldn&#8217;t find any suitable for my needs under $75), all you do is drag the mouse off of one of the edges of your primary computer, and it pops up on another one, complete with keyboard control! So if you have a mac screen to the left of your PC screen, you can set up the left edge of the PC/right edge of the mac is the hot edge. Then you can drag the mouse between screens, just like it was one big desktop. Amazing.</p>
<p>Since we just added a new mac to our computer setup as a browser testbed, this has been an enormous benefit. No juggling multiple keyboards and mice!</p>
<p>Oh, and it&#8217;s 100% free. Incredible!
</p>
<div class="techtags">Tags: <a href="http://technorati.com/tag/applications" rel="tag">applications</a>, <a href="http://technorati.com/tag/Synergy" rel="tag">Synergy</a></div>]]></content:encoded>
			<wfw:commentRSS>http://blog.birnamdesigns.com/2007/01/17/working-across-multiple-computers/feed/</wfw:commentRSS>
		<feedburner:origLink>http://blog.birnamdesigns.com/2007/01/17/working-across-multiple-computers/</feedburner:origLink></item>
		<item>
		<title>Setting up Full Text Search with SQL Express 2005 and Management Studio Express</title>
		<link>http://feedproxy.google.com/~r/bdb/~3/Jpj-qnTQjyE/</link>
		<comments>http://blog.birnamdesigns.com/2006/12/15/setting-up-full-text-search-with-sql-express-2005-and-management-studio-express/#comments</comments>
		<pubDate>Fri, 15 Dec 2006 19:57:02 +0000</pubDate>
		<dc:creator>david</dc:creator>
		
	<category>software</category>
	<category>database</category>
	<category>development</category>
		<guid isPermaLink="false">http://blog.birnamdesigns.com/2006/12/15/setting-up-full-text-search-with-sql-express-2005-and-management-studio-express/</guid>
		<description><![CDATA[Here&#8217;s one for the .NET/MSSQL/SQL Express crowd.
Management Studio Express is a nice interface for managing SQL Express databases. While I prefer Visual Studio for working with the data and stored procedures, MSE is essential for the more high level maintenance like database creation and attaching, managing users, and setting up Full Text Search indexes.
First, a [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s one for the .NET/MSSQL/SQL Express crowd.</p>
<p>Management Studio Express is a nice interface for managing SQL Express databases. While I prefer Visual Studio for working with the data and stored procedures, MSE is essential for the more high level maintenance like database creation and attaching, managing users, and setting up Full Text Search indexes.</p>
<p>First, a brief primer on FTS. It&#8217;s a brilliant tool that will take a lot of the effort out of writing search queries. It allows for much more than just boolean searches. It can also search for inflectional variations. For instance, if you searched for &#8220;apply&#8221; it will also return results for &#8220;applying,&#8221; &#8220;applies,&#8221; and &#8220;applied.&#8221; It can also return search score information to help you rank results &#8212; to which you can also apply custom weighting. The first thing to know, though, is that <strong>it doesn&#8217;t come with the default SQL Express 2005 installation!</strong> You need to install <a href="http://msdn.microsoft.com/vstudio/express/sql/download/">SQL Express 2005 with Advanced Services</a> in order to have access to FTS at all. </p>
<p>Once you&#8217;ve got it installed in order to get it working you need to:</p>
<ol type="1">
<li>enable FTS on the database you want to use</li>
<li>create a folder to store the FTS index (optional: it will use the default folder if you don&#8217;t specify a location, but if you do specify a location the folder has to already exist)</li>
<li>create a fulltext catalog with a unique ID, optionally set to the path created in the previous step</li>
<li>add the catalog to each table in the database that will utilize it</li>
<li>specify the columns in the tables that will use the FTS data</li>
<li>specify the language of each column (optional, but if you don&#8217;t set this inflectional won&#8217;t work)</li>
</ol>
<p>The first two steps are easy. In MSE, just right click on the database you want to add FTS to and open the Properties dialog. Open the Files page, and check the box next to &#8220;Use full-text indexing.&#8221; Save that and you&#8217;re ready to go. If you&#8217;re going to specify the location for the index, create the folder using whatever tool you fancy.</p>
<p>The first problem you&#8217;re going to run into, though is actually creating the FTS catalog in the first place. This is something that you <em>can&#8217;t</em> do in MSE. At least, I&#8217;ve never been able to find out how! Fortunately there&#8217;s a handy command line tool called <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=fa87e828-173f-472e-a85c-27ed01cf6b02&#038;DisplayLang=en">SSEUtil</a> (from Microsoft). It&#8217;s a bit more user friendly than the standard <a href="http://msdn2.microsoft.com/en-us/library/ms170207.aspx">sqlcmd</a> utility, which you could also use.</p>
<p>When starting sseutil from the command line, give it the &#8220;-c&#8221; (console) and &#8220;-m&#8221; (main) arguments. That gives you a command line into the same databases you see listed in MSE. Don&#8217;t omit the &#8220;-m&#8221; or you are actually starting sseutil as a secondary process and you will probably not have access the database you&#8217;re trying to edit. Don&#8217;t ask me why, I have no idea what the mechanics are here. All I know is that it usually takes me four hours of banging my head on the desk before I remember that little &#8220;-m&#8221; and then suddenly everything works. If you can access your database with Windows Security, that&#8217;s all you need.</p>
<p><code>sseutil -c -m</code></p>
<p>Once in sseutil, you just run two very simple commands. Don&#8217;t forget you have to say &#8220;go&#8221; to commit each command before processing. (I&#8217;m sure you could run them both and say &#8220;go&#8221; once, but it&#8217;s nice to get confirmation at each point.)</p>
<p><textarea name="code" class="sql:nocontrols:nogutter">
use db_name
go
</textarea><br />
This selects the database you are managing, so replace &#8220;db_name&#8221; with the right name. To list the databases available use the <code>sp_databases</code> command. (Don&#8217;t forget the &#8220;go.&#8221;) Once you have confirmation &#8220;Command completed successfully&#8221; you just need to run the sp_fulltext_catalog stored procedure. This is where you give the catalog a unique ID and the optional path. You also need to tell it that you&#8217;re wanting to create a catalog (the same sp is used for deleting or re-indexing a catalog).</p>
<p><textarea name="code" class="sql:nocontrols:nogutter">
sp_fulltext_catalog 'dbname_fulltext', 'create', 'c:\fts\dbname'
go
</textarea><br />
Again this is using sample names so replace &#8220;dbname_fulltext&#8221; and &#8220;c:\fts\dbname&#8221; with whatever works for you.</p>
<p>After you get confirmation on this, you&#8217;re finished with the command line. Close sseutil and get back to MSE. Open the drop down list for the database you&#8217;re managing, and open Tables. Find the table you want to add FTS to, right click and select Modify. This will open the column editing page.</p>
<p>In order for FTS to work, the table <strong>has</strong> to have a unique primary key. If the table doesn&#8217;t have one yet, create one. Now right click on the key icon in the margin next to the primary key, and select &#8220;Full-text Index&#8221;. The first step is to add this table to the FTS catalog you just created. This is as easy as clicking on the &#8220;Add&#8221; button (which isn&#8217;t available if you haven&#8217;t successfully created a catalog on this database!), which will add the table using the default name of <code>FullText_for_tablename</code>.</p>
<p>Now you will see the properties box on the right fill up. The only properties that you need to worry about right now is the very top one, under <strong>General</strong>. Click on that, and you&#8217;ll notice an [&#8230;] button appear on the far right of that field. Click this button to add the columns of the table to the index.</p>
<p>This interface is very easy, just select from the available columns in the dropdown box on the first cell. The datatype will automatically be added. The &#8220;Typed by Column&#8221; box can be ignored, but I recommend selecting the language from the Language cell. This will allow you to do inflectional searches &#8212; without knowing the language SQL can&#8217;t apply the inflectional variations.</p>
<p>And that&#8217;s it! Add each column that you want, and do this for every table that you want. The index itself will be created and updated automatically.</p>
<p>For further reference, here is Microsoft&#8217;s page detailing <a href="http://msdn2.microsoft.com/en-us/library/ms142547.aspx">Full-Text Search concepts</a>. I recommend starting with <a href="http://msdn2.microsoft.com/en-us/library/ms142538.aspx">Simple Term searches</a>, and then looking into the <a href="http://msdn2.microsoft.com/en-us/library/ms142566.aspx">inflectional searches</a>. The primary SQL commands (technically, two &#8216;predicates&#8217; and two &#8216;functions&#8217;) that are used in FTS queries are <code>CONTAINS</code>, <code>FREETEXT</code>, <code>CONTAINSTABLE</code>, and <code>FREETEXTTABLE</code>. Good luck!
</p>
<div class="techtags">Tags: <a href="http://technorati.com/tag/.NET" rel="tag">.NET</a>, <a href="http://technorati.com/tag/Management+Studio+Express" rel="tag">Management Studio Express</a>, <a href="http://technorati.com/tag/SQL+Express" rel="tag">SQL Express</a>, <a href="http://technorati.com/tag/database" rel="tag">database</a>, <a href="http://technorati.com/tag/Full+Text+Search" rel="tag">Full Text Search</a>, <a href="http://technorati.com/tag/search" rel="tag">search</a>, <a href="http://technorati.com/tag/sqlcmd" rel="tag">sqlcmd</a>, <a href="http://technorati.com/tag/sseutil" rel="tag">sseutil</a></div>]]></content:encoded>
			<wfw:commentRSS>http://blog.birnamdesigns.com/2006/12/15/setting-up-full-text-search-with-sql-express-2005-and-management-studio-express/feed/</wfw:commentRSS>
		<feedburner:origLink>http://blog.birnamdesigns.com/2006/12/15/setting-up-full-text-search-with-sql-express-2005-and-management-studio-express/</feedburner:origLink></item>
		<item>
		<title>Update: new version of DebugBar</title>
		<link>http://feedproxy.google.com/~r/bdb/~3/GHVOWbmjqZM/</link>
		<comments>http://blog.birnamdesigns.com/2006/11/17/update-new-version-of-debugbar/#comments</comments>
		<pubDate>Fri, 17 Nov 2006 22:26:05 +0000</pubDate>
		<dc:creator>david</dc:creator>
		
	<category>useful links</category>
	<category>software</category>
	<category>plugins</category>
	<category>development</category>
		<guid isPermaLink="false">http://blog.birnamdesigns.com/2006/11/17/update-new-version-of-debugbar/</guid>
		<description><![CDATA[A few weeks ago I wrote about an exciting AddOn for Internet Explorer that gave IE a lot of the developer tools we have become used to in Firefox. It&#8217;s called DebugBar, and is published by Core Services. At the time, I was able to test it out with a Virtual PC using IE6 but [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago I wrote about <a href="http://blog.birnamdesigns.com/2006/10/30/debugbar-for-ie7-ie-grows-more-developer-friendly/">an exciting AddOn for Internet Explorer</a> that gave IE a lot of the developer tools we have become used to in Firefox. It&#8217;s called <a href="http://www.debugbar.com/">DebugBar</a>, and is published by <a href="http://www.core-services.fr/">Core Services</a>. At the time, I was able to test it out with a Virtual PC using IE6 but had stability problems in IE7 on my native Windows XP box.</p>
<p>The problem turned out not to be with use in IE7, but a compatibility issue with the Google Desktop addon I also have installed (it records your browsing history to be searchable with a Google Desktop search). I&#8217;m very happy to report that Core Services was eager to get this fixed, and they have already <a href="http://www.debugbar.com/">released a 4.01 version</a> that solves the issue!</p>
<p>After having worked with the AddOn some more, my opinion has only strengthed, and not just in regards to the new stability. DebugBar has become a very useful addition to my toolbox. It&#8217;s free for personal use, and professionals have a 30-day trial period before having to decide on the  ~$75 pricetag. If you find yourself banging your head over IE development, this could be what you&#8217;re looking for and well worth the cost.</p>
<p><strong>Plus</strong>, if you&#8217;re looking for a good IE tool for working with Javascript, the same developers have also released an early version of <a href="http://www.ieforge.com/CompanionJS/HomePage">Companion.JS</a>, a new tool for debugging Javascript. It might be an early version, but it&#8217;s already looking good.
</p>
<div class="techtags">Tags: <a href="http://technorati.com/tag/Internet+Explorer" rel="tag">Internet Explorer</a>, <a href="http://technorati.com/tag/Core+Services" rel="tag">Core Services</a>, <a href="http://technorati.com/tag/IE7" rel="tag">IE7</a>, <a href="http://technorati.com/tag/Google+Desktop" rel="tag">Google Desktop</a></div>]]></content:encoded>
			<wfw:commentRSS>http://blog.birnamdesigns.com/2006/11/17/update-new-version-of-debugbar/feed/</wfw:commentRSS>
		<feedburner:origLink>http://blog.birnamdesigns.com/2006/11/17/update-new-version-of-debugbar/</feedburner:origLink></item>
		<item>
		<title>Google on the road to web standards?</title>
		<link>http://feedproxy.google.com/~r/bdb/~3/xxAFniQp5AM/</link>
		<comments>http://blog.birnamdesigns.com/2006/11/17/google-on-the-road-to-web-standards/#comments</comments>
		<pubDate>Fri, 17 Nov 2006 18:26:55 +0000</pubDate>
		<dc:creator>david</dc:creator>
		
	<category>general information</category>
	<category>css</category>
		<guid isPermaLink="false">http://blog.birnamdesigns.com/2006/11/17/google-on-the-road-to-web-standards/</guid>
		<description><![CDATA[Yes, their search results still use tables and font tags. BUT I noticed today that Google&#8217;s results have switched from being listed with &#60;p&#62; tags to using &#60;div&#62; tags! It&#8217;s definitely progress.
If you&#8217;re interested, I noticed this when one of my Greasemonkey scripts stopped working. My script will number the Google results, which I use [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, their search results still use tables and font tags. BUT I noticed today that Google&#8217;s results have switched from being listed with <code>&lt;p&gt;</code> tags to using <code>&lt;div&gt;</code> tags! It&#8217;s definitely progress.</p>
<p>If you&#8217;re interested, I noticed this when one of my <a href="http://greasemonkey.mozdev.org/">Greasemonkey</a> scripts stopped working. My script will number the Google results, which I use to test SEO rankings. If you have Greasemonkey, and you&#8217;re interested, you can <a href="http://www.birnamdesigns.com/userscripts/numbergoogleresults.user.js">install Number Google Results here</a>. It&#8217;s already updated to work with Google&#8217;s new format. </p>
<div style="font-size: 9px; color: #666; ">Feel free to use it or customize it, but it comes as-is without any support. If you do customize it, I&#8217;m interested to see what you&#8217;ve done!</div>
<div class="techtags">Tags: <a href="http://technorati.com/tag/Google" rel="tag">Google</a>, <a href="http://technorati.com/tag/SEO" rel="tag">SEO</a>, <a href="http://technorati.com/tag/Greasemonkey" rel="tag">Greasemonkey</a></div>]]></content:encoded>
			<wfw:commentRSS>http://blog.birnamdesigns.com/2006/11/17/google-on-the-road-to-web-standards/feed/</wfw:commentRSS>
		<feedburner:origLink>http://blog.birnamdesigns.com/2006/11/17/google-on-the-road-to-web-standards/</feedburner:origLink></item>
		<item>
		<title>CSS border-collapse applied to inline lists</title>
		<link>http://feedproxy.google.com/~r/bdb/~3/HrI4WRxcMnI/</link>
		<comments>http://blog.birnamdesigns.com/2006/11/16/css-border-collapse-applied-to-inline-lists/#comments</comments>
		<pubDate>Thu, 16 Nov 2006 23:29:55 +0000</pubDate>
		<dc:creator>david</dc:creator>
		
	<category>css</category>
	<category>quick tips</category>
	<category>development</category>
		<guid isPermaLink="false">http://blog.birnamdesigns.com/2006/11/16/css-border-collapse-applied-to-inline-lists/</guid>
		<description><![CDATA[One good trick using CSS is making wrapping blocks of elements. Grouping elements together used to be something developers used table cells for, but when CSS started to be used more regularly, alternate methods were invented. A common use is converting &#60;ul&#62; lists (which are typically vertical structures) into horizontal menus. The really good thing [...]]]></description>
			<content:encoded><![CDATA[<p>One good trick using CSS is making wrapping blocks of elements. Grouping elements together used to be something developers used table cells for, but when CSS started to be used more regularly, alternate methods were invented. A common use is converting &lt;ul&gt; lists (which are typically vertical structures) into horizontal menus. The really good thing about the CSS-based solution is its flexibility when wrapping is involved.</p>
<p>For table-based designs, the number of rows and columns had to be preset. With a CSS-based wrapping solution the size of the container can dictate the wrapping. For instance:</p>
<p><style type="text/css">
ul.wrapping_blocks li {
	list-style: none;
	float: left; padding: 10px; border: solid 1px #aaa;
}
.collapsedborders li {
	margin: 0 -1px -1px 0;
}
ul.wrapping_blocks li .block {
	width: 120px; height: 20px; background-color: #1B2B3A; color: #fff;
}
</style></p>
<ul class="wrapping_blocks">
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
</ul>
<div style="clear: both; ">&nbsp;</div>
<p>Can be produced like this:</p>
<p><textarea name="code" class="css:nocontrols"" cols="40" rows="10">
ul.wrapping_blocks li {
	list-style: none;
	float: left; padding: 10px; border: solid 1px #aaa;
}
ul.wrapping_blocks li .block {
	width: 120px; height: 20px; background-color: #1B2B3A; color: #fff;
}
</textarea></p>
<p><textarea name="code" class="html:nocontrols"" cols="40" rows="10">
<ul class="wrapping_blocks">
	<li><div class="block">block</div><div class="caption">caption</div></li>
	<li><div class="block">block</div><div class="caption">caption</div></li>
	<li><div class="block">block</div><div class="caption">caption</div></li>
	<li><div class="block">block</div><div class="caption">caption</div></li>
	<li><div class="block">block</div><div class="caption">caption</div></li>
</ul>
<div style="clear: both; ">&nbsp;</div> <!-- necessary to cancel float ... -->
</textarea></p>
<p>The &#8220;block&#8221; and &#8220;caption&#8221; groups are kept together, and sequentially listed in the HTML. They are all floated, and therefore &#8217;stacked&#8217; horizontally, wrapping at the edge of the container. An arbitrary number of these groups can be placed using the same code, and the wrapping is taken care of by the rendering. Here is the same code with ten blocks:</p>
<ul class="wrapping_blocks">
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
</ul>
<div style="clear: both; ">&nbsp;</div>
<p>To get an even better demonstration, <a href="http://www.birnamdesigns.com/misc/css_block_wrapping.html" target="_blank">this link</a> will open a new window that you can resize and watch how the wrapping takes place.</p>
<p>At first one of the drawbacks of doing this with CSS as opposed to table is the lack of a border-collapse style! As you can see from the examples above, the bordering edges are doubled. Uh-oh! Border-Collapse only applies to tables!</p>
<p>No problem, just reduce the right and bottom margins by -1. If you want thicker borders, just change these margins to the negative border thickness.</p>
<ul class="wrapping_blocks collapsedborders">
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
<li>
<div class="block">block</div>
<div class="caption">caption</div>
</li>
</ul>
<div style="clear: both; ">&nbsp;</div>
<p><textarea name="code" class="css:nocontrols">
.collapsedborders li {
	margin: 0 -1px -1px 0;
}
</textarea><br />
<textarea name="code" class="html:nocontrols">
<ul class="wrapping_blocks collapsedborders">
	...
</ul>
</textarea>
</p>
<div class="techtags">Tags: <a href="http://technorati.com/tag/CSS" rel="tag">CSS</a>, <a href="http://technorati.com/tag/wrapping" rel="tag">wrapping</a>, <a href="http://technorati.com/tag/border-collapse" rel="tag">border-collapse</a></div>]]></content:encoded>
			<wfw:commentRSS>http://blog.birnamdesigns.com/2006/11/16/css-border-collapse-applied-to-inline-lists/feed/</wfw:commentRSS>
		<feedburner:origLink>http://blog.birnamdesigns.com/2006/11/16/css-border-collapse-applied-to-inline-lists/</feedburner:origLink></item>
		<item>
		<title>PowerShell 1.0 (final) released!</title>
		<link>http://feedproxy.google.com/~r/bdb/~3/CdsVyA_kZuM/</link>
		<comments>http://blog.birnamdesigns.com/2006/11/14/powershell-10-final-released/#comments</comments>
		<pubDate>Tue, 14 Nov 2006 20:52:23 +0000</pubDate>
		<dc:creator>david</dc:creator>
		
	<category>useful links</category>
	<category>productivity</category>
	<category>software</category>
	<category>development</category>
		<guid isPermaLink="false">http://blog.birnamdesigns.com/2006/11/14/powershell-10-final-released/</guid>
		<description><![CDATA[My new favorite tool has finally been fully released for Windows XP SP2 and Windows 2003 SP1! The Powershell blog gives the details. If you&#8217;re at all a fan of command line scripting, you&#8217;ll love PowerShell.
If you&#8217;re new to PowerShell, my first recommendation is the ArsTechnica guide to Microsoft Command Shell (one of the codenames, [...]]]></description>
			<content:encoded><![CDATA[<p>My new favorite tool has finally been fully released for Windows XP SP2 and Windows 2003 SP1! The <a href="http://blogs.msdn.com/powershell/archive/2006/11/14/windows-powershell-1-0-released.aspx">Powershell blog gives the details</a>. If you&#8217;re at all a fan of command line scripting, you&#8217;ll love PowerShell.</p>
<p>If you&#8217;re new to PowerShell, my first recommendation is the <a href="http://arstechnica.com/guides/other/msh.ars">ArsTechnica guide to Microsoft Command Shell</a> (one of the codenames, along with Monad and MSH, that was used to describe PowerShell before it&#8217;s wider release). Other good resources are the <a href="http://channel9.msdn.com/wiki/default.aspx/Channel9.WindowsPowerShellQuickStart">Channel9 Wiki Windows PowerShell QuickStart</a>, the <a href="http://blogs.msdn.com/powershell/">PowerShell blog</a> itself, and the <a href="http://mshforfun.blogspot.com/">PowerShell for Fun</a> blog.
</p>
<div class="techtags">Tags: <a href="http://technorati.com/tag/PowerShell" rel="tag">PowerShell</a>, <a href="http://technorati.com/tag/Monad" rel="tag">Monad</a>, <a href="http://technorati.com/tag/MSH" rel="tag">MSH</a></div>]]></content:encoded>
			<wfw:commentRSS>http://blog.birnamdesigns.com/2006/11/14/powershell-10-final-released/feed/</wfw:commentRSS>
		<feedburner:origLink>http://blog.birnamdesigns.com/2006/11/14/powershell-10-final-released/</feedburner:origLink></item>
		<item>
		<title>IE7: oh well</title>
		<link>http://feedproxy.google.com/~r/bdb/~3/SHzgKdXjcGQ/</link>
		<comments>http://blog.birnamdesigns.com/2006/11/02/ie7-oh-well/#comments</comments>
		<pubDate>Thu, 02 Nov 2006 19:12:35 +0000</pubDate>
		<dc:creator>david</dc:creator>
		
	<category>general information</category>
	<category>bugs</category>
	<category>css</category>
	<category>software</category>
		<guid isPermaLink="false">http://blog.birnamdesigns.com/2006/11/02/ie7-oh-well/</guid>
		<description><![CDATA[I really had a lot of hope for IE7. I was eager for the Big Day when IE7 would be pushed out to millions of computers around the world, changing the landscape of the internet overnight. Suddenly the support for PNG transparency would be in the majority of internet users! Suddenly CSS bugs would be [...]]]></description>
			<content:encoded><![CDATA[<p>I really had a lot of hope for IE7. I was eager for the Big Day when IE7 would be pushed out to millions of computers around the world, changing the landscape of the internet overnight. Suddenly the support for PNG transparency would be in the <i>majority</i> of internet users! Suddenly CSS bugs would be vanquished, and multi-headed hydra designs would be a thing of the past as IE7 would bring better standards support to the majority of the population!</p>
<p>Oh well. It was a noble thought.</p>
<p>As <a href="http://www.designdetector.com/link/to/ie7-old-bugs-for-new/">developers all over the internet</a> are discovering, IE7 simply replaces old bugs with new bugs. Most of what I&#8217;m seeing now seem to be pure rendering issues, such as the inability to redraw backgrounds in negatively-margined div elements after the users scrolls out and scrolls back in. I&#8217;m seeing some positioning bugs. And big problems with opacity support.</p>
<p>So now I&#8217;m stuck importing <i>yet another</i> stylesheet declaration into my html.
</p>
<div class="techtags">Tags: <a href="http://technorati.com/tag/IE7" rel="tag">IE7</a>, <a href="http://technorati.com/tag/support" rel="tag">support</a>, <a href="http://technorati.com/tag/CSS" rel="tag">CSS</a>, <a href="http://technorati.com/tag/bugs" rel="tag">bugs</a>, <a href="http://technorati.com/tag/standards" rel="tag">standards</a></div>]]></content:encoded>
			<wfw:commentRSS>http://blog.birnamdesigns.com/2006/11/02/ie7-oh-well/feed/</wfw:commentRSS>
		<feedburner:origLink>http://blog.birnamdesigns.com/2006/11/02/ie7-oh-well/</feedburner:origLink></item>
	</channel>
</rss>
