Joe Stagner links to a set of 60 free ASP.Net and Winforms controls now available from DevExpress.
Find them here: http://www.devexpress.com/Products/Free/WebRegistration60/
Joe Stagner links to a set of 60 free ASP.Net and Winforms controls now available from DevExpress.
Find them here: http://www.devexpress.com/Products/Free/WebRegistration60/
It’s clearly a busy day for Microsoft today – just looking at the sheer volume of postings on the MSDN blogs should tell you that something’s up. But what?
Well, today is a major release day for the developer devision:
· Visual Studio 2008 Service Pack and the NET Framework 3.5 Service Pack 1 have both been released - good article by Somasegar here.
· ADO.Net Data Services (formerly known as “Project Astoria” was released today too – see the Project Astoria Team Blog.
· And finally, the Entity Framework has RTM’d as well. Their Team Blog has plenty of info.
Oh and don’t forget that SQL Server 2008 was released a few days ago as well.
Good times!
I spotted this on Eric Nelson’s blog first (thanks to his twitter feed) – the Microsoft Sync Framework has finally been released!
Why is this good – well, it SHOULD make things much easier when building occasionally connected applications. Now I just need to work out how to connect it to Oracle via my business services layer. Exciting stuff.
Read all about it: http://blogs.msdn.com/ericnel/archive/2008/08/07/microsoft-sync-framework-released.aspx
Get the goods: http://www.microsoft.com/downloads/details.aspx?FamilyId=C88BA2D1-CEF3-4149-B301-9B056E7FB1E6&displaylang=en
We’re looking to hire a .Net developer to work on our next-generation product using the latest Microsoft technologies. Here’s the skinny – and if you’re interested, say you heard about the role from here!
Position
.Net Developer reporting to the Development Manager, based in Altrincham, Cheshire.
Candidate Profile
The development department has a flat structure with small teams formed according to the needs of the developments in question. This means that we do not have fixed team leader roles but allocate responsibility based on experience and skills. An ideal candidate must:
The candidate must have a minimum of 1-2 years demonstrable experience in a commercial environment developing AJAX style ASP.NET web applications in C#. Experience with Silverlight 2.0 and WPF would be a significant advantage.
Role
To work in a team of analyst/programmers, developing and maintaining the in4tek’s next generation software products including work on customer specific portals, web services, integration projects and web applications using leading edge technologies form Microsoft and Oracle.
Approximately 80% of the time will be spent designing and developing new modules, with the remainder allocated to maintaining and enhancing existing software.
Specific activities within the role include:
Personal development with the aim of obtaining Microsoft Certification will be encouraged.
Skills/Experience
KEY: R = required, D = desirable
Skill/Experience | |
Degree level qualification in IT or Business related subject | R |
At least 1-2 years commercial .Net experience in C# | R |
Demonstrable experience of ASP.Net 2.0/3.5 with AJAX | R |
Experience of structured methodologies for software design and UML. | D |
Experience of Agile methodologies of Software development | D |
Experience of developing within a n-tier architecture | D |
Experience of the design of n-tier architectures | D |
Commercial Oracle and PL/SQL development experience (or equivalent SQL Server) | D |
Database design experience (structure, relationships and triggers) | D |
Experience of working to ISO9000 / TickIT standards | D |
Knowledge of XML and its use in specifying and implementing software interfaces | D |
Experience of Silverlight 2.0 and WPF | D |
Rob Caron links to an excellent entry on the positivespace Graphic Design blog that gives “30 (actually more) Essential PDF Documents Every Designer Should Download”.
That’s bedtime reading sorted: http://www.positivespaceblog.com/archives/pdf-documents-designer/
Eugene Zakhareyev has an interesting commentary today on how often developers check their code into source control, and the control gates that some organisations can use to ensure quality of the checked in code.
Read it now or else: http://teamfoundation.blogspot.com/2008/08/check-in-your-stuff-now-or-else.html
Martin Grayson has started blogging about the silverlight controls that the MS CUI team developed for the Patient Journey Demonstrator.
This is really good news, because it gives us an insight into how some of the most compelling UI in the market has been developed (and a leg-up on doing it ourselves).
Silverlight goodness here: http://blogs.msdn.com/mgrayson/archive/2008/08/01/silverlight-2-samples-dragging-docking-expanding-panels-part-1.aspx
Matt Manela reminds us of two useful and free tools for the WPF developer, XAMLPadX and Snoop.
Read his opinion of them: http://blogs.msdn.com/matt/archive/2008/08/01/the-two-most-important-wpf-tools.aspx
Raymond Lewallen’s got an interesting take on how to fix bugs within the structure of an iteration.
Interesting reading: http://codebetter.com/blogs/raymond.lewallen/archive/2008/08/01/the-fly-in-the-soup-of-the-iteration.aspx
"Tom" posts about an article in the April edition of MSDN Magazine, entitled Scaling Strategies for ASP.NET Applications.
He mentions a bunch of stuff, but I'd never seen the "Performance Equation for the web" before:![]()
Seems I need to be doing some more "theoretical" research.
Read his thoughts here: http://blogs.msdn.com/tom/archive/2008/08/01/asp-net-scaling-strategies.aspx
More goodness from Mike Taulty - connecting Silverlight 2 (beta) to ASMX services.
Why is this important? Because it gives us a VERY quick and easy way of providing data to Silverlight from its hosting website.
One to remember for the (near) future.
Read about it: http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/07/31/10659.aspx
Raymond Lewallen has posted an interesting piece on the definition of "Done" (aka complete, finished, good-enough-lets-just-ship-the-thing-and-worry-about-bugs-later) in terms of Agile and Lean methodologies, and in terms of the value "Done" brings to a company.
One point I agree with wholeheartedly is this:
As the people who write software, we might not always be aware of the value a product provides to its company, thus we might not understand why certain feature sets are created before others and it might not make sense to us.
Definitely worth reading: http://codebetter.com/blogs/raymond.lewallen/archive/2008/07/31/getting-done-the-lean-way.aspx
Bertrand Le Roy has posted the first in a series of articles on the AJAX client templating features in the upcoming ASP.Net 4.0 release.
This will make things SO much easier for those cases where we want to get performance improvements over using UpdatePanels, but DON'T want to have to inject the markup from Javascript code.
Templating goodness here: http://weblogs.asp.net/bleroy/archive/2008/07/30/using-client-templates-part-1.aspx.
When a project gets beyond a certain size, it becomes impossible to keep the multitude of AssemblyInfo.cs files up do date, particularly for copyright and version numbers.
The solution to this problem is to use a single ProductInfo.cs file that every project links to, which contains the common data that would normally be duplicated across many AssemblyInfo.cs files.
Here are the contents of ProductInfo.cs
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("My Company Limited")]
[assembly: AssemblyProduct("My Product")]
[assembly: AssemblyCopyright("Copyright © 2006-2007")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: AssemblyInformationalVersion("v1.0 alpha")]
// [assembly: AssemblyKeyFile("MyCodeKey.snk")]
This allows the AssemblyInfo.cs file for any assembly to be pared down to the following:
using System;
using System.Reflection;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("MyCompany.MyProduct.MyAssembly")]
[assembly: AssemblyDescription("Description of MyAssembly")]
[assembly: ComVisible(false)]
[assembly: CLSCompliant(true)]
[assembly: Guid("b76c311c-f681-48d1-b2e0-9f691feb239f")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
There are 2 ways to add a link to the ProductInfo.cs to your projects:
1.Drag and drop (the easy option)
This method simply entails dragging the linked ProductInfo.cs from an existing project and dropping it the Properties folder of your project.
2.Add Existing item (an alternative option)
This method includes add an existing item to your project, by right clicking on the project file and selecting Add -> Existing Item from the context menu. Then navigate to the directory containing the ProductInfo.cs file and select the ProductInfo.cs file. Finally (and this is the clever bit) select the Add Link option from the dropdown attached to the Add button.
I tend to add a solution (virtual) folder called "Solution Items" to each large solution I'm working on and add the ProductInfo.cs file to that. I can then easily drag-and-drop as needed.
When this technique is coupled with automated Assembly versioning, your live becomes much easier!
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.*")]
[assembly: AssemblyFileVersion("1.0.0.*")]
[assembly: AssemblyVersion("1.0.0.03")]
[assembly: AssemblyFileVersion("1.0.000214.02")]
"$(DevEnvDir)\tf.exe" checkout ..\..\Properties\AssemblyInfo.cs
Files had invalid value "S....."It turns out that the cause and solution are both quite simple, but neither is obvious.