Wednesday, September 17, 2008

I wasn't aware books have beta versions too!  At any rate, it's free for now, warts and all.

Free e-book offer: Introducing Microsoft SQL Server 2008 by Peter
DeBetta, Greg Low and Mark Whitehorn Reviewed by Kathleen Atkins,
project editor, Microsoft Press

Peter DeBetta, the principal author of this book, welcomes readers to
the soon-to-be-released SQL Server 2008. An MVP for SQL Server and a
holder of many other credentials and longstanding SQL Server experience,
DeBetta (with his coauthors) offers in this electronic beta book a
discerning view of the new version of SQL Server.

DeBetta and his coauthors-Greg Low and Mark Whitehorn, who are also
database experts, consultants, developers, and writers-divide their
discussion of SQL Server 2008 into seven topics: Security and
Administration, Performance, Type System Enhancements, Programmability,
Storage, Enhancements for High Availability, and Business Intelligence
Enhancements. In each of these chapters, the authors describe new or
improved features. They could not address every additional capability of
or improvement in SQL Server 2008, however, because their view (and thus
their readers' view) into the product is an early one. Given the goals
of the book-to introduce and explore the product in a preliminary way,
both conceptually and practically (with sample code)-readers will find
plenty to interest them.

For example, database developers might be very glad to know that T-SQL
remains part of the product, and is, as yet, "still most often the best
choice for retrieving and manipulating data." CLR integration has been
improved since SQL Server 2005 and the new product introduces system CLR
types, but "T-SQL is still not going anywhere."

Because Peter DeBetta hopes to be the first technical book author on The
New York Times' bestseller list, he recommends Introducing Microsoft SQL
Server 2008 to everyone. But the people who really ought to read it are
those who want to begin using the new and improved tools in SQL Server
2008.

Register to download the free e-book, Introducing Microsoft SQL Server
2008 <
http://go.microsoft.com/?linkid=9318707>.

Wednesday, September 17, 2008 1:53:30 PM (Eastern Standard Time, UTC-05:00)

This is awesome news:

CodePlex is now offering server support for SvnBridge, the tool that enables TortoiseSVN to talk to Team Foundation Server. Support for Subversion has been our number one requested feature, and by hosting SvnBridge, our users can now use their favorite Subversion client with any project.

...

Starting today, TortoiseSVN will just work as illustrated below, no extra software is necessary to work with CodePlex.

Kudos to the CocePlex team!  Who says Microsoft doesn't listen to feedback, or make an effort to support open source tools?  Bah!

The SvnBridge client wasn't bad, but it was kind of a pain to have to start it to check out or commit changes.

Full story at http://blogs.msdn.com/codeplex/archive/2008/09/14/codeplex-launches-support-for-tortoisesvn.aspx.

Wednesday, September 17, 2008 1:51:06 PM (Eastern Standard Time, UTC-05:00)
 Tuesday, September 16, 2008

I'm headed to DevTeach Montreal!  It was DevTeach or PDC, and I liked the sessions at DevTeach better.  If you're attending also, drop a line.

Tuesday, September 16, 2008 9:01:38 PM (Eastern Standard Time, UTC-05:00)
 Saturday, September 13, 2008

I'll be speaking at the Pgh Dot Net user group on October 14!  The talk will be based on my recently published Easy XML to SQL Using Linq article.  I'll have a download available prior to the talk, so you can bring a laptop and follow along.

Official announcement at http://pghdotnet.agileways.com/forums/t/9.aspx.

Saturday, September 13, 2008 10:55:11 PM (Eastern Standard Time, UTC-05:00)
 Thursday, September 11, 2008

My latest DotNetSlackers article was published today: Easy XML to SQl with Linq.

Transferring data between partner companies is pretty routine, and XML is one of the common formats that data are transferred in. One of the more common destinations for the XML data is a SQL Server database. In the past, XML was difficult to work with, but the .NET framework improved XML parsing greatly. Linq to XML has made XML handling absolutely painless, and Linq to SQL makes entering the data just as easy.

This example isn’t meant to say this is the only way to transform XML into SQL, because like all things .NET, there are several ways to do this. This method may or may not work depending on your circumstances.

This article is based on my real world experiences using Linq-to-SQL, Linq-to-XML and the XML extensions in VB.NET to rapidly develop transformations of XML data into SQL Server databases.  This is an extremely common scenario in many businesses, and I wanted to highlight how easy it is.

Thursday, September 11, 2008 9:51:02 PM (Eastern Standard Time, UTC-05:00)
 Wednesday, September 10, 2008

Not sure how this one slid by me, but the MSDN Developer Freedom Roadshow is coming to Pittsburgh on September 19, 2008.  Since it’s being held at the MS offices, registration is limited to capacity (roughly 4 dozen or so).  The program looks to be very interesting, especially the morning half:

The Fundamentals of Liberty: Web Development Basics

Want to take advantage of the cool stuff that you can do with ASP.NET, but not sure where to start? Whether you’re a Windows programmer who hasn’t ventured into the web world yet, or coming from classic ASP or similar scripting languages, this session is for you. In this session, we’ll provide an overview of the .NET framework’s powerful web development features, from ASP.NET and its Web Forms programming model, to basic web services, to give you a foundation you can use to jump-start your web development efforts.

The Framer’s Intentions: What’s New in .NET Framework 3.5 SP1 for Web Developers and ASP.NET MVC

In the first part of the session we will look into new features for web development that are introduced in the .NET framework 3.5 SP1 -- ADO.NET Entity Framework , ASP.NET Dynamic Data, and ADO.NET Data Services. In the second part, we will introduce the ASP.NET MVC framework, which enables you to easily implement the model-view-controller (MVC) pattern for Web applications. This pattern lets you separate applications into loosely coupled, pluggable components for application design, processing logic, and display. A key benefit of ASP.NET MVC applications it that they provide clean URIs that can also be accessed in a RESTful manner.

More information and sign up at http://msevents.microsoft.com/CUI/EventDetail.aspx?culture=en-US&EventID=1032388335

Wednesday, September 10, 2008 8:22:06 AM (Eastern Standard Time, UTC-05:00)
 Thursday, August 14, 2008

e accidentally sent this to me; it deserves to be blogged:

I’ve just spent two months carrying a terrible, ancient cellular phone and a mediocre non-Apple music player around the planet, and interacting almost exclusively with Windows XP terminals at internet cafes and hostels. As my frustration with these poor interfaces grew, I started a rough list of interface design guidelines. Here they are:

    * The application interface should be fast and non-blocking.
    * The application interface should be consistent.
    * Don’t interrupt users in the middle of common, nondestructive tasks.
    * Avoid notifying users of success.
    * Avoid giving users information that they cannot use.
    * Rare, destructive actions should be harder to complete than nondestructive ones, but always possible.
    * Give users the chance to ask for forgiveness rather than forcing them to confirm.
    * Deal with application failure gracefully.
    * Preserve state, mode, and user input for as long as it is relevant, until users save or discard it.
    * Provide multiple, complete navigation paradigms.
    * Design the interface before starting to code.
    * If the application violates one of these rules because its design makes implementation of a better interface too complex or too difficult, then the application needs to be refactored until it supports a better interface.

Full story at http://glyphobet.net/blog/essay/269.

Given that developers are notoriously bad UI designers, there is much food for thought.

Thursday, August 14, 2008 8:59:39 AM (Eastern Standard Time, UTC-05:00)
 Tuesday, August 12, 2008

If you're into certifications, you might be happy to know that Second Shot is back.  Just in time for the SQL Server 2008 and Windows Server 2008 exams!  This is a do-over in case you fail the exam, you can take it again for free.  Registration is required, limited time only.  Full story at http://www.microsoft.com/learning/mcp/offers/secondshot/default.mspx.

Tuesday, August 12, 2008 10:33:46 AM (Eastern Standard Time, UTC-05:00)

Old news by now, but SP1 is out with all sorts of glorious new features, except a good installation path.  If you have several machines to update with both VS2008 SP1 and .NET 3.5 SP1 (e.g., a team), you'll want the ISO file, which can be tricky to find.  Direct link to combined installer .iso.  And, I use the awesome freeware ImgBurn to create the disks for my team.

I've seen a couple reports that the installation takes 3+ hours, but all told installation for me went 45 minutes.  I cheated, and downloaded the .NET 3.5 SP1 first (full package at http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe), installed that, then ran the combo installer. 

Greg has a great list of VS2008 things to download (including the MSDN update and training pack) at http://coolthingoftheday.blogspot.com/2008/08/visual-studio-2008-net-35-sp1-etc.html.

As always, make sure to remove any previous betas of the SP (both .NET and VS) you have installed.  I had the SP beta installed, and got rid of it from Add/Remove programs before I installed anything.  If you have any hotfixes installed, you need to remove those as well.  This time, there's a hotfix removal tool.

Unlike Craig Shoemaker, I was not asked for the original media.  I installed the MSDN updates, too, which tool a little over 30 minutes themselves.  All told, you're investing a couple hours for a full update.

Tuesday, August 12, 2008 10:32:02 AM (Eastern Standard Time, UTC-05:00)
 Monday, August 04, 2008

One of my favorite database tools is dbdesc from Logica2.  I’ve reviewed it in the past.  It’s simple, inexpensive and does its job quickly and well.

Recently, I’ve had some turnover on my team, in addition to the usual bouncing around, and database scripts became out of date with what was in the database.  I got the “all clear” to refresh a database, and ended up wiping out some recent changes.  I couldn’t recreate the tables and stored procedures from their creation scripts, but fortunately I had run dbdesc earlier and had its output to work with (you can run it as a command line tool and include it in your automated builds).  Dbdesc includes the CREATE scripts in its documentation, so I copied and pasted and executed and ran into a problem.

After a little poking around, I noticed that the tables were all being created as dbo.schema.tablename.  Upon closer examination (and this took a while to find), I saw that dbdesc was outputting the CREATE as

[schema.tablename]

rather than

[schema].[tablename]

This small difference is what led to the creation errors.  Manually fixing the sql script solved my problem, and I reported the issue to Logica2.  This is where the tale of great customer support begins.

I sent in the bug report via their website at around 3pm on Friday.  About three hours later, I had a reply from Jose that he was looking into the issue.  Not a bad response time, and I wasn’t expecting any update until today (Monday).  At 11:12 pm Saturday, I get another email from Jose saying the issue has been fixed and a link to the new installer.  Very impressive, especially since it would be Monday before I was back at work and would need the software.  This was probably a very simple issue to fix, but nonetheless it received prompt attention on a weekend.  My previous build was 730, and the updated build was 737.

Thanks, Jose and Logica2, I love your products even more!

Monday, August 04, 2008 9:16:16 AM (Eastern Standard Time, UTC-05:00)
 Monday, July 28, 2008

So there's a new player in the search engine space, founded by some really smart people from Google.  Named Cuil, pronounced "cool", it differs from Goole's algorithm:

As Cuil's founders describe it, the search engine goes beyond today's search techniques of link analysis and traffic ranking to analyze the context of each page and the concepts behind each query. It then organizes similar search results into groups and sorts them by category. Cuil displays results and offers organizing features, such as tabs to clarify subjects, images to identify topics, and search-refining suggestions.

(from http://www.newsfactor.com/story.xhtml?story_id=13000BY4G7IU&nl=2)

Or, put simply:

Cuil is making a big push that it ranks pages by content, rather than popularity. The idea here is to poke at how Google is commonly viewed to just reward pages that have the most PageRank value.

(from http://searchengineland.com/080728-000100.php)

Ranking by content?  Uh oh!  Remember "back in the day", when content was the main factor in ranking websites?  What did we end up with?  That's right, lots of spammy search results.  SE rankings were determined by the number of times search terms were repeated in the page content, and it was easy to repeat your way to the top results.  Content ranking was pretty much the death of Lycos and Alta Vista--the signal to noise ratio was way too low.

Just to test this brave new world of content ranking, I ran a test myself.  Wifey owns The Bloomery Florist in Butler, PA, so I did searches on Google and Cuil for "florist butler pa".

Google: http://www.google.com/search?hl=en&q=florist+butler+pa&btnG=Google+Search

The top of Google's results list the local results, with listings and maps of florists actually in Butler, PA.  The first five search results include three listings for The Bloomery, and two other shops in town.  Not bad, considering there are only four florists in town and one doesn't have a website.  If you're looking to send flowers to Butler, Google is going to point you in the right direction.

It isn't until the eighth result when spammy fake-florist sites start to show up.  You've seen them on Dateline and other places, the ones who pretend to be a florist in a local community, charge you a high service fee, and then send the order via FTD or Teleflora to a real local florist.  They're a complete ripoff, but like P.T. Barnum said, "There's a sucker born every minute".  Florist Detective has more information about fake local florists at http://www.floristdetective.com/wst_page9.aspx.

Cuil: http://www.cuil.com/search?q=florist+butler+pa

The main way the fake florists work their way into the search results is with keyword repetition, usually in some gibberish at the bottom of the page.  And, Cuil got suckered.  All but one of the results on Cuil's first page are fake florists, pretending to be in Butler.  Part of the spammy text from the first result is below (you have to scroll way down on the page to find this text):

Everybody in Butler needs Butler, PA Pennsylvania Flower Delivery from the best Butler flower shop.
Our Butler floral shop and our Butler flowers are first in quality.
Send Butler, PA Pennsylvania florist greetings to any city or state with a Butler local florist.
We offer Butler florist shop delivery everywhere. Order Butler flower bouquets with a Butler local florist.
Whenever you want a Butler centerpiece call our Butler flower shop.
Butler florist shops will bring your Butler sympathy arrangements wherever you need them.
Try our Butler, PA gift baskets for holiday giving or any time including any specified gift items.
Butler Thanksgiving flowers, and Butler Christmas flowers sent near or far.

See the result at http://www.800wesleys.com/Butler_Pennsylvania.html.  Wesley Berry is actually located in Michigan, not Butler, PA.  When you place an order with them, you're talking to someone at a call center (or will be handled by no one if you place online), and you're charged a high service fee.  The call center has no idea what's in the local coolers, or what's available.  Not exactly what you're looking for if you want to send flowers to Butler, PA.

Danny Sullivan also ran some tests himself, and you can see the results at http://searchengineland.com/080728-024035.php.  His conclusion was also that relevancy alone isn't enough to overcome Google's algorithm.

Long story short, let the searcher beware with Cuil for the time being.  I think there's some promise here, but they need a better algorithm than just keyword repetition.  There are some really smart people behind Cuil, and a good deal of money, too, so it's one to watch.  For now, use Google to find your local florists, and double check with Florist Detective if you're unsure.

<update 2008-08-02>

This isn't something made up, but an actual consumer warning.  Cuil is leading consumers into an unsatisfactory experience.  Wesley Berry has an Unsatisfactory rating at the BBB, and has a long list of complaints at Complaints Board.

Monday, July 28, 2008 2:32:10 PM (Eastern Standard Time, UTC-05:00)