Perth .NET User Group Meeting: Code Contracts in Framework 4.0 with Joe Albahari

Join us at the Perth .NET User Group Thurs, May 6th for a presentation on Code Contracts. With Framework 4.0, Code Contracts are now a reality. In this session, we’ll look first at what Code Contracts are, and then demonstrate how to use them in Framework 4.0 to write more robust, concise and better-documented code. We’ll also look under the covers on how they work, and see how to tailor contract behaviour for development, deployment, legacy and unit testing environments.

  • TOPIC:   Code Contracts in Framework 4.0 – with Joe Albahari
  • DATE:    Thursday, May 6th, 5:30pm – 7:00pm
  • VENUE:  Excom, Ground Floor, 23 Barrack Street, Perth
  • COST:    Free. All welcome

Joe Albahari is author of O’Reilly’s C# 4.0 in a Nutshell. He’s a regular user group speaker and has presented at TechEd and JAOO.

There will be door prizes of: 2 copies of ‘C# 4.0 in a Nutshell’ and a LINQPad license courtesy of Joe Albahari, plus a choice of license from JetBrains (one of ReSharper , TeamCity Build Agent, dotTrace Profiler, RubyMine, IntelliJ IDEA).

Arrive early if you want a seat!

Perth SQL Server UG: What’s new in Reporting Services for SQL Server 2008 R2 with Greg Low

This event is happening tomorrow:

In this session, Greg will describe the improvements to reporting services coming in the upcoming release of SQL Server 2008 R2. Greg will explore general reporting enhancements, changes to report viewer, report builder and report manager, the introduction of map data, shared components and shared data sources.

  • Venue: Level 15, 191 St Georges Terrace (Parmelia House, Fujitsu Office)
  • Time:   5:30pm – 7:00pm
  • Date:   Thurs, 22nd April 2010

To register for the session: http://www.sqlserver.org.au/Events/RegisterMeeting.aspx?EventId=463

ReSharper 5.0 RC Available

ReSharper 5.0 is available for download as Release Candidate, with a release date in the near future.

What’s New in ReSharper 5.0
  1. Web Development. Extended toolset available to ASP.NET developers when working with markup files and web site infrastructure.
  2. Project and Team. View, change and maintain project structure.
  3. Support for Visual Studio 2010. Visual Studio 2005 and 2008 are also supported.
  4. Code Analysis. This area incorporates several improvements, from “plainly” implementing a substantial pack of new code inspections to upgrading foreach and for loops to LINQ queries and letting you track how data values and method calls are passed through your code.
  5. Performance optimizations in many areas, especially search for usages, navigation, and refactorings.
  6. Improvements in localization, C# 4, VB 10, XAML, and ASP.NET support.
  7. Fixes and improvements in VS2010 integration.

Other enhancements include extended IntelliSense, bookmarking, and native NUnit support.

Note: All ReSharper 4.5 new or upgrade purchases made since October 15, 2009 qualify for a free upgrade to ReSharper 5.0V

Perth .NET UG Meeting: Developing Office Add-Ins with VSTO in Visual Studio 2010 – with Jake Ginnivan

Join us at the Perth .NET User Group Thurs, April 8th where Jake Ginnivan will build an application from the ground up using VSTO. Microsoft Office offers a platform that provides many possibilities for application development using managed code. In this talk Jake will describe what VSTO is, why to choose it as a platform and how you can build a successful application from the ground up. In addition, he will cover the pitfalls of COM Interop, ways to avoid performance and memory issues, structuring your solution to enable it to be fully unit testable, the common extensibility areas of outlook, using WPF as your presentation platform within Outlook, deployment using ClickOnce, dealing with ClickOnce update issues and the patterns you can use to make it all fit together. To demonstrate these techniques, Jake has built an Outlook add-in using Visual Studio 2010 and .NET 4.0, which synchronises his Facebook events list into Outlook.

  • TOPIC:  Developing Office Add-Ins with VSTO in Visual Studio 2010
  • DATE:   Thursday, April 8th, 5:30pm – 7:00pm
  • VENUE: Excom, Ground Floor, 23 Barrack Street, Perth
  • COST:   Free. All welcome

Downloadable content from Bioware/EA

If you have a game from Bioware or EA (Such as Mass Effect 2 or Dragon Age) and you are having trouble accessing the in-game downloadable content (you get the unhelpful message “you are not connected to the internet”), the tech support help is a bit hit and miss! Somehow, the manual is missing magic port numbers and tech support don’t tell you about it.

You must unblock ports 80 (TCP/UDP), 8000 (TCP), 8001 (UDP), 443 (TCP), and 18081 (TCP) to access the downloadable content.
[18081 isn’t listed in the manual or on the website, but the game tries to contact an EA server on that port. 443 isn’t listed either, but that’s a regular https port and is most likely unblocked on most systems.]

If that doesn’t work for you, download and install WireShark, fire up the game and see what port accesses are being attempted.

How To Download Unmetered Content From Steam

This is a bit off-topic but I know a lot of developers like to play games (and why not, after all that’s what computers are for!)

If you buy and download games via Steam using the Steam client, you can do this so that the downloaded content does not add to your download limit (i.e. as an unmetered download). Why use Steam? Well, games are often cheaper than the shelf price, you can get pre-release content, and they often have great specials on older games.

The precise details will vary slightly depending on your location and which ISP you are with. The instructions here will be for Australia and Telstra, but they will work for other ISPs such as iinet and westnet etc. I’ll note the points at which you will need specific information.

Step 1: Download and install the Steam Client. You obviously need to do this if you want to use this service!

  • You will obviously need to create an account if you wish to purchase games through Steam.
  • After installing the Steam client, you will need to opt in to the beta client program (to get the version that allows changing the preferred content server).
  • * Goto View->Settings->Downloads and set your download region to ‘Australia – NSW (Telstra)’

NOTE: If you are with another ISP, then this needs to be set accordingly (for westnet use ‘Australia – WA (3FL)’, not sure about others. Contact your ISP). NOTE: just performing this step alone won’t guarantee content is downloaded unmetered.

  • You may have to delete (or rename) the ClientRegistry.blob file located at C:\Program Files (x86)\Steam and log back in again.
  • Exit Steam.

Step 2: Download and install SteamWatch 3 (ignore the fact that the page title is SteamWatch 2!). Choose the GameArena servers (doesn’t really matter as we will be editing the config anyway)

  • SteamWatch watches process ‘Steam’ on port 27030 and blocks all access except to those IP address contained in it’s ‘white list’. We need to use SteamWatch because just setting a preferred content server (in the step above) does not prevent Steam deciding to use other servers as well as/or instead of your preferred server.
  • Right-click the SteamWatch tray icon and select ‘Edit SteamWatchSettings.xml’
  • * Change the list of allowed Steam content server IP addresses to (NOTE: this will obviously depend on your ISP):
  • 203.39.198.167

    203.39.198.168

NOTE: The 3FL content server IP addresses are

steam-wa.3fl.net.au – 202.72.191.174
steam-nsw.3fl.net.au – 202.173.128.178

Then re-start Steam. It’s best to start a download and then pause it and then check to make sure the download is unmetered.

[One thing to note; the local Steam server obviously has to have the content on it. Also, you may find that connections are more reliable at off-peak times.]

I also added the following ports to my router’s firewall:

  • 27000-27050 TCP
  • 4380 TCP

Clouds

Being something of a Luddite, I have yet to get my head fully around the cloud business model: is it simply a hyped technology or is this the future of computing? Call me an old cynic but it seems that it is more to do with a push to a licensing revenue model than meeting an actual business demand. The major software vendors have been fully aware for over a decade that there comes a limit to what a customer is willing to pay for upgrades that don’t really give them anything they need.

It’s certainly an interesting time. But does it make sense to be making the shift to cloud based computing? Mobile applications syncing to remote location are hardly new wiz-bang technology. High availability and auto-failover I can understand but scalability is perhaps a little harder…

Azure is a relatively recent entry into the cloud offerings, and as such there are no doubt a few fine details to work out. According to recent information, SQL Azure is not yet ready for:

  • Large OLTP/DSS systems
  • Tier 1, mission critical apps

Now while there is obviously something to be said for getting into a new market by starting small, one would have thought that the businesses that would most benefit from the cloud’s economy of scale and find it a cost effective, and therefore attractive, proposition would be precisely those with large OLTP systems.

On a side note, I also can’t help notice that the current price of data transfer is 3 times more expensive in Australasia/Asia (this will hopefully change?):

Data transfers = 0.10 in /0.15 out / GB – (0.30 in /0.45 out / GB in Asia)*

So I guess I’m waiting for someone to show me the light and help me grok the cloud. Anyone?

T4 Toolbox

At last week’s Perth .NET User Group meeting Dave and Michael demonstrated some of the new features present in Visual Studio 2010. One of the things Michael talked about was the T4 template support.

If you are interested in the T4 code generation capabilities, you might be interested in the T4 Toolbox up on codeplex:

T4 Toolbox is a set of ready-to-use code generators and T4 extensions for Visual Studio. Quickly build powerful C# or VB templates that generate multiple output files or simply use existing templates for LINQ to SQL, Entity Framework and more.

Windows 7: 90 Million and Counting…

A few days ago, Microsoft officials went to press saying that 90 million copies of Windows 7 have been sold to date. That’s a huge result! But not all together surprising, as Windows 7 is so much more pleasant to interact with than Vista [makes you wonder why no-one in charge could spot that Vista was so lacklustre!].

I’ve recently been playing with the speech recognition functionality built in Windows 7 (all versions). Despite owning only a fairly cheap headset, the results are very impressive. I’m not sure I could use it every day (although I did use it to write this), but it makes a welcome break from the mouse and keyboard. If you had a RSI or similar injury, then it might make using the computer considerably easier.

Perth .NET UG Meeting: What’s New in Visual Studio 2010 – Dave Gardner and Michael Minutillo

Join us at the Perth .NET User Group Thurs, March 4th where Michael Minutillo and Dave Gardner will present a session on many of the new features in Visual Studio 2010, due to be released in April with a host of new and enhanced functionality. The improvements range from minor tweaks to major new features. In this hands-on session they will demonstrate the new code editor, better multi-monitor support, IntelliSense improvements, new debugging tools, ASP.NET v4 and Web deployment enhancements, and built-in support for MEF, T4 support, and MVC2

  • TOPIC:   What’s New in Visual Studio 2010
  • DATE:    Thursday, March 4th, 5:30pm – 7:00pm
  • VENUE:  Excom, Ground Floor, 23 Barrack Street, Perth
  • COST:    Free. All welcome

This session coincides with the recent RC release of Visual Studio 2010 and also the forthcoming release of Dave, Michael and Nick’s VS2010 book.