News Archives 
   
(click month to expand)
  

Recent Technology News Stories

Solentive News
MVP in 2008  [click for more...]

palermo4MVP78x100 Yesterday I was notified that I have been awarded MVP status again!  This is my 5th year as an MVP, and I am thrilled to be involved with such a great program.  Click my picture to view my MVP Profile.

What is an MVP?

The Microsoft MVP Award recognizes exceptional technical community leaders from around the world who voluntarily share their high quality, real world expertise with others. Microsoft MVPs are a highly select group of experts representing technology's best and brightest who share a deep commitment to community and a willingness to help others. Worldwide, there are over 100 million participants in technical communities; of these participants, there are fewer than 4,000 active Microsoft MVPs.

At Microsoft, we believe that technical communities enhance people's lives and the industry's success by providing users with the opportunity to have conversations about technology that catalyze change and innovation. Technical communities help users adopt new technologies more quickly and more effectively. Also, they help Microsoft product developers understand the "pulse" of our users and better meet our customers' needs. As the most active, expert participants in technical communities, MVPs are recognized and awarded for their inspirational commitment to technical communities.

In order to receive the Microsoft MVP Award, MVP nominees undergo a rigorous review process. Technical community members, current MVPs, and Microsoft personnel may nominate candidates. A panel that includes MVP team members and product group teams evaluate each nominee's technical expertise and voluntary community contributions for the past year. The panel considers the quality, quantity, and level of impact of the MVP nominee's contributions. Active MVPs receive the same level of scrutiny as other candidates each year.

3/01/2008   [Link]
How Silverlight and VS2008 Could Revolutionize Web Development  [click for more...]
Silverlight 2.0 (1.1 alpha) introduces powerful new features that could revolutionize web development and Visual Studio 2008 makes them easy to use.
3/01/2008   [Link] Dustin Metzgar
SharePoint: How to display blog feed using XML Web Part?  [click for more...]

I wanted to show our company's blog feed on our intranet first page. There some empty space I wanted to fill somehow. I found a good solution, so there was no need for some third-party Web Parts. Also there was no need to write any additional code.

Here's my blog feed example as easy step-by-step guide.

  1. SharePoint: XML Web Part settingsMove to SharePoint page you want to add your blog feed.
     
  2. Open this page in edit view and add new Web Part called XML Web Part.
     
  3. If Web Part is added to page then open it's settings window.
     
  4. On the field XML Link insert your blog feed URL. Check out if link is correct and content is receivable by clicking the link titled as Test Link.
     
  5. Push button titled as [XSL Editor].
     
  6. XSL editing window is opened and now insert XSL code given below. When inserted click [OK].
     
  7. If everything is okay then you should see your blog's last titles as bulleted list.
     
  8. If you see your blog entries in bulleted list then it is okay to save edited page.
     
     

XSL you need is here. Take it using copy and paste.


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    exclude-result-prefixes="xsl">
    <xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>
    <xsl:template match="/">
        <div>
           <xsl:apply-templates select="rss/channel"/>
        </div>
    </xsl:template>
    <xsl:template match="rss/channel">
        <xsl:variable name="link" select="link"/>
        <xsl:variable name="description" select="description"/>

        <ul><xsl:apply-templates select="item"/></ul>
    </xsl:template>
    <xsl:template match="item">
        <xsl:variable name="item_link" select="link"/>
        <xsl:variable name="item_title" select="description"/>
        <li>
            <a href="{$item_link}" title="{$item_title}"><xsl:value-of select="title"/></a>
        </li>
    </xsl:template>
</xsl:stylesheet>

The result I got in my company's intranet is here.

3/01/2008   [Link]
TFS Power Tools for VS 2008  [click for more...]

If you haven´t noticed, Visual Studio Team System 2008 Team Foundation Server Power Tools have been released.

For more information look here:
http://blogs.msdn.com/bharry/archive/2007/12/21/december-07-release-of-the-tfs-power-tools-for-tfs-2008-are-available.aspx

Download:
http://msdn2.microsoft.com/en-us/tfs2008/bb980963.aspx

3/01/2008   [Link]
Javascript Custom Parts Print Preview  [click for more...]
a javascript module that grants developer to select variant parts or may be the whole page to make user can print preview it and print it.
3/01/2008   [Link] emadmraghib
The FTP In Copy Web Site is Slow!  [click for more...]
Although Visual Web Developer 2008 makes it convenient to connect to a remote site, doing so with the built-in FTP client is a pain in the butt. There's something wrong with the VS-embedded module that handles FTP transfers. Am I the only one seeing slow screen painting and refresh in this client app? It's like everything is working at quarter speed on a single thread. It comes to a dead stop for no reason. It's unfortunate to see such a poor implementation dragging down a fine developer tool. It...(read more)
3/01/2008   [Link]
Posters  [click for more...]
3/01/2008   [Link]
Tip of the day: Double question mark  [click for more...]

A not so common, but very usefull operator is the double question mark operator (??). This can be very usefull while working with nullable types.

Lets say you have two nullable int:

int? numOne = null;
int? numTwo = 23;

Scenario: If numOne has a value, you want it, if not you want the value from numTwo, and if both are null you want the number ten (10).

Old solution:

if (numOne != null)
    return numOne;
if (numTwo != null)
    return numTwo;

return 10;

 Or another solution with a single question mark:

return (numOne != null ? numOne : (numTwo != null ? numTwo : 10));

But with the double question mark operator we can do this:

return ((numOne ?? numTwo) ?? 10);

As you can see, the double question mark operator returns the first value that is not null.

3/01/2008   [Link]
Rails is a Ghetto  [click for more...]

Zed Shaw, a former big time Rails dev, is leaving the community. He has a scathing rant of the community as a whole as well as ThoughtWorks. I must say that some of Zed's stories sound really familiar to when I was doing a lot of consulting work. There are a hell of a lot of bad customers out there that want you devote your life to thier projects, make them a ton of money, and not pay you back for your work. More often than not, it's because they don't really have any money to spend and they are simply trying to get rich quick off of some really bad idea, or some really poor execution of a fairly good idea.

At the same time, there are even more really bad consultants out there, especially at the big companies. Zed's story about the ThoughtWorks guys charging premium rates for people with next to zero experience sounds pretty familiar. Someone I know got hired by IBM Global Services straight out of college. IBM was billing about $200 for his services and calling him an expert, with zero real world experience... the funny thing is that he was only making about 60k a year... so while IBM was charging an insane rate for his time, his actual salary did a much better job of showing how much he was really worth at the time. I remember hearing a story about a project he was on for some extremely large clients. The project was to be written in a language that just about no one on the team was familiar with (despite the fact that it was one of the most commonly used languages for such things... further pointing out the lack of experience on the team). Their first official task while they were on the client's dime: "learn X language." So, not only was IBM billing an insane rate, they were also charging the client to train their own employees! Must be nice.

Now, I haven't worked specifically with any ThoughtWorks developers, but I have worked on projects with some big name .NET consultants... and my experience with those consultants has been the same as Zed's. They come into your place, bill you for experts, and produce a load of crap that you could have paid some high school kid $10/hr to build instead. But they really don't care, because they were on .NET Rocks or wrote some bloated framework that cures cancer, and now everyone and their mom is trying to hire them. So they'll come into your place, bill you 5x as much for 10x as much code as it should have taken to do the job, leave when the crap hits the fan, and then move on to the next unsuspecting client.

[1] http://www.zedshaw.com/rants/rails_is_a_ghetto.html

3/01/2008   [Link]
ASP.NET Dynamic Gradient Handler  [click for more...]
Create browser-independent gradients dynamically with an ASP.NET IHttpHandler
3/01/2008   [Link] Jake Morgan
BDD Style Specification Reporting via CC.NET  [click for more...]

After reading posts by Jean-Paul Boodhoo and Dave Laribee regarding BDD style naming conventions for specifications, my team gave it a shot on a project we started recently. It didn't take us long to agree that we preferred this naming style over the styles (or lack there-of) we had used in prior projects. We even found ourselves catching mistakes - in either the implementation or interpretation of the projects specifications - just by reading through the Dox report generated by the MbUnit GUI runner. We don't generally use the MbUnit GUI, however, and the output of the Dox report, though helpful, was not exactly what we were looking for. Since we have a continuous integration server running builds on every check-in, we decided to take a shot at having something generated during those builds. An example is seen below, which was generated using the MbUnit XML output from running the tests in the NothingButDotNetStore sample Jean-Paul has up on Google Code mixed with a custom XSL file.

Sample CC.NET report from MbUnit Xml log

We modified the build server's config to add a "specifications" report link when viewing the details of a build, and have definitely found it useful to have such an easy-to-read, always available and always up-to-date list of the specifications currently implemented by the project. While we're not quite to the point of being completely happy with what we've got - still some sorting, naming, organizational issues to work out - we definitely all agree that we are better off using this style of naming and having this report readily available for each build.

Here is a zip containing an MbUnit and NUnit version of the XSL we are using to generate reports like the one shown above. As I said, they really aren't perfect, but should get you started if you're trying out a similar style of naming convention. Let me know if you make any improvements.

3/01/2008   [Link]
Mole For Visual Studio - With Editing - Visualize All Project Types  [click for more...]
Mole v4 Visualizer with property editing. Mole is a high performance, full featured, multifunction visualizer allows detailed inspection of WPF, WCF, ASP.NET, XBAP's and WinForm applications. Editing of properties is now supported on all project types.
3/01/2008   [Link] Andrew Smith, Josh Smith, Karl Shifflett
VDialog (Vista TaskDialog for Windows XP)  [click for more...]
Vista-like TaskDialog control for .NET Framework 2.0, compatible with Windows XP
3/01/2008   [Link] Lukasz Swiatkowski
Get a free e-book from MS Press!  [click for more...]

You can get a free e-book from MS Press here:

http://csna01.libredigital.com/?urvs5cn3s8

3/01/2008   [Link]
Amazon-esque Pager  [click for more...]
Yet another list pager, but this one can use LinkButtons or simple hyperlinks, provides scrolling within an ASP.NET Ajax UpdatePanel, and behaves similarly to the paging found on Amazon.com.
3/01/2008   [Link] Daniel Vaughan
Extending Office 2007 with Tangram Extension Tools for Application  [click for more...]
A new method for Extending Microsoft Office 2007 User Interface using MFC/ATL and .NET technologies.
3/01/2008   [Link] sunhui
Datagrid for Master/Child or Master/Slave details using ASP.NET and C#  [click for more...]
Expandable/Collapsable rows in grid using Javascript to show and hide.
3/01/2008   [Link] Rajib Ahmed
VS just got served!, aka The ??? Shift, aka 'Converting a project to Unicode???' No, it's 'Converting a project??? ToUnicode!!!'  [click for more...]

Regular readers might remember my whole Converting a project to Unicode series in nine parts:

  • Part 0 (The introduction)
  • Part 1 (Business before pleasure)
  • Part 2 ('Sorry, you're not my type.' 'Um, maybe I could change that?)
  • Part 3 (Can I quote you on that?)
  • Part 4 (/Delightful, /Delicious, /DUnicode!)
  • Part 5 (Are we there yet? Well, not just yet)
  • Part 6 (Upon the road not traveled)
  • Part 7 (What does it mean to fit things to a 'T', anyway?)
  • Part 8 (Fitting MSLU into the mix)
  • Part 9 (The project's postpartum postmortem)
  • One of the lingering questions in many people's minds (now that they can't ask anymore why no useful samples exist!) is why there aren't more tools to help with this process.

    Luckily, MVP Mihai Nita is not sitting around waiting for such tools to be built!

    Take a look over on his site at ToUnicode – Automating some of the steps of Unicode code conversion (Windows), for a tool that takes many of these steps and tries to automate them.

    This strikes me as an effort that can only get better over time. and one that needs to keep on getting better as the need becomes greater and greater....

    Now this does not let the people who ought to be doing more here off the hook, believe me. But the better the external efforts get, the more foolish the internal folks look for not doing more here.

    And Visual Studio just got served!

    Thanks Mihai -- I not only owe you a book, I now also owe you a beer! :-)

     

    All of the characters in Unicode have taken off for Grand Cayman for the Christmas holiday weekend
    (they are staying at the Marriott Grand Cayman Beach Hotel in case you are there and are curious at all the characters hanging out by the pool!)

    3/01/2008   [Link]
    ASP.NET AJAX Controls and Extenders Tutorial  [click for more...]
    This tutorial examines the new Visual Studio 2008 Server Control and Server Control Extender. A compendium of tips, tricks and gotchas, it is a comprehensive tutorial that will provide readers with the skills necessary to start building advanced AJAX-enabled custom controls with Visual Studio.
    3/01/2008   [Link] James Ashley
    MailMergeLib - a .NET mail client library  [click for more...]
    MailMergeLib is a mail client library. It makes use the .NET System.Net.Mail and provides comfortable mail merge capabilities. MailMergeLib corrects a number of the most annoying bugs and RFC violations that .NET 2.0 to .NET 3.5 suffer from.
    3/01/2008   [Link] Norbert Bietsch
    Copyright © 2007 Solentive | Disclaimer | Contact | Home