# Tuesday, April 21, 2009

Windows Live Groups and Time Zones

We (the Maine Microsoft Certification Study Group) has been using Windows Live Groups as our virtual place to hang out. Out weekly meeting is posted on the group calendar, but the times kept showing up wrong on the overview page. As it turns out (thanks to Winston Natoli) there are three places where you can set the timezone:

Group Time Zone
- <Select Group or Access via Group Url>/ Options / Group Options/ General
Calendar Time Zone
<calendar.live.com>/ Options/ More Options / Time Zone
Live ID
<account.live.com>/ Registered Information/ Home Location/ Time Zone

 

After setting all of them to EST I’m now getting the right information.

#    Comments [0] |
# Monday, April 06, 2009

Training Kit now on sale at Amazon.com

Yeah, my last Training Kit is shipping!

Get a copy now at Amazon: http://tinyurl.com/dxwdz5

#    Comments [0] |
# Monday, March 23, 2009

Entity Framework: ObjectContext.SaveChanges is transactional

The documentation doesn't specifiy it but in the Entity Framework when you call ObjectContext.SaveChanges the update is 'wrapped' in a transaction.

NorthwindIBModel model = new NorthwindIBModel();

Guid id = Guid.NewGuid();

model.AddToCustomer(new Customer() { CustomerID = id, ContactName = "Andrew", CompanyName = "Northwind Traders" });
model.AddToCustomer(new Customer() { CustomerID = id, ContactName = "Aikido", CompanyName = "Northwind Traders " });

model.SaveChanges(); // exception duplicate key - transactional -> no changes to the database

#    Comments [0] |

Resetting Visual Studio

Today I ran into a problem where apparently the registry settings for Visual Studio got messed up since I was no longer able to add a data connection in my Server Explorer, nor create an Entity Framework model from a database. Time to reset Visual Studio command(o) style.

To reset Visual Studio you open the Visual Studio Command Prompt and type:

devenv /resetsettings

And life is good...

#    Comments [0] |
# Tuesday, March 17, 2009

Code Camp 11: Developer Stimulus Package

CodeCamp

Just a quick reminder to all that Code Camp 11: Developer Stimulus Package will be held on March 28th, 2009. The Boston code camp will be held at the Microsoft Waltham, MA office and the session lineup is looking great!

More info: http://www.thedevcommunity.org/Events/PresentationList.aspx?id=11

#    Comments [0] |
# Thursday, March 12, 2009

Upcoming BAND Gig: A Look at a Real World .NET MVC Implementation

On March 24th the Bangor .NET Developers will host an Ineta sponsored event where Steve Andrews will do a talk about the ASP.NET MVC Framework.

The ASP.NET MVC Framework provides a powerful Model View Controller (MVC) approach to building web applications, and provides separation of concerns, increased testability, control over HTML output, and intuitive URLs. We will start by looking at building a model framework with LINQ to SQL, including validation and model binding. Then, we'll explore a custom generics-based repository and services implementation. Finally, we'll tie it all together with a look at Views and jQuery.

 

Steve Andrews is a Team System MVP and INETA speaker, and has been working as a developer for more than 9 years. During this time, he has designed and developed applications in such widely varying areas as trust accounting, medical information management, supply chain management, and retail systems. Steve is also a MCTS, ICSOO, and community fanatic.

 

Go to www.bangordevelopers.com to sign up now.

#    Comments [2] |
# Monday, March 09, 2009

SDN Event on March 30th in Hotel & Congrescentrum "De Bergse Bossen" (The Netherlands)

The combined user groups of the SDN are putting together a terrific one day event with great sessions for software developers, architects, information workers and database professionals. Don't miss it!

Here is an overview of the sessions:

image

Go to www.sdn.nl/sde to sign up!

#    Comments [0] |

developer.Equals( otherDeveloper );

It often seems that management believes developers are highly exchangeable. Is an experienced developer leaving the team?

Then just new up a new .NET developer and you're done. This Dilbert episode reminded me of that attitude.


From www.dilbert.com

#    Comments [0] |
# Monday, February 16, 2009

MSDN Roadshow is coming to Augusta

Roadshow.pngOnce again the Maine Developer Network (thanks to John, Shawn and the State of Maine Government) is happy to help out Chris, Bob and Jim with finding a location to hold the MSDN Northeast Roadshow.

On March 19th the Roadshow will hit the Central Maine Commerce Center in Augusta. Go here to sign up today!

Location
Central Main Commerce Center
Florian Auditorium
500 Civic Center Drive Augusta Maine 04330
United States

Date
Thursday, March 19, 2009 8:30 AM - Thursday, March 19, 2009 4:00 PM Eastern Time (US & Canada)
Welcome Time: 8:00 AM

#    Comments [0] |

How about those code comments?

I just read Daniel's post on 'The Value of Commenting'. Food for thought people :-)

I like to use the following rules of thumb:

a) Code should be self explanatory. This means using well named variables, properties and objects in order to make code as easy to read as possible. It should be obvious from the code what it is that it is trying to do.

b) Code should be easy to read. By easy I mean that you need to be able to scan it pretty fast. Sometimes comments can help make code easier to read by describing what is going on. I find this especially true in if/else constructions where a short comment can guide the reader of the code.

c) If more that one line of code is needed to describe a code block, consider refactoring the code to a private method and put comments on the method. A useful name for the method should help in achieving point (a).

d) Comments should describe why you're trying to do something, but this has limits. Extensive explanations on why the purchase amount of an order should never exceed $10000 should not be in the code. A list of rules should be maintained as part of the documentation and a reference to the rule should be made from the code comments.
Note: I have been known to document a list of rules as an enumerator, where the documentation of the rule is documented as the description of the enumerated value.

Actually (d) is the hardest one. When is it necessary to describe the 'why' of an operation?
The code is readable, the original programmer put it there for a reason. Are the comments there because the presence of the code needs to be justified? No! The 'why' comments are to facilitate (b).

As always, it's easy to spot useless comments, but hard describe a fixed set of rules to describe good comments. Use your brain!

#    Comments [2] |
# Tuesday, February 10, 2009

It's sleek, it's cool, it's got gadget power!

But it is not the same as having a book that sits on your shelve and collects dust.

The Amazon Kindle 2 is here:

Kindle2

 

 

 

 

 

Lighter, better display, more storage and longer battery seem to be the improvements in the second generation Kindle.

I want one, but part of buying books and novels is the feel of collecting and adding to my library... I'm not sure I want to miss that feeling. I must be getting old fashioned ;-)

More info here.

#    Comments [0] |
# Monday, February 02, 2009

.NET Framework platform availability

I had to find out which platform supports which version of the .NET Framework. The information is a little fragmented, but here is the overview I came up with.

Windows 95
The .NET Framework cannot be installed on Windows 95.

Windows 98
.NET 1.0, .NET 1.1, .NET 2.0, .NET 3.0

Windows 98 SE
.NET 1.0, .NET 1.1, .NET 2.0, .NET 3.0

Windows ME
.NET 1.0, .NET 1.1, .NET 2.0, .NET 3.0

Windows NT 4.0 SP6a
.NET 1.0, .NET 1.1

Windows XP
.NET 1.0, .NET 1.1

Windows XP SP2
.NET 1.0, .NET 1.1, .NET 2.0, .NET 3.0, .NET 3.5

Windows 2000
.NET 1.0, .NET 1.1

Windows 2000 SP4
.NET 1.0, .NET 1.1, .NET 2.0

Windows Vista
.NET 2.0, .NET 3.0, .NET 3.5

Windows 2000 Server SP2
.NET 1.0, .NET 1.1

Windows Server 2003
.NET 1.1, .NET 2.0, .NET 3.0

Windows Server 2003 SP1
.NET 1.1, .NET 2.0, .NET 3.0, .NET 3.5

Windows Server 2003 R2
.NET 2.0, .NET 3.0, .NET 3.5

Windows Server 2008
.NET 2.0, .NET 3.0, .NET 3.5

 

Just to be clear, .NET 3.5 cannot be installed on:

  • Microsoft Windows 95
  • Microsoft Windows 98
  • Microsoft Windows Millennium Edition
  • Microsoft Windows NT Server
  • Windows NT Workstation
  • Windows NT Server Enterprise Edition
  • Microsoft Windows 2000 Professional
  • Windows 2000 Server
  • Windows 2000 Advanced Server
  • Windows 2000 Datacenter Server
  • Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Windows Server 2003, Datacenter Edition for Itanium-based Systems

 

References:

[UPDATE: .NET 3.0 will not run on Windows 2000 or Windows 200o SP4]

#    Comments [4] |
# Tuesday, January 13, 2009

Microsoft starts new ad campaign

Microsoft has started a new ad campaign. Why mention it here? I like the ad, that's why.

#    Comments [0] |
# Thursday, January 01, 2009

MVP Award 2009

The year is off to a great start! I got an email this morning informing me I've been awarded the MVP Award 2009. Terrific! 

MVPLogo

 

Quote: The Microsoft MVP Award provides us the unique opportunity to celebrate and honor your significant contributions and say "Thank you for your technical leadership."

#    Comments [4] |
# Thursday, December 18, 2008

SQL Server file sizes

Today I needed a query to see what the size and growth settings were for our databases. The query below will output name, size and growth information.

SELECT  SUBSTRING([name], 0, 40) as [Name],
                (([size]*8)/1024) as SizeMB,
                CASE [growth]
                        WHEN 0 THEN 'Fixed Size'
                        ELSE
                                CASE [is_percent_growth]
                                        WHEN 0 THEN 'Absolute growth: ' + CAST([growth] as varchar)
                                        WHEN 1 THEN 'Percentage growth: ' + CAST([growth] as varchar)
                                END
                END as [GrowthInfo]
FROM    sys.database_files

Output looks like this:

Name                                     SizeMB      GrowthInfo
---------------------------------------- ----------- -------------------------------------------------
AdventureWorks                           10          Fixed Size
AdventureWorks_log                       5           Fixed Size

#    Comments [0] |

SQL Server 2005 SP3

Microsoft has release SQL Server 2005 Service Pack 3, download the service pack here.

Release notes can be found here and there is also a list of the bugs that are fixed in SQL Server 2005 Service Pack 3. Looks like around 45 bugs fixes!

#    Comments [0] |
# Thursday, December 11, 2008

EC2 in Europe

Living in the United States it is sometimes easy to forget that some companies are much more America focused than others. Microsoft will offer some of it's betas to the North American region only, but products are usually available worldwide. Windows Azure, as a beta, is offered worldwide.

Amazon EC2 (RTM) has been offered in North America only, but has made the jump across the pond to Europe. In my mailbox today:

"We are excited to announce that we have extended Amazon Elastic Compute Cloud (Amazon EC2) to Europe. Developers and businesses can now run their Amazon EC2 instances in the EU to help achieve lower latency, operate closer to other resources like Amazon S3 in the EU, and meet EU data storage requirements when applicable. The new European Region for Amazon EC2 contains two Availability Zones enabling you to easily and cost effectively run fault-tolerant applications with the same scalability, reliability and cost efficiency achieved with Amazon EC2 in the U.S."

 

Amazon EC2 is the Amazon offering for hosting virtual machines in the Amazon Cloud. Windows Azure is a slightly different, but competing solution from Microsoft.

 

Note: Interested in Amazon services? Some time ago I wrote Introduction to AWS for C# developers.

#    Comments [0] |
# Tuesday, December 09, 2008

The next thing for the web: Google Native Client = Googlelight?

Brad Chen from Google just announced a new form of browser technology: Native Client. It will allow you to write C or C++ code which runs, through Native Client, in the browser.

"At its core, our release consists of a runtime, a browser plugin, and a set of GCC-based compilation tools."

With my Microsoft minded way of thinking, I read:

  1. a runtime which needs to be installed, like the .NET CLR,
  2. a browser plugin, like Silverlight,
  3. tools to develop like Visual Studio / Expression Blend.

Sounds to me like Google is a little worried about Silverlight and Flash and wants to play too :-)

Update [9/12/2008]: PC World refers to Native Client as Google ActiveX. It'll be interesting to see how soon the focus will go from computing power to animation power.

#    Comments [0] |
# Monday, December 08, 2008

MCTS Self-Paced Training Kit (Exam 70-561): Microsoft® .NET Framework 3.5 ADO.NET Application Development

I just send the last revision of my chapters for TK 70-561 to the editor. Yeah! Hopefully the book will go to print soon. You can pre-order already on Amazon!

Cover-TK70-561

For me the last chapter to work on was LINQ to SQL, but the book includes chapters on learning ADO.NET, Typed DataSets, LINQ to SQL and Entity Framework. You'll need to know it all. :-)

Stephen Forte has an interesting post on the relevance of LINQ to SQL.

#    Comments [2] |