November 2005 Entries
This is a pretty sweet Xml Visualizer Add-in for VS2005. Go now, debug away your bad XML!
Today was a big day for my wife and I as we got to see our new son.
I can't wait to show him the fine art of programming! ;-)
Channel9 has created a security wiki for all your ASP.NET security 2.0 needs; it’s pretty good info. If you have the time, check it out.
For those of you creating applications in .NET 2.0, I hope that you’re taking advantage of generics. In particular, as the title of this post suggests, I hope you’re using constraints within your methods. Why? Well, with contraints in your methods you can do things such as this,
namespace GenericMethodConstraints{ using System; using System.Collections.Generic; class Program { static void Main(string[] args) { // Create the list of items based on the parameters List<Test> items = Driver.CreateList<Test>(10); // Loop through them and output their values foreach (Test t in items) { Console.WriteLine("{0} - {1}", t.ID.ToString(), t.Name); } Console.Write("Press <ENTER> to exit."); Console.ReadLine(); } } class Driver { public static List<TInterface> CreateList<TInterface>(int itemCount) where TInterface : ITest, new() { // Create a list of items List<TInterface> items = new List<TInterface>(itemCount); for (int i = 0; i < itemCount; i++) { // Check this out! I'm treating the interface as an object // because it has the new() constraint. TInterface iface = new TInterface(); // Set the properties for the instance iface.ID = i; iface.Name = i.ToString(); items.Add(iface); } return items; } } /// <summary> /// Interface needed for the constraint /// </summary> interface ITest { int ID { get; set; } string Name { get; set;} } /// <summary> /// Class that implements the interface for the constraint /// </summary> class Test : ITest { private int id; private string name; public Test() { } public int ID { get { return id; } set { id = value; } } public string Name { get { return name; } set { name = value; } } }}
As you can see, you can set contraints on your methods that specify that your generic type is of a specific interface and that the class defines a constructor. This will allow you to create a type that implements your interface within that method. And you’re guaranteed that it will work since the constraints will be enforced at compile...
… download. While writing this post, I was downloading the J2EE (is it JEE yet?) 1.4 SDK. The installation file is about 116MB. I had a startled look on my face when I saw the IE download window display 80% 30 sec. remaining. It turns out that Sun has some pretty fast connections serving their download servers (728 kb/sec!).
Now if I could only get the same speed for my MSDN subscription downloads…
According to GoF a proxy is a surrogate or placeholder for a another object to control access to it. The text later goes on to explain that a reason for controlling access to an object is to defer the full cost of its creation and initialization until we actually need to use it. Makes sense doesn’t it? A proxy is nothing more than a light weight way of accessing an object (regardless if it lives in the same address space as the caller).
Recently, for one of our work projects, we’ve been using a lot of Enterprise Services (ES) in order to...
Scott Gu posts some good tips on VS 2005 Local Web Server and the HTML features of the IDE. For those of you that have firewall enabled on your dev pc, the first post is a resource for finding out how you can change your port.
A couple of days ago, I blogged the Agile Dilbert cartoon. Also, I asked a good friend of mine, Tim Gifford, about his input. He responded earlier today with his views on how management views software projects.
All I have to say is “Amen, Tim!” Is it just me or is “Project Management” the new buzz word in IT? What do you guys think?
I’ve been collecting statistics using Google Analytics since Sunday. I really like the reports you get from the application. For those of you not familiar with the application, this is the kind of information you will available to you.
Is kinda nice to see that 22.22% of the traffic for my website comes from the Code Project; this tells me that people are reading my articles!! Thanks!!!
Also, if you want more information you can drill down and get information for specific urls. The Content By Titles report is a report that breaks down the number for views and visits a...
WOO HOO!! The WinFX team has finally released a CTP that will work with the VS2005 RTM bits!
Here are all the links:
WinFX Runtime Components
WinFX SDK
VS2005 Extensions for WinFX Runtime Components
VS2005 Extensions for Windows WorkFlow
For one our clients at work, we’re implementing a base architecture built on v2.0 of the .NET Framework. In doing so, we’re using the RC1 release of VSTS. Granted this software is still in RC mode, so it’s bound to have some bugs in it. The best part these bugs, is that they decide to show up when you’re trying to get stuff done.
Here’s a few screen shots I took today that made me chuckle:
Is VSTS RC1 rivalling SQL Server on memory consumption?
Yes! Only 741 tests to get working and we’re done!
This is great! Tim what do you think of this?
I’ve updated my blog to use my rss feed to use my account at FeedBurner. If you’re currently subscribed to my rss feed, don’t worry, your request for feed goodness will be redirected to FeedBurner.
Also, after reading Nick’s post on Google Analytics, I signed up and started collecting more statistics for my blog.
What can I say? I like free stuff!
Steve Maine shows the great extensibility of Indigo by creating a binding that uses SMTP as its transport. If you ask me, I think this is a pretty cool example on how Indigo can adapt to your needs.
Thanks Steve for this great example!
Brad Abrams posted this great link outlining the runtime and design time changes from v1.1 to v2.0 of the framework. Check it out!
I’m not sure how many you have tried to customize VS2003 to hold custom code/project templates to speed up development for your projects. For those of you that have tried, you are well aware that it’s not easy due to the lack of documentation on the process. Fortunately, with VS2005, this feature is nicely supported and documented on MSDN.
If you’re going to start developing on VS2005 and have a set of templates already created or would like to create new ones, the link above is a good start to easy your pains.
ScottGu posts some tips when nesting master pages in your ASP.NET 2.0 project. Check it out if you have the time.
The Web Platform and Tools team at Microsoft have put this article on MSDN to help you migrate your web projects from v1.x to v2.0. After reading the article, I gave it a try with my dotText project for my blog and things went pretty smoothly.
ScottGu has another great post on the new Web Deployment Project feature for VS2005. I don’t about you, but this is definitely a lot better than xcopy!
WOW! Nikhil K is alwas impressing me. YOU GUYS NEED TO CHECK THIS OUT!!
That’s right, the title is not wrong. You can download VS Express Editions free for one year at MSDN. Dan Fernandez posts more info about this great deal!
Go download Happy! Long live VS2005!
Ok, to me Scheme is fun. Why? Because could you can do things like this quite easily…
[From my CS342 Spring Semester 2003 Second Midterm]
Consider the following BNF-specification:
<boolean-expression> ::= true | false
| not <boolean-expression>
| and <boolean-expression> <boolean-expression>
...
That’s right! I know it’s been a while since my last Code Project article! For this one, I decided to write about custom build providers in ASP.NET 2.0. Custom build providers allows you to extend your application by providing a class that generates source code for a custom resource (ie custom formatted file). If you get a change, go check it out!
Just got done watching this MSDN TV cast with Joel Pobar and Joe Duffy about how the CLR performs method dispatching for your objects. If you’re interesting on how your code works in the background, this is a must see!
I would like to thank Matt Milner for speaking at our past user group meeting! Matt did an excellent job sharing his knowledge of Windows Workflow Foundation (WWF) and Biztalk Server.
Thanks Matt!