tag:blogger.com,1999:blog-69112212024-03-13T23:07:15.599-07:00Justin Davis.Net Developer, Blogger, VP Development EIS, Public Safety Software (Police, Fire, EMS, Jail)Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.comBlogger177125tag:blogger.com,1999:blog-6911221.post-75065169403638492462015-03-09T05:28:00.001-07:002015-03-09T05:28:29.808-07:00How to enable remote access to IIS Express web sites<p>When developing web services with windows phone applications and using the emulator, Visual Studio provides a rich and integrated development environment.  However, once you move to a physical device, such as a windows phone 8.1 device, for additional testing, you might run into an issue with the device accessing the web service within the IDE.</p> <p>While you could configure IIS to expose the site you would not have an integrated debugging environment.  However, IIS Express can be configured to expose the IDE website to remote (external) devices.</p> <blockquote> <p>1.  Turn off or configure windows firewall to allow access to the selected website project port.  You can locate this in the projects properties under web.</p> <p><a href="http://lh5.ggpht.com/-nCndMzRiDvc/VP2R58-MjQI/AAAAAAAAAN4/c5uaN36V7hQ/s1600-h/image%25255B14%25255D.png" target="_blank"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh4.ggpht.com/-jWQGjyhTY68/VP2R6KTy37I/AAAAAAAAAN8/afrOcFAfV3g/image_thumb%25255B5%25255D.png?imgmax=800" width="537" height="368" /></a></p> <p>2.  Navigate to the IIS Express applicationhost.config file. (%HOMEPATH%\Documents\IISExpress\config\applicationhost.config)</p> <p>3. Find the website you working with (search for the configured port) and add the highlighted line changing localhost to the local ip address that the remote device will use to access the web site.</p> <p><a href="http://lh6.ggpht.com/-xLAoK4Se_44/VP2R6pRyOeI/AAAAAAAAAOI/-bygRKaUKIQ/s1600-h/image%25255B10%25255D.png" target="_blank"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh6.ggpht.com/-TN_e4QvyUE0/VP2R67f5B7I/AAAAAAAAAOM/yYqzLnXINiM/image_thumb%25255B4%25255D.png?imgmax=800" width="477" height="117" /></a></p> <p>4.  Make sure that you run Visual Studio as an administrator.</p></blockquote> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com17tag:blogger.com,1999:blog-6911221.post-87244120842783610802013-12-12T11:15:00.001-08:002013-12-12T11:15:18.049-08:00Search for the best Developer’s Laptop: Lenovo Yoga2 Pro i7?<p>I have been searching for the perfect developer laptop.  For the last year I have travelled with a Apple Mac Book Pro Retina i7 and remote into my office workstation while traveling.  </p> <p><a href="http://lh5.ggpht.com/-qzoXzmR_sgE/UqoLOaBZuNI/AAAAAAAAALc/a4Paz75d_Vs/s1600-h/2%25255B2%25255D.jpg"><img title="2" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="2" src="http://lh5.ggpht.com/-LIVsJrmkklo/UqoLO70n_BI/AAAAAAAAALk/vmDfXMt0n6A/2_thumb.jpg?imgmax=800" width="244" height="202" /></a></p> <p>This has worked really well expect when I need location access to resources, don’t have internet (on an airplane) or need to have a touch interface.</p> <p><a href="http://lh5.ggpht.com/-HkQMapcmcFM/UqoLPtiI3HI/AAAAAAAAALo/kw457pMc2Z0/s1600-h/l1%25255B2%25255D.jpg"><img title="l1" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="l1" src="http://lh4.ggpht.com/-4MCuoTPqs7o/UqoLP5CSjwI/AAAAAAAAAL0/GgHBIaLPULk/l1_thumb.jpg?imgmax=800" width="239" height="218" /></a></p> <p>These have driven me to searching out a new Windows 8.1 touch device.  I want it to be powerful with a great screen, but light, thin and with great battery life.</p> <p>I researched a lot of laptops and came up with a couple contenders.</p> <p><a href="http://lh3.ggpht.com/-59b1mjMLU88/UqoLQVPH94I/AAAAAAAAAL8/02hELd8wPYk/s1600-h/3%25255B2%25255D.jpg"><img title="3" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="3" src="http://lh4.ggpht.com/-N-rmSvLGzkE/UqoLRPmpGLI/AAAAAAAAAMA/YjNFVKs1wEw/3_thumb.jpg?imgmax=800" width="244" height="184" /></a></p> <p>The Lenovo Yoga2 Pro and the Samsung ATVI Book 9 Pro.  I visited a local Best Buy and and really liked the Yoga2.  Thin and light, quad HD screen, powerful (i7, 8GB, 256GB SSD).  Nice screen and great felling keyboard.  However, the layout of the keyboard is odd.</p> <p>I retuned after thanksgiving to purchase the device after confirming they had one in the store.</p> <p>I am not a fan of Best Buy.  I arrive and wait 20 minutes to be told they never had one.  This after the sale person ensuring me that the i5 4GB version was what I wanted.  So I ordered the laptop for a Monday delivery.  </p> <p>$1200 dollars and a couple days later it arrives a day early.  I pick it up and spend the next 24 hours trying the device out with the installed OS.</p> <p>There is a lot I like about the laptop.  The feel is great, performance good, screen is really nice (for applications that support quad HD  resolution.</p> <p>However, every 15 minutes the wifi would go out.  This occurred at my office (twin Cicso WAP4400 access points running N, B & G) and at home (Apple time capsule 2011).</p> <p>I start to research and there is a lot of issues with the laptop and wireless.  However, I figure it might be the drivers and many forums indicate.  I reload windows clean and get the latest recommend drivers both from Lenovo and Intel.</p> <p>The issue gets a little bit better but after a week of trying to make the solution work I decide to move on.  </p> <p>If it was not for the WIFI issue I would have loved to have kept the Yoga2 and just returned it to Best Buy.  Customer service is aware of the issue and have had many returns.</p> <p>The bottom line is stay away from the device until Lenovo confirms that the issue has been resolved.</p> <p>I purchased from Newegg the replacement Samsung ATVI Book 9 Pro i7 and will provide a detailed review in my next post!</p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com5tag:blogger.com,1999:blog-6911221.post-62042071012609395032012-10-01T11:29:00.001-07:002012-10-01T11:29:28.985-07:00Apple Mac Air 2012 with Verizon (Pantech) UM175 USB<p>Verizon does not offer a manager application that will run on OS X 10.8 64bit for the Pantech modem.  Here is how you can use the device on Mountain Lion.  Make sure you have the devices phone number before starting;</p> <p> </p> <blockquote> <p>1. Install device</p> <p>2.  Go to system preferences, network and select device</p> <p>3.  Phone number = #777</p> <p>4.  Account number = <a href="mailto:##########@vzw3g.com">##########@vzw3g.com</a></p> <p>5.  Password is vzw</p> <p>6.  Click advanced</p> <p>7.  Under modem tab select vendor sierra </p> <p>8.  Model CDMA</p> <p>9. Check error correction and compression in modem</p> <p>10. Ignore dial tone when dialing</p> <p>11. Dialing = Tone</p> <p> </p> <p>Complete!</p></blockquote> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-24581335310378766402012-06-19T08:53:00.001-07:002012-06-19T08:53:33.429-07:00Who reads my blog?<p>It is always interesting to see who is reading my blog.  Over the last several months I have been tied up on several projects and have not been able to blog but hope to start back up again soon.</p> <p>I have a number of helpful posts that are ranked number 1 by Google and below are some of the companies that visit the blog.</p> <p>Microsoft, JP Morgan Chase, University of CA (Santa Cruz), Intel, Facebook, State of Alaska, Southwest Airlines, Fidelity Investments, Perot Systems, Yahoo, Oak Ridge National Laboratory, State of Florida, Staples, Level 3 Communications, State of North Carolina, General Motors, Genworth Financial, Credit Suisse and Symantec Inc.</p> <p>Each of this companies visited by site for one or more technical postings.  Of course there is thousands of individuals visiting the site also.</p> <p>You never know who is paying attention to your postings and its inspiring to see such interest. </p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-17521979506614920002011-12-22T06:28:00.001-08:002011-12-22T06:28:33.509-08:00Does it take forever for you Visual Studio 2010 Xaml Designer to load?<p>If opening a xaml file in the designer is painstakingly slow you can dramatically improve the load time by simply turning off “Automatically Populate Toolbox Items”.</p> <p><a href="http://lh6.ggpht.com/-XWjL6yzwD_c/TvM-iQ0ZwpI/AAAAAAAAAJs/8OGKh771NJk/s1600-h/image%25255B6%25255D.png" target="_blank"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-0-R7DNw2wc8/TvM-jA2GP9I/AAAAAAAAAJ0/q_J4FaLayBg/image_thumb%25255B2%25255D.png?imgmax=800" width="432" height="341" /></a></p> <p><a href="http://lh3.ggpht.com/-ELflFIKP3eY/TvM-jrLVysI/AAAAAAAAAJ8/ls4Re2VWliQ/s1600-h/image%25255B7%25255D.png" target="_blank"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-fsjIyefUk4I/TvM-kG1QrrI/AAAAAAAAAKE/_VxF1ldbzRs/image_thumb%25255B3%25255D.png?imgmax=800" width="478" height="288" /></a></p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-28054951540590181612011-08-26T08:04:00.001-07:002011-08-26T08:04:03.334-07:00Version Control By Example<p>Eric Sink from Source Gear just published a great book called Version Control by Example you should check out.  I was fortunate enough to have been able to be a reviewer on the book.  To my delight he sent me a signed copy and listed my name as a reviewer.</p> <p>I was also recently selected by Microsoft Research to participate in a toolbar UI study in which I was able to review new features for toolbar management and UI layout in Visual Studio.  This was a good experience and Microsoft provided me a fee copy of Mac Office 2011 for my participation.</p> <p>If you have an opportunity to be part of these types of reviews and projects I encourage you to participate!</p> <p>Be sure to get Eric’s new book at <a title="http://www.ericsink.com/vcbe/" href="http://www.ericsink.com/vcbe/">http://www.ericsink.com/vcbe/</a> or buy here <a title="http://www.amazon.com/Version-Control-Example-Eric-Sink/dp/0983507902" href="http://www.amazon.com/Version-Control-Example-Eric-Sink/dp/0983507902">http://www.amazon.com/Version-Control-Example-Eric-Sink/dp/0983507902</a></p> <p><a href="http://lh5.ggpht.com/-NnKISpdLZQI/Tle13HjJdPI/AAAAAAAAAJA/XILZXzL8m18/s1600-h/Photo%252520Aug%25252026%25252C%25252010%25252052%25252008%252520AM.jpg" target="_blank"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Photo Aug 26, 10 52 08 AM" border="0" alt="Photo Aug 26, 10 52 08 AM" src="http://lh4.ggpht.com/-mVH17zzyV70/Tle13WbvD7I/AAAAAAAAAJE/Z9OicQBwPCU/Photo%252520Aug%25252026%25252C%25252010%25252052%25252008%252520AM_thumb.jpg?imgmax=800" width="172" height="235" /></a><a href="http://lh5.ggpht.com/-P8DSQJlTDbw/Tle13hR_KjI/AAAAAAAAAJI/sXv3sGz5KtA/s1600-h/Photo%252520Aug%25252026%25252C%25252010%25252052%25252020%252520AM.jpg" target="_blank"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Photo Aug 26, 10 52 20 AM" border="0" alt="Photo Aug 26, 10 52 20 AM" src="http://lh3.ggpht.com/-__FKBXOmegM/Tle14L5f__I/AAAAAAAAAJM/0DdCObqc4KU/Photo%252520Aug%25252026%25252C%25252010%25252052%25252020%252520AM_thumb.jpg?imgmax=800" width="172" height="235" /></a><a href="http://lh3.ggpht.com/-780h6PAzebs/Tle14UD2tCI/AAAAAAAAAJQ/mcqguPCGt2A/s1600-h/z%25255B2%25255D.jpg" target="_blank"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="z" border="0" alt="z" src="http://lh4.ggpht.com/-bt-YxW0TWJs/Tle14jAqCYI/AAAAAAAAAJU/HK6f3aKcOq8/z_thumb.jpg?imgmax=800" width="170" height="235" /></a></p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-62583592300382413412011-08-12T05:18:00.001-07:002011-08-12T05:18:04.039-07:00Free Microsoft eBook–The Future of Technology<p>Microsoft is offering a free copy of the new book “The Future of Technology” from Microsoft research.  You can also obtain a copy via Amazon Kindle for $0.99!</p> <p>If you’re taking a summer vacation and want to get some tech reading in, look no further than The Fourth Paradigm – a brilliant book about the future of technology from Microsoft Research. The <a href="http://www.amazon.com/Fourth-Paradigm-Data-Intensive-Scientific-ebook/dp/B00318D9Y2/ref=sr_1_4?ie=UTF8&s=books&qid=1261412355&sr=8-4">Kindle version</a> is available for only 99 cents, which is not so much a bargain as an absolute steal — at that price you really have no excuse <i>not</i> to get it. You’ll arrive back with deeper knowledge of the <a href="http://blogs.technet.com/b/next/archive/2011/05/18/transformational-technology-trends-microsoft.aspx">big transformational trends</a> in computing that lie ahead.</p> <p>...oh and if the Kindle isn't your thing, the book is available in many other formats</p> <h6></h6> <ul> <li> <p><a href="http://research.microsoft.com/en-us/collaboration/fourthparadigm/4th_paradigm_book_complete_lr.pdf">Full text, low resolution</a> (6 MB)</p> </li> <li> <p><a href="http://research.microsoft.com/en-us/UM/redmond/about/collaboration/fourthparadigm/4th_PARADIGM_BOOK_complete_HR.pdf">Full text, high resolution</a> (93 MB)</p> </li> <li><a href="http://research.microsoft.com/en-us/collaboration/fourthparadigm/contents.aspx">By chapter and essay</a></li> </ul> <h6>Purchase from Amazon.com</h6> <ul> <li><a href="http://www.amazon.com/Fourth-Paradigm-Data-Intensive-Scientific-Discovery/dp/0982544200/ref=sr_1_3?ie=UTF8&s=books&qid=1261412243&sr=8-3">Paperback</a></li> <li><a href="http://www.amazon.com/Fourth-Paradigm-Data-Intensive-Scientific-ebook/dp/B00318D9Y2/ref=sr_1_4?ie=UTF8&s=books&qid=1261412355&sr=8-4">Kindle version</a></li> </ul> <p><a title="http://blogs.technet.com/b/next/archive/2011/08/11/the-future-of-technology-for-just-0-99.aspx" href="http://blogs.technet.com/b/next/archive/2011/08/11/the-future-of-technology-for-just-0-99.aspx">http://blogs.technet.com/b/next/archive/2011/08/11/the-future-of-technology-for-just-0-99.aspx</a></p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-90725224112088308052011-06-20T09:19:00.001-07:002011-06-20T09:19:28.315-07:00Nlog 2.0 Release Candidate Released<p>Jarek Kowalski published Nlog 2.0 RC with some great additions.</p> <p><a title="http://jkowalski.com/2011/06/18/nlog-2-0-release-candidate-is-out/" href="http://jkowalski.com/2011/06/18/nlog-2-0-release-candidate-is-out/">http://jkowalski.com/2011/06/18/nlog-2-0-release-candidate-is-out/</a></p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-40188676819642486232011-06-09T08:06:00.001-07:002011-06-09T08:06:10.969-07:00Build Windows AKA PDC 2011 Official<p>PDC2011 (PDC11) seems to have been rebranded as Build Windows and has a new website <a title="http://www.buildwindows.com/" href="http://www.buildwindows.com/">http://www.buildwindows.com/</a>.  </p> <p>BUILD is a new event that shows modern hardware and software developers how to take advantage of the future of Windows. Learn how to work with the all new touch-centric user experience to create fast, fluid, and dynamic applications that leverage the power and flexibility of the core of Windows, used by more than a billion people around the world.</p> <p>Hear how the UI was designed to work seamlessly with a diversity of devices and form factors. Go behind the scenes and learn all about the new app model that allows you to create powerful new apps. All while retaining the ability to use your existing apps. Web-connected and web-powered apps built using HTML5 and JavaScript have access to the power of the PC. Touch-optimized browsing, with the full power of hardware-accelerated Internet Explorer 10 transforms your experiences with the web. BUILD is the first place to dive deep into the future of Windows.</p> <p><strong>Agenda</strong></p> <p>Last Update: June 1, 2011 <br /><em>Subject to change without notice</em></p> <h4>Monday, Sept 12</h4> <p>7:00am - 9:00am</p> <p>Registration</p> <p>9:00am - 5:00pm</p> <p>Pre-Conference Sessions</p> <h4>Tuesday, Sept 13</h4> <p>7:00am - 9:00am</p> <p>Registration</p> <p>9:00am - 11:00am</p> <p>Keynote</p> <p>11:30am - 6:00pm</p> <p>Sessions</p> <h4>Wednesday, Sept 14</h4> <p>7:30am - 9:00am</p> <p>Registration</p> <p>9:00am - 6:00pm</p> <p>Sessions</p> <h4>Thursday, Sept 15</h4> <p>7:30am - 9:00am</p> <p>Registration</p> <p>9:00am - 5:00pm</p> <p>Sessions</p> <h4>Friday, Sept 16</h4> <p>7:30am - 9:00am</p> <p>Registration</p> <p>9:00am - 3:00pm</p> <p>Sessions</p> <p>3:00pm</p> <p>Conference Ends</p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-67041198125183755952011-06-08T06:38:00.001-07:002011-06-08T06:38:51.262-07:00How to control the scrollbar position in a Tree View Control<p>Loading nodes into a tree view control that expand past the viewable area of the tree view can cause the scroll bars to move and display the content of the control incorrectly as in figure 1.</p> <p><a href="http://lh4.ggpht.com/-3CZk_Brw96A/Te97ZD0cMfI/AAAAAAAAAI4/bTrJfgIgLvM/s1600-h/image%25255B2%25255D.png" target="_blank"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-kfvjszwAi_U/Te97ajIbv2I/AAAAAAAAAI8/a5b79YhhFm0/image_thumb.png?imgmax=800" width="403" height="212" /></a></p> <p>Figure 1</p> <p>To control the position of the scrollbars you can use the following code which will result in the tree view displaying properly as in figure 2.</p> <p>Imports System.Runtime.InteropServices</p> <p>Public Class Form1 <br />    <DllImport("user32.dll", CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _ <br />    Public Shared Function GetScrollPos(ByVal hWnd As Integer, ByVal nBar As Integer) As Integer <br />    End Function <br />    <DllImport("user32.dll")> _ <br />    Private Shared Function SetScrollPos(ByVal hWnd As IntPtr, ByVal nBar As Integer, ByVal nPos As Integer, ByVal bRedraw As Boolean) As Integer <br />    End Function <br />    Private Const SB_HORZ As Integer = &H0 <br />    Private Const SB_VERT As Integer = &H1</p> <p>    Dim t As Boolean = False</p> <p>    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click <br />        Try <br />            If t = False Then <br />                t = True <br />                Me.TreeView1.ExpandAll() <br />            Else <br />                t = False <br />                Me.TreeView1.CollapseAll() <br />            End If</p> <p> <br />            'Dim ScrollPos As Point = GetTreeViewScrollPos(Me.TreeView1) <br />            '   Function sets the position of the treeview you pass</p> <p>        Catch ex As Exception</p> <p>        End Try <br />    End Sub <br />    ''' <summary> <br />    ''' Gets the current position of the scroll <br />    ''' </summary> <br />    ''' <param name="treeView"></param> <br />    ''' <returns></returns> <br />    ''' <remarks></remarks> <br />    Private Function GetTreeViewScrollPos(ByVal treeView As TreeView) As Point <br />        GetTreeViewScrollPos = New Point(0, 0) <br />        Try <br />            GetTreeViewScrollPos = New Point(GetScrollPos(CInt(treeView.Handle), SB_HORZ), GetScrollPos(CInt(treeView.Handle), SB_VERT)) <br />        Catch ex As Exception</p> <p>        End Try <br />        Return GetTreeViewScrollPos <br />    End Function <br />    ''' <summary> <br />    ''' Sets the position of the scroll of passed treeview control <br />    ''' </summary> <br />    ''' <param name="treeView"></param> <br />    ''' <param name="scrollPosition"></param> <br />    ''' <remarks></remarks> <br />    Private Sub SetTreeViewScrollPos(ByRef treeView As TreeView, ByRef scrollPosition As Point) <br />        Try <br />            SetScrollPos(DirectCast(treeView.Handle, IntPtr), SB_HORZ, scrollPosition.X, True) <br />            SetScrollPos(DirectCast(treeView.Handle, IntPtr), SB_VERT, scrollPosition.Y, True) <br />            If treeView.Nodes.Count > 0 Then <br />                Dim currentNode As TreeNode = treeView.Nodes(0) 'treeView.GetNodeAt(0, 0) <br />                currentNode.EnsureVisible() <br />            End If</p> <p>        Catch ex As Exception</p> <p>        End Try <br />    End Sub</p> <p>    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click <br />        SetTreeViewScrollPos(Me.TreeView1, New Point(0, 0)) <br />    End Sub <br />End Class </p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-30674304470709947092011-05-11T09:08:00.001-07:002011-05-11T09:08:21.919-07:00New release of ILMerge (v2.11.0502)<p>ILMerge is a great tool and Mike Barnett at Microsoft who leads the project just announced a new release.</p> <p>A new release of ILMerge, v2.11.0502, is available on the Tools & Utilities Download page in the MSDN .NET Framework Developer Center (<a href="http://msdn2.microsoft.com/en-us/netframework/aa569269.aspx">http://msdn2.microsoft.com/en-us/netframework/aa569269.aspx</a>). It contains some small bug fixes. Also, it no longer adds a unique number to the name of duplicate types *<b>if</b>* the type is a compiler-defined type. ILMerge assumes that such types (for instance, generated from LINQ queries) are already uniquely named within an assembly and since the assembly name is included in the name of a duplicate type, that should suffice. If you find out that this is not true, then please let me know!</p> <p>The direct link to the ILMerge page is:</p> <p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=22914587-b4ad-4eae-87cf-b14ae6a939b0&displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=22914587-b4ad-4eae-87cf-b14ae6a939b0&displaylang=en</a></p> <p>For version 2.11.0502, the direct link to the .msi file is:</p> <p><a href="http://download.microsoft.com/download/1/3/4/1347c99e-9dfb-4252-8f6d-a3129a069f79/ILMerge.msi">http://download.microsoft.com/download/1/3/4/1347c99e-9dfb-4252-8f6d-a3129a069f79/ILMerge.msi</a></p> <p><b>REMEMBER: please make sure to keep your old version while trying out the new one to see if it works for you.</b></p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-51505903557612555672011-04-21T07:21:00.001-07:002011-04-21T07:21:21.887-07:00Microsoft Announcing PDC 2011 September 13-16, 2011 Anaheim, California<p>Steven Sinofsky announced the next PDC at Mix11 last week which will be help in Anaheim, CA September 13-16!</p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-7593667590691398782011-02-25T05:17:00.001-08:002011-02-25T05:17:53.597-08:00Productivity Power Tools introduces Find, Organize Imports for VB, Enhanced Scrollbar, Middle-Click Scrolling and more!<p>MS has released an updated version of the productivity power tools.</p> <p><a title="http://blogs.msdn.com/b/visualstudio/archive/2011/02/22/productivity-power-tools-introduces-find-organize-imports-for-vb-enhanced-scrollbar-middle-click-scrolling-and-more.aspx" href="http://blogs.msdn.com/b/visualstudio/archive/2011/02/22/productivity-power-tools-introduces-find-organize-imports-for-vb-enhanced-scrollbar-middle-click-scrolling-and-more.aspx">http://blogs.msdn.com/b/visualstudio/archive/2011/02/22/productivity-power-tools-introduces-find-organize-imports-for-vb-enhanced-scrollbar-middle-click-scrolling-and-more.aspx</a></p> <p><strong>Resetting Your Extensions for the Last Time!</strong></p> <p>We've heard a great deal of feedback on how each update of the Productivity Power Tools re-enables all of the extensions when it installs. If you are careful about installing the Power Tools via the extension manager or as long as an instance of Visual Studio is running, this version of the Productivity Power Tools will be the last which resets the extensions.</p> <p><b><i>Please note: If you are running Visual Studio 2010 SP1 (Beta) that you will need to uninstall previous versions of the Productivity Power Tools prior to upgrading due to a change in the digital signature for the Power Tools</i></b></p> <p><strong>Find</strong></p> <p>There are many different ways to find within Visual Studio (Incremental Search, Quick Find, Find in Files, Find Toolbar, etc) and it often isn’t clear which is the best for a given task or worse these options even exist.  The find dialog itself also can obstruct code and jump around while users are searching. Our solution to these problems is the new Find extension. In the screenshot below, you will see that we’ve turned the quick find & incremental search experiences into a find pop-up that is available at top right hand corner of the editor. After hitting, Ctrl+I or Ctrl+F, it simply highlights the find results as you type.  From this small but powerful pop-up, you have access to most of the Quick Find functionality such as replace, options to match case and added support for matching .NET Regular Expressions!</p> <p><img border="0" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-29-92/3113.Find2.png" /></p> <p>Release notes:</p> <ul> <li>As an extension, it was only possible to implement these changes for the code editor. You still must use Quick Find for searching in designers and other non-editor tabs.  </li> <li>.NET Regular expressions are only available in the Find extension. Find in Files will continue to use VS Regular expressions </li> <li>Feel free to email us your feedback: <a href="mailto:VSFindFeedback@microsoft.com">VSFindFeedback@microsoft.com</a></li> </ul> <p><strong>Enhanced Scrollbar</strong></p> <p>We’ve been looking into ways that we can improve the experience of navigating through code files.  Our solution is the source map which has three modes that will allow you to more easily see the interesting artifacts in your files (edits, breakpoints, bookmarks, errors, warnings etc) and make it easy for you to navigate between them.  The default mode is the “scroll bar only mode” which overlays icons onto the standard scrollbar to allow for viewing of these artifacts.  In the source map mode, we’ve replaced the default scroll bar allow you to click on any item on the scrollbar to navigate directly to it. This source map mode also provides a preview of the part of the document as you hover.  Finally, we have the detailed source map mode, which allows you to get a zoom out view of your entire file.  You can switch between any of these modes by right-clicking on the scroll bar or going to <strong>Tools Options>Productivity Power Tools>Source Map</strong> where we have a host of other options that you can configure.</p> <p><strong>Middle-Click Scrolling</strong></p> <p>The ability to do middle click scrolling in Visual Studio 2010 has been a top request from our beta customers that we weren’t quite able to get into the release. With this extension you can press down on your scroll wheel and the move the mouse to quickly scroll through your document!</p> <p><img border="0" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-29-92/4628.MiddleClickScrolling.png" /></p> <p><strong>Organize Imports for Visual Basic</strong></p> <p>As part of theco-evolution strategy for Visual Basic and C#, we continue to bring the best features from each language experiences to the other. With Organize Imports for Visual Basic we’ve added yet another feature to that list.  From the context menu, it allows you to sort the imports logically and remove the ones that aren’t being used. </p> <p><img border="0" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-29-92/3108.OrganizeImports.png" /></p> <p><strong>Add Reference Support for Multi-Targeting</strong></p> <p>“How come I can’t add a reference to System.Web?”  Many users have scratched their heads trying to figure out why certain dlls aren’t showing up in the Add Reference dialog. The confusion has been caused by the logic in the Add Reference dialog which filters out assemblies that are not valid on the .NET Client Profile which many of Visual Studio templates target by default.  The Productivity Power Tools solution is to grey out the assemblies which are not available in the current framework profile. When you try to add them, it will automatically prompt you to re-target to a profile of the same framework which does support them. </p> <p><img border="0" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-29-92/7848.AddRefRetarget.png" /></p> <p><strong>Options in HTML Cut/Copy</strong></p> <p>Productivity Power Tool users have asked for the ability to tweak the html format which gets copied to the clipboard and with the release you now have the ability to customize that to suite your needs.  Simply go to<strong> Tools Options>Productivity Power Tools> HTML Copy</strong></p> <p><img border="0" src="http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-29-92/8524.HTML-Cut-Copy.png" /></p> <p>This release of the extension also fixes the commonly reported bug where Cut/Copy occasionally fail which was fixed in VS 2010 SP1 Beta but was present in the October release of the Productivity Power Tools.</p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-18040721901448113252010-12-07T06:23:00.000-08:002010-12-07T05:37:21.637-08:00Great Collection of Free Microsoft eBooksHere are some great free Microsoft eBook offers from the last few months.<br />
<h5>Free ebook: Moving to Microsoft Visual Studio 2010 <a href="http://blogs.msdn.com/b/microsoft_press/archive/2010/09/13/free-ebook-moving-to-microsoft-visual-studio-2010.aspx" title="http://blogs.msdn.com/b/microsoft_press/archive/2010/09/13/free-ebook-moving-to-microsoft-visual-studio-2010.aspx">http://blogs.msdn.com/b/microsoft_press/archive/2010/09/13/free-ebook-moving-to-microsoft-visual-studio-2010.aspx</a></h5><h5>Free ebook: Introducing Microsoft SQL Server 2008 R2 <a href="http://blogs.msdn.com/b/microsoft_press/archive/2010/04/14/free-ebook-introducing-microsoft-sql-server-2008-r2.aspx" title="http://blogs.msdn.com/b/microsoft_press/archive/2010/04/14/free-ebook-introducing-microsoft-sql-server-2008-r2.aspx">http://blogs.msdn.com/b/microsoft_press/archive/2010/04/14/free-ebook-introducing-microsoft-sql-server-2008-r2.aspx</a></h5><strong>Petzolds Programming Windows Phone 7 </strong><a href="http://download.microsoft.com/download/5/0/A/50A39509-D015-410F-A8F2-A5511E5A988D/Microsoft_Press_ebook_Programming_Windows_Phone_7_PDF.pdf" title="http://download.microsoft.com/download/5/0/A/50A39509-D015-410F-A8F2-A5511E5A988D/Microsoft_Press_ebook_Programming_Windows_Phone_7_PDF.pdf">http://download.microsoft.com/download/5/0/A/50A39509-D015-410F-A8F2-A5511E5A988D/Microsoft_Press_ebook_Programming_Windows_Phone_7_PDF.pdf</a><br />
<h5>Free ebook: Own Your Future: Update Your Skills with Resources and Career Ideas from Microsoft <a href="http://blogs.msdn.com/b/microsoft_press/archive/2010/03/03/free-ebook-own-your-future-update-your-skills-with-resources-and-career-ideas-from-microsoft.aspx" title="http://blogs.msdn.com/b/microsoft_press/archive/2010/03/03/free-ebook-own-your-future-update-your-skills-with-resources-and-career-ideas-from-microsoft.aspx">http://blogs.msdn.com/b/microsoft_press/archive/2010/03/03/free-ebook-own-your-future-update-your-skills-with-resources-and-career-ideas-from-microsoft.aspx</a></h5><h5>Free ebook: Understanding Microsoft Virtualization Solutions (Second Edition) <a href="http://blogs.msdn.com/b/microsoft_press/archive/2010/02/16/free-ebook-understanding-microsoft-virtualization-r2-solutions.aspx" title="http://blogs.msdn.com/b/microsoft_press/archive/2010/02/16/free-ebook-understanding-microsoft-virtualization-r2-solutions.aspx">http://blogs.msdn.com/b/microsoft_press/archive/2010/02/16/free-ebook-understanding-microsoft-virtualization-r2-solutions.aspx</a></h5><h5>Free ebook: Introducing Windows Server 2008 R2 <a href="http://blogs.msdn.com/b/microsoft_press/archive/2009/10/20/free-ebook-introducing-windows-server-2008-r2.aspx" title="http://blogs.msdn.com/b/microsoft_press/archive/2009/10/20/free-ebook-introducing-windows-server-2008-r2.aspx">http://blogs.msdn.com/b/microsoft_press/archive/2009/10/20/free-ebook-introducing-windows-server-2008-r2.aspx</a></h5><h5>Free ebook: Deploying Windows 7, Essential Guidance <a href="http://blogs.msdn.com/b/microsoft_press/archive/2009/10/16/free-e-book-deploying-windows-7-essential-guidance.aspx" title="http://blogs.msdn.com/b/microsoft_press/archive/2009/10/16/free-e-book-deploying-windows-7-essential-guidance.aspx">http://blogs.msdn.com/b/microsoft_press/archive/2009/10/16/free-e-book-deploying-windows-7-essential-guidance.aspx</a></h5>Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com2tag:blogger.com,1999:blog-6911221.post-39094569483631762752010-12-03T09:31:00.001-08:002010-12-03T09:31:52.910-08:00How to use IIS Compression with Web Services<p>Using IIS compression with web services is a simple way to provide better performance for your services.  This article will detail implementing this solution in IIS6 and IIS7.</p> <p>First, you need to ensure that the web service proxy in your application has the following property set to true;</p> <blockquote> <h6>Dim myService as new localhost.service1</h6> </blockquote> <blockquote> <h6>myService.EnableDecompression = True</h6> </blockquote> <p>This will ensure that your application takes advantage of the compression.</p> <p> </p> <p>Second, you need to configure IIS compression on your server.  To do this ensure that you have the following installed;<a href="http://lh6.ggpht.com/__3gIgk69zVA/TPkpf3uBctI/AAAAAAAAAIQ/vi_F_Xe6rcg/s1600-h/image%5B5%5D.png" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/__3gIgk69zVA/TPkpgaRH0II/AAAAAAAAAIU/MN7uAv-as_0/image_thumb%5B3%5D.png?imgmax=800" width="430" height="386" /></a> </p> <p>Then turn compression on in the IIS management console;</p> <p><a href="http://lh5.ggpht.com/__3gIgk69zVA/TPkpgzyY_XI/AAAAAAAAAIY/dwJEIE-SOe4/s1600-h/image%5B8%5D.png" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/__3gIgk69zVA/TPkphbqfeoI/AAAAAAAAAIc/AuVbToITo2I/image_thumb%5B4%5D.png?imgmax=800" width="394" height="235" /></a> </p> <p>Then create a bat file in C:\inetpub\AdminScripts and place the following lines of code into the bat file;</p> <h6 align="left">IISreset.exe /stop </h6> <h6 align="left">cscript.exe adsutil.vbs set w3svc/filters/compression/parameters/HcDoDynamicCompression true</h6> <h6 align="left">cscript.exe adsutil.vbs set w3svc/filters/compression/parameters/HcDoStaticCompression true </h6> <h6 align="left">cscript.exe adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcFileExtensions "htm" "html" "txt" "ppt" "xls" "xml" "pdf" "xslt" "doc" "xsl" "htc" "js" "css" </h6> <h6 align="left">cscript.exe adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcFileExtensions "htm" "html" "txt" "ppt" "xls" "xml" "pdf" "xslt" "doc" "xsl" "htc" "js" "css" </h6> <h6 align="left">cscript.exe adsutil.vbs set W3Svc/Filters/Compression/GZIP/HcScriptFileExtensions "asp" "dll" "exe" "aspx" "asmx" "ashx" </h6> <h6 align="left">cscript.exe adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcScriptFileExtensions "asp" "dll" "exe" "aspx" "asmx" </h6> <h6 align="left">cscript.exe adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcScriptFileExtensions "asp" "dll" "exe" "aspx" "asmx" </h6> <h6 align="left">cscript.exe adsutil.vbs set W3Svc/Filters/Compression/DEFLATE/HcDynamicCompressionLevel "9" </h6> <h6 align="left">IISreset.exe /restart</h6> <p>This will enable compression on your web service.</p> <p>The following tool is a easy free application that allows you to compare the difference in your application communication between compressed and uncompressed communications of xml data.</p> <p><a title="http://devolutions.net/products/TCP-Spy-Net.aspx" href="http://devolutions.net/products/TCP-Spy-Net.aspx">http://devolutions.net/products/TCP-Spy-Net.aspx</a></p> <p><a href="http://lh6.ggpht.com/__3gIgk69zVA/TPkphj2qrKI/AAAAAAAAAIg/UGDa9cgRMCw/s1600-h/image%5B11%5D.png" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/__3gIgk69zVA/TPkph6si4QI/AAAAAAAAAIk/gTujGLxY9tU/image_thumb%5B5%5D.png?imgmax=800" width="477" height="71" /></a></p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com1tag:blogger.com,1999:blog-6911221.post-67655801205676562562010-11-18T09:56:00.001-08:002010-11-18T09:56:05.681-08:00How to update a large SQL tables without killing the server!<p>Often I have the need to update a very large (>1 million rows) and a simple sql statement like this takes a long time;</p> <p>update mytable set myfield = getdate() where myfield is null</p> <p>This statement provides better performance (if you have triggers on the table disabling them if you can provides better performance also);</p> <p>DISABLE trigger [dbo].[myTrigger] ON  [dbo].[myTable]; <br />go <br />SET ROWCOUNT 10000 </p> <p>WHILE 1=1 <br />BEGIN <br />UPDATE myTable <br />SET myField = GETDATE() <br />WHERE myField is null <br />IF @@ROWCOUNT = 0 BREAK </p> <p>END <br />go <br />enable trigger [dbo].[myTrigger] ON  [dbo].[myTable]; <br />go</p> <p>By changing the “Set RowCount” value you can tune the statement as needed.</p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-30933388959693814172010-11-17T06:30:00.000-08:002010-11-17T11:33:59.879-08:00Must have Visual Studio ToolsBelow are a list of must have Visual Studio Tools. They are all free and from Microsoft!<br />
<strong>Visual Studio 2010 Feature Packs </strong><a href="http://msdn.microsoft.com/en-us/vstudio/ff655021.aspx">http://msdn.microsoft.com/en-us/vstudio/ff655021.aspx</a> <br />
Feature Packs enable you to extend Visual Studio 2010 with capabilities that enhance and complement the existing tools. <br />
<strong>Visual Studio 2010 Feature Pack 2 (MSDN Subscribers Only) </strong>Cumulative feature pack that extends testing, code visualization and modeling capabilities in Visual Studio 2010. <br />
Testing features: <br />
Use Microsoft Test Manager to capture and playback action recordings for Silverlight 4 applications. <br />
Create coded UI tests for Silverlight 4 applications with Visual Studio 2010 Premium or Visual Studio 2010 Ultimate. <br />
Edit coded UI tests using a graphical editor with Visual Studio 2010 Premium or Visual Studio 2010 Ultimate. <br />
Use action recordings to fast forward through manual tests that need to support Mozilla Firefox 3.5 and 3.6. <br />
Run coded UI tests for web applications using Mozilla Firefox 3.5 and 3.6 with Microsoft Visual Studio 2010 Premium or Visual Studio 2010 Ultimate. <br />
Code visualization and modeling features (requires Visual Studio 2010 Ultimate): <br />
Use the Generate Code command to generate skeleton code from elements on UML class diagrams. You can use the default transformations, or you can write custom transformations to translate UML types into code. <br />
Create UML class diagrams from existing code. <br />
Explore the organization and relationships in C, C++, and ASP.NET projects by generating dependency graphs. <br />
Import elements from UML sequence diagrams, class diagrams, and use case diagrams as XMI 2.1 files that are exported from other modeling tools. <br />
Create links and view links from work items to model elements. <br />
Create layer diagrams from C or C++ code and validate dependencies. <br />
Write code to modify layer diagrams and to validate code against layer diagrams.<br />
<br />
<strong>Productivity Power Tools </strong><a href="http://visualstudiogallery.msdn.microsoft.com/en-us/d0d33361-18e2-46c0-8ff2-4adea1e34fef">http://visualstudiogallery.msdn.microsoft.com/en-us/d0d33361-18e2-46c0-8ff2-4adea1e34fef</a> <br />
A set of extensions to Visual Studio Professional (and above) which improves developer productivity. In this third major release of the Power Tools we have made significant improvements to the Solution Navigator and the Tab Well to address our top customer requests. <br />
<strong>PowerCommands for Visual Studio 2010 </strong><a href="http://visualstudiogallery.msdn.microsoft.com/en-us/e5f41ad9-4edc-4912-bca3-91147db95b99">http://visualstudiogallery.msdn.microsoft.com/en-us/e5f41ad9-4edc-4912-bca3-91147db95b99</a> <br />
PowerCommands 10.0 is a set of useful extensions for the Visual Studio 2010 adding additional functionality to various areas of the IDE. Visit the VSX Developer Center at <a href="http://msdn.com/vsx">http://msdn.com/vsx</a> for more information about extending Visual Studio.Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-82645141912575799232010-11-11T06:33:00.000-08:002010-11-11T13:37:44.264-08:00How to determine if a table has changed in SQLOften you need to know if a sql tables data has changed. The change can be a new row, deleted row or updated row. To determine if a row has changed you can use the following command that will return a checksum identifying a change to the table.<br />
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*)) FROM <table name> WITH (NOLOCK);<br />
You can also use a where clause. For example get the checksum on just part of the table.<br />
<h3> </h3><h3>CHECKSUM</h3>Returns the checksum value computed over a row of a table, or over a list of expressions. CHECKSUM is intended for use in building hash indices.<br />
<h6>Syntax</h6><code>CHECKSUM <b>(</b> * | <i>expression </i>[ ,...<i>n</i> ] <b>)</b> </code><br />
<h6>Arguments</h6>*<br />
Specifies that computation is over all the columns of the table. CHECKSUM returns an error if any column is of noncomparable data type. Noncomparable data types are <b>text</b>, <b>ntext</b>, <b>image</b>, and <b>cursor</b>, as well as <b>sql_variant</b> with any of the above types as its base type.<br />
<i>expression</i><br />
Is an expression of any type except a noncomparable data type.<br />
<h6>Return Types</h6><b>int</b><br />
<h6>Remarks</h6>CHECKSUM computes a hash value, called the checksum, over its list of arguments. The hash value is intended for use in building hash indices. If the arguments to CHECKSUM are columns, and an index is built over the computed CHECKSUM value, the result is a hash index, which can be used for equality searches over the columns.<br />
CHECKSUM satisfies the properties of a hash function: CHECKSUM applied over any two lists of expressions returns the same value if the corresponding elements of the two lists have the same type and are equal when compared using the equals (=) operator. For the purpose of this definition, NULL values of a given type are considered to compare as equal. If one of the values in the expression list changes, the checksum of the list also usually changes. However, there is a small chance that the checksum will not change.<br />
BINARY_CHECKSUM and CHECKSUM are similar functions: they can be used to compute a checksum value on a list of expressions, and the order of expressions affects the resultant value. The order of columns used in the case of CHECKSUM(*) is the order of columns specified in the table or view definition, including computed columns. <br />
CHECKSUM and BINARY_CHECKSUM return different values for the string data types, where locale can cause strings with different representation to compare equal. The string data types are <b>char</b>, <b>varchar</b>, <b>nchar</b>, <b>nvarchar</b>, or <b>sql_variant</b> (if its base type is a string data type). For example, the BINARY_CHECKSUM values for the strings "McCavity" and "Mccavity" are different. In contrast, in a case-insensitive server, CHECKSUM returns the same checksum values for those strings. CHECKSUM values should not be compared against BINARY_CHECKSUM values.<br />
<h6>Examples</h6><h6>Using CHECKSUM to build hash indices</h6>The CHECKSUM function may be used to build hash indices. The hash index is built by adding a computed checksum column to the table being indexed, then building an index on the checksum column.<br />
<pre><code>-- Create a checksum index.
SET ARITHABORT ON
USE Northwind
GO
ALTER TABLE Products
ADD cs_Pname AS checksum(ProductName)
CREATE INDEX Pname_index ON Products (cs_Pname)
</code></pre><br />
<br />
The checksum index can be used as a hash index, particularly to improve indexing speed when the column to be indexed is a long character column. The checksum index can be used for equality searches. <br />
<br />
<br />
<pre><code>/*Use the index in a SELECT query. Add a second search
condition to catch stray cases where checksums match,
but the values are not identical.*/
SELECT *
FROM Products
WHERE checksum(N'Vegie-spread') = cs_Pname
AND ProductName = N'Vegie-spread'
</code></pre><br />
<br />
Creating the index on the computed column materializes the checksum column, and any changes to the <b>ProductName</b> value will be propagated to the checksum column. Alternatively, an index could be built directly on the column indexed. However, if the key values are long, a regular index is not likely to perform as well as a checksum index.<br />
<br />
<br />
<h6><b>See Also</b></h6><br />
<br />
<a href="http://msdn.microsoft.com/en-us/library/aa225956(v=SQL.80).aspx">BINARY_CHECKSUM</a><br />
<br />
<br />
<a href="http://msdn.microsoft.com/en-us/library/aa258230(v=SQL.80).aspx">CHECKSUM_AGG</a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Reference; <a href="http://msdn.microsoft.com/en-us/library/aa258245%28SQL.80%29.aspx" title="http://msdn.microsoft.com/en-us/library/aa258245%28SQL.80%29.aspx">http://msdn.microsoft.com/en-us/library/aa258245%28SQL.80%29.aspx</a>Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com1tag:blogger.com,1999:blog-6911221.post-14697599356160480692010-11-11T06:05:00.000-08:002010-11-11T13:19:04.804-08:00WP7 Samsung Focus USB Tethering supportIf you have a WP7 Samsung Focus from AT&T you can use the device as a tethered USB modem.<br />
1. Open phone dial pad<br />
2. dial “##634#”<br />
3. Hit send, this will install a diagnostic app in your application directory for future access.<br />
4. When the diagnostics interface comes up dial “*#7284#”<br />
<span style="color: #666666;">5. You will see the “Micro USB Test” screen options for Zune Sync, Modem tethered call and modem USD Diag. Select modem tethered. </span><br />
<span style="color: #666666;">6. Restart phone</span><br />
<span style="color: #666666;">7. Connect your phone to your computer via the USB</span><br />
<span style="color: #666666;">8. The drivers will be installed via the device USB.</span><br />
<span style="color: #666666;">9. Locate the modem on your computer and change the settings to prompt for user name and these values;</span><br />
<span style="color: #666666;"> </span><span style="font-size: x-small;">number *99***1# </span><br />
user name <a href="mailto:WAP@CINGULARGPRS.COM">WAP@CINGULARGPRS.COM</a><br />
password CINGULAR1<br />
<br />
****WARNING; USE THIS HACK AT YOUR OWN RISK****<br />
<span style="font-size: x-small;"></span><br />
<span style="font-size: x-small;"></span><br />
<span style="color: #666666;"></span><br />
<span style="color: #666666;"></span>Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-21247628825285239642010-11-11T05:55:00.000-08:002010-11-11T10:51:29.891-08:00Getting Started with Windows PhoneIf your looking at getting started developing applications on the Windows 7 Phone platform here are some links to get you started;<br />
Getting Started with Windows Phone (MSDN)<a href="http://msdn.microsoft.com/en-us/wp7trainingcourse_wp7gettingstarted_unit.aspx" title="http://msdn.microsoft.com/en-us/wp7trainingcourse_wp7gettingstarted_unit.aspx">http://msdn.microsoft.com/en-us/wp7trainingcourse_wp7gettingstarted_unit.aspx</a><br />
Silverlight for Windows Phone; <a href="http://msdn.microsoft.com/en-us/wp7trainingcourse_wp7silverlight_unit.aspx" title="http://msdn.microsoft.com/en-us/wp7trainingcourse_wp7silverlight_unit.aspx">http://msdn.microsoft.com/en-us/wp7trainingcourse_wp7silverlight_unit.aspx</a><br />
Get Started with Silverlight for Windows Phone Video; <a href="http://www.silverlight.net/learn/videos/all/get-started-with-silverlight-for-windows-phone/" title="http://www.silverlight.net/learn/videos/all/get-started-with-silverlight-for-windows-phone/">http://www.silverlight.net/learn/videos/all/get-started-with-silverlight-for-windows-phone/</a><br />
MCSD Magazine Getting Started with Windows Phone Development Tools; <a href="http://msdn.microsoft.com/en-us/magazine/gg232764.aspx" title="http://msdn.microsoft.com/en-us/magazine/gg232764.aspx">http://msdn.microsoft.com/en-us/magazine/gg232764.aspx</a><br />
Windows Phone 7 Training Course; <a href="http://msdn.microsoft.com/en-us/wp7trainingcourse.aspx" title="http://msdn.microsoft.com/en-us/wp7trainingcourse.aspx">http://msdn.microsoft.com/en-us/wp7trainingcourse.aspx</a>Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-65972791212030823582010-11-11T05:45:00.000-08:002010-11-11T10:44:41.871-08:00Microsoft SQL Server Denali CPT1 Released!The SQL server team at MS just released the first CPT of the next version of SQL Server code named Denali. <br />
A few of the areas that the team focused on were;<br />
· <u>Enhanced mission-critical platform</u>: An enhanced highly available and scalable platform through the new SQL Server AlwaysOn for greater flexibility in achieving increased availability and data protection and new Column-Based Query Accelerator for huge performance gains in data warehousing.<br />
· <u>Developer and IT Productivity</u>: A new unified development experience for data developers called SQL Server Developer Tools code-named “Juneau”, new beyond relational enhancements including FileTable for file storage within the SQL Server database, easier of use delivered via SQL Server AlwaysOn, data integration tools and features such as security & supportability. <br />
· <u>Pervasive Insight</u>: Expand the reach of BI to business users via Project code-name “Crescent”, a highly interactive, web-based data exploration and visualization tool built on the breakthrough analytical performance of the VertiPaq technology. Meanwhile, holistic data integration and management tools through enhanced Master Data Services and new Data Quality Services will help ensure organizations can deliver the right data to the right users at the right time.<br />
· Select capabilities of the new integrated high availability solution, SQL Server code-named “Denali” AlwaysOn, including availability groups, single active secondary for offloading read-only workloads and multi-site clustering<br />
· Flexible server roles to allow administrators to create custom roles for ease separation of duties<br />
· Simplified development and standardized deployment, configuration and management for SQL Server Integration Services<br />
· Column-Based Query Accelerator will help dramatically increase query performance ~10x and reduce performance tuning through interactive experiences with data for near instant response times and streamlined setup which removes the need to build summary aggregates.<br />
You can download the CPT at; <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6a04f16f-f6be-4f92-9c92-f7e5677d91f9&displaylang=en" title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6a04f16f-f6be-4f92-9c92-f7e5677d91f9&displaylang=en">http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6a04f16f-f6be-4f92-9c92-f7e5677d91f9&displaylang=en</a><br />
Reference<br />
<a href="http://www.microsoft.com/sqlserver/en/us/product-info/future-editions.aspx" title="http://www.microsoft.com/sqlserver/en/us/product-info/future-editions.aspx">http://www.microsoft.com/sqlserver/en/us/product-info/future-editions.aspx</a><br />
<a href="http://blogs.technet.com/b/dataplatforminsider/archive/2010/11/10/microsoft-dives-deeper-into-sql-server-code-named-denali-the-next-version-of-sql-server.aspx" title="http://blogs.technet.com/b/dataplatforminsider/archive/2010/11/10/microsoft-dives-deeper-into-sql-server-code-named-denali-the-next-version-of-sql-server.aspx">http://blogs.technet.com/b/dataplatforminsider/archive/2010/11/10/microsoft-dives-deeper-into-sql-server-code-named-denali-the-next-version-of-sql-server.aspx</a>Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-60882012462191087262010-11-05T05:00:00.001-07:002010-11-05T05:00:42.109-07:00Silverlight Questions<p>Scott Guthrie blogged about the silverlight issue.  </p> <p><a title="http://weblogs.asp.net/scottgu/archive/2010/11/04/silverlight-questions.aspx" href="http://weblogs.asp.net/scottgu/archive/2010/11/04/silverlight-questions.aspx">http://weblogs.asp.net/scottgu/archive/2010/11/04/silverlight-questions.aspx</a></p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-6589405699483126162010-11-04T05:18:00.001-07:002010-11-04T05:18:52.071-07:00SQL Server Compact Toolbox<p>SQL Server Compact Toolbox add-in for Visual Studio 2010. Supports both version 3.5 and 4.0 of SQL Server Compact. <br />Adds several features to help your SQL Server Compact development efforts: <br />- Script tables, including data <br />- Script entire schema, optionally with data, both of SQL Server Compact and SQL Server 2005 or later databases <br />- Import to SQL Server Compact from a SQL Server 2005/2008 database or a CSV file <br />- Migrate from SQL Server Compact to SQL Server and SQL Azure <br />- Basic, free form query execution <br />- Parse SQL scripts <br />- Display graphical estimated execution plan <br />- Generate detailed DGML files for visualizing table columns and relationships (requires VS 2010 Premium or higher to view) <br />- Create and manage Merge Replication subscriptions</p> <p>For support, full source code, a standalone version for 4.0 and feedback, go to:<a href="http://sqlcetoolbox.codeplex.com">http://sqlcetoolbox.codeplex.com</a></p> <p>For users not having Visual Studio 2010 Pro or higher installed, an add-in for 3.5 with similar functionality for the free SQL Server 2008 Management Studio Express and also command line versions  are available  here:<a href="http://exportsqlce.codeplex.com">http://exportsqlce.codeplex.com</a></p> <p>New in version 1.6: <br />- Export to SQL Azure <br />- Launch the Toolbox directly from Server Explorer! <br />- Beta testing of Db Diff (scripting of database differences) <br />- other bug fixes, see <a href="http://sqlcetoolbox.codeplex.com/SourceControl/list/changesets">http://sqlcetoolbox.codeplex.com/SourceControl/list/changesets</a></p> <p><img alt="alt" src="http://i4.visualstudiogallery.msdn.microsoft.com/en-us/0e313dfd-be80-4afb-b5e9-6e74d369f7a1/image/file/38121/0/toolbox4.png" width="386" height="253" /></p> <p><img alt="alt" src="http://i4.visualstudiogallery.msdn.microsoft.com/en-us/0e313dfd-be80-4afb-b5e9-6e74d369f7a1/image/file/29685/3/toolbox2.png" width="762" height="396" /></p> <p><img alt="alt" src="http://i3.visualstudiogallery.msdn.microsoft.com/en-us/0e313dfd-be80-4afb-b5e9-6e74d369f7a1/image/file/29506/1/toolbox1.png" width="447" height="415" /></p> <p><img alt="alt" src="http://i3.visualstudiogallery.msdn.microsoft.com/en-us/0e313dfd-be80-4afb-b5e9-6e74d369f7a1/image/file/29507/2/toolbox3.png" width="673" height="260" /></p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-55626306052139955732010-11-02T05:41:00.001-07:002010-11-02T05:41:12.341-07:00Silverlight is dead! Long live Silverlight!<p>While I was registered and packed for PDC10, I was sidelined by being behind on a critical project and a wife with a broken foot the day I was suppose to fly to SEA.  My disappointment in missing the event is only surpassed by the controversy over Silverlight/HTML5.</p> <p>Did Microsoft do a poor job presenting there strategy or did we do a poor job listening?  I think a little of both. </p> <p>My team and I have invested a lot in the Silverlight stack and plan on continuing for some time.  Below are some links to articles, blogs and such that I think address the confusion head on and reinforce my idea that Silverlight is here to stay.  At the same time HTML is undergoing dramatic changes that we need to keep a close eye on.</p> <p>Bob Muglia on Microsoft's Silverlight Strategy, <a title="http://jpda.me/cw8p3r " href="http://jpda.me/cw8p3r ">http://jpda.me/cw8p3r </a></p> <p>Time Heuer’s Blog, <a title="http://jpda.me/9hljn0" href="http://jpda.me/9hljn0">http://jpda.me/9hljn0</a></p> <p>Mary Joe Foley, <a title="http://jpda.me/aTIpCi " href="http://jpda.me/aTIpCi ">http://jpda.me/aTIpCi </a></p> <p>Steve Ballmer on PDC, <a title="http://jpda.me/aHy3qE " href="http://jpda.me/aHy3qE ">http://jpda.me/aHy3qE </a></p> <p>Scott Guthrie; The state of Silverlight, <a title="http://jpda.me/cW9dfx " href="http://jpda.me/cW9dfx ">http://jpda.me/cW9dfx </a></p> <p>Blog post on silverlight, <a title="http://jpda.me/apsNHd " href="http://jpda.me/apsNHd ">http://jpda.me/apsNHd </a></p> <p>Silverlight, HTML5 and your future blog post, <a title="http://jpda.me/cCzyHo " href="http://jpda.me/cCzyHo ">http://jpda.me/cCzyHo </a></p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0tag:blogger.com,1999:blog-6911221.post-11981009120994882042010-10-08T06:24:00.001-07:002010-10-08T06:24:14.542-07:00NuPack - Package Management System for the .NET platform Released<p>NuPack is a free, open source developer focused package management system for the .NET platform intent on simplifying the process of incorporating third party libraries into a .NET application during development.</p> <p> <br />There are a large number of useful 3rd party open source libraries out there for the .NET platform, but for those not familiar with the OSS ecosystem, it can be a pain to pull these libraries into a project.</p> <p>NuPack is a free open source package manager that makes it easy for you to find, install, and use .NET libraries in your projects. It works with all .NET project types (including, but not limited to, both ASP.NET Web Forms and ASP.NET MVC).</p> <p>NuPack enables developers who maintain open source projects (for example, projects like Moq, NHibernate, Ninject, StructureMap, NUnit, Windsor, RhinoMocks, Elmah, etc) to package up their libraries and register them with an online gallery/catalog that is searchable.  The client-side NuPack tools – which include full Visual Studio integration – make it trivial for any .NET developer who wants to use one of these libraries to easily find and install it within the project they are working on.</p> <p>NuPack handles dependency management between libraries (for example: library1 depends on library2). It also makes it easy to update (and optionally remove) libraries from your projects later. It supports updating web.config files (if a package needs configuration settings). It also allows packages to add PowerShell scripts to a project (for example: scaffold commands). Importantly, NuPack is transparent and clean – and does not install anything at the system level. Instead it is focused on making it easy to manage libraries you use with your projects.</p> <p>NuPack is itself an open-source project.  The Outercurve Foundation (formerly CodePlex Foundation) today announced the acceptance of the NuPack project to the ASP.NET Open Source Gallery.  Developers - both inside and outside Microsoft – will contribute features, bug fixes and patches to NuPack.</p> <p>Our goal with NuPack is to make it as simple as possible to integrate open source libraries within .NET projects.  It will be supported in all versions of Visual Studio.  You can start using the first developer preview of it today.</p> <p>Let’s take ELMAH as an example. It’s a fine error logging utility which has no dependencies on other libraries, but is still a challenge to integrate into a project. These are the steps it takes:</p> <ol> <li>Find ELMAH </li> <li>Download the correct zip package. </li> <li>“Unblock” the package. </li> <li>Verify its hash against the one provided by the hosting environment. </li> <li>Unzip the package contents into a specific location in the solution. </li> <li>Add an assembly reference to the assembly. </li> <li>Update web.config with the correct settings which a developer needs to search for.</li> </ol> <p> <br />And this is for a library that has no dependencies. Imagine doing this for NHibernate.Linq which has multiple dependencies each needing similar steps. We can do much better! <br />NuPack automates all these common and tedious tasks for a package as well as its dependencies. It removes nearly all of the challenges of incorporating a third party open source library into a project’s source tree. Of course, using that library properly is still up to the developer. <br />Here's a small sampling of what NuPack can do:</p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:b240735d-34b5-45e0-8bf0-5dbd4f6ccc5a" class="wlWriterEditableSmartContent"><div id="bd761158-b01c-4c5f-a8c0-35f653ee8f9c" style="margin: 0px; padding: 0px; display: inline;"><div><a href="http://www.youtube.com/watch?v=Y_n7vwoKVDo&hl=en_US&feature=player_embedded&version=3" target="_new"><img src="http://lh6.ggpht.com/__3gIgk69zVA/TK8bfWZZy1I/AAAAAAAAAIE/-nI6oyMMPLE/video4e0791318178%5B3%5D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('bd761158-b01c-4c5f-a8c0-35f653ee8f9c'); downlevelDiv.innerHTML = "<div><object width=\"425\" height=\"355\"><param name=\"movie\" value=\"http://www.youtube.com/v/Y_n7vwoKVDo&hl=en_US&feature=player_embedded&version=3&hl=en\"><\/param><embed src=\"http://www.youtube.com/v/Y_n7vwoKVDo&hl=en_US&feature=player_embedded&version=3&hl=en\" type=\"application/x-shockwave-flash\" width=\"425\" height=\"355\"><\/embed><\/object><\/div>";" alt=""></a></div></div></div> <p>To get started using NuPack, you’ll need Visual Studio 2010 installed. NuPack is implemented as a Visual Studio Extension (VSIX). Download the <a href="http://nupack.codeplex.com/releases">latest release</a> and double click on the <strong>NuPack.Tools.vsix</strong> file to launch the NuPack Visual Studio Extension Installer.</p> <p><img title="Visual Studio Extension Installer" border="0" alt="Visual Studio Extension Installer" src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=nupack&DownloadId=151309" width="492" height="376" /></p> <h4>Launching the <em>Add Package Reference</em> Dialog</h4> <p>There are two ways to interact with the package manager:</p> <ul> <li>The <em>Add Package Reference</em> Dialog GUI, which gets you started quickly and easily. </li> <li>The Powershell based Package Console, for when you need more power and tools. </li> </ul> <p>Let’s start with the <em>Add Package Reference</em> dialog.</p> <p><strong>1. First, create a new VB.NET or C# application in Visual Studio.</strong></p> <p>By pure random chance, I’ve chosen to create an ASP.NET MVC 2 application.</p> <p><strong>2. Right click on the References node within the Solution Explorer and select the Add Package Reference menu option.</strong></p> <p><img title="MvcApplication10 - Microsoft Visual Studio (Administrator)" border="0" alt="MvcApplication10 - Microsoft Visual Studio (Administrator)" src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=nupack&DownloadId=151310" width="650" height="467" /> This will bring up the <em>Add Package Reference</em> dialog, seen here (click for larger).</p> <p><a href="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=nupack&DownloadId=151217"><img title="Add Package Reference" border="0" alt="Add Package Reference" src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=nupack&DownloadId=151218" width="638" height="451" /></a></p> <p>The dialog allows you to page through the list of available NuPack packages as well as perform searches against the list of online package. The list of packages is being pulled from an ATOM feed, which can be configured using the <em>Settings</em> button.</p> <h4>Installing a Package</h4> <p>Installing a package is very easy now that we have the dialog up and running.</p> <p><strong>1. Find the package.</strong></p> <p>You can either page through the results, or use the search feature. In the Search Online box, type in “elmah”. You should see the following filtered view.</p> <p><img title="Add Package Reference (2)" border="0" alt="Add Package Reference (2)" src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=nupack&DownloadId=151311" width="764" height="535" /></p> <p><strong>2. Double click the <em>Elmah</em> entry.</strong></p> <p>That’s it! Behind the scenes, NuPack added the Elmah assembly into a subfolder of your solution, added an assembly reference to that assembly, and also modified your <em>Web.config</em> file with minimal settings to get you started. You’ll probably want to change those settings for a real application.</p> <p>But you are all set to start using and programming against ELMAH. Visit <em>/elmah.axd</em> within your project to try it out.</p> <h4>Using the Package Console</h4> <p>For those who prefer using the keyboard, NuPack also includes a PowerShell based console for managing packages. The console enables a feature that isn’t available via the <em>Add Package Reference</em> dialog as you’ll see.</p> <p>To get to the Package Console window, select the <em>View</em> | <em>Other Windows</em> | <em>Package Manager Console menu</em> option.</p> <p><img title="Start Page - Microsoft Visual Studio (Administrator)" border="0" alt="Start Page - Microsoft Visual Studio (Administrator)" src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=nupack&DownloadId=151312" width="645" height="471" /></p> <p><strong>1. Listing available Packages (<code>List-Package</code>)</strong></p> <p>Use the <code>List-Package</code> command to list available packages as seen in the screenshot. Note that you get intellisense within the console so if you type <code>List</code> and hit tab, you’ll see a list of options.</p> <p><img title="Package Manager Console - Microsoft Visual Studio (Administrator)" border="0" alt="Package Manager Console - Microsoft Visual Studio (Administrator)" src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=nupack&DownloadId=151313" width="635" height="464" /></p> <p>This queries the package source and lists the available packages. The nice thing about using PowerShell is that it provides a powerful way of filtering and composing commands. For example, if I only want to list the Id and Description, I can pipe the command to the <code>select</code> command <code>List-Package | select Id, Description</code></p> <p><strong>2. Installing a package (<code>Add-Package</code>)</strong></p> <p>To install a package, run the <code>Add-Package</code> command and specify the <code>Id</code>.</p> <p><img title="MvcApplication8 - Microsoft Visual Studio (Administrator)" border="0" alt="MvcApplication8 - Microsoft Visual Studio (Administrator)" src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=nupack&DownloadId=151314" width="635" height="464" /></p> <p>The package will be installed to the default project (specified in the console). You can use the <code>–Project</code> flag to explicitly specify the project. </p> <p>The console also supplies Intellisense for the package Id.</p> <p><a href="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=nupack&DownloadId=151315"><img title="MvcApplication8 - Microsoft Visual Studio (Administrator) (3)" border="0" alt="MvcApplication8 - Microsoft Visual Studio (Administrator) (3)" src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=nupack&DownloadId=151316" width="647" height="473" /></a><strong>3. Installing new Console Commands</strong></p> <p>Earlier, I mentioned that the package console enables a feature that’s not available in the dialog. The feature in question is the ability for a package to contain tools which add new commands to the console.</p> <p>For example, if you install the prototype <em>Mvc-Scaffold</em> package, a new <code>Add-MvcView</code> command is now available to be called from the console. </p> <p><img title="MvcApplication8 - Microsoft Visual Studio (Administrator) (5)" border="0" alt="MvcApplication8 - Microsoft Visual Studio (Administrator) (5)" src="http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=nupack&DownloadId=151317" width="592" height="465" /></p> <p>This provides a powerful way of extending and automating Visual Studio. In the future, this package might contain commands for completely scaffolding a web application from an object model or a database.</p> <p> </p> <p>Scott Guthrie has posted a good blog on the topic as has Scott Hanselman.</p> <h5><u>NuPack – Open Source Package Manager for .NET</u></h5> <p>NuPack is a free open source package manager that makes it easy for you to find, install, and use .NET libraries in your projects. It works with all .NET project types (including, but not limited to, both ASP.NET Web Forms and ASP.NET MVC).</p> <p>NuPack enables developers who maintain open source projects (for example, projects like Moq, NHibernate, Ninject, StructureMap, NUnit, Windsor, RhinoMocks, Elmah, etc) to package up their libraries and register them with an online gallery/catalog that is searchable.  The client-side NuPack tools – which include full Visual Studio integration – make it trivial for any .NET developer who wants to use one of these libraries to easily find and install it within the project they are working on.</p> <p>NuPack handles dependency management between libraries (for example: library1 depends on library2). It also makes it easy to update (and optionally remove) libraries from your projects later. It supports updating web.config files (if a package needs configuration settings). It also allows packages to add PowerShell scripts to a project (for example: scaffold commands). Importantly, NuPack is transparent and clean – and does not install anything at the system level. Instead it is focused on making it easy to manage libraries you use with your projects.</p> <p>NuPack is itself an open-source project.  The Outercurve Foundation (formerly CodePlex Foundation) today announced the acceptance of the NuPack project to the ASP.NET Open Source Gallery.  Developers - both inside and outside Microsoft – will contribute features, bug fixes and patches to NuPack.</p> <p>Our goal with NuPack is to make it as simple as possible to integrate open source libraries within .NET projects.  It will be supported in all versions of Visual Studio.  You can start using the first developer preview of it today.</p> <p><u>A Simple NuPack Scenario – Enabling ELMAH</u></p> <p>As a simple example to show off what NuPack enables – let’s assume we are working on a brand new ASP.NET application and want to use the popular open-source <a href="http://code.google.com/p/elmah/">“ELMAH” library</a> to log and report errors with our site.  To install ELMAH today, you’d need to manually download it, unzip it, add a reference to your project, make sure you have source control bindings for the library setup correctly, and update the web.config file of your application to include the Elmah HttpModule entries.  All doable – but a little tedious.</p> <p>With NuPack installed, you can simply open the new “Package Manager Console” that NuPack enables inside VS and type “Add-Package elmah” within it:</p> <p><a href="http://weblogs.asp.net/blogs/scottgu/image_499C9B80.png"><img title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_thumb_0102ACAF.png" width="622" height="424" /></a></p> <p>Typing "Add-Package elmah” causes NuPack to check an online feed to locate the Elmah library, download it, add a reference of it to your current project, and automatically add the appropriate Elmah registration entries within your application’s web.config file:</p> <p><a href="http://weblogs.asp.net/blogs/scottgu/image_5FA30712.png"><img title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/scottgu/image_thumb_6A7FE85A.png" width="628" height="443" /></a></p> <p>And now we have Elmah setup and installed for our project, and error report logging enabled.  No additional manual steps required to make it work.</p> <p><u>Learn More About NuPack</u></p> <p>Check out the following links to learn more about NuPack and some of the many scenarios it enables:</p> <ul> <li><a href="http://www.hanselman.com/blog/IntroducingNuPackPackageManagementforNETAnotherpieceoftheWebStack.aspx">Scott Hanselman’s NuPack Tutorial</a></li> <li><a href="http://haacked.com/archive/2010/10/06/introducing-nupack-package-manager.aspx">Phil Haack’s NuPack Post</a></li> <li><a href="http://weblogs.asp.net/bsimser/archive/2010/10/06/unicorns-triple-rainbows-package-management-and-lasers.aspx">Bill Simser’s Post on NuPack</a> (he is a non-Microsoft dev working on it) </li> <li><a href="http://devlicio.us/blogs/rob_reynolds/archive/2010/10/06/the-evolution-of-package-management-for-net.aspx">Rob Reynold’s “Evolution of Package Management on .NET” Post</a> (Rob is one of the leaders of the Nu project and is on the NuPack team) </li> <li><a href="http://blogs.msdn.com/b/davidebb/archive/2010/10/05/introducing-nupack-the-smart-way-to-bring-bits-into-your-projects.aspx">David Ebbo’s NuPack Post</a></li> <li>Documentation and tutorials on <a href="http://nupack.codeplex.com">nupack.codeplex.com</a></li> </ul> <p><u>.NET and Open Source</u></p> <p>We think NuPack will be a fundamental component of the .NET stack going forward.  It will encourage more .NET developers to use open-source libraries.  Having a standard package manager integrated into millions of copies of Visual Studio will hopefully also encourage the creation of more open source projects with .NET.</p> <p> </p> <p>References </p> <p><a title="http://nupack.codeplex.com/" href="http://nupack.codeplex.com/">http://nupack.codeplex.com/</a></p> <p><a title="http://weblogs.asp.net/scottgu/archive/2010/10/06/announcing-nupack-asp-net-mvc-3-beta-and-webmatrix-beta-2.aspx" href="http://weblogs.asp.net/scottgu/archive/2010/10/06/announcing-nupack-asp-net-mvc-3-beta-and-webmatrix-beta-2.aspx">http://weblogs.asp.net/scottgu/archive/2010/10/06/announcing-nupack-asp-net-mvc-3-beta-and-webmatrix-beta-2.aspx</a></p> <p><a title="http://www.hanselman.com/blog/IntroducingNuPackPackageManagementForNETAnotherPieceOfTheWebStack.aspx" href="http://www.hanselman.com/blog/IntroducingNuPackPackageManagementForNETAnotherPieceOfTheWebStack.aspx">http://www.hanselman.com/blog/IntroducingNuPackPackageManagementForNETAnotherPieceOfTheWebStack.aspx</a></p> Justin Davishttp://www.blogger.com/profile/09453024042084616291noreply@blogger.com0