Welcome to MSDN Blogs Sign in | Join | Help

JrzyShr Dev Guy

Peter Laudati's bits + bytes from exit 117...

News

  • Subscribe

    Twitter Updates

    .NET Interoperability at JavaOne in San Francisco

    MSdotnet Tomorrow, I get to make a trip to what I think is the most beautiful "big city" in the country: San Francisco.  I'll be heading out there with a bunch of fellow Microsoft folks to participate at Sun's JavaOne conference.  JavaOne is sort of like TechEd for the Java world. 

    What?!  Why are you heading to JavaOne?  Are you going to join the dark side?! 

    No.  Not exactly.  Well, I don't like to refer to non-Microsoft platforms as "the dark side".  It's just another technology choice.  I happen to think the Microsoft stack is one of the best ones for building web and enterprise applications.  For all sorts of reasons, many companies have made decisions along the way to use other technologies in their business.  The reality is that it is a heterogeneous world out there.  Many companies use both .NET and Java!

    java As some of you may know, I have a great interest in interoperability between Microsoft technologies and the rest of the world.  Some have formed perceptions that the Microsoft stack isn't possible to interoperate with.  That couldn't be further from the truth.  There are numerous ways in which this is not only possible, but relatively easy to do!

    About four years ago, Microsoft started participating at JavaOne by maintaining a booth in the vendor expo, and delivering some breakout sessions on interoperability.  The feedback and response from folks has been great.  This will be my third year participating at JavaOne.  It will also be my first one speaking there.  I'll be co-presenting a session with Marina Fisher from Sun on "101 Ways to Interoperate between Java and .NET".

    If anyone is going to be at JavaOne, be sure to catch one of our three conference sessions:

    Also, be sure to stop by and visit the Microsoft theater in the vendor expo area.  We'll be giving short presentations and demos of various interoperability techniques and options throughout the conference.  Some of these will be traditional interop scenarios like .NET and Java services talking to each other.  Others will look at how Silverlight and AJAX can be used to build Rich Internet Applications on top of the Java platform. 

    Windows Mobile Development Tour Coming to NYC & Philadelphia

    Check out this video to the right...

    Want to know what got all of these folks so pumped up???

    It's the Windows Mobile Smackdown session from an internal Microsoft technical readiness event for tech folks in the field called "TechReady". For the past three years, this has been one of the most popular sessions for Microsoft employee developers. The Windows Mobile team comes out and shares the latest developer news for the Windows Mobile platform.  Oh yeah, they give away a few free cutting-edge devices!

    Did you know there were 11 million Windows Mobile devices sold last year?  Microsoft claims there will be close to 20 million sold this year.  That's a huge market of smart phone users out there running on Windows Mobile. 

    One of the great things about Windows Mobile is that it has a great development platform.  Developers can build applications that run on Windows Mobile easily using tools like Visual Studio 2008 and the .NET Compact Framework. 

    There are all sorts of exciting mobile applications out there, whether they be for consumers or business.  Some of my favorite are:  Live Search Maps, Tiny Twitter, and Yahoo Go!  If you're company uses Windows Mobile, it's easy to build corporate applications that tap into services behind the firewall.  Think expense reporting on the go!  Or even scanning business cards into contacts!

    Windows Mobility Development Tour

    If you want to learn how you can write applications that reach all of those mobile device users, you're in luck!  Dani Diaz and Joe Healy are making an East Coast run of the Windows Mobility Roadshow.  There will be two local stops in our area: New York City and Malvern, Pa (outside of Philly). 

    Dani & Joe will be teaching about the .NET Compact Framework 3.5 and using Visual Studio 2008 to develop Windows Mobile smart client applications. So join them for a full day of programming for Windows Mobile devices.

    Overview
    This session is geared towards familiarizing the attendee with developing smart clients using the .NET Compact Framework 3.5 on Windows Mobile 6.x. Labs will be by demo only (not hands on), and will be available for download after the class.

    WindowsMobileLogo Lunch will be provided. Class times: 9:00 AM–12:00 PM, 1:00 PM–5:00 PM.

    Topics

    • Intro to Windows Mobile
    • Tools: Intro/SDK/Emulators/VS2008/Debug/Deploy Debug/Deploy
    • Managed Code: NET CF Managed APIs
    • Data Guidance

    Location Date and Time Registration
    New York City
    Microsoft Office
    1290 Avenue of the Americas, 6FL
    New York, NY 10104
    May 19, 2008
    9:00 AM–5:00 PM
    Register
    Event ID: 1032378393
    Malvern, PA
    Microsoft Office
    Great Valley Corporate Center
    45 Liberty Blvd., Suite 210
    Malvern, PA 19355
    May 22, 2008
    9:00 AM–5:00 PM
    Register
    Event ID: 1032378485
    Alpharetta, GA
    Microsoft Office
    1125 Sanctuary Parkway, Suite 300
    Alpharetta, GA 30004
    May 27, 2008
    9:00 AM–5:00 PM
    Register
    Event ID: 1032378497
    Tampa, FL
    Microsoft Office
    3000 Bayport Drive, Suite 480
    Tampa, FL 33607
    May 29, 2008
    9:00 AM–5:00 PM
    Register
    Event ID: 1032378498
    Reston, VA
    Microsoft Office
    12012 Sunset Hills Rd.
    Reston, VA 20190
    June 12, 2008
    9:00 AM–5:00 PM
    Register
    Event ID: 1032378501
    Ft. Lauderdale, FL
    Microsoft Office
    6750 North Andrew Ave., Suite 400
    Fort Lauderdale, FL 33309
    June 19, 2008
    9:00 AM–5:00 PM 
    Register
    Event ID: 1032378500
    ASP.NET MVC Talk at Health & Life Science Developer Conference

    Thanks to everyone who attended my talk about the new ASP.NET MVC framework at the Health & Life Sciences Developer Conference in Atlantic City last week!  I've posted my slides for viewing up on SkyDrive:

    Credit goes to Scott Hanselman as I borrowed heavily from his MVC presentation at Mix 08 earlier this year.  I showed code from two projects during my talk.  The first was the default project that the MVC template creates for you in Visual Studio.  The second project was a complete application that demonstrated CRUD access to a table in the Northwind Database.  That sample was put together by Scott, and can be viewed here:

    ASP.NET MVC Cheesy Northwind Sample Code

    The MVC framework is barely 6 months old, yet there is already a LOT of information about it out there.  Unfortunately, or fortunately (depending on how you view it), it's not in the documentation.  As with any new technology that's in beta, the documentation is a little weak at the current time.  That will improve over time.  But for now, most of the good information is out there in blogs from both the MVC product team and the community.

    To get started, visit the ASP.NET MVC Framework web site at: http://www.asp.net/mvc  At that site, you will find the latest MVC installation download and official product documentation.  For some of the best information, follow the blogs from some of the folks involved with the development of ASP.NET MVC Framework:

    From there, you'll want to check out some of the other MVC resources out there.  There's a lot of great blogs about MVC outside of Microsoft too.  Chris Shoemaker has put together a decent MVC link list here:

    47 ASP.NET MVC Resources to Rock Your Development

    Finally, DotNetKicks seems to have at least one or two new MVC posts listed everyday.  You can see all MVC posts on DotNetKicks aggregated here.

    Don't Miss TECHBash 2008 in Northeastern Pennsylvania!

    For the past three years, the .NET Valley community in northeastern Pennsylvania has hosted TECHBash.  TECHBash is a great technology conference similar to many of the code camps and other community driven events throughout the US.  This year will be no different. TECHBash 2008 is set for May 10th in Nanticoke, Pa.  They have a fantastic line-up of industry experts from the northeast on the schedule!  There will be session tracks for both developers and IT professionals.

    TECHBash2008Logo The event will open with a keynote presentation from the unstoppable juggernaut, Joe Stagner, Program Manager for Microsoft’s Web Tools and Platform Division.

    Attendees will have the opportunity to:

    • Enhance technical knowledge with comprehensive and relevant educational content
    • Build experience on current and soon-to-be released technologies and products
    • Engage with sponsors, presenters, and other technology professionals
    • Learn how to get involved with .NET Valley, Northeastern Pennsylvania’s Technology User Group
    • Leave with software and other swag

    TECHBash2008Logo2

    The event date is coming up quickly on Saturday, May 10th.  Be sure to register now before it fills up!

    May 2008 Area User Group Meetings

    It's May!  Despite my allergies, this month features one of my favorite holidays of the year: Memorial Day weekend and "opening day" for the summer season at the Jersey Shore!  While visions of sand and surf are on the horizon, there's plenty to be excited about in the community this month. 

    Some highlights in the community this month are the Philly.NET Code Camp (May 17th), Tech Bash 2008 (May 10th) in Nanticoke, Pa, Iain McDonald from the Windows Server team at NY Enterprise Windows Group (May 1st), a new South Jersey satellite group of Philly.NET, and not one, but TWO new Share Point user groups forming up in Fairfield county in Connecticut!

    Here's the line up at our area's user groups for May:

    New Jersey

    User Group Name Location Date Topic & Speaker
    NJ MS Developers Group Iselin, NJ 5/1/2008 Light up the web with Silverlight 2.0 - Peter Laudati, Microsoft (<- yeah, that's me!)
    Northern NJ .NET User Group (N3UG) Parsippany, NJ 5/13/2008 Lap Around Silverlight 2.0 - David Yack
    Central NJ .NET User Group East Windsor, NJ 5/9/2008 ASP.NET MVC Framework - Jess Chadwick
    NJ SQL Server User Group Parsippany, NJ 5/20/2008 SQL Server 2008 Data Compression - Linchi Shea
    ACGNJ .NET SIG Scotch Plains, NJ 5/15/2008 Windows CardSpace - Manuel Goyenechea
    PhillyNJ.NET User Group Greenwich, NJ
    New South Jersey Group!
    4/30/2008 Topic 1: Behavior Driven Development - Brian Donahue
    Topic 2: Automation with MS Build 3.5 and Team Build 2008 - Steven Andrews

    New York

    User Group Name Location Date Topic & Speaker
    NY Enterprise Windows User Group New York, NY 5/1/2008 Windows Server 2008 Launch Event - Iain McDonald, General Manager of Windows Server Group, Microsoft
    NY PC Visual Basic SIG New York, NY 5/7/2008 TBD - Check site for details
    Long Island .NET User Group Melville, NY (New location! Check the site for details!) 5/1/2008 Windows Server 2008 Virtualization - Peter Protan & Rob Jackson from Microsoft
    NYC SharePoint User Group New York, NY 5/7/2008 Using Content Query Web Pattern to Solve Business Problems - Nataly Voskresenskaya & Paul Galvin
    NYC Connected Systems Group New York, NY 5/18/2008 TBD - Check site for details
    NYC .NET Developers Group New York, NY 5/15/2008 WPF Beyond the Basics: Playing Tricks with the Visual Tree - Pavan Podila
    NY Metro SQL Server User Group New York, NY 5/22/2008 TBD - Check site for details
    International Association of Architects (IASA) NYC New York, NY 5/22/2008 - 5/23/2008 IASA New York IT Architect Regional Conference - This is a 2 day paid event. Click here for details.

    Connecticut

    User Group Name Location Date Topic & Speaker
    Fairfield/Westchester .NET User Group Stamford, CT 5/6/2008 ASP.NET MVC Framework - Aaron Armstrong
    Fairfield/Westchester .NET SQL Server User Group Stamford, CT 5/7/2008 TBD - Check site for Details
    Southern Connecticut .NET SIG Shelton, CT TBD TBD - Check site for details
    Connecticut .NET User Group Farmington, CT TBD TBD - Check site for details
    Fairfield County Share Point User Group Fairfield, CT 5/15/2008 New Group! Workflow Processing - Dan Relihan
    Fairfield/Westchester Share Point User Group Stamford, CT 5/21/2008 New Group! Share Point Workflows and Branding: A guide to Share Point Designer 2007 - Neil Barkhina

     Pennsylvania

    User Group Name Location Date Topic & Speaker
    Pittsburgh .NET User Group Pittsburgh, Pa 5/13/2008 Building Good UX with .NET - Ambrose Little
    Philadelphia SQL Server User Group Malvern, Pa 5/14/2008 Topic 1: Cursors vs. Set Logic - Mike Welsh
    Topic 2: SQL Service Broker - Vince Napoli
    Lehigh Valley .NET User Group Center Valley, Pa 5/19/2008 Writing Better Code with Visual Studio 2008 Developer Edition - Steve Andrews, RDA Corporation (re-scheduled from last month)
    Central Penn.NET Harrisburg, Pa 5/20/2008 TBD - Check site for updates
    Philly.NET Malvern, Pa 5/28/2008 Pub Night - No Speakers, no blogs, just geeks in person string.format("{0:t} - {1:t}", 5:3, ???)

    Philly Code Camp is on Saturday May, 17th
    .NET Valley Nanticoke, Pa 5/10/2008 TechBash 2008 (Code Camp for northeastern PA!)
    Philadelphia Area SharePoint User Group Malvern, Pa 5/28/2008 TBD - Check site for updates
    Philly Office Geeks Malvern, Pa 5/13/2008 TBD - Check site for updates
    Philly Alt.NET Philadelphia, Pa 5/21/2008 TBD - Check site for updates

    Delaware

    User Group Name Location Date Topic & Speaker
    Delaware .NET User Group Newark, DE 6/18/2008 VSTS with Steve Andrews (note: this meeting will take place in June!)
    Northern Delaware .NET User Group New Castle, DE 5/22/2008 TBD - Check Site for details
    Ed Bott Eliminates My Vista Pet Peeve

    There's been a lot of fuss about the User Account Control (UAC) feature in Windows Vista.  A recent story even made headlines when a Microsoft manager was quoted as saying Microsoft deliberately deigned UAC to "annoy users".  I've heard all the arguments for and against it.  However, I think UAC is one of the BEST features in Vista.  For all the arguments against it, the arguments 'for' it by far outweigh the disadvantages from my point of view. 

    UACAdminDialog "First time usage" of Vista is what generates some of the biggest UAC complaints.  Most of the people writing reviews or sharing their comments about UAC are usually doing so right after using Vista for the first time.  For those of you who haven't used Vista yet, when you use it for the first time, you will see a LOT of UAC prompts.  There's a reason for that.  

    That's because the first time you use Vista, you're probably getting the machine set up the way you want to use it.  You're likely installing a lot of software over the first day or two.  New software installs almost always trigger UAC prompts.  Their supposed to.  That's UAC doing it's job!  Of course, besides software installs, you're also likely making configuration changes or customizations in the OS too.  Some of these might result in UAC prompts coming up also.

    By the end of your first day or two on Vista, you're probably all UAC'ed out and ready to curse the new feature.  Of course, this is also the point in time most Vista reviewers decide it's time to write an opinion piece on the OS, sharing their UAC experience, and listing it as a major problem with the OS.  One argument against UAC says, "users will just learn to ignore the dialog and click 'accept' anyway".  For any user that has just gone through this "first time usage" experience, that sounds valid at this point.  But that's not the normal UAC 'appearance pattern' with daily usage.

    I wish some of these folks would write follow up blog posts or articles a month or two later about their experience with UAC prompts.  They'll probably encounter a LOT less of them.  In my daily usage of Vista, if I see one a day, that's unusual.  More likely, I'll see one or two a week.  At that frequency, it is something 'unusual' which I'm bound to notice and think about when I see it instead of blindly clicking "accept".  I feel much safer having the UAC prompt there to protect me then not having it there when I'm on an XP machine.  

    Most 'consumer' users are not tweaking OS features that would results in a UAC prompt on a daily basis.  For tech folks, we might hit UAC prompts more often just based on the nature of how we interact with our machines.  But even that is not too frequently (at least in my experience).  That being said, there has long been one pet-peeve I've had in Vista with respect to UAC.

    TaskManagerUAC2 At the slightest sign of a performance slow down on my machine, my first reaction is to open the Task Manager to see what's causing the problem.  When you open the Task Manager in Vista, it only shows processes for the current user (you).  But I always want to see all the processes running for all users (including the system). 

    What used to be a checkbox in previous versions of Windows is now a button that requires a UAC prompt to enable.  This is the one OS-related UAC prompt that I hit over and over again.  While I generally LIKE UAC, this is the one pet peeve that'll get me cursing my computer.

    To make matters worse, raising a UAC prompt can be a resource intensive operation due to the screen fading to black as it opens a Secure Desktop session.  Well, when I'm opening the Task Manager, it's usually because my system is already overwhelmed due to something pinning the CPU.  So triggering a UAC prompt only adds to the problem as it can put the system into further distress.

    Along to the rescue comes Ed Bott today with his article on "Taming UAC".

    Ed takes people through some steps they can follow to make their UAC encounters less frequent and less painful.  I feel I don't experience enough UAC pain to justify taking most of the actions that Ed recommends.  However, on the fourth page of his article, he has a trick to solve my Task Manager UAC pet-peeve!  It essentially involves setting up a Scheduled Task that opens Task Manager in admin mode, and then creating a shortcut for that task on your desktop or start menu.  The shortcut then bypasses the UAC prompt.  Sweet!

    Philly.NET User Group in South Jersey Meets Again

    SouthJersey Last year, Philly.NET spawned off a south Jersey edition of the .NET developer group.  It's tough to organize these meetings and find a location on a recurring basis.  Anyway, thanks to Travis Laborde and others, the South Jersey folks are back again!  You can find them at their new website:  http://www.phillynj.net

    They're kicking off with their first meeting this Wednesday April 30th in Greenwich, NJ with two great speakers from the Philly area:

    Brian Donahue - Behavior Driven Development: The Evolution of TDD

    Test Driven Development has been gaining prominence, and many developers recognize the value it provides.  Still, TDD adoption can be a slow and painful process, and often results in early abandonment as challenges mount.  Many believe the current body of TDD knowledge puts too much emphasis on testing implementation details, and not enough on testing behavior.  Behavior Driven Development (BDD) takes a more focused approach to TDD that can help clarify the testing process, and create a meaningful, readable suite of tests that not only helps you and other developers understand your application, but can be used to show your client that the application is meeting their needs.  When developers, customers, and managers can clearly see the value of writing tests, everyone wins.

    Brian Donahue is a software developer with 10 years experience with a variety of web application platforms, focusing recently on ASP.NET.  His consulting company, Vitreo Solutions ( www.vitreosolutions.com), builds custom business software for its clients.  A strong believer in Agile and Extreme Programming (XP) principles and practices, Brian tries to promote their use in his work, as well as in the software development community.  He recently organized a Philadelphia "ALT.NET" (http://phillyalt.net), a user group focused on exploring the ideas and tools that can help us become better "software craftspeople" on the .NET platform.  Principles such as agility, testability, and maintainability are common themes, as well as discussion of open source software and other alternatives that can help make your .NET software development easier, and more fun.  Brian blogs at http://persistall.com

    Steve Andrews - Automation with MSBuild 3.5 and Team Build 2008

    Did you know that .csproj and .vbproj files are really MSBuild files?  More than build processes though, MSBuild is a full-featured automation language.  It includes structured control flow, variables, refactorability, error handling, logging, and powerful extensibility.  You can easily integrate MSBuild into your own enterprise processes and start adding value right away.  We'll also look at how Team Foundation Build extends on MSBuild and adds robust integration with Team Foundation Server.

    Steve Andrews is a Software Engineer and Architectural Guidance team member at RDA Corporation with over 9 years of experience implementing custom Microsoft solutions in the Financial, Medical, Manufacturing and Retail industries.  Lately, Steve has been focusing on architecture, process, and the Team System platform.  Steve is also an MCP, ICSOO, Speaker Liaison for the Philly .NET User Group, and all around .NET fanatic. You can visit his blog at www.dotneticated.com.

    The meeting will be hosted at the Greenwich Township Public Library.  You can find directions here.

    Philly.NET Code Camp 2008.2 Registration Now Open

    The call for speakers went out just two weeks ago, and already there is a fully packed session schedule!  Now you can register to attend the next Philly.NET code camp on Saturday May 17th at DeVry University in Fort Washington, Pa.

    Register Here

    Phillydotnet Visit the Philly.NET website for more details, including the session agenda.

    • Lots of code, just say no to slides!
    • 8 hours
    • 40 sessions (8:30, 10:00, 12:30, 2:00, 3:30)
    • 8 tracks lunchtime entertainment
    • 500 seats with tables (laptops welcome)
    • Free breakfast, lunch, and afternoon snack (expanded menu!)
    • Raffles and prizes at 5:00
    • Easy parking
    All of this is made possible by Philly.NET's Gold partners (HostMySite, MicroEndeavors, Perficient, RDA Corporation, RJB Technical Consulting), Silver partners (Neudesic, Telerik, Ted Pattison Group) and our Platinum site sponsors (DeVry University, Microsoft).
    Go Fresh. Go Local. But not THAT local!

    From the "only in Jersey" files...

    NJFarms1 Pathmark is a regional grocery chain in the NYC/NJ/Philly metro areas.  They've been running an advertising campaign lately promoting their use of local produce.  It features the words "Go Fresh. Go Local" imposed over what appears to be a produce crate.  These ads have been appearing on TV and in the newspaper fliers. I think this is a great campaign.  New Jersey is the "Garden State" after all, and our tomatoes are some of the best in the world!  (I can't wait for Jersey sweet corn to show up at the grocery markets later this summer!)

    The problem is, most people don't think of New Jersey being a place with farms like the image to the right from Hunterdon County.  As mentioned in my recent post about this blog's new theme, New Jersey is, unfortunately, often associated with its gritty industrial areas in the northeastern part of the state.

    I know the marketing folks at Pathmark have the best of intentions in mind with their "Go Fresh. Go Local" campaign, but someone should refund them their money for this scene between Exits 12 & 13 on the Turnpike:

    GoFreshGoLocalExit13

    GoFreshGoLocal2

    I noticed this billboard a couple of weeks ago while driving north on the Turnpike.  It can be viewed as you travel north approaching the world famous gritty Exit 13.  I couldn't help but chuckle at the irony of an advertisement for local produce juxtaposed with power lines, billowing smoke stacks, and oil refineries.  I'm sure the average non-Jersey passerby is probably thinking "Go local?!  Uh... NOT!"

    I don't know why, but this billboard has been bugging me for a while.  I've been wanting to get a picture of it to post here for a while now.  I finally snapped this picture while heading to PodCampNYC over the weekend.  The trees are green now which makes the photo lose some of its priceless-ness.  (Those ARE the smoke stacks of an oil refinery in the background behind the trees.) But I thought you'd all enjoy anyway.  The ironic juxtaposition shouldn't be lost on anyone who passes the billboard in person though.

    [Update 4-30-2008:] I totally forgot that I took a shot of the billboard a couple of weeks earlier using a Samsung Blackjack II smartphone from my car.  After connecting the phone up to the computer to transfer the photo, I was surprised to discover that the picture came out pretty good!  It's taken from a wider angle, so you can clearly see the "beautiful" surroundings of the billboard.  You can click the photo to zoom in to a larger view.

    Alt.NET Open Space Seattle Schedule Grid

    IMG_6561 Stitch Lots of great discussions going on here at the Alt.NET open space event in Redmond, Wa!  Below are the session grids that were assembled Friday evening at the kick off.  They were assembled using the classic open-space fashion by all the folks in the room as seen in the picture on the right.  There are 42 sessions split out over 6 tracks over the two day event.

    The session list is being kept track of at http://altdotnet.pbwiki.org.  The images below are the schedule as of Saturday morning.  It is subject to change during the event.

    [Update:] A Silverlight 2 DeepZoom version is now available here: http://austincodecamp.com/altnetzoom.html 

    Saturday's schedule (click the image to view in full size):

    IMG_6572

    Sunday's schedule (click the image to view in full size):

    IMG_6574

    Alt.NET on .NET Rocks! and in Seattle this Weekend

    This weekend is an Alt.NET open space event in Seattle.  (Actually, it's in Redmond, but close enough.)  By the time you read this in the morning, I'll be on a flight out to Seattle to attend. 

    If you haven't heard of Alt.NET before, you can learn more about it on the web at http://altdotnet.org and  http://altnetpedia.com/.  There's no one formal definition of what Alt.NET is, but a general consensus seems to have formed around the following description on both sites:

    Are you...

    • The type of developer who uses what works while keeping an eye out for a better way.
    • You reach outside the mainstream to adopt the best of any community: Open Source, Agile, Java, Ruby, etc.
    • You’re not content with the status quo. Things can always be better expressed, more elegant and simple, more mutable, higher quality, etc.
    • You know tools are great, but they only take you so far. It’s the principles and knowledge that really matter. The best tools are those that embed the knowledge and encourage the principles (e.g. Resharper.)

    ...then you're in the right place!

    We are a group of people who are passionate about improving the way we develop software. We recognize there is no single solution, but instead there are multitudes of alternatives that can be applied to different situations. Our community is a place for sharing these alternatives, so that together we can learn, teach, and encourage new ideas.

    While the practices followed by folks involved with Alt.NET have been around for a while, the term itself has generally been credited to New York's own David Laribee.  Earlier this week, David appeared on .NET Rocks with fellow Alt.NET'er Jeremy Miller.  David and Jeremy spend time with Carl & Richard discussing what Alt.NET is along with a bit of history of how it came to be.  You can download the episode of .NET Rocks on Alt.NET here

    There are some other good bits out there that'll bring you up to speed on the Alt.NET story.  Last month at Mix, David sat down with Scott Hanselman on "Hanselminutes".  You can find that podcast here.  Also, Jeremy Miller recently wrote a column in MSDN titled "What is Alt.NET?"  You can read that here.

    Philly.NET Code Camp 2008.2 Call for Speakers Now Open

    Via Steve Andrews...

    The call for speakers for the next Philly.NET Code Camp is now open!  Registration is not open yet.  Attendee registration will likely open in a couple of weeks.  Stay tuned here and to the Philly.NET web site for that announcement.  Here's the official "call for speakers" announcement:

    Philly.net is planning the second of three Code Camp events in 2008. They will be spaced four months apart with the next event on May 17 at DeVry University in Fort Washington, PA. The last Code Camp had 385 attendees with room to spare. We are looking for speakers to fill 40 sessions. You are encouraged to submit one or two talks on any .NET related topic (this includes SQL, SharePoint, BizTalk and other servers). There will be 8 concurrent tracks with 5 eighty minute talks. Here is a tentative schedule:

    • Phillydotnet registration
    • 8:30-9:50
    • 10:00-11:20
    • lunch
    • 12:30-1:50
    • 2:00-3:20
    • 3:30-4:50
    • Prizes
    • 5:30-7:30 speaker party

    If you would like to speak on May 17, please contact Steve Andrews or Bill Wolff with a session title, topic description, and bio. We will add these to the website and the email announcement that goes out to 3,500+. If you prefer a specific session time, let us know. We will try and accommodate as the schedule permits.

    Since there are only 40 sessions, we would like to limit each speaker to one really good talk. We have events planned every four months so you can do different talks at each Code Camp to keep things interesting. We would also like to see one novice/beginners level session in each track. Here are the tracks and track leaders (let me know if you can't manage your track this round, also send a list of speakers/sessions already confirmed):

    • Tools (includes VS, languages)
    • MIX (web, smart client, silverlight, wpf)
    • Framework (wcf, wf, linq)
    • Alt.net
    • Architecture
    • SharePoint/OBA
    • SQL Admin
    • SQL Dev/BI

    Remember, this is a CODE CAMP. You don't need polished slides, just some interesting code or applications that developers might enjoy and learn from!

    The New Look of JrzyShr Dev Guy

    If you read my blog via its actual web site, you probably noticed some changes yesterday.  After a while of planning and slowly putting the pieces into place behind the scenes, I finally completed an upgrade to the look-n-feel of my blog.  For those of you who are following along in your RSS reader of choice, I've included some before & after screen shots below.  First, I'll tell you a little bit about the new look, and then I'll explain how I did it for the benefit of others interested in customizing their Community Server-based blogs.

    Exit13 When I first started my blog in May of 2006, I knew it was going to be about technology.  But I also wanted it to have a personal touch, one that would capture who I was and where I was from (New Jersey).  When you tell people you are from New Jersey, they will inevitably crack all sorts of jokes about toxic waste, corruption, and the infamous "what exit are you from" question.  This was something I didn't discover until I moved out of the state to attend college at Virginia Tech

    Perhaps I was naive throughout my youth, but I never realized the negative views people held of my state while growing up.  This was probably because I grew up in the central part of the state away from the urban & industrial areas.  It's not that I wasn't familiar with the gritty parts of the state that most visitors inevitably see when they travel the Jersey Turnpike, or arrive at Newark Airport on their way to New York City.  How could anyone from Jersey NOT know the beauty that is Exit 13?!  Rather, I knew those areas were only a small part of this beautiful state that has so much more to offer.

    One of my state's gems is the Jersey Shore.  It's one of my favorite places in the world; all 127 miles of it.  I didn't grow up on the beach, but I've lived near it most of my life with the ocean never more than 20 minutes away.  Most people refer to my part of the state as the Jersey Shore.  When you go to the beach in New Jersey, you don't say "I'm going to the coast" or "I'm going to the beach".  You say, "I'm going down the shore."   The Jersey Shore is not just a place, it's a state of mind.

    JrzyShrVaTagI took that state of mind with me when I lived in Virginia during college.  Back then, I had a customized Virginia license plate with the letters "JRZYSHR".  I was proud to be from the Jersey Shore.  Since then, I've used that abbreviated spelling as my identity or handle on lots of various online services.  So when it came time to choose a name for my new blog, it wasn't hard to choose the name "JrzyShr Dev Guy".

    At Microsoft, many employees have blogs.  Some folks choose to host their own blogs.  Others host them on Microsoft's developer blog site: MSDN Blogs.  Not knowing much about blogging software back then, I chose to host mine here on MSDN Blogs.  MSDN Blogs is currently powered by Telligent's Community Server software.  Community Server has a set of default theme templates you can choose from for the look and feel of your blog.  Most folks just pick one of those and go with it.  Others have figured out all sorts of ways to trick their styles out and come up with a custom design.

    OldJrzyShrDevGuyTheme I went with the "Poison Ivy - Air" theme.  I didn't have much time to spend making things look pretty.  A couple of quick Internet searches, and I found enough Community Server tricks to add an image to my blog's title banner as well as change the default font colors. 

    I chose to use an image of Barnegat Lighthouse.  "Old Barney", as it's known, is one of the more well known landmarks at the shore.  It's featured on many New Jersey license plates.  Old Barney is known for it's white and burnt orange colors.  So, I set the title font colors to match Old Barney.  You can click the "before" image to the right to see how my blog looked up until yesterday.

    While I know folks are reading this blog from all around the world, I do write a lot about events going on in the New York City metro area. I wanted a new look to identify my blog that is representative of that.  Most folks probably don't associate the Jersey Shore with New York City, but wow... there are some great views of the city from the shore at Sandy Hook. 

    Enter the new banner image you see at the top of my blog now.  I've been wanting "that" view to be on my blog almost since I first started blogging.  It's a view from the Jersey Shore (to match my title) with New York City on the horizon.  What a perfect idea to have an image that juxtaposed the two places next to each other.  I searched the web far and wide for that type of image, but could never find one just right.  It was just a matter of time before I could get to that view point on Sandy Hook on a sunny day with a camera.  I finally got my opportunity on a sunny afternoon last month here.

    Customizing the Paperclip Theme Banner Image

    With the picture taken, it was now time to figure out how to update the blog itself.  The first thing I did was pick a new theme.  Of all the Community Server 2.1 themes available on MSDN Blogs, the Paperclip theme seemed the best one to have a large banner image.  I also liked the overall layout of the Paperclip theme better than my previous theme.  I've seen other blogs that use this theme with custom images, so I figured there must be some knowledge out there on how to customize it appropriately.  Sure enough, there was.

    A quick Live Search turned up the following two results:

    Both posts essentially cover the same thing as well as the step-by-step details for how to make the customization.  The only difference between the two is that Dennis' post uses a wider width.  I also like having a blog that is wider in order to fit images and code snippets as needed. I ended up using Dennis's wider width.

    The trick here is having a version of Adobe Photoshop around to customize the image.  Both blog posts provide links to a multi-layered Photoshop image that you can easily add your custom image to.  That makes it possible to preserve the borders as well as the paper-clipped "sticky-note" that will contain the blog's title.  You can see my custom image below after some Photoshop work.

    JrzyShrDevGuyBanner2 - WithMarkup

    Customizing the Paperclip Theme Fonts

    After getting the new banner image in place, I needed to customize the font sizes and colors.  I decided to bring along my existing "Old Barney" colors for the ride to keep some resemblance to my old style.  However, the CSS classes used by the Paperclip theme are different than the ones in the Poison Ivy theme.  That meant that the custom CSS overrides I were using previously didn't work.  The next step was to do some digging around to figure out which CSS classes applied to the parts of the page I wanted to customize the fonts on.

    The best way to do this is open your blog in Expression Web and click around to discover which CSS classes have been applied to the parts of the page you want to change.  Alternatively, you can figure things out by exploring the customizations others have made to their Community Server blogs.  Community Server 2.1 stores a user's customizations in a CSS file that can be accessed by appending "customcss.ashx" to the part of the URL that comes after their name.

    For example, my blog URL is "http://blogs.msdn.com/peterlau".  You can see my customizations by viewing the CSS file generated at "http://blogs.msdn.com/peterlau/customcss.ashx".

    I ended up examining the CSS files of other bloggers who had customized the Paperclip theme to figure out what CSS classes I needed to modify.  Once I did that, it was just a matter of picking the colors and adding them to the CSS Overrides tab in the Community Server control panel.  I kept the "Old Barney" colors for my titles and link, and then added a tan background to match the shore theme of the banner image.  You can see my Paperclip customizations in the CSS snippet below:

    a:visited,
    a:active,
    a:link {    
        color: #cc3300;
    }
    
    
    body {
      background-color: #cdc9b4
    }
    
    .posthead {
      color: #cc3300;
      font-weight: bold;
      font-size: x-large;
    }
    
    .posthead a:link, .posthead a:visited, .posthead a:active {
        color: #cc3300;
    }

    There were a couple of other additions I wanted to make in addition to the new banner image and theme.  Some of these I started making over the past week or two.

    imageUser Group and Blogger Links

    I usually post each month about all of the Microsoft related user groups that meet in the metro area.  Sometimes I don't always get around to this, so I decided to put a permanent link to all of the area groups I'm aware of on the sidebar.  That way folks can always find information they need about their local user group right off the main blog page.  I did this by creating several Blog Lists with the links in Community Server's control panel.

    imageUsing the same technique, I also added links to my fellow Microsoft Evangelist colleagues on the east coast in the sidebar too.  I'll continue to add links here to other bloggers that are relevant to Microsoft and this area over time.

    Twitter Updates

    You may have my recent posts about Twitter.  Via Glen Gordon, I found an HTML Twitter gadget that allows you to include your most recent Twitter messages on your page.  In the Community Server control panel, you can paste this HTML snippet into the "News" box.  To customize it for your account, insert your Twitter username where I have highlighted in red below.

    Here is the HTML snippet I used to add my most recent Twitter posts to my blog:

    <div id="twitter_div">
        <h3>Twitter Updates</h3>
        <ul id="twitter_update_list"></ul>
    </div>
    
    <script type="text/javascript" src="http://twitter.com/javascripts/blogger.js" />
    <script type="text/javascript" 
            src="http://twitter.com/statuses/user_timeline/[yourTwitterNameHere].json?callback=twitterCallback2&count=5" />

    Update: You can get this same snippet direct from Twitter itself here.

    Collapsible Tags & Archive Lists

    imageBy default, most of the themes in Community Server 2.1 display the "Tags" and "Archives" list in the sidebar.  The Tags list displays a 'tag cloud' containing all of the tags I have ever used on my blog posts.  Clicking a tag in the list will show you all of the posts I have tagged with that tag. The Archives list displays a list of all months that have passed since I started the blog, along with the number of posts from each month.  Clicking a month will show you all of the posts from that month.

    Tags are useful in that they help with search engine optimization.  Tagging your posts makes it easier for users to find your posts via the major Internet search engines.  (Or so I've been told.)  Therefore, I end up using as many useful/unique tags as possible on a post when I publish it.  The problem is, the more tags I use, the Tags list becomes so long that it ends up taking up a lot of vertical real estate.  The same thing happens with the Archives list as each month passes.

    While the tag cloud is useful for giving readers a quick glance at the types of things this blog is about, its value declines the more single-use tags are in the list. It would be nice if Community Server offered a way to only display tags that have been used a certain number times before they appear in the tag cloud.  However, the current version used by MSDN Blogs does not.

    Unfortunately, there is no way to turn these sidebar options off in Community Server 2.1.  However, via Chris Bowen, I discovered a JavaScript hack that lets you make these side bar lists collapsible.  Actually, the script will make any Community Server sidebar panel collapsible. The script scans the page for any header tags who's innerHTML matches the names of side bar lists you include in the script.  It then collapses them by default when the page loads.

    In the Community Server control panel, you can paste the script below into the "News" box. 

    <SCRIPT type="text/javascript">
       1:  
       2: function CollapsiblePanel(elem) {
       3:   if (!elem) {
       4:     return null;
       5:   }