February 2004 - Posts

Fresh Start

I got a new laptop the other day.  I have been sick for the past week.  Real nasty stuff.  I spent the past couple days preparing my new machine and moving all my data over.  I got one of those new Sony Vaio PCG-GRT360ZG's.  All I can say is this XBrite tehchnology is just too nice.  This screen is one of the best I have seen on a laptop.  The only draw back to this thing is the weight.  It is almost 10lbs!

Microsoft is discussing plans to release a version of Windows dubbed “Windows XP Reloaded”.  That would come sometime after they releast SP2.  They feel it would give them an opportunity to release some of the stuff they have been working on early.  I personally would like to see it have the new .NET Framework packaged with it.

Well, I am going to get this machine finished up so I can get back to developing :)

Posted by bstahlhood | 1 comment(s)

.NET & IT Automation

There is a great article over at theserverside.net (http://www.theserverside.net/articles/article.aspx?l=Automation) that talks about the opportunities that are available using Windows Services and the .NET Framework FCL to automate IT tasks.

I know this hold true at my company.  We are finding things all the time that we can easily automate using .NET.  The ideas of automating task of course is not a new idea, but the  point the author of the article is trying to make is that .NET exposes the ability to write Windows Services in a easy manner compared to the past.  Leveraging the .NET Framework FCL within the Windows Services is also a plus compared to past technologies provided by Microsoft.

Posted by bstahlhood | with no comments
Filed under:

Spam Filtering

I have noticed as I am sure everyone else is noticing, that SPAM is now misspelling words or rearranging words to get past current SPAM filters.  You would think the next step would to put in a spell checked type system at the mail server level.  With a misspelled word thresh-hold.  We all have spell checkers on our mail programs.  This would then get us to use them more and allow the blocking of SPAM with unrecognized words in it, which for the most part is almost every SPAM message I get.

I am not familiar with the current filtering processes of SPAM but does this not seem like a logical way to go or am I just having serious brain seepage?

Posted by bstahlhood | 3 comment(s)

Software innovation is dead?

There is an interesting article over at NewsForge (http://www.newsforge.com/programming/04/02/05/1828243.shtml?tid=105&tid=25) that talks about software innovation being dead.  I agree with the author on some of his points, but I feel that a lot of the new technologies like Longhorn and the .NET Framework will spark a new boom of innovative software over the next 10 - 15 years.

What are your thoughts?  I would love to hear from you on this subject.

Posted by bstahlhood | 2 comment(s)

The C# Design Process

For those of you who have not seen this or read it yet, you should definitely check it out!

http://msdn.microsoft.com/vcsharp/homepageheadlines/hejlsberg/default.aspx

Posted by bstahlhood | with no comments
Filed under:

Enumerating Hashtables

A lengthy thread was started about enumerating a hashtable and modifying the values.  The individual was getting the standard modification within a foreach exception thrown.  I had suggested the following code and I seem to have the shortest and easiest method in doing so...

ArrayList arrayList = new ArrayList(hashtable.Keys);
IEnumerator listEnumerator = arrayList.GetEnumerator();
while (listEnumerator.MoveNext()) {
    hashtable[listEnumerator.Current] = "value";
} // while

Is there a better or recommended way to do this?  The above seemed right to me.

UPDATE:  Jerry Pisk had suggested that I was doing extra code when you can just enumerate using foreach and modify the values.  That was the whole point of me writing the first paragraph above Jerry.  Doing that causes an exception.  You can enumerate all day long and “read” values, but you can not modify the values within the foreach loop.  Which brings you to the code I wrote above...

Posted by bstahlhood | 13 comment(s)
Filed under:

Form Settings

I was looking through the newsgroups this morning to see who I could help out and I ran across a post on how to serialize windows form settings.  I replied saying you could Dynamic Properites on the controls to read and write the settings using a configuration file.

Is this the preferred method of doing this?  What have some of you done to persists or serialize your forms?

Posted by bstahlhood | with no comments
Filed under:

Longhorn and XAML

I am sure being the slow person I am, I am stating the obvious here, but I can see where Microsoft seems to be heading with XAML.  This looks to be a avenue for the serialization of all interfaces to XML code.  This is similar to the way NeXT did there interfaces.  You would build your interface in a program called “Interface Builder” which would create “.nib” files (Which stands for NeXT Interface Builder, FYI)  It would then serialize or “archive” the interface objects to the “.nib” file or un-archive them when receving an awake message.  I believe that is how it works.  I am going to get flammed by some Mac OS Cocoa programmers anytime now.  I have read about all this stuff but never actually programmed any Cocoa Framework apps my self.  Sorry if I totally mutalated the explanation.

XAML looks very interesting to me.  This would allow your VS.NET environment to serialize all your forms to XAML.  When it loads the XAML interface code it then hooks or binds all the interace code to the “code behind” code.

It will be interesting to see where it all goes.

What are some of your initial thoughts on XAML?

Posted by bstahlhood | 1 comment(s)
Filed under:

Application Context

A friend of mine has just started getting into .NET development using Windows Forms.  He asked me how he should go about creating a splash screen for his application.  I told him about the ApplicationContext class and that this is the way I would go about it.

I would do something like the following:

using System;
using System.Windows.Forms;
namespace Stahlhood.Windows.Forms {
    public class MyApplicationContext : ApplicationContext {
        //
        //    Member Field(s)
        //
        
// SplashForm would be a windows form in your project // with all your splash screen goodness. private SplashForm splashForm;
// MainForm would be a windows form in your project // that is basically the umm Main Form.. private MainForm mainForm;
// // Constructor(s) // public MyApplicationContext() { splashForm = new SplashForm(); splashForm.Closed += new EventHandler(OnFormClosed); this.MainForm = splashForm; }
// // Event Method(s) // private void OnFormClosed(object sender, EventArgs e) { SplashForm splashForm = sender as SplashForm; if (splashForm != null) { this.MainForm = new MainForm(); this.MainForm.Show(); } // if }
/// <summary> /// The main entry point for the application.</summary> [STAThread] static void Main() { // Enable XP Visual Styles Application.EnableVisualStyles(); Application.Run(new MyApplicationContext()); } } }
Is this the way most of you Windows Forms guys do this?  I would like your thoughts on different approaches.
Posted by bstahlhood | with no comments
Filed under:

Using CodeDOM

I have been messing around with the CodeDOM namespaces.  I have written a tool that will take your SQL Server database and produce all the stored procedures, “Model” classes and an initial business layer that accesses all the tables via the stored procs.  I will post all the code when I get to a more stable release.  The codename of the project right now is “Skeletor”.  It will be able to produce skeleton code for various situations where you do not want to write all that code for your data access.  There are tools out there that do this, but they are expensive.  I would like to make something flexible and tailored for the .NET Community.  Make it open source and see how it works out.

I would appreciate any thoughts any of you might have about this...

Posted by bstahlhood | 3 comment(s)
Filed under:
More Posts Next page »