The mysteries of software development and networking... RSS 2.0



 Friday, June 02, 2006

For all the people who are looking for more info on Programming SQL Server 2005, now there is the book 'Programming SQL Server 2005' by William H. Zack and my friend Stephen Forte.

Friday, June 02, 2006 2:51:20 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
General
 Thursday, May 25, 2006

As a frequent traveller I have to deal with different time zones all the time. Today I ran into a great website which helps you with all sorts of information about which time zone a city is in, and also when daylight savings kicks in for that city.

Go to: www.timeanddate.com

Thursday, May 25, 2006 2:41:58 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
General
 Wednesday, May 24, 2006

Every now and again I run into a tool which is just amazingly stunning. Today I looked at the SeeSharp.nl blog and found an excellent tool called SQL Prompt by a company called Red Gate.

It is a free tool and definately worth the download if you write even one SQL statement per week!

Features include:

  • Code completion for fast, accurate script building
  • Discoverability in SQL Server query creation
  • Keyword formatting, code snippet integration other extended features
  • FREE until 1st September 2006
  • No time-bombs, no restrictions
  • Table/View name completion
  • Column name completion
  • Stored procedure name completion
  • USE completion
  • JOIN/JOIN ON completion
  • Auto-uppercasing of keywords
  • Auto-popup after keywords  
Wednesday, May 24, 2006 12:48:30 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
General
 Tuesday, May 23, 2006

The crew from DotNetRocks was present at the SDC2006 and they actually taped a live show for DotNetRocks.

Go to www.dotnetrocks.com to listen to our speakers and conference organizers.

On monday evening there was an on stage recording of the comedy podcast Mondays. Go to http://mondays.pwop.com/ to listen to this quite funny show.

Tuesday, May 23, 2006 3:01:13 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
General
 Friday, May 19, 2006

Living in the world of software we often try and solve all our performance issues by optimizing queries, fine tuning applications and generally looking at any point in the application which can be improved.

Being an architect also means looking outside the box, or maybe more accurately: at the box. What is the hardware and hardware environment that my system, my website, my webapplication is running in? There are some quite interesting hardware solutions to optimizing network traffic and minimizing server load. I've been recently approached by MRA Group and was so intrigued by the solutions that they offer that it didn't take much for me to become their VP Sales for North America.  

Strong points about the webacceleration solutions that we offer are that:

a) they are non-intrusive - no code needs to be changes
b) the solution is hardware based - it's a box!
c) the solution is easy to install, easy to manage - we offer a unique monitoring dashboard
d) the solution is a full service solution - you don't need to do anything.

Check out the website for more details:

 www.mra-group.com

 

Friday, May 19, 2006 12:50:39 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
Webacceleration
 Wednesday, May 17, 2006

At the Software Developer Conference 2006 I presented a session on programming the CLR in SQL Server 2005.

Click below for the powerpoint.

SDC - Programming the CLR in SQL Server 2005.ppt (1.51 MB)
Wednesday, May 17, 2006 3:16:20 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
General
 Sunday, May 14, 2006

I'll be doing my SQL Server 2005 session at Software Developer Conference 2005 (www.sdc.nl) on Tuesday morning. Just surfing the web to see what info is out there I stumbled on a great MSDN article by a group of people (Balaji Rathakrishnan, Christian Kleinerman, Brad Richards, Ramachandran Venkatesh, Vineet Rao, Isaac Kunen)

Go here.

Sunday, May 14, 2006 5:44:55 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
General
 Tuesday, May 09, 2006

Another example.

public partial class StoredProcedures
{
  [Microsoft.SqlServer.Server.SqlProcedure]
  public static void PerformDomainCount()
  {
    SqlConnection conn = new SqlConnection();
    SqlDataReader reader = null;
    try
    {

    // use "Context Connection=true" to specify that you're
    // tagging along on the current connection
    // if you wish you could connect to an external
    // database
    conn.ConnectionString = "Context Connection=true";

    // You have to open the connection, which feels a little strange
    conn.Open();

    SqlCommand cmd = new SqlCommand();
    cmd.CommandText = "select count(*), dbo.ExtractDomain(email) from customers group by dbo.ExtractDomain(email)";
    cmd.Connection = conn;

    reader = cmd.ExecuteReader();
    SqlMetaData[] meta = DefineMetaData();
    SqlDataRecord record = new SqlDataRecord( meta );
    if ( reader.HasRows )
    {
      reader.Read();
      Copy( reader, record );
      SqlContext.Pipe.SendResultsStart( record );
      SqlContext.Pipe.SendResultsRow( record );
      while ( reader.Read() )
      {
        Copy( reader, record );
        SqlContext.Pipe.SendResultsRow( record );
      }
    }

    }
    catch ( Exception exception )
    {
      SqlContext.Pipe.Send( "ERROR: " + exception.Message );
    }
    finally
    { 
      // Close all
      reader.Close();
      conn.Close();
      if ( SqlContext.Pipe.IsSendingResults )
      {
        SqlContext.Pipe.SendResultsEnd();
      }
    }
  }

  private static SqlMetaData[] DefineMetaData()
  {
    SqlMetaData[] meta = new SqlMetaData[2];
    meta[0] = new SqlMetaData( "Count", SqlDbType.Int );
    meta[1] = new SqlMetaData( "Domain", SqlDbType.NVarChar, 50 );
    return meta;
  }

  private static void Copy(SqlDataReader reader, SqlDataRecord record)
  {
    record.SetSqlInt32( 0, reader.GetSqlInt32( 0 ) );
    record.SetSqlString( 1, reader.GetSqlString( 1 ) );
  }
}

Tuesday, May 09, 2006 1:37:03 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
C# | General

An example says it all.

[Microsoft.SqlServer.Server.SqlProcedure]
public static void PerformDomainCount()
{
SqlConnection conn = new SqlConnection();
// use "Context Connection=true" to specify that you're
// tagging along on the current connection
// if you wish you could connect to an external
// database
conn.ConnectionString = "Context Connection=true";

// You have to open the connection, which feels a little strange
conn.Open();


SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from customers";

SqlDataReader reader = cmd.ExecuteReader();

// Send result to caller
SqlContext.Pipe.Send( reader );

// Close the connection
conn.Close();
}

Tuesday, May 09, 2006 1:07:23 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
C# | General

If you want to run managed code in SQL Server 2005 you need to change the default setting for CLR Enabled from false to true.

To do this, run:

exec sp_configure 'clr enabled', '1'

reconfigure

 

 

Tuesday, May 09, 2006 1:06:07 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
General
 Monday, May 08, 2006

I generally don't bookmark too much, between the history in the address bar and Googling there is just little that requires it, today I found a link that is useful to check on a more regular basis though.

Microsoft has a page where you can find all the latest versions for their SDK's.

Link: http://www.microsoft.com/downloads/Browse.aspx?displaylang=en&aud=5&dctypeid=25

Monday, May 08, 2006 6:14:58 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
General
 Monday, May 01, 2006

My article on 'Getting started with WPF' has been published in the Software Developer Magazine and can also be read online at www.sdn.nl

Monday, May 01, 2006 11:27:07 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
WPF

The Maine Developer Network is a new .NET user group. Recently founded we organize a monthly meeting in Augusta, ME.

Interested? Read more on www.maine-devnet.org

Monday, May 01, 2006 10:11:37 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
General
 Saturday, April 15, 2006

This site show a very good example of why software patents are a bad idea: http://webshop.ffii.org/

Hint: each number in the picture is a patent violation.

Saturday, April 15, 2006 3:28:02 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
General
 Wednesday, April 12, 2006

MSBee is an addon for MSBuild which allows you to use MSBuild to build your .NET 1.1 projects.

=== Start Quote ===

Since the release of MSBuild in .NET Framework 2.0, a very frequent customer request has been to provide a means for MSBuild to build .NET 1.1 applications. This demand stems from users who want to use Visual Studio 2005 and .NET 2.0, but need to continue servicing customers who use .NET 1.1.

MSBuild Extras – Toolkit for .NET 1.1 “MSBee” is an addition to MSBuild that allows developers to build managed applications in Visual Studio 2005 that target .NET 1.1.

=== End Quote ===

Link: http://msdn.microsoft.com/vstudio/downloads/tools/msbee/default.aspx

Wednesday, April 12, 2006 8:50:14 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
General
 Tuesday, April 11, 2006

I love it when best practices get incorporated into tools to help you actually follow them in an easy and intuitive way. ServiceBAT, released by the Microsoft Patterns & Practices team, seems to bring a bunch of basic principle of Service Oriented Architecture into Visual Studio with a package called the Service Baseline Architecture Toolkit (ServiceBAT) project. 

Edward Bakker has a great post on his blog with demo screenshots.

The download can be found on GotDotNet. It still all very much beta!

WSCF - Schema-based Contract First Web Services by ThinkTecture is another great tool which takes a similar approach, but also improves the WSDL for your web service.

Tuesday, April 11, 2006 11:22:46 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
Architecture

Rocky Lothka has an interesting quote when he talks about Object Oriented designs:

"Reuse leads to coupling, coupling leads to high cost, high cost leads to anger, and anger leads to the dark side"

Now this is not just true for object orientation, it also applies to (web) services. Applications that use multiple web services and thus depend on multiple external systems are 'coupled'. Although at a technical level technologies like web services make that there is no binary dependency the logical, or business dependency is still very much there.

Headaches to ponder:
- How does my app behave when the web service is unavailable?
- What is the 'business' consequense of the technical solution for your chosen solution?
- How to deal with backup and restore if multiple systems go down?
  Or if just one goes down for that matter.

 

Tuesday, April 11, 2006 10:59:56 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
Architecture

I was just wondering whether it would be difficult to create my own URL like application. I would like to be able to surf to 'myApp:test'.

I guess it starts in the registry.

Here is what I found on MSDN ( http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/pluggable/overview/appendix_a.asp ):

---

To enable an application to handle a particular URL protocol, you must add a new key, with the appropriate keys and values, to the registry in HKEY_CLASSES_ROOT.

The new registry key must match the protocol scheme that is being added. For instance, to add the protocol note:, the key added to HKEY_CLASSES_ROOT should be note. Under this new key, the Default string value should be the name of the new protocol, and the URLProtocol string value should contain either protocol-specific information or an empty string. Also under the new key, a DefaultIcon key and a shell key should be added. The Default string value under the DefaultIcon key must be the file name to use as an icon for this new URL protocol. Under the shell key, a key using a verb (such as open) should be added. A command key and a DDEEXEC key can be added under the key using a verb. The values under the command and DDEEXEC keys are used to call the application.

The following example shows which registry values must be added to register a new application (notepad.exe in this example) to handle a new URL protocol (note:).

[HKEY_CLASSES_ROOT]
    [note]
        (Default) = "URL:Note Protocol"
        URL Protocol = ""
        [DefaultIcon]
            (Default) = "notepad.exe"
        [shell]
            [open]
                [command]
                    (Default) = "c:\windows\notepad.exe %1"

By adding these settings to the registry, attempts to navigate to URLs such as note:c:\myfile.txt would launch Notepad to edit the file c:\myfile.txt. Of course, all the commands supported under Shell\Open are supported, including DDEEXEC (in other words, "command" is not the only key you can put under the verb).

Tuesday, April 11, 2006 8:46:19 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
General
 Tuesday, March 28, 2006

You can now download the powerpoint from my 'Introduction to WPF' session on the download page at www.develop-one.com.

Or download directly from this link: Introduction to WPF.ppt

 

Tuesday, March 28, 2006 8:19:33 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
WPF
 Wednesday, March 22, 2006

Microsoft has released a press statement announcing that Windows Vista consumer availability has been scheduled for January 2007.

 

Below is the original statement:

REDMOND, Wash. — March 21, 2006 — Microsoft Corp. today confirmed that Windows Vista™, the next generation of the Windows® client operating system, is on target to go into broad consumer beta to approximately 2 million users in the second quarter of 2006. Microsoft is on track to complete the product this year, with business availability in November 2006 and broad consumer availability in January 2007.

Windows Vista will deliver great value to businesses by seamlessly connecting people to information, enabling increased mobile and remote productivity, significantly reducing deployment and support costs, and providing a more secure and compliant desktop platform. For consumers, Windows Vista will bring clarity to the world of personal computing, enabling people to more safely and easily accomplish everyday tasks, instantly find what they want, enjoy the latest in entertainment, and stay connected at home or on the go.

More than half a million customers have received the latest community technology preview for Windows Vista, and have been providing consistent and positive feedback.

“Product quality and a great out-of-box experience have been two of our key drivers for Windows Vista, and we are on track to deliver on both,” said Jim Allchin, co-president for the Platforms & Services Division at Microsoft. “But the industry requires greater lead time to deliver Windows Vista on new PCs during holiday. We must optimize for the industry, so we’ve decided to separate business and consumer availability.”

Because of the way businesses test and deploy software, it makes sense for Microsoft volume licensing customers to receive windows Windows Vista starting in November of this year. Availability for consumers and on new PCs will follow in January.

“We strongly support Microsoft’s decision to prioritize quality in determining the schedule for Windows Vista,” said Todd Bradley, executive vice president of the Personal Systems Group at Hewlett Packard. “A January launch of Windows Vista allows us to execute in a consistent way throughout the holidays, and will provide the right opportunity for a large, exciting launch industrywide after the New Year.”

Said Ron Boire, executive vice president and general merchandising manager at Best Buy, “When people come to our stores to buy a new PC or new software for their PC, we want to be able to offer them a broad set of choices, immediate availability and a great retail experience. We agree with Microsoft that it’s best to do this right — and in this case it’s delivering Windows Vista-based PCs with confidence in January 2007.”

Wednesday, March 22, 2006 3:43:35 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
General
About
This blog is run by Mark Blomsma.
© Copyright 2008
Develop-One
Sign In
Statistics
Total Posts: 337
This Year: 81
This Month: 0
This Week: 1
Comments: 94
All Content © 2008, Develop-One
DasBlog theme 'Business' created by Christoph De Baene (delarou)