|
|
Wednesday, September 24, 2003 |
|
|
Friday, September 12, 2003 |
|
Are you happy Scott? Scott Hanselman recently wrote an article about the difference between friends and acquaintances where he mentioned me. Of course he also browbeat me about the fact that I hadn't posted anything recently on my blog. The last non-blogging stretch I had was due to Radio melting down but this time around I just have been insanely busy for the last couple of months. Scott I have frequently asked myself the same question. I frequently confuse the two terms calling acquaintances friends quite often. Friendship is a two way thing. While I would have no problem at all with any of the acquaintances I call friends crashing at my place (if that is the criteria) I can't say that the feeling would be mutual. Not a problem for me. Still call them friends and my door is still open. Scott you are of course welcome to crash at my place anytime. It is almost at an end however and I am looking forward to getting back to normal. I sit right now in a Hotel room in Orlando preparing for an all day workshop I am giving tomorrow on "Best Practices for Enterprise Development" with Rockford Lhotka. As I sit here preparing I can't help but remember a talk Scott, Bill Evjen and I had just today about the content at most conferences. Bill had just finished an intro to Web Services talk that was so well received it suprised him. He couldn't believe that almost three years after the release of the first .NET Web Services stack that folks were still interested in the basics. I then mentioned that I was doing a workshop tomorrow that was all new to me and quite honestly a new type of workshop for VSLive! which tends to be focused on very pragmatic code based talks. It is a talk that is really focused not on code but on the other things that need to go into a project to make it successful. It is really pretty basic blocking and tackling but come to find out is the most popular workshop so far based on registrations! Just goes to show that what I find interesting isn't necessarily what my attendees will find interesting. I think speakers get caught in a trap of creating content that they think their peers will find impressive instead of looking at the conference attendees and determining what is useful to them. Let's face it. Most speakers wouldn't be at the conference if they weren't speaking. They aren't the intended audience. What do you think? Hopefully this will not be my last post in a long while. I have been doing quite a bit of Compact Framework development that has really given me a new perspective on .NET. I really need to write down some of my experiences and hope to do so over the next couple of weeks. First I have to finish my last conference of the season, Guided Design .SUMMIT on campus at Microsoft October 1-3. 3:14:49 PM |
|
|
Wednesday, June 18, 2003 |
|
|
Thursday, June 12, 2003 |
|
.NET Posters Ever wanted one of those cool VS.NET object model posters you see on other developers walls? Have a 36" wide HP InkJet sitting unused down the hall since the last time you printed out that 1500 table ERD diagram? Well solve both problems with one link: http://msdn.microsoft.com/vstudio/productinfo/posters/download.aspx 9:56:42 AM |
|
|
Monday, June 09, 2003 |
|
Validation and Form Close Ran into a weird one today. We have a windows forms application that uses the validating event on it's controls. When the user clicks the close box (red x) in the corner we want to prompt whether they would like to save and then close the form. The validators cause problems with this. Clicking on the close box causes validation to run. First blush you think no problem, I will set CausesValidation on the form to false. Whoa! The Validating event still fires. It appears that the close box always causes validation. Next you think I will override OnClosing() and ask whether they want to save before calling the base implementation thus only allowing the Validating events to fire if they are saving. Wrong again. Validating fires before OnClosing! So here is the hack I came up with. Override WndProc in the form and look for the WM_CLOSE message. If you receive it then set a protected member on the form to indicate it is currently closing. I have this hidden in a base class that exposes the member as a read only property. Here is some sample code: using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data;
Wow that is ugly! If anyone knows of a good C# -> HTML converter that works with Radio send me a pointer at mailto:ckinsman@vergentsoftware.com. This is from http://www.manoli.net/csharpformat/ 2:58:19 PM |
|
|
Monday, April 07, 2003 |
|
Managed Wrapper for BITS BITS is a pretty cool background transfer service that does the hard work of actually determining when your network connection is idle to transfer files. A managed wrapper for the API just became available on MSDN. 5:38:38 PM |
|
Blast from the Past Keith brings up writing certification exams for Microsoft. We both did this for a while and became SMEs (Subject Matter Experts) in the terminology of the team at the time. It was interesting to get some insight into the truly bizarre way that importance is assigned to topics in those tests. The way correct answers were determined was sometimes even more bizarre. One of the main reasons that I stopped the whole exam treadmill years ago. I still laugh when I remember back to arguing with Ken and Mike over whether or not Access questions should be on a Windows Architecture exam... 7:49:56 AM |
|
|
Wednesday, March 26, 2003 |
|
|
Tuesday, March 25, 2003 |
|
Radio Fixed! Radio is working again finally! Thanks to Lawrence Lee. 5:31:15 PM |
|
|
Wednesday, March 19, 2003 |
|
.NET Memory Profiler Great tool that I found that helped us find a pernicious "memory leak". http://www.scitech.se/memprofiler/ offers a memory profiler that doesn't slow down your application as much as the Borland memory profiler but still allows you to compare memory snapshots, find objects that aren't being disposed and potentially trace down the root references of those objects. 12:51:57 PM |
|
WildGrape NewsDesk and DotNetWebLogs I am reminded why I have yet to leave Radios aggregator. As I am reading the blogs on http://dotnetweblogs NewsDesk continues to show blogs I have read as new every time I start it up! Radio OTOH is smart enough to only show items that are truly new. I have no idea how or why they differ but I certainly prefer the way Radio does it. 10:50:56 AM |
|
|
Thursday, February 13, 2003 |
|
SourceGear Vault I don't mention products here very often but this one has me excited. I have hated Visual SourceSafe for quite some time now. I am sure that many of you share my frustrations with it. SourceGear the makers of the popular SourceOffsite add-in for VSS shipped Vault at the VSLive show in San Francisco this week. Vault is a complete replacement for VSS using SQL Server as a back end store and Web Services/ASP.NET as a transport mechanism! It is a purely managed solution that replicates almost 100% of VSS functionality. I have no connection to the company but I have already ordered a copy. They have a great starter pack at $599 for 5 developers. I have just started using this product and I have high hopes for it. Check it out. 6:48:00 PM |
|
|
Friday, January 10, 2003 |
Read Only Application ObjectRequirement: Pre-Load the ASP.NET Application object and don’t allow other pages in your project to add/modify/delete. Basically, make Application read-only. Solution: private void SetApplicationReadOnlyStatus( bool state ) { Thanks to Sairama for the code! Set the ASP.NET Application Object to Read-Only. [Scott Hanselman's Weblog]1:20:52 PM |
|
|
Thursday, November 21, 2002 |
|
|
Friday, November 08, 2002 |
|
Ready...Set..Visual Studio.NET I will be doing a local event for developers considering the move to Visual Studio.NET in Seattle 12/4 and Portland 12/11 with Chris Sells, Scott Hanselman, Bill Vaughn and Jim Blizzard. The PDF file of the invite is here. If you haven't yet made the jump to Visual Studio.NET join us for a day of orientation! 6:55:06 PM |
|
|
Thursday, October 31, 2002 |
|
|
Thursday, October 17, 2002 |
|
ASP.NET Security Great article on ASP.NET Security has been posted to MSDN by the folks in the PAG. Takes a look at a number of different scenarios and gives recommendations for each. ASP.NET Security 12:57:08 PM |
|
|
Wednesday, October 09, 2002 |
|
Tiny Abstract OS All I can say is wow! I can't figure out why you might want to do this but it sure is cool. Check out the miniature operating system Scott has created entirely in C#. Tiny Abstract OS and CPU in C# PowerPoint deck Tiny Abstract OS and CPU in VB.NET [Scott Hanselman's Weblog] 5:23:19 PM |
|
|
Friday, September 20, 2002 |
|
Build Practices Great article on build practices with .NET. It outlines the problems but doesn't really offer code to solve any of them! Article Also an interesting utility for automating builds that I plan to check out: FinalBuilder. Another interesting tool: Visual Build. A reader wrote about another great build tool Autonomy that integrates with NAnt. At my current project we wrote our own automated build facility that does our nightly builds by:
This whole process is very specialized for our environment but I think it is stuff that any development team should be doing. The question is why hasn't Microsoft filled this gap with tools for teams to do this type of thing? For that matter why do we still have the crappy Source Safe shipping as part of VS.NET? It is an embarrassment but until Microsoft drops it from the package it is going to be what most teams are forced to use since it is "free". I know a ton of you will write me and say, "Why not use CVS?". Great question. I consider myself fairly technical. I tried to setup CVSNT and spent three days searching the web, etc just trying to get the service up! This doesn't include getting a front end application working or trying to understand how to use it! We need something with the usability of Source Safe in both daily use and setup that has a much more robust store mechanism and uses TCPIP for communication with the central server in an efficient fashion. 1:55:47 PM |
|
|
Thursday, September 19, 2002 |
|
Sample Installer Action To Install .NET Policies I have been doing a lot of smart client development over the last 18 months. When I mention this to folks they invariably ask me how I am distributing policies to our users. Here is a sample installer action that shows how to create Code Groups and Persmission Sets as well as how to remove them. Have fun! Sample 8:33:39 AM |
|
|
Wednesday, September 04, 2002 |
|
Vermont .NET Users Group I will be speaking at the Vermont .NET Users Group on 10/7/2002 about Windows Forms vs. Web Forms: Why choose? Been awhile since I even went to a user group let along spoke at one. INETA has gathered me back into the fold as it were and has me hitting this group. I am really looking forward to it. Hanging out and talking with folks excited about .NET has got to be a blast I figure. 5:20:28 PM |
|
|
Thursday, August 22, 2002 |
|
|
Tuesday, August 20, 2002 |
|
GotDotNet Workspaces! GotDotNet Workspaces are sourceforge like collaborative environments for developers. I have wanted something like this ever since I first saw SourceForge. SourceOffsite has their collab edition but this requires a Win32 client or offers only reduced functionality in the web client. If gotdotnet does this right and leverages Rob Howards ASP.NET forums, all their internal experience on the various iterations of RAID, and adds a web based source control mechanism WOW! Hopefully it will not only be a hosted offering but also something that can be downloaded and run locally in a secure fashion. The more I think about it I am suprised this isn't a product feature in VS.NET instead of what is appearing to be a free giveaway.. 4:17:09 PM |