Aug 26

My new source control system

Everybody is aware of the need for source control! As I develop software with Visual Studio 2008, integration with this IDE is a must. Today I was lucky to find that Unified SCC supports Visual Studio Subversion integration so I easily changed my source control system.

What made me choose Unified SCC one might ask. Well, first of all its about the perfect user support. The guys on their team replied quite fast and with patience on my questions. Then it was a combination of all these advantages that made me choose Unified SCC:

* No need to keep file structure in sync manually. You can rename, move, add or remove files and folders right in the IDE, and plugin will execute necessary source control commands automatically.
* Easy access to source control operations
* File status icons and pending modifications window
* File history viewer and comparison support
* Works via MSSCCI - native source control integration interface for many programs
* Supports both edit-merge-commit and lock-edit-commit work models
* Auto file locking feature - applies to those files that can’t be modified concurrently (pictures, binary files, etc)
* Source control repository can be set for each project independently
* Atomic commits support

At the current moment, Unified SCC supports the following version control systems - Subversion and CVS as more integrations are comming soon. Unified SCC can be used with Microsoft Visual Studio, Borland Delphi, Microsoft Visio, MatLab and 3D Studio Max.

You can download a trial from here.

Aug 12

Visual Studio 2008 SP1 is ready for download!Can’t miss that one because we all rely on this IDE! You can get it from here.

New Web Development Features in Visual Studio 2008 SP1

The following is a list of new features in SP1 which relate to web development:

* Class Libraries and Web Application Projects in Express
* JScript Formatting
* More Support for External JScript Libraries
* Dynamic Data Templates
* SQL Server 2008 Support
* WCF Renaming Support
* IIS Module and Handler Templates
* Multiple Selection in Design View (new since SP1 Beta)

Visual Studio 2008 SP1 and Visual Web Developer 2008 SP1 contains several hundred bug fixes related to web development.

Read more here.

May 12

Yes, its coming! The boys and Redmond can’t wait to release all these service packs. I have Scott Guthrie’s blog post in front of me and read it carefully. As for now these two downloads are still in beta but will be released soon in final stage. So far you can download it from here.

There will be some improvements that really concern us. I will closely follow these few:
- ASP.NET Data Scaffolding Support (ASP.NET Dynamic Data)
- ASP.NET Routing Engine (System.Web.Routing)
- ASP.NET AJAX Back/Forward Button History Support
- ASP.NET AJAX Script Combining Support
- Visual Studio 2008 JavaScript Script Formatting and Code Preferences
- Improved ExtJS formatting support!
- Application Startup and Working Set Performance Improvements

As well as some Data improvements:
- SQL 2008 Support - VS 2008 and .NET 3.5 are being updated to include support for the upcoming SQL 2008 release. Visual Studio 2008 data designers, projects and wizards now fully supporting connecting and working against SQL 2008 databases.
- ADO.NET Data Services (formerly code-named “Astoria”)

VB.NET update:
You can now add “XML to Schema” items to Visual Basic projects. On adding these project items a wizard will open that allows you to create a XSD schema set from a variety of XML sources. This schema set is then added to the project and it enables VB XML intellisense.

A XSD browser is also now included with VS 2008 SP1 and allows you to browse XSD schema sets. With the final SP1 release, developers will be able to right-click on XML element names (either in XML properties or XML literals) in the VB code editor and select “Go To XML Schema Definition” - this will open the XSD browser and display the schema set (and select the current element) for the VB project.

Mar 30

Today will post about two things. One is hot fix available for VB performance issue in VS2008. It addresses performance issues in the following scenarios:

- The IDE takes a long time to build/rebuild the solution.

- You experience a slow response time when you press F5 to start debugging.

- You experience a slow response time in the Code Editor.

- You experience a slow response time in IntelliSense.

The performance issue is caused by having large files in your project that contain XML documentation. You’re most likely to run into these large files when using designer-generated files for web references and/or datasets. If you’ve found that turning off the option under the Compile tab in project properties for “Generate XML Documentation File” improves your performance, then this hotfix should address your issue.

Download it here.

The other is this useful tool called GhostDoc which enables you to generate XML description of your functions in VS 2008. I use this when coding in VB.NET though the VB.NET support is still experimental. This free add-in uses customizable templates to generate consistent, English-readable documentation based on the current context. To use it, right-click (or use CTRL + SHIFT + D) to document the current element:

Coding in VB.NET with VS 2008

This generates the following documentation (note GhostDoc split the property name into words and created a sentence from it):

Coding in VB.NET with VS 2008

Download GhostDoc from here.

Mar 23

Since 10th of February we started poll which aimed to determine what is your favorite development IDE. So after month and a half we can say that Visual Studio 2008 is being adopted quite well as 39% of all 80 votes goes for him. Second place goes to VS 2005 as it was the first to be able to use framework 2.0. Its interesting to note that 9% of all(or 7 votes) goes to the old school VS 2003! Here is the final result:
Most used development IDE is VS 2008!
Looking for your votes again so we can determine which is your favorite programming language!

Feb 09

On 8th of Feb Microsoft released a hot-fix for the latest Visual Studio 2008. Scott Guthrie blogged about that release and I can’t miss that post. On Monday will install it personally and will blog about it. Here is what it should fix:

HTML Source view performance

* Source editor freezes for a few seconds when typing in a page with a custom control that has more than two levels of sub-properties.
* “View Code” right-click context menu command takes a long time to appear with web application projects.
* Visual Studio has very slow behavior when opening large HTML documents.
* Visual Studio has responsiveness issues when working with big HTML files with certain markup.
* The Tab/Shift-Tab (Indent/Un-indent) operation is slow with large HTML selections.

Design view performance

* Slow typing in design view with certain page markup configurations.

HTML editing

* Quotes are not inserted after Class or CssClass attribute even when the option is enabled.
* Visual Studio crashes when ServiceReference element points back to the current web page.

JavaScript editing

* When opening a JavaScript file, colorization of the client script is sometimes delayed several seconds.
* JavaScript IntelliSense does not work if an empty string property is encountered before the current line of editing.
* JavaScript IntelliSense does not work when jQuery is used.

Web Site build performance

* Build is very slow when Bin folder contains large number of assemblies and .refresh files with web-site projects.

Installation Notes

For more information on how to download and install the above patch, please read this blog post here. In particular, if you are using Windows Vista with UAC enabled, make sure to extract the patch to a directory other than “c:\” (otherwise you’ll see an access denied error).

To verify that this hot-fix patch successfully installed, launch VS 2008 and select the Help->About menu item. Make sure that there is an entry that says ‘Hotfix for Microsoft Visual Studio Team System 2008 Team Suite – ENU (KB946581)’.

If you ever want to remove the patch, go to Control Panel -> Add/Remove Programs and select “Hotfix for Microsoft Visual Studio 2008 – KB946581” under Microsoft Visual Studio 2008 (or Visual Web Developer Express 2008) and click “Remove”.

Download

Here

Jan 24

Once again Microsoft brings some knowledge to the masses :) This time its free e-books. All the headings speak for them selfs and with few words these books are MUST HAVE for every developer. Only few chapters are included in pdf’s as you are encouraged to buy them! Here is the content:

ms_linq_cvr.jpgIntroducing Microsoft LINQ
by Paolo Pialorsi and Marco Russo

ISBN: 9780735623910

* Chapter 1: LINQ Introduction
* Chapter 2: C# Language Features
* Chapter 3: Visual Basic 9.0 Language Features
* Chapter 4: LINQ Syntax Fundamentals
* Chapter 5: LINQ to ADO.NET
* Chapter 6: LINQ to XML

ms_ajax_cvr.jpgIntroducing Microsoft ASP.NET AJAX
by Dino Esposito

ISBN: 9780735624139

* Chapter 1: The AJAX Revolution
* Chapter 5: The AJAX Control Toolkit

ms_silverlight_cvr.jpgIntroducing Microsoft Silverlight 1.0
by Laurence Moroney

ISBN: 9780735625396

* Chapter 1: Silverlight and User Experience
* Chapter 5: Programming Silverlight with JavaScript

Log into Microsoft Press home page for more info here
Dec 13

Part 4 from Bill Horst’s series, now its functions turn.

Functions

SQL SELECT clauses often involve functions, which can be scalar or aggregate. An aggregate function is applied to a field over all the selected records, while a scalar function is called with individual values, one record at a time. It is possible to re-create both kinds of functions with VB LINQ expressions, but in very different ways.

Scalar Functions

Scalar functions are called on each record with whatever parameters are specified. They can appear various places in a SQL query, such as in the SELECT clause. The Scalar Functions available differ from system to system, but usually, there will be an analogous VB method that can be used. If using a Scalar Function in a LINQ Select clause, you will probably need to specify an alias as well (FirstThreeLetters, CurrentTime).

SQL

SELECT LEFT(ItemName, 3) FirstThreeLetters, NOW() CurrentTime
FROM OrderTable

VB

From Shipment In OrderTable _
Select FirstThreeLetters = Left(Shipment.ItemName, 3), CurrentTime = Now

In the above case, Left and Now are methods already built into VB, defined in Microsoft.VisualBasic.dll. This will likely be the case for most common scalar functions you will find in SQL statements. Even if the function you wish to call does not exist in VB already, you can define your own methods, too. However, user-defined methods cannot be used in a Database query, as they will throw an exception at runtime. In the below example, MyFunction is a user-defined function called from the Select clause.

VB

From Shipment In OrderTable _
Select MyFunction(Shipment.Cost, Shipment.ShippingZip)

Aggregate Functions

Aggregate functions are called on certain fields over an entire set of records, and return one value. In a SQL statement, they can appear in the SELECT clause. With VB LINQ, this concept appears a bit differently.

A VB LINQ expression usually begins with a From clause. However, they can also begin with an Aggregate clause. The Aggregate clause has the same syntax as a From clause, except that it starts with a different keyword. If a query starts with an Aggregate clause, it must end with an Into clause. An Into clause is a comma-delimited list of Aggregate function calls, with aliases that can accompany them. The below example shows a SQL SELECT statement that uses Aggregate functions, and an equivalent VB LINQ expression.

SQL

SELECT SUM(Cost) TotalCost, COUNT(*)
FROM OrderTable
WHERE OrderDate > “Sept-29-2007

VB

Aggregate Shipment In OrderTable _
Where Shipment.OrderDate > #9/29/2007# _
Into TotalCost = Sum(Shipment.Cost), Count()

read source

Dec 11

I found that one at the Visual Basic Team Blog. Over here she puts together a list of some of the new features in Visual Basic 2008:

I like these :)
2) If Operator

Ever notice that the IIF function returns something of type Object? This means that you don’t get Intellisense or type-checking by default on that result. For those of you that insist on type-safe, early-bound code, you have to cast the result. The code then looks something like this:

Dim intC As Integer = CInt(IIf(intA = intB, intA, intB - 1))

With the If operator, you can now write that line as:

Dim intD As Integer = If(intA = intB, intA, intB)

And with type inference it gets even easier on the eyes:

4) Nullable

Nullable is the feature you’ll notice but rarely have to think about. It’s basically the .NET representation for a Nullable value type (Integer, Date, etc.) Using the designer for LINQ to SQL, the Object-Relational Mapping layer introduced in Visual Studio 2008, nullable columns in your database are mapped to this type. The result is that you can write the following expression in VB and the right thing happens – null valued rows propagate null. In the example below, the Independence property on the Country type is a nullable date, denoted as Date?

        Dim virginIslands As New Country With {.Independence = Nothing}
        Dim palau As New Country With {.Independence = #10/1/1994#}
 
        Dim vILength = #8/24/2005# - virginIslands.Independence ' Nothing
        Dim pLength = #8/24/2005# - palau.Independence ' 3980.00:00:00

9) Type inference for loop variables

Check out the following code:

And this code:

Without having to specify the type of the control variable, it’s inferred from right-hand-side expression or the collection we’re iterating over.

read all of them from here

Dec 04

Bill Horst continues with those simple examples. After this one here comes the other set. They are perfect to show basic syntax. Here are few more:

DISTINCT
SQL SELECT statements can include the DISTINCT specifier, which causes all duplicate records in the query result to be removed. In a LINQ expression, Distinct is its own individual clause, rather than a specifier on the Select clause. This means that Distinct can appear between any two other clauses. The Distinct clause takes whatever result is returned by the preceding clause (Select, in the case below) and returns a filtered result with duplicates removed. To two code examples below accomplish the same results:

SQL

SELECT DISTINCT Name, Address
FROM CustomerTable

VB

From Contact In CustomerTable _
Select Contact.Name, Contact.Address _
Distinct

ORDER BY
The SQL ORDER BY clause can also be represented in a LINQ expression. A LINQ Order By clause allows for a comma-delimited list of expressions to specify how results should be sorted. Any valid VB expression can be used, so these expressions don’t necessarily have to be the names of field that were selected.

SQL

SELECT * FROM CustomerTable
ORDER BY Phone

VB

From Contact In CustomerTable _
Order By Contact.Phone

ASC/DESC
A SQL ORDER BY clause can also include ASC and DESC keywords, to specify that the sort should be in ascending or descending order, respectively. VB uses Ascending and Descending keywords for the same purpose, with the same syntax. If neither specifier is present, ascending order is the default.

SQL

SELECT * FROM CustomerTable
ORDER BY Phone ASC, Name DESC

VB

From Contact In CustomerTable _
Order By Contact.Phone Ascending, Contact.Name Descending

Here is the original post by Bill Horst

TopOfBlogs