<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Blogging</title>
        <link>http://blog.caffeinatedsoftware.com/category/6.aspx</link>
        <description>Blogging</description>
        <language>en-US</language>
        <copyright>&lt;i&gt;&lt;b&gt;Caffeinated&lt;/b&gt;&lt;/i&gt; Software</copyright>
        <generator>Subtext Version 2.1.0.5</generator>
        <item>
            <title>Toy with Sploggers w/ Dynamic Images  </title>
            <link>http://blog.caffeinatedsoftware.com/archive/2007/05/12/Toy-with-Sploggers-w-Dynamic-Images.aspx</link>
            <description>&lt;p&gt;Over at my &lt;a href="http://www.raincityguide.com/2007/05/11/steel-this-blog-post-friday-fun-with-splog-busters/"&gt;second home&lt;/a&gt;, I talked about how to annoy sploggers w/ a dynamic image. A dynamic image is merely any image generated programmatically at request time. So with a dynamic image, you have total control of the content that will get displayed when the url gets requested. &lt;/p&gt;
&lt;p style="background: white none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;Typically, when a splogger copies a blog post, they often times leave all the original hyperlinks and images links intact. Sploggers are lazy folks. If they are too lazy to write their own blog post, they are usually too lazy to edit yours. So if they do hotlink to an image on your server, they are now dependent on your server to serve that image request. And this is why we can change the image out from underneath them and have fun with them. &lt;/p&gt;
&lt;p style="background: white none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;If you're interested in more background on this sort of thing, I'd recommend you check out &lt;a href="http://www.hanselman.com/blog/ABoilerplateHttpHandler.aspx"&gt;Scot Hanselman's Computer Zen&lt;/a&gt; blog post on HttpHandlers. Anyway, here's how my variation worked… &lt;/p&gt;
&lt;p style="background: white none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;This first thing I did is write code to generate a text warning message… Nearly all modern web development frameworks have the ability to generate images on the fly, and put the generated bitmap on the request's response stream. So here's some C# code that draws some text in a solid colored rectangle. &lt;/p&gt;
&lt;div style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: Courier New;"&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Bitmap&lt;/span&gt; GetSploggerWarning(&lt;span style="color: blue;"&gt;string&lt;/span&gt; text)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;{&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: green;"&gt;// Create the objects we need for drawing&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: rgb(43, 145, 175);"&gt;Bitmap&lt;/span&gt; bmp = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Bitmap&lt;/span&gt;(350, 200);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: rgb(43, 145, 175);"&gt;Graphics&lt;/span&gt; gr = System.Drawing.&lt;span style="color: rgb(43, 145, 175);"&gt;Graphics&lt;/span&gt;.FromImage(bmp);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt; &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: green;"&gt;// Create our background colored rectangle&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: rgb(43, 145, 175);"&gt;SolidBrush&lt;/span&gt; fill = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;SolidBrush&lt;/span&gt;(&lt;span style="color: rgb(43, 145, 175);"&gt;Color&lt;/span&gt;.Purple);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: rgb(43, 145, 175);"&gt;Rectangle&lt;/span&gt; rect = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Rectangle&lt;/span&gt;(0, 0, 350, 200);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    gr.FillRectangle(fill, rect);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt; &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: green;"&gt;// Draw our text so it's big, centered &amp;amp; anti-aliased&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: rgb(43, 145, 175);"&gt;Font&lt;/span&gt; font = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Font&lt;/span&gt;(&lt;span style="color: rgb(163, 21, 21);"&gt;"Arial"&lt;/span&gt;, 24, &lt;span style="color: rgb(43, 145, 175);"&gt;GraphicsUnit&lt;/span&gt;.Pixel);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: rgb(43, 145, 175);"&gt;SolidBrush&lt;/span&gt; textbrush = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;SolidBrush&lt;/span&gt;(&lt;span style="color: rgb(43, 145, 175);"&gt;Color&lt;/span&gt;.White);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    gr.TextRenderingHint = &lt;span style="color: rgb(43, 145, 175);"&gt;TextRenderingHint&lt;/span&gt;.AntiAlias;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: rgb(43, 145, 175);"&gt;StringFormat&lt;/span&gt; stringFormat = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;StringFormat&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    stringFormat.Alignment = &lt;span style="color: rgb(43, 145, 175);"&gt;StringAlignment&lt;/span&gt;.Center;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    stringFormat.LineAlignment = &lt;span style="color: rgb(43, 145, 175);"&gt;StringAlignment&lt;/span&gt;.Center;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    gr.DrawString(text, font, textbrush, rect, stringFormat);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt; &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: green;"&gt;// Clean up our mess and return the image&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    gr.Dispose();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;return&lt;/span&gt; bmp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;!--EndFragment--&gt;OK, now that we have the images we want to use, we need to write code which will generate a different image depending on the circumstance. So, what I did is look at the &lt;a href="http://us.php.net/reserved.variables"&gt;HTTP_REFERER header&lt;/a&gt; from the current request. If a web browser requests an image from a web page, it will usually place the url of the page which is requesting the image in the HTTP_REFERER header. However if a web browser requests the image directly you may not get that header in the request. Also, I've read that &lt;a href="http://www.thescripts.com/forum/thread335224.html"&gt;Norton Internet Security&lt;/a&gt; strips out the header and I'm sure proxy servers that muck with the headers too. In short, you can't count on that header being there. &lt;/p&gt;
&lt;p&gt;Also, it's important to note that the value in this header can't be trusted. If the image is being requested by web browser there's a good chance it'll have the value you expect. However, there's nothing preventing a hacker from creating an HTTP request that is identical to the one a page from your domain would create. So, it's is really only effective if they retrieve the image from a sploggers web page. &lt;/p&gt;
&lt;div style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: Courier New;"&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; ProcessRequest(&lt;span style="color: rgb(43, 145, 175);"&gt;HttpContext&lt;/span&gt; context)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;{&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: rgb(43, 145, 175);"&gt;HttpRequest&lt;/span&gt; Request = context.Request;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: rgb(43, 145, 175);"&gt;HttpResponse&lt;/span&gt; Response = context.Response;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: rgb(43, 145, 175);"&gt;Bitmap&lt;/span&gt; bmp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;string&lt;/span&gt; message = &lt;span style="color: rgb(43, 145, 175);"&gt;String&lt;/span&gt;.Empty;       &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;string&lt;/span&gt; hostingdomain = &lt;span style="color: rgb(163, 21, 21);"&gt;"raincityguide.com"&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt; &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;if&lt;/span&gt; (Request.UrlReferrer == &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;        &lt;span style="color: green;"&gt;// Handle the case of the image not being on a web page&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;        bmp = GetSploggerWarning(&lt;span style="color: rgb(163, 21, 21);"&gt;"Don't SPLOG!\n Fight SPLOG!"&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;else&lt;/span&gt; &lt;span style="color: blue;"&gt;if&lt;/span&gt; (!Request.UrlReferrer.Host.EndsWith(hostingdomain))&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;        &lt;span style="color: green;"&gt;// Handle the case of another domain's page, using my image&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;        message = &lt;span style="color: rgb(43, 145, 175);"&gt;String&lt;/span&gt;.Format(&lt;span style="color: rgb(163, 21, 21);"&gt;"{0} is a SPLOG! Please visit {1}."&lt;/span&gt;,&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;            Request.UrlReferrer.Host,&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;            hostingdomain);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt; &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;        bmp = GetSploggerWarning(message);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    }&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;        &lt;span style="color: green;"&gt;// Handle the case my domain's page, using my image&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;        message = &lt;span style="color: rgb(43, 145, 175);"&gt;String&lt;/span&gt;.Format(&lt;span style="color: rgb(163, 21, 21);"&gt;"This image was paid for by {0} "&lt;/span&gt; +&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;            &lt;span style="color: rgb(163, 21, 21);"&gt;"and I approve of its hosting."&lt;/span&gt;,            &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;            hostingdomain);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;        bmp = GetSploggerWarning(message);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    }&lt;br /&gt;
&lt;span style="font-size: 10pt; font-family: Courier New;"&gt;&lt;span style="color: green;"&gt;    // To be continued… &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;OK, now that we got our image, we gotta send it across the wire. The only tricky part is that we have to tell the browser not to cache the image, since otherwise; the browser will reuse the image regardless of the domain it's being hosted on. So if somebody visits your blog and then the splog, it's likely the browser would display the same image in both places because the browser cached the original image, and re-uses it if somebody else refers to it. &lt;/p&gt;
&lt;div style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: Courier New;"&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: green;"&gt;// Set the content type and return the image&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    Response.Clear();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    Response.ContentType = &lt;span style="color: rgb(163, 21, 21);"&gt;"image/png"&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt; &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: green;"&gt;// Check out &lt;a href="http://www.hanselman.com/blog/ABoilerplateHttpHandler.aspx" style="color: green; text-decoration: underline;"&gt;http://www.hanselman.com/blog/ABoilerplateHttpHandler.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    Response.Cache.SetExpires(&lt;span style="color: rgb(43, 145, 175);"&gt;DateTime&lt;/span&gt;.MinValue);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    Response.Cache.SetNoStore();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    Response.Cache.SetCacheability(&lt;span style="color: rgb(43, 145, 175);"&gt;HttpCacheability&lt;/span&gt;.NoCache);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt; &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: green;"&gt;// To Save a bitmap as PNG, we need a seekable stream, otherwise we&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: green;"&gt;    // get a GDI exception. Visit &lt;a href="http://authors.aspalliance.com/chrisg/tools/view-png.vb.aspx" style="color: green;"&gt;Asp alliance&lt;/a&gt; for more details &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: rgb(43, 145, 175);"&gt;MemoryStream&lt;/span&gt; MemStream = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;MemoryStream&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    bmp.Save(MemStream, &lt;span style="color: rgb(43, 145, 175);"&gt;ImageFormat&lt;/span&gt;.Png);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    MemStream.WriteTo(Response.OutputStream);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt; &lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    &lt;span style="color: green;"&gt;// dispose of our objects&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;    bmp.Dispose();&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;!--EndFragment--&gt;Anyway, it's not an industrial strength approach but it's enough to stop the causal splogger from stealing content again. For an industrial strength solution, you'd have to combine this approach with IP black/white and IP geo-location and other tricks that products like &lt;a href="http://www.port80software.com/products/linkdeny/"&gt;Port 80 software's LinkDeny&lt;/a&gt; employ. &lt;/p&gt;
&lt;p&gt;And if &lt;a href="http://www.haacked.com/"&gt;Mr. Haack reads&lt;/a&gt; this and gets around to creating a world class plug-in model for &lt;a href="http://subtextproject.com/"&gt;SubText&lt;/a&gt;, I'd be happy to contribute a basic anti-leach / anti-splog plug-in for it. It's not fair that the WordPress kids have all the fun.&lt;/p&gt;&lt;img src="http://blog.caffeinatedsoftware.com/aggbug/24.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>&lt;i&gt;&lt;b&gt;Caffeinated&lt;/b&gt;&lt;/i&gt; Software</dc:creator>
            <guid>http://blog.caffeinatedsoftware.com/archive/2007/05/12/Toy-with-Sploggers-w-Dynamic-Images.aspx</guid>
            <pubDate>Sat, 12 May 2007 16:15:59 GMT</pubDate>
            <wfw:comment>http://blog.caffeinatedsoftware.com/comments/24.aspx</wfw:comment>
            <comments>http://blog.caffeinatedsoftware.com/archive/2007/05/12/Toy-with-Sploggers-w-Dynamic-Images.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blog.caffeinatedsoftware.com/comments/commentRss/24.aspx</wfw:commentRss>
        </item>
        <item>
            <title>A Blogger’s Test Drive of Word 2007 (Part 3)</title>
            <link>http://blog.caffeinatedsoftware.com/archive/2007/04/28/A-Bloggers-Test-Drive-of-Word-2007-Part-3.aspx</link>
            <description>&lt;div style="margin: 0in 0in 10pt;"&gt;&lt;strong&gt;Not enough cup holders and too much cheap looking plastic&lt;/strong&gt;&lt;/div&gt;
&lt;p style="margin: 0in 0in 10pt;"&gt;&lt;img width="127" height="81" align="left" alt="" src="/images/blog_caffeinatedsoftware_com/042907_0215_ABloggersTe1.png" /&gt;Despite all the improvements, it’s not quite the ultimate blog posting machine. Word has the advantage of being the market leading word processor for the past 15 years. And for the most part, its considerable text tweaking power converts well as a blog editing tool. Seamlessly integrating with other features of Office, “good enough” blog provider support and the removal of the MSO xml namespaced crap from the final HTML markup score big points in my evaluation.&lt;/p&gt;
&lt;div style="margin: 0in 0in 10pt;"&gt;Although, Word 2007 is a stellar first effort for Microsoft in the blog text editor space, I can’t help wonder if &lt;a href="http://www.microsoft.com/Expression/products/overview.aspx?key=web"&gt;Microsoft Expression Web&lt;/a&gt; would've been a better platform for Microsoft’s future blog editing tools. You can’t edit the raw HTML from Word. This is a blessing and curse. However, every once in a while, Word will get confused, add a colspan=2 in your table cell, or not let you remove a post category or do some other stupid thing to your mark-up that requires you to get your hands dirty. After all, Word was designed in the paper age and blogs are a web based medium.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt;"&gt;I'm sure it doesn't help that SubText is an "unsupported" blog platform, and IIS is a poor excuse for an FTP server (oh well, it's free and it does rock as a web server). In my limited experience with Word 2007, it does play with WordPress better than it plays with SubText. Your mileage may vary, as they say.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt;"&gt;&lt;strong&gt;Final Assessment&lt;/strong&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt;"&gt;&lt;img width="218" height="252" align="left" alt="" src="/images/blog_caffeinatedsoftware_com/042907_0215_ABloggersTe2.jpg" /&gt;In short, it has most of the word processing features that you know and love (Spell check, Grammar check, Language Translation, AutoCorrect, Smart Quotes, etc…) and enough shortcomings which prevent it from competing with Expression or Dreamweaver in the HTML editing space. However, Word is not designed to compete with those tools. Just like it is not designed to compete with Microsoft Publisher, Quark Express or Adobe InDesign either.&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt;"&gt;Although, I have never used &lt;a href="http://www.codingrobots.com/blogjet/"&gt;&lt;font color="#0000ff"&gt;Blogjet&lt;/font&gt;&lt;/a&gt;, I can say if I wasn’t using Word, that would probably be my first choice as a blog post editor. It has more fit and finish touches (such as tagging support, Flickr and YouTube Support, High-Quality Smileys, Blog Autodiscovery, to name the ones I know about) that separate the good from great. Perhaps Mr. Swann can discuss &lt;a href="http://ecto.kung-foo.tv/"&gt;Ecto&lt;/a&gt; some time and tell us why it's a great tool for blog writing or Mr. Cronin can chime in about Blogjet.&lt;br /&gt;
&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt;"&gt;I think the best way of putting it is Blogjet &amp;amp; Ecto are better for bloggers who write. Word 2007 is better for writers who blog. They both have their strong points.&lt;br /&gt;
&lt;/div&gt;
&lt;div style="margin: 0in 0in 10pt;"&gt;Regardless, if you like Microsoft Word or not. Microsoft adding blogging support to Word is a &lt;strong&gt;BIG&lt;/strong&gt; deal. It means within 12-24 months there will be tens of millions computers with desktop based blog publishing tools on them waiting to be discovered and used. (Or at least if Office 2007 turns out to be as big a success as &lt;a href="http://www.toptechnews.com/story.xhtml?story_id=12300B8WRPER"&gt;early results seem to indicate&lt;/a&gt; it will be).&lt;br /&gt;
&lt;br /&gt;
At any rate, this compelling entry into the bloggers tool chest asks as many questions as it answers.&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;
    &lt;div style="margin: 0in 0in 10pt;"&gt;What blogging support will the next version of Word have?&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div style="margin: 0in 0in 10pt;"&gt;Will Adobe and the other Office suites join the party?&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div style="margin: 0in 0in 10pt;"&gt;Now that giants are in the neighborhood, what wil happen to BlogJet and Ecto?&lt;/div&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;div style="margin: 0in 0in 10pt;"&gt;How much fuel will this add to the blogging world's fire?&lt;/div&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin: 0in 0in 10pt;"&gt;Needless to say, the future of the blogosphere got a LOT more interesting than it already was.&lt;/p&gt;&lt;img src="http://blog.caffeinatedsoftware.com/aggbug/18.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>&lt;i&gt;&lt;b&gt;Caffeinated&lt;/b&gt;&lt;/i&gt; Software</dc:creator>
            <guid>http://blog.caffeinatedsoftware.com/archive/2007/04/28/A-Bloggers-Test-Drive-of-Word-2007-Part-3.aspx</guid>
            <pubDate>Sun, 29 Apr 2007 03:10:09 GMT</pubDate>
            <wfw:comment>http://blog.caffeinatedsoftware.com/comments/18.aspx</wfw:comment>
            <comments>http://blog.caffeinatedsoftware.com/archive/2007/04/28/A-Bloggers-Test-Drive-of-Word-2007-Part-3.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blog.caffeinatedsoftware.com/comments/commentRss/18.aspx</wfw:commentRss>
        </item>
        <item>
            <title>A Blogger’s Test Drive of Word 2007 (Part 2)</title>
            <link>http://blog.caffeinatedsoftware.com/archive/2007/04/28/A-Bloggers-Test-Drive-of-Word-2007-Part-2.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;Fat Tires &amp;amp; Big Brakes &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;One of the things I dislike about WordPress is that it doesn't have a table editor like SubText does. Unfortunately, even the mighty SubText can compare to Word 2007 when it comes to table editing. Let's say I'm &lt;a href="http://realtownblogs.com/?u=Ardell"&gt;Ardell&lt;/a&gt; and I want to tell the &lt;a href="http://seattlebubble.blogspot.com/"&gt;bubble people&lt;/a&gt; they are wrong about some random nugget of real estate information. After all, I have &lt;a href="http://www.nwmls.com/"&gt;the multiple's&lt;/a&gt; database at my fingertips, so I know the facts. Let's say I'm trying to point out that Kirkland is the most affordable lakefront community along the I-405 corridor (I'm showing off Word, not trying to prove this assertion. So don't flame me and tell me Renton is a better value.) &lt;/p&gt;
&lt;p&gt;So, I create an empty table with a click and drag of my mouse like so…. &lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://blog.caffeinatedsoftware.com/images/blog_caffeinatedsoftware_com/042807_1950_ABloggersTe1.png" /&gt; &lt;/p&gt;
&lt;p&gt;And then I fill up my table with the facts I want to present. What's cool is that after you're done filling your table with data, you can then select Table Design tab from the ribbon and have word reformat your drab table into something more professional looking. Think of it as staging your blog content by painting the walls and rearranging the furniture. So with a few mouse movements you can convert this old thing… &lt;/p&gt;
&lt;div&gt;
&lt;table style="BORDER-COLLAPSE: collapse" border="0"&gt;
    &lt;colgroup&gt;&lt;col style="WIDTH: 91px" /&gt;&lt;col style="WIDTH: 79px" /&gt;&lt;col style="WIDTH: 79px" /&gt;&lt;/colgroup&gt;
    &lt;tbody valign="top"&gt;
        &lt;tr style="HEIGHT: 11px"&gt;
            &lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 4px; BORDER-TOP: 0.5pt solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; BORDER-BOTTOM: 0.5pt solid; BORDER-LEFT-STYLE: none" valign="middle"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;City &lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 4px; BORDER-TOP: 0.5pt solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; BORDER-BOTTOM: 0.5pt solid; BORDER-LEFT-STYLE: none" valign="middle"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;Average &lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 4px; BORDER-TOP: 0.5pt solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; BORDER-BOTTOM: 0.5pt solid; BORDER-LEFT-STYLE: none" valign="middle"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;Median &lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="HEIGHT: 11px"&gt;
            &lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; BORDER-LEFT: 0.5pt solid; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: 0.5pt solid" valign="middle"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;Medina &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: 0.5pt solid; BORDER-LEFT-STYLE: none" valign="middle"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 4,183,723 &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: 0.5pt solid; BORDER-LEFT-STYLE: none" valign="middle"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 3,250,000 &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="HEIGHT: 11px"&gt;
            &lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; BORDER-LEFT: 0.5pt solid; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: 0.5pt solid" valign="middle"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;Mercer Island&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: 0.5pt solid; BORDER-LEFT-STYLE: none" valign="middle"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 3,459,062 &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: 0.5pt solid; BORDER-LEFT-STYLE: none" valign="middle"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 1,800,000 &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="HEIGHT: 11px"&gt;
            &lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; BORDER-LEFT: 0.5pt solid; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: 0.5pt solid" valign="middle"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;Clyde Hill &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: 0.5pt solid; BORDER-LEFT-STYLE: none" valign="middle"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 2,993,133 &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: 0.5pt solid; BORDER-LEFT-STYLE: none" valign="middle"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 2,398,000&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="HEIGHT: 11px"&gt;
            &lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; BORDER-LEFT: 0.5pt solid; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: 0.5pt solid" valign="middle"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;Kirkland &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: 0.5pt solid; BORDER-LEFT-STYLE: none" valign="middle"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 1,063,496&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: 0.5pt solid; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: 0.5pt solid; BORDER-LEFT-STYLE: none" valign="middle"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 824,450 &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;   &lt;/p&gt;
&lt;p&gt;Into this &lt;/p&gt;
&lt;div&gt;
&lt;table style="BORDER-COLLAPSE: collapse" border="0"&gt;
    &lt;colgroup&gt;&lt;col style="WIDTH: 98px" /&gt;&lt;col style="WIDTH: 85px" /&gt;&lt;col style="WIDTH: 85px" /&gt;&lt;/colgroup&gt;
    &lt;tbody valign="top"&gt;
        &lt;tr style="BACKGROUND: #4f81bd; HEIGHT: 11px"&gt;
            &lt;td style="PADDING-RIGHT: 7px; BORDER-TOP: #4f81bd 1pt solid; PADDING-LEFT: 7px; BORDER-LEFT: #4f81bd 1pt solid"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: white"&gt;&lt;strong&gt;City &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="PADDING-RIGHT: 7px; BORDER-TOP: #4f81bd 1pt solid; PADDING-LEFT: 7px; BORDER-BOTTOM: #4f81bd 1pt solid"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: white"&gt;&lt;strong&gt;Average &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: #4f81bd 1pt solid; PADDING-RIGHT: 7px; BORDER-TOP: #4f81bd 1pt solid; PADDING-LEFT: 7px"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: white"&gt;&lt;strong&gt;Median &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="HEIGHT: 11px"&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BORDER-LEFT: #4f81bd 1pt solid; BORDER-TOP-STYLE: none; BORDER-BOTTOM: #4f81bd 1pt solid"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;&lt;strong&gt;Medina &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BORDER-TOP-STYLE: none; BORDER-BOTTOM: #4f81bd 1pt solid"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 4,183,723 &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: #4f81bd 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BORDER-TOP-STYLE: none; BORDER-BOTTOM: #4f81bd 1pt solid"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 3,250,000 &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="HEIGHT: 11px"&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BORDER-LEFT: #4f81bd 1pt solid; BORDER-BOTTOM: #4f81bd 1pt solid"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;&lt;strong&gt;Mercer Island&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BORDER-BOTTOM: #4f81bd 1pt solid"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 3,459,062 &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: #4f81bd 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BORDER-BOTTOM: #4f81bd 1pt solid"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 1,800,000 &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="HEIGHT: 11px"&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BORDER-LEFT: #4f81bd 1pt solid; BORDER-TOP-STYLE: none; BORDER-BOTTOM: #4f81bd 1pt solid"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;&lt;strong&gt;Clyde Hill &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BORDER-TOP-STYLE: none; BORDER-BOTTOM: #4f81bd 1pt solid"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 2,993,133 &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: #4f81bd 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BORDER-TOP-STYLE: none; BORDER-BOTTOM: #4f81bd 1pt solid"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 2,398,000&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="HEIGHT: 11px"&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BORDER-LEFT: #4f81bd 1pt solid; BORDER-BOTTOM: #4f81bd 1pt solid"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;&lt;strong&gt;Kirkland &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BORDER-BOTTOM: #4f81bd 1pt solid"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 1,063,496&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: #4f81bd 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BORDER-BOTTOM: #4f81bd 1pt solid"&gt;
            &lt;p style="TEXT-ALIGN: center"&gt;&lt;span style="COLOR: black"&gt;$ 824,450 &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;   &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;An Excel-lent Power train &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Even cooler is Word 2007's ability to use Excel 2007's charting engine (which like Word, has undergone very significant improvement from last version) from a blog post. So with a few more mouse clicks you can convert one of the above tables into a professional looking chart like so… &lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://blog.caffeinatedsoftware.com/images/blog_caffeinatedsoftware_com/042807_1950_ABloggersTe2.png" /&gt; &lt;/p&gt;
&lt;p&gt;Now with your data presented in an attractive, easy to understand chart, you'll be the envy of all your readers. Everybody will think you're the consummate professional that spends hours writing your blog posts (even though you haven't spent more than 5 minutes creating your chart). Word 2007 also has a cool feature that &lt;a href="http://blogs.msdn.com/excel/archive/2006/05/15/598254.aspx"&gt;Microsoft calls SmartArt&lt;/a&gt;. It's basically an easy way of creating professional looking diagrams, flowcharts, or org-charts. For example, the following illustration shows what makes a good blog post. &lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://blog.caffeinatedsoftware.com/images/blog_caffeinatedsoftware_com/042807_1950_ABloggersTe3.png" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial"&gt;(to be continued…)&lt;/span&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;&lt;img src="http://blog.caffeinatedsoftware.com/aggbug/14.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>&lt;i&gt;&lt;b&gt;Caffeinated&lt;/b&gt;&lt;/i&gt; Software</dc:creator>
            <guid>http://blog.caffeinatedsoftware.com/archive/2007/04/28/A-Bloggers-Test-Drive-of-Word-2007-Part-2.aspx</guid>
            <pubDate>Sat, 28 Apr 2007 19:50:38 GMT</pubDate>
            <wfw:comment>http://blog.caffeinatedsoftware.com/comments/14.aspx</wfw:comment>
            <comments>http://blog.caffeinatedsoftware.com/archive/2007/04/28/A-Bloggers-Test-Drive-of-Word-2007-Part-2.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://blog.caffeinatedsoftware.com/comments/commentRss/14.aspx</wfw:commentRss>
        </item>
        <item>
            <title>A Blogger’s Test Drive of Word 2007 (Part 1)</title>
            <link>http://blog.caffeinatedsoftware.com/archive/2007/04/28/A-Bloggers-Test-Drive-of-Word-2007.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;A Bold New Look&lt;br /&gt;
&lt;/strong&gt;The very first thing you notice about the new Word 2007 (and it's fellow Office-mates) is it's bold new look. Like the CTS-V in photo below, it's striking. The old menus and toolbars are gone. It's been replaced by what the 'softies call the ribbon. You may not like it, but you have to admire the collective corporate guts it took to completely redesign a product family that generates over $10 billion / year in revenue. &lt;/p&gt;
&lt;p&gt;The &lt;a href="http://blogs.msdn.com/jensenh/archive/2005/09/14/467126.aspx"&gt;designers &amp;amp; engineers at Microsoft&lt;/a&gt; did this for several good reasons. The biggest reason is that customers kept asking for features that were already in the product! The Word code base is nearly 20 years old, and apparently, the old menu / toolbar design doesn't scale past 100 commands or so for the majority of computer users. The other reason is that Microsoft felt Office was in danger of becoming commoditized by &lt;a href="http://www.openoffice.org"&gt;cheaper competitors&lt;/a&gt;. At any rate, Microsoft decided the usability gap between their suite and Open Office had become a little too close for comfort and they decided to widen it again. &lt;/p&gt;
&lt;p&gt;The hardest part about using the ribbon is getting over the shock of "Where did my file menu go?". After you discover and master the Office button, you become used to the layout of the commands in pretty short order. The Blog Post ribbon tab contains all the commands that you associate with a modern blog post editor. However, the Insert ribbon tab contains the commands that you associate with a luxury/performance blogging sedan. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Heated Leather Seats&lt;br /&gt;
&lt;br /&gt;
&lt;img alt="" src="http://blog.caffeinatedsoftware.com/images/blog_caffeinatedsoftware_com/042807_1611_ABloggersTe2.png" /&gt;&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;As you can see, there are a few useful features that your typical blog post editors don't have. One of my favorites is the Clip Art command. When you click on it, the Clip art gallery from the office web site appears in a window pane. Then you can search for whatever tickles your fancy and find a decent photo or clip art to complement your post. After you insert the photo, the Picture Tools tab should appear on the ribbon and you'll have ability to crop, resize, recolor, add drop shadows, and do other basic image manipulation tasks. And in minute or two you'll have a professional looking photo in your blog post! No more copy &amp;amp; pasting pictures into image editors. No more saving the file to your desktop and then uploading it to the server your blog is on! No more futzing with limited web based text editors! Even if you hate all things Microsoft, please do yourself a favor and get a decent offline blog post editor (like &lt;a href="http://www.codingrobots.com/blogjet/"&gt;BlogJet&lt;/a&gt;). &lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://blog.caffeinatedsoftware.com/images/blog_caffeinatedsoftware_com/042807_1611_ABloggersTe3.png" /&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;(to be continued…)&lt;/p&gt;&lt;img src="http://blog.caffeinatedsoftware.com/aggbug/13.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>&lt;i&gt;&lt;b&gt;Caffeinated&lt;/b&gt;&lt;/i&gt; Software</dc:creator>
            <guid>http://blog.caffeinatedsoftware.com/archive/2007/04/28/A-Bloggers-Test-Drive-of-Word-2007.aspx</guid>
            <pubDate>Sat, 28 Apr 2007 16:11:34 GMT</pubDate>
            <wfw:comment>http://blog.caffeinatedsoftware.com/comments/13.aspx</wfw:comment>
            <comments>http://blog.caffeinatedsoftware.com/archive/2007/04/28/A-Bloggers-Test-Drive-of-Word-2007.aspx#feedback</comments>
            <wfw:commentRss>http://blog.caffeinatedsoftware.com/comments/commentRss/13.aspx</wfw:commentRss>
        </item>
        <item>
            <title>My Blog Test Drive of Word 2007 </title>
            <link>http://blog.caffeinatedsoftware.com/archive/2007/04/28/My-Blog-Test-Drive-of-Word-2007.aspx</link>
            <description>&lt;p&gt;After reading &lt;a href="http://www.raincityguide.com/2007/04/27/blogging-in-luxury-style-with-word-2007/"&gt;my Rain City Guide post&lt;/a&gt;, you just had to visit. :) &lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="http://blog.caffeinatedsoftware.com/images/blog_caffeinatedsoftware_com/042807_0931_MyBlogTestD1.png" /&gt;&lt;br /&gt;
&lt;br /&gt;
I'm just getting some gas and new tires, before I take this baby to the track! I'll be back soon.&lt;/p&gt;&lt;img src="http://blog.caffeinatedsoftware.com/aggbug/12.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>&lt;i&gt;&lt;b&gt;Caffeinated&lt;/b&gt;&lt;/i&gt; Software</dc:creator>
            <guid>http://blog.caffeinatedsoftware.com/archive/2007/04/28/My-Blog-Test-Drive-of-Word-2007.aspx</guid>
            <pubDate>Sat, 28 Apr 2007 09:32:01 GMT</pubDate>
            <wfw:comment>http://blog.caffeinatedsoftware.com/comments/12.aspx</wfw:comment>
            <comments>http://blog.caffeinatedsoftware.com/archive/2007/04/28/My-Blog-Test-Drive-of-Word-2007.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blog.caffeinatedsoftware.com/comments/commentRss/12.aspx</wfw:commentRss>
        </item>
        <item>
            <title>A Craftsman and His Tools</title>
            <link>http://blog.caffeinatedsoftware.com/archive/2007/04/15/A-Craftsman-and-His-Tools.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://www.bloodhoundrealty.com/BloodhoundBlog/"&gt;Mr. Swann&lt;/a&gt; recently talked about the tools he uses for his &lt;a href="http://www.bloodhoundrealty.com/BloodhoundBlog/?p=1303"&gt;weblogging workflow&lt;/a&gt;. Since most craftsman like talking about their tools, I thought I'd let the world know what's on my hard drive these days. &lt;/p&gt;
&lt;p&gt;It all begins with the OS, and &lt;a href="http://blog.caffeinatedsoftware.com/archive/2007/04/15/My-Vista-Test-Drive.aspx"&gt;I just started using Windows Vista&lt;/a&gt;. Although I respect Mac OS X a lot and admire Steve Jobs, I've never liked fruit computers since my Atari &amp;amp; Amiga days. I can't bring myself to love a platform with only one mouse button. I've played with Ubuntu, and it's is (by far) my favorite Linux distribution. (I run Windows Server 2003 in the datacenter) &lt;/p&gt;
&lt;div&gt;
&lt;table style="BORDER-COLLAPSE: collapse" border="0"&gt;
    &lt;colgroup&gt;&lt;col style="WIDTH: 139px" /&gt;&lt;col style="WIDTH: 499px" /&gt;&lt;/colgroup&gt;
    &lt;tbody valign="top"&gt;
        &lt;tr style="BACKGROUND: rgb(79,129,189) 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"&gt;
            &lt;td style="PADDING-RIGHT: 7px; BORDER-TOP: rgb(79,129,189) 1pt solid; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;&lt;span style="COLOR: white"&gt;&lt;strong&gt;Activity&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; BORDER-TOP: rgb(79,129,189) 1pt solid; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;&lt;span style="COLOR: white"&gt;&lt;strong&gt;Tool&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;Text editing&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;&lt;a href="http://www.slickedit.com/content/view/73/60/"&gt;Visual Slickedit 2007&lt;/a&gt;. Ironically, &lt;a href="http://www.sourceinsight.com/prodinfo.html"&gt;Source Insight&lt;/a&gt; is across town and I haven't used their product in ages (I remember it was a life saver in my Outlook days, but code editing wasn't its strength).&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;Web browsing&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;&lt;a href="http://www.mozilla.com/en-US/firefox/"&gt;Firefox 2.0&lt;/a&gt; &amp;amp; &lt;a href="http://www.microsoft.com/windows/products/winfamily/ie/default.mspx"&gt;Microsoft IE 7.0&lt;/a&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;Software development&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa973782.aspx"&gt;Microsoft Visual Studio 2005&lt;/a&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;HTML/CSS hacking&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;I'm starting to use &lt;a href="http://www.microsoft.com/Expression/products/overview.aspx?key=web"&gt;MS Expression Web&lt;/a&gt;, since it rose from the ashes of FrontPage, but I still mostly use Slickedit.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;Web debugging&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;&lt;a href="http://fiddlertool.com/fiddler/"&gt;Fiddler&lt;/a&gt;, &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=E59C3964-672D-4511-BB3E-2D5E1DB91038&amp;amp;displaylang=en"&gt;MSIE Developer Toolbar&lt;/a&gt;, &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/216"&gt;Firefox JavaScript Debugger&lt;/a&gt;, &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/1843"&gt;Firebug&lt;/a&gt;, and &lt;a href="http://www.ethereal.com/"&gt;Ethereal&lt;/a&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;SQL hacking&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;&lt;a href="http://www.microsoft.com/sql/default.mspx"&gt;SQL Server 2005&lt;/a&gt; and &lt;a href="http://redgate.com/products/sql_bundles/index.htm"&gt;Red Gate SQL Comparison Bundle&lt;/a&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;Bug tracking&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;&lt;a href="http://axosoft.com/products/ontime.aspx"&gt;Axosoft OnTime&lt;/a&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;Source Code control&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;&lt;a href="http://sourcegear.com/vault/index.html"&gt;SourceGear Vault&lt;/a&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;Web development&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;C# &amp;amp; &lt;a href="http://asp.net/"&gt;ASP.net 2.0&lt;/a&gt;. I'm currently attempting to master &lt;a href="http://ajax.asp.net/"&gt;ASP.net AJAX&lt;/a&gt; and &lt;a href="http://www.componentart.com/home.aspx"&gt;ComponentArt Web.UI&lt;/a&gt;.&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;FTP / Remove access&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;&lt;a href="http://filezilla.sourceforge.net/"&gt;FileZilla&lt;/a&gt; or &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=26f11f0c-0d18-4306-abcf-d4f18c8f5df9&amp;amp;DisplayLang=en"&gt;MS Terminal Services Client 6.0&lt;/a&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;RSS feeding&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;I'm currently flirting with &lt;a href="http://www.newsgator.com/NGOLProduct.aspx?ProdID=FeedDemon"&gt;FeedDemon&lt;/a&gt;, though I've used &lt;a href="http://sharpreader.net/"&gt;SharpReader&lt;/a&gt; in the past&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;Graphic creation/editing&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;&lt;a href="http://www.adobe.com/products/photoshop/family/"&gt;Adobe Photoshop CS1&lt;/a&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;Document creation/editing&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/default.aspx"&gt;Microsoft Office 2007 – Ultimate Edition&lt;/a&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;Blog hosting&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;&lt;a href="http://www.subtextproject.com/"&gt;Subtext&lt;/a&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-LEFT: rgb(79,129,189) 1pt solid; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;Blog posting&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: rgb(79,129,189) 1pt solid; PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; BORDER-TOP-STYLE: none; PADDING-TOP: 1px; BORDER-BOTTOM: rgb(79,129,189) 1pt solid" valign="middle"&gt;
            &lt;p&gt;&lt;a href="http://office.microsoft.com/en-us/word/default.aspx"&gt;Microsoft Word 2007&lt;/a&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;BTW, I'm on the verge of upgrading my Adobe software and I don't know if I want &lt;a href="http://www.adobe.com/cfusion/store/html/index.cfm?event=displayStoreSelector&amp;amp;keyword=design_premium&amp;amp;promoid=RWTS"&gt;Creative Suite 3 Design Premium&lt;/a&gt; or &lt;a href="http://www.adobe.com/cfusion/store/html/index.cfm?event=displayStoreSelector&amp;amp;keyword=web_premium&amp;amp;promoid=RWTT"&gt;Creative Suite 3 Web Premium&lt;/a&gt;. They both have the apps I really care about (Illustrator, Photoshop, Acrobat, Flash, and Dreamweaver), and I suspect I'm more likely to use InDesign than all the web workflow stuff that the CS3 Web Suite has. Ugh, Adobe would have to emulate Microsoft's marketing (which makes upgrading software more confusing than it should be). If anybody has any nice things to say about the filler in Adobe's newest CS3 Web Suite, let me know, it might make my decision easier. &lt;/p&gt;
&lt;p&gt;That last one will come as a shock. For blog posting, I agree that Microsoft Word has &lt;em&gt;historically&lt;/em&gt; sucked as an HTML editor. In older versions of Word you can avoid most of the MSO XML namespace crud by saving the file as HTML 3.2 (which isn't the default behavior and adds to its' reputation as a lame HTML editor). However, a good craftsman never blames his tools. If all you have is a hammer, everything looks like a nail. Back in the old days (say 6 months ago), I would've used Windows Live Writer or the built-in editor that came with the blog. However, I feel I should mention &lt;a href="http://blogs.msdn.com/joe_friend/archive/2006/05/12/595963.aspx"&gt;Word 2007 is a much better tool for blog posting&lt;/a&gt; than previous versions. In fact, I'm using it to create this blog posting and &lt;a href="http://idunno.org/archive/2007/01/01/Blogging-to-subtext-with-Word2007.aspx"&gt;it works with Subtext&lt;/a&gt;. So &lt;a href="http://realestatetomato.typepad.com/"&gt;Mr. Cronin&lt;/a&gt;, &lt;a href="http://realestatetomato.typepad.com/the_real_estate_tomato/2007/04/microsoft_word_.html"&gt;there is no gum in my blog's hair&lt;/a&gt;, you just need to &lt;a href="http://www.thriftyfun.com/tf978270.tip.html"&gt;get some peanut butter&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Too bad peanut butter doesn't go with spam...&lt;/p&gt;&lt;img src="http://blog.caffeinatedsoftware.com/aggbug/4.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>&lt;i&gt;&lt;b&gt;Caffeinated&lt;/b&gt;&lt;/i&gt; Software</dc:creator>
            <guid>http://blog.caffeinatedsoftware.com/archive/2007/04/15/A-Craftsman-and-His-Tools.aspx</guid>
            <pubDate>Mon, 16 Apr 2007 05:47:13 GMT</pubDate>
            <wfw:comment>http://blog.caffeinatedsoftware.com/comments/4.aspx</wfw:comment>
            <comments>http://blog.caffeinatedsoftware.com/archive/2007/04/15/A-Craftsman-and-His-Tools.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blog.caffeinatedsoftware.com/comments/commentRss/4.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Doing Things The Hard Way</title>
            <link>http://blog.caffeinatedsoftware.com/archive/2007/04/13/1.aspx</link>
            <description>&lt;p&gt;&lt;img width="150" hspace="5" height="49" align="right" alt="SubText" src="/images/blog_caffeinatedsoftware_com/SubtextLogo_small.png" /&gt;If I was smart, I would've &lt;a href="http://www.raincityguide.com/2007/04/12/steps-to-hosting-your-own-wordpress-blog/"&gt;taken the easy way out&lt;/a&gt;. However, when I finally decided on a blogging platform, I didn't pick &lt;a href="http://wordpress.org/"&gt;WordPress&lt;/a&gt;. Essentially it boiled down to the fact, that I'm cheap and I'm lazy. I'm too cheap to pay somebody else to host it for me and I'm too lazy to install or learn PHP or MySQL.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Anyway, I had the following desires for a blogging platform&lt;br /&gt;
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Designed for IIS / ASP.net &lt;/li&gt;
    &lt;li&gt;Database server based (SQL Server preferred) &lt;/li&gt;
    &lt;li&gt;Open source preferred &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Essentially, I wanted to stick with what I know best. PHP &amp;amp; IIS go together like &lt;a href="http://www.autoblog.com/2007/01/25/jack-roush-declares-war-on-toyota-in-nascar/"&gt;Toyata &amp;amp; NASCAR&lt;/a&gt;. It might be great someday, but today it is an awkward marriage that has promise. Also, the more software a server has, the more crap that can go wrong with it. Besides, I'm kinda partial to C# / ASP.net anyway.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;After lots of deep thought, I eventually decided on &lt;a href="http://www.subtextproject.com/"&gt;Subtext&lt;/a&gt;. Subtext is based off the now defunct .TEXT blogging engine. .TEXT was originally designed by &lt;a title="Creator of .TEXT" href="http://scottwater.com/blog"&gt;Scott Watermasysk&lt;/a&gt; who later went on to develop &lt;a href="http://communityserver.org/learnmore/"&gt;Community Server&lt;/a&gt; (which is a commercial product). Anyway, &lt;a title="Founder of Subtext" href="http://haacked.com/"&gt;Phil Haack &lt;/a&gt;(I wonder if he thanks his parents for the cool, yet geeky last name) picked through the &lt;a href="http://haacked.com/archive/2005/05/04/2953.aspx"&gt;ashes of .TEXT code base and created Subtext&lt;/a&gt;. (I also considered &lt;a href="http://www.dasblog.net/"&gt;Das Blog&lt;/a&gt;, but I wanted a DB back end, instead of a file system).&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Setting up Subtext was pretty easy. The only thing that tripped me up was setting up the Host Admin so that feed points to my domain instead of http://localhost. That and tweaking the skin to match &lt;a href="http://www.caffeinatedsoftware.com"&gt;my company web site&lt;/a&gt; look (let's just say my CSS skills fall far short of the &lt;a href="http://www.csszengarden.com/"&gt;CSS Zen Garden&lt;/a&gt; bar)&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;So far, I'm loving &lt;a href="http://www.fckeditor.net/"&gt;FCK Editor&lt;/a&gt; that Subtext ships with, instead of the sad excuse for a rich text editor that WordPress has. And having the source code for a C# / ASP.net based blogging engine is cool since I might learn something from it. Anyway, I apologize for the mess. I'm still unpacking and it'll probably take a little while before this feels like home.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Since Caffeinated Software is a Real Estate Web Site Design / IDX vendor, I'll be talking about a few things in particular. What we do (develop software), how we do it (a whole lot of C#, ASP.net, and T-SQL), who we serve (real estate brokers, agents &amp;amp; their clients), where we live (Greater Seattle / Eastside) and how we can serve our customers better. I'm hoping you'll enjoy the conversation.&lt;/p&gt;&lt;img src="http://blog.caffeinatedsoftware.com/aggbug/1.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>&lt;i&gt;&lt;b&gt;Caffeinated&lt;/b&gt;&lt;/i&gt; Software</dc:creator>
            <guid>http://blog.caffeinatedsoftware.com/archive/2007/04/13/1.aspx</guid>
            <pubDate>Sat, 14 Apr 2007 00:55:15 GMT</pubDate>
            <wfw:comment>http://blog.caffeinatedsoftware.com/comments/1.aspx</wfw:comment>
            <comments>http://blog.caffeinatedsoftware.com/archive/2007/04/13/1.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://blog.caffeinatedsoftware.com/comments/commentRss/1.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>