Saturday, August 04, 2007

I've gotta start by saying I love Vista.  A lot of people I talk to are still scared of Vista but I have really enjoyed using it.  I'm no expert on the features but I did blog about a few that I liked right out of the gate.  Lately,  one thing that makes me crazy is the TrustedInstaller.exe.  First, you should understand that I built my own machine and I guess either my CPU fan or the box itself (or both) must suck.  Because when my CPU is cranking, the fan revs up and rattles the entire box.  It is really annoying!  And because of this, it is obvious to me every time TrustedInstaller.exe is running.  This thing typically runs at 48% of my CPU and lasts for 15 minutes or so.  I don't know why it isn't throttled back a bit, it doesn't make sense to me.

Anyway, when I first figured out that TrustedInstaller was the culprit, I did some web searching and found a blog post by Scott Hanselman.  I was really glad that I wasn't the only one suffering, especially someone that I respect like Scott (sorry Scott).  But it validated me, that I wasn't doing something wrong myself. 

Interestingly, when I looked up his blog post today to include it here, I read something that stood out to me:

"When I see things like this, I think "If I worked for Microsoft, fixing this problem could be a HUGE opportunity.""

Posted 5/28/2007 on Scott's Blog

Wow, that is awesome because I remembered another post on Scott's blog from which I quote:

"I'm going to work for Microsoft. There, I said it. I'm going to work for ScottGu's team in the Developer Division."

Posted 7/21/2007 on Scott's Blog

OK, I am pretty sure ScottGu's team isn't responsible for the TrustedInstaller.  But Scott (Hanselman), can you PLEASE walk down the hall and talk to someone!

Saturday, August 04, 2007 10:32:57 AM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [3]  |  Trackback
 Friday, August 03, 2007

Here's a cool features of the .Net Framework 2.0 that I think isn't too widely known.

Did you know that you can have a public property but restrict the Set portion of it as Protected?  That gives the developer an extra level of control so that derived classes have the ability to set the property's value but other classes can only get the property's value.  Check out this sample:

    public class BaseClass
    {
        private string _myValue;

        public string MyValue
        {
            get { return _myValue; }
            //NOTE THE SET IS PROTECTED!
            protected set { _myValue = value; }
        }
    }

    public class ExtendedClass : BaseClass
    {
        public void DoSomething()
        {
            MyValue = "some value";
            string s1 = MyValue;
        }
    }
    public class DifferentClass
    {
        public void DoSomething()
        {
            BaseClass b = new BaseClass();
            string s = b.MyValue;
            b.MyValue = "some value";  //THIS GETS A COMPILER ERROR!
        }
    }

You can see that in ExtendedClass I can use the property to GET or SET, but in DifferentClass I can only GET.

Here is the error that Visual Studio reports:

PropertyError

 

I should mention that Intellisense did not show this error (with the squiggly lines) instantly as it usually does.  I needed to compile the project before Visual Studio recognized something was wrong.  And in case you are wondering...Yes, this feature is included in VB.Net too.  Although I should mention that in VB.Net, Intellisense showed me the error even before I compiled.  Darn, I hate to say nice things about VB.Net.  Here is a VB.Net version:

 
Public Class BaseClass
    Private _myValue As String

    Public Property MyValue() As String
        Get
            Return _myValue
        End Get
        Protected Set(ByVal Value As String)
            _myValue = Value
        End Set
    End Property
End Class
Public Class ExtendedClass
    Inherits BaseClass

    Sub DoSomething()
        Dim s1 = MyValue  'GET WORKS
        MyValue = "Some Value" 'SET WORKS
    End Sub

End Class
Public Class DifferentClass
    Sub DoSomething()
        Dim b As New BaseClass
        Dim s1 As String
        s1 = b.MyValue  'GET WORKS
        b.MyValue = "Some Value" 'SET GETS A COMPILER ERROR!!!!
    End Sub

End Class

Hopefully this is helpful to you!

Friday, August 03, 2007 8:33:37 AM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [1]  |  Trackback
 Tuesday, July 31, 2007

While the official announcement hasn't gone out yet, you probably know that Philly.Net is presenting Code Camp 2007.2 on Sept 15.

Swag and Contributions -- I've already started a campaign reaching out to vendors for contributors for swag, not to mention breakfast and lunch.  Code camp is a free event and we rely on the generous donations to pay for our expenses.  If you have any interest in helping out in this way, please contact me.  And if you have any ideas for swag that you'd like to see at Code Camp, please let me know.

Presenters -- Bill hasn't sent out the official call for speakers yet, that will come soon.  But now is a good time to think about what kind of presentation you might do.  We'll need about 25 presentation for Code Camp.

Newsletter -- I just got an email from Mark M regarding starting the newsletter.  It looks like he is trying to get this off the ground.  It will be awesome to have an official Philly.Net newsletter.  Thanks Mark!

See you at the next meeting on August 22.

Tuesday, July 31, 2007 10:54:19 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Friday, July 20, 2007

In May I was tagged by by Pete Laudati.  Well it took me a while but it is time for my response.  Here are 5 things you may not know about me.

 

1.  I've had a significant career change.  I studied communications in college.  I had big plans to get into TV or Film productions.  Maybe even radio.  Throughout college and a few years afterwards too, I worked as a movie theater manager.  From there I moved on to Sony Pictures in NYC as a film booker and then Clearview Cinemas in NJ  as a film buyer.  As part of my job I got to watch a lot of movies and decide at which of our theatres they would play.  This was a great job with a lot of perks.  I even got to go to several movie premiers and parties in NYC.  But I was always interested in computers and after many years of debate, I made my move in 2000.  I took a significant pay cut but I knew that technology field was booming and I'd make the money up in a few years.  Do I need to remind you what happened next?  The dot-com bust.  Oh well, it took me a little longer to get my salary back up but I have never regretted it.  I love working in technology.  My inner (ok, and outer) geek can really shine.

2.  I love movies.  That helped make my previous career a lot of fun.  I like many different types of movies...comedies, dramas, sci-fi, action, etc.  I'm not really into horror, that stuff freaks me out a bit.  And I am a tough critic too.  I like good character development, a solid plot and many of the other components of a quality film.   Some favorites are Blazing Saddles, Stripes, Fletch, Shawshank Redemtion, the Lord of the Rings series, Star Wars and many more.

3.  I play guitar.  I'm not great, but I love to play and sing too.  I play rhythm guitar and prefer acoustic to electric.  I'll only embarrass myself if I try to play a lead.  I taught myself to play (around age 24) with the help of some friends when I was getting started.  I was in a band named "Ale" for a while.  We played a bunch of parties for friends.   I've written a bunch of songs too.  I enjoy that and people seem to like some of them.  A few bands I like:  The Beatles, REM, U2, Bruce Springsteen, Grateful Dead and much more.

4.  I'm from NJ.  Since I was tagged by Peter and he mentioned NJ a lot in his post, I figured I'd better do the same.  The funny part is after we met we figured that we were from the same home town, Manalapan, only I was in High School a bit earlier then him.  I hate when people bad mouth NJ.  Sure, there are some bad parts and lots of traffic and (I'm sure) some toxic waste, and more then a few body buried in the pine barrens.  But NJ has many great features too.  Lots of farm land with the best tomatoes and corn, beautiful countryside, easy access to two of the best and largest cities in the country (no, not Camden and Newark) and much more.  What really gets me going is when people from Philadelphia (I live in the Philly suburbs now) sit on NJ beaches and bad mouth NJ!  If you don't like it, go home!

5.  I love to be out in nature.  I love camping, hiking, backpacking, biking, skiing, boating, kayaking, exploring, site seeing, relaxing and a bunch of other similar stuff.  My wife and I share that passion and we have had some great times together checking out great, natural places.  This year we took an awesome vacation visiting several national parks

 

Now it is my time to tag a few people:  Dani Diaz , Steve Andrews, Jeff Deville, and Jeff Caterer (sending the tag up to Canada!)

Friday, July 20, 2007 10:18:38 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Wednesday, July 18, 2007

Once again we had a great turnout for the meeting...over 90 people!  This week we had three presentations on a variety of topics.  Incidentally, the first two presentations use XAML... time to start learning something new!

 

Presenter:  Aaron Shafer, Lockheed Martin

Topic:  Silverlight

Aaron started of with some background on Silverlight (formerly known as WPF/E).  Silverlight is a subset of WPF (Windows Presentation Foundation) meant for use on the web.  Silverlight provides a means to create some slick websites based on XAML.  It offers some great and easy to use audio and video features so you can enable your sites for media. 

Before long Aaron was into the demos and we had "Hello World".  Pretty quickly he got into some cooler stuff with animation.  And with a bit of code he wrote an web application that allows users to drag a shape around the page.  One of the coolest aspects of this is that he ran his demos in IE and Firefox, and then he ran them on a Mac!   That makes Silverlight a pretty powerful tool!

 

Aaron recommends checking out Tim Sneath's blog as a good source of information.  Also check out the Silverlight.Net site and of course Scott Guthrie's blog.

 

Presenter:  Bill Wolff, Agility Systems

Topic:  Acropolis Introduction

Bill started off with a disclaimer: He learned just enough about Acropolis to do this demo.  He learned about it at Tech Ed and then he went to the Acropolis site and watched some videos.  You'll need VS Orcas to do any of this stuff.  Acropolis is a design tool allowing developers to easily create windows applications.  It will create an MVC (Model View Controller) style application for you, storing the presentation layer in XAML.   He showed us a pretty cool demo that created a multi-document interface "Notepad" application.  XAML has a document management template that gets you started and puts in a lot of the features you'll need.  Bill showed a bunch of cool demos.  Download the source code from the Acropolis site and check it out for yourself.  My advice, I'd do it on a Virtual Machine!  None of this stuff is production ready.

 

This is cool stuff and was a first look at this technology for most people in the room. 

The Acropolis site has everything you need including the download, samples, videos and documentation.

 

Presenter:  Rob Keiser, Row-5

Topic:  PowerShell for .Net Developers

I've heard PowerShell defined as "command line on steroids".  The difference is that PowerShell works with objects, the .Net Framework, SQL and more.  There are lots of commands that are keyed in to execute them,  but there are a lot of aliases (shortcuts or abbreviations) too.  A lot of the commands are similar to Unix commands, so if you are used to that, you'll be all set.  Plus, the "|" (pipe) symbol is back and you'll use it a lot.  The power of PowerShell is not the simple commands that you can execute, but the ability to create scripts.   He showed a cool, simple demo of how to use PowerShell to browse through your registry.  Next he browsed through hard drives using the "get-wmiobject" command.  Next Rob got into using PowerShell with .Net.  He easily created a dataset.  And he browsed through SQL Server information using SMO (Server Management Objects) and even took his databases offline.  Lastly, he demo'd PowerGadgets, an extension to PowerShell.  WithPowerGadgets you can easily graphically chart output from PowerShell.

 

The fact is, none of this stuff is glamorous, but Powershell has some cool functionality that, in many circumstances, could make our jobs a lot easier. 

 

 

To get Powershell, download it here.

 

 

Meeting Sponsor: Solvepoint... Thanks for the sandwiches!  

Additional Door Prizes courtesy of:  

Wednesday, July 18, 2007 7:45:10 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [0]  |  Trackback

Around the country various technical communities have been holding "Geek Dinners".  The guys in Northern NJ have been doing them for a while now.  The idea is simple, a bunch of us get together and have dinner.  Everyone pays their own way and it's a chance to hang out with other members of the local .Net community.  Steve wants to get the ball rolling in the Philadelphia area so check out his blog for more info.

Wednesday, July 18, 2007 6:14:45 PM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Tuesday, July 10, 2007

Regional .Net User Group Leadership Meetings

Two weeks ago Bill hosted a Philly.Net Leadership meeting at his house.  He also invited the leadership of PSSUG (Philadelphia SQL Server User Group).  We tossed around a bunch of ideas for how we may better serve the community.  In addition, yesterday was the monthly regional Community Leadership conference call hosted by our D.E (Microsoft Developer Evangelist), Dani Diaz.  Again, we discussed ways to best server the community.  Dani's conference call continues the tradition started by Peter Laudati (who filled in when we had no D.E.).  This call typically includes community leaders from Philly.NetCentral Penn .Net (Harrisburg area),  Lehigh Valley .Net, .Net Valley (Scranton area), the new Delaware .Net, and others.  I'll give you the gist of these meetings, mostly from the Philly.Net perspective.

In both of these meetings, there seemed to be two main topics:  Meetings and Communications.  Regarding meetings, we discussed various ideas for different types of Philly.Net meetings including the following:

  • Monthly Meetings:  Our monthly meetings are well attended and very successful.  Still, we want to include a variety of topics and make sure we cover a wide variety of material from beginner to expert.
  • South Jersey and Center City:  These meetings started off strong but we have don't have venues to host these meetings.  If you have any ideas, please contact me or Travis (for NJ) or of course, Bill.
  • Study Groups:  In the past, Rob Keiser lead a certification study group.  We are looking to restart that group.
  • Code Camp:  Our Code Camps continue to be very successful.  We want to host even more of them!  In addition, there are some other ideas going around such as hosting similar types of meetings focusing on Interop, Gaming, and more!  I'll keep you posted.

In the area of Communication, we are trying to figure out the best way to get the information out to our members.  As we grow, there will be a lot of information.  How would you want to get it?  Some people read blogs daily, others want to get monthly newsletters.  And others don't want any more email at all!  I like the idea of using a blog to get out information as it comes in, in short to medium sized posts, like this one.  People that read the blog get the up to date information.  Then, once a month, we could repeat the information in a newsletter, possibly included in our typical monthly meeting announcement.  We'll certainly want feedback from the community on this topic.  Let me know or speak up at a meeting with your ideas and suggestions.

Upcoming Events: 

I'll try to keep everyone alert regarding user group meetings in our area.  I'll include all the meetings I know about including various Pennsylvania .Net groups, PSSUG, and The Philadelphia Area Sharepoint User Group

Philly.Net South Jersey meeting:  In August Philly.Net plan to team up with PSSUG (Philadelphia SQL Server User Group) to host a meeting in South Jersey.  We figure that most .Net developer's need to work with SQL Server so why not team up with these guys!   Keep an eye on the Philly.Net site and the PSSUG site for more details.

Delaware Meeting:  Doug White is trying to get the Delaware .Net community going strong.  Did you know he's already had a bunch of meetings?  Stay tuned for more information regarding Delaware meetings in the Newark/Willmington area. 

Tuesday, July 10, 2007 7:57:35 AM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Monday, July 09, 2007

Sorry for the late notice on this.  I wanted to pass along some information from our friends at the SQL Server User Group:

You must register for this event by noon today (July 9) !

 

What: July Phila SQL Server Users Group Meeting
Our July meeting will is sponsored by EJBarry, and their President and CEO, Larry Sackett, will give the keynote presentation. His talk will cover MDX and Analysis Services. His partner, Dennis Jefferson, will be the co-presenter. There is no charge for the meeting but you must register at www.pssug.orgno later than Noon, Monday, July 9th. Urban Outfitters' building is secure and your name must be on the list. *** this is our first meeting down at the old Phila Navy yard, so if you can provide us with feedback on the location and experience, that would be awesome!
When: Wednesday, July 11, 2007 5:30 PM to 8:30 PM
Where: Urban Outfitters
Philadelphia Navy Yard
Monday, July 09, 2007 9:23:06 AM (Eastern Standard Time, UTC-05:00)  #    Disclaimer  |  Comments [0]  |  Trackback