drohm, Sun 09/28/08 10:59 AM

90% Bush + 9% Cheney + 1% Maverick + 0% Knowledge of the Economy = 100% John McCain.

From a comment on this CNN article.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Recently I was having a heck of a time figuring out why I couldn't connect to my work machine through VPN to the console.  I could in the past, but for some reason could not anymore.  I tried a variety of settings, both on my home machine and my work machine to no avail.  Finally, after searching the web, I found that if you have Windows XP SP3 installed, the /console command doesn't work anymore.  After I read that I realized that I did indeed update my home machine (its a Virtual PC) to SP3.  With SP3 you must use /admin instead of /console.  I guess I'm not mad about the change, but what really annoys me is that the new command has no compatibility with the old command.  It simply leaves you dead in the water.  They just removed the /console parameter and removed it from the documentation also.  So the command I use now is:

mstsc /v:machinename /admin /f

I hope this saves someone the frustration I had until I found out the new paramter name.

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
I finally set aside some time to finish my conversion from Community Server 2007 over to BlogEngine.NET 1.4.  The main problem I was having was getting my old posts/comments/categories/etc out of CS2007 and into BE.NET.  The built-in export tool wasn't working and would fail with several hard to decipher errors.  I even tried using the BlogML tool to export all of my data and that wasn't working either (thanks Keyvan Nayyeri for trying to help!).  Just by chance, I was reading Dave Burke's blog and noticed that he just finished his conversion from CS2007 to BE.NET.  I sent him an email asking how he was able to get all of his data out of CS2007 and he told he did it manually via SQL.  He was even kind enough to send me some of the queries he used and it worked!

The first thing you have to do is add a new column to the be_Posts table that allows you to link posts to post comments:

ALTER TABLE be_Posts ADD csPostID int null

Next, we copy over the posts:

INSERT INTO be_Posts

    (PostID, Title, PostContent, DateCreated, DateModified, Author, IsPublished, cspostID)

SELECT

    NEWID(),

    subject,

    body,

    postdate,

    postdate,

    'drohm',

    1,

    postID

FROM

    SQL2005_347492_dougrohm.dbo.cs_Posts

WHERE

    sectionID = 3 AND

    postlevel = 1


You'll need to change 'drohm' to the name of your blog in CS2007.  The section id for my blog in CS2007 is '3'.  This most likely is different for you and you'll need to get that value and enter it here.  Also, change 'SQL2005_347492_dougrohm' to whatever the name of your CS2007 database is named.

Next, we can migrate over post comments:

INSERT INTO be_PostComment

    (postID, CommentDate, author, email, website, comment, isapproved)

SELECT

    b.postid,

    c.postdate,

    (SQL2005_347492_dougrohm.dbo.FetchExtendendAttributeValue('SubmittedUserName', c.PropertyNames, c.PropertyValues)),

    'doug@dougrohm.com',

    (SQL2005_347492_dougrohm.dbo.FetchExtendendAttributeValue('TitleUrl', c.PropertyNames, c.PropertyValues)),

    c.body,

    1

FROM

    be_posts b INNER JOIN SQL2005_347492_dougrohm.dbo.cs_posts c

ON

    b.csPostID = c.parentID

WHERE

    c.sectionid = 3 AND

    c.postlevel = 2 AND

    c.posttype = 1 AND

    c.applicationposttype <> 8


Trackbacks are not being migrated here so if you want to capture that information you'll need to update this query.  Also, you'll need the FetchExtendedAttribute SQL function to extract the comment author and website info.  You can find that great tool here.  One other note, I'm using my email address for the email field.  On my CS2007 blog I didn't allow users to register.  If you want to migrate this information, you'll need to modify that here as well.

I then update the author field for any comments that don't have a value for the name:

UPDATE

    be_PostComment

SET

    author = 'Douglas Rohm'

WHERE

    author is null


The last step is to migrate over categories:

ALTER TABLE be_Categories ADD csCategoryID int null

 

INSERT INTO be_Categories

    (categoryname, csCategoryID) select [name], categoryID

FROM

    SQL2005_347492_dougrohm.dbo.cs_post_categories c

WHERE

    c.isenabled = 1 AND

    sectionID = 3

 

UPDATE

    be_Categories

SET

    csCategoryID = c.categoryID

FROM

    SQL2005_347492_dougrohm.dbo.cs_post_categories c, be_Categories b

WHERE

    b.categoryname = c.name

 

INSERT INTO be_PostCategory

    (postid, categoryid)

SELECT

    b.postid, bc.categoryID

FROM

    be_Categories bc

        INNER JOIN SQL2005_347492_dougrohm.dbo.cs_post_categories c ON c.categoryID = bc.csCategoryID

        INNER JOIN SQL2005_347492_dougrohm.dbo.cs_posts_incategories cic ON c.categoryID = cic.categoryID

        INNER JOIN SQL2005_347492_dougrohm.dbo.cs_posts p ON cic.postid = p.postid

        INNER JOIN be_posts b ON b.cspostID = p.postID


Like earlier, I'm adding a column to the be_Categories table so we can link the two.  Be sure to change the section id and 'SQL2005_347492_dougrohm' to the name of your CS2007 database and you should be all set.

Now that I have BlogEngine.NET 1.4 running, I have to say it's very fast and super easy to configure.  Kudos to the BE.NET team.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
drohm, Wed 03/26/08 02:24 PM
Have you ever had someone ask you what Agile is and how it can help a development team or project?  Even worse, what if that person were your boss or stakeholder?  Mike Cottmeyer does a great job of explaining it in under 30 seconds.  Nicely said.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
drohm, Sat 07/28/07 08:06 AM

This last week, Microsoft made available a web form that anyone can use to request hotfixes.  No more special requests or phone calls, now there's a single place where, simply by filling a web form, you can request the hotfix you want.  You can get to the form here

You will get a form mail in response, and in it will be a link to an http site you can download the fix from.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
drohm, Thu 06/28/07 08:27 AM

I'd love to get some feedback on this from people. Agile or not, how do most shops handle firing off builds on their build server?  Do you let just anyone on the Development team do it?  Anyone outside the Development team do it?  A QA person?  Where does it end?

Where I work, I was given the responsibility of upgrading/re-doing our build process.  Before I finished updating it and rewriting the NAnt scripts, it was a complete and utter disaster.  Now that I've upgraded the server and build scripts to work correctly I now find myself wanting to protect it.  Before I upgraded our build setup anyone could launch a build, modify build scripts, etc.  This is true even after I did the upgrade.  The problem is I feel like there are too many cooks in the kitchen.  I cringe every time I see someone say "I'll fire off a build real fast", etc.  How do most shops handle doing builds?   By the way, I realize in a truly agile shop, this problem wouldn't exist because of the nature of Continuous Integration (it happens all the time...hence it's continuous).  Our shop isn't there yet.  I think my boss doesn't believe in any of the benefits of it.  I'm slowly trying to convince him, but have a lot of work to do in that area.

So, do most shops have a dedicated build master that handles the builds?  Or do they let just anyone tinker with the build, modify scripts, or launch builds?

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

If you don't know what CoComment is, be sure to follow the link and find out. It's an easy way for you to keep track of your conversations that you have on the net (replies to forums, blogs, etc...). Back when I was running CS 2.x, I had CoComment setup with my installation so that users who were posting replies to my site could easily authenticate with CoComment so that it could track their conversations. I never got around to figuring that out for CS 2007, but luckily I didn't have to - Thomas Freudenberg did all the work! He created a dll that you drop into your bin folder and add one line to ~/App_Browsers/default.browser:

<adapter controlType="CommunityServer.Blogs.Controls.WeblogPostCommentForm"

        adapterType="ThomasFreudenberg.CS2007.WeblogPostCommentFormAdapter, ThomasFreudenberg.CS2007" />

The beauty of adding his code to a control adapter is that he just specifies which controls need to be customized.  There isn't a need to modify any blog pages or controls.  Very clean.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
drohm, Wed 05/30/07 05:47 PM

Jamie Cansdale just blogged about his entire ordeal that he's going through with Microsoft over how he integrated TestDriven.NET with the Express edition of Visual Studio.  I encourage you to read through the entire correspondence, its eye-opening to say the least.

I'm a paying user of TestDriven.NET, absolutely love the product, and don't want it to go away.  That said, I do think Jamie should just remove support for the Express versions of Visual Studio.  I don't think anyone in the community would have negative feelings towards him or his product by doing this.  If anyone reads his blog, they would know that his integration with the Express SKU wasn't a "hack" (it used publically listed API's).

Having already lost NDoc, due to completely different reasons, the thought of losing TestDriven.NET would hurt...bad.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

I just finished reading this book and thought I'd give a quick overview of it and my feelings on the book.

Quite simply, I loved the book. This was my first exposure to the ICONIX Process (created by Doug Rosenberg) and I would love to try to put this process in action on a future project. It's logical, systematical, and easy to learn. The real challenge is in sequence diagramming. The authors are very good at explaining the topic in a very easy-to-read and engaging style. The entire ICONIX process is discussed from beginning to end while implementing a Java/Spring bookstore web site.

ICONIX is considered an agile methodology. Taken right from the book: "ICONIX Process is a minimalist, streamlined approach that focuses on that area that lies in between use cases and code. Its emphasis is on what needs to happen at that point in the life cycle where you're starting out: you have a start on some use cases, and now you need to do good analysis and design." ICONIX originated several years before the UML and combined the best techniques from the "Three Amigos" (Ivar Jacabson, Jim Rumbaugh, and Grady Booch). The three methods, Ivar Jacobson's Objectory method, Jim Rumbaugh's Object Modeling Technique, and Grady Booch's 'Booch method', were combined by taking the best features of each method and integrating them into a lifecycle approach. The three UML modeling techniques used are Use Cases, Robustness Diagrams, and Sequence Diagrams. Robustness diagrams are a nice tool that helps bridge the gap for designers to get from Use Case's to Sequence Diagrams (from analysis to design).

Each chapter in the book starts out with a graphic (like the one listed above) of the area you're currently in printed in red. This helps the reader know exactly where they are in the process. Every chapter also gives a "Top 10 Guidelines" list for the topic and explains each point in detail throughout the chapter. At the end of each chapter there are exercises and practice problems to help to reinforce the topic just covered.  Also at the end of each chapter is a flow chart that shows the current step in the process in detail.  This summarizes the chapter by showing each sub-step in the process, which I found quite informative. The example used throughout the book is an internet bookstore and the authors explain 2-3 use cases from chapter to chapter. This allows you to see first-hand how a requirement becomes a use case and a domain model, then a robustness diagram with an updated domain model, which then leads to a detailed sequence diagram and a full-blown class diagram, which then easily transitions to real code. Thats what I really like most about the ICONIX process. The concepts are not new, they just follow a logical flow from requirements to code in the fastest way possible, losing most, if not all, ambiguity and vagueness of the system. What a novel concept!

The book is very well written with few mistakes (code or grammar). The authors go through each topic with an in-depth explanation and offer advice at every turn. Another nice tidbit I really enjoyed is in the chapter on Sequence diagramming, the authors list several quality OOAD books for further reading. For example, Object Design: Roles, Responsibilities, and Collaboration, which I'm now currently reading. Another book they mention for further reading is Object-Oriented Analysis and Design with Applications (the 3rd edition for this book just came out).

The book uses Enterprise Architect from Sparx Systems as the main modeling tool during the book. They also use MDG Integration for Visual Studio 2005 in Chapter 10 - Implementation: Getting From Detailed Design to Code and also in Chapter 11 - Code Review and Model Update to keep the code and design diagrams in sync.

If you're interested at all with software methodologies and processes, I highly recommend this book.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
drohm, Fri 03/23/07 05:40 PM

I realize this is a tad-bit old, but I haven't checked for an update to this add-in in quite some time.  I wrote about how to get the previous version of CSAH running under VS2005, but realized there is a new version fully compatible with VS2005 and .NET 2.0.  Straight from the CSAH web site:

CSAH 2.0.0 is the first official release of CopySourceAsHtml for Microsoft Visual Studio 2005. This release has a leaner, meaner, refactored codebase that fixes a few minor defects and takes advantage of new features in Visual Studio 2005 and .NET 2.0.

CSAH is the one and only source copying tool I use for blogging.  Simply awesome.

Go check it out here.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5