in

Platinum Bay

Peace, Love, and...

This Blog

Syndication


.NETicated

August 2008 - Posts

  • Removing My Visual Studio Tips and Treats Download

    As many of you know, I have a Visual Studio Tips and Treats presentation with over 140 tips. It has been an enormously popular presentation and one that I enjoy presenting. As part of that presentation I offered my eBook of these tips for download from my website. As of today, that download will no longer be available.

    It has come to my attention that Sara Ford, the source of many of my tips, has written an MS Press book titled "Microsoft Visual Studio Tips: 251 Ways to Improve Your Productivity." The real story though is that Sara has announced she will donate 100% of the author book royalties to create a scholarship fund at the Mississippi Gulf Coast Community College for anyone living in her hometown of Waveland, Mississippi, which was destroyed during Hurricane Katrina. The Save Waveland Scholarship Fund will give preference to math and computer science majors.

    In light of this, I am removing my eBook from the Download section of my blog, and recommending everyone purchase a copy, or two, of her book instead. You can pre-order Sara's book on Amazon.com.

    Go Sara Go!

    Original Post:

    Microsoft Visual Studio Tips Book Helps Hurricane Katrina Survivors Rebuild Lives on Sara Ford's Blog

  • May the Source Stay With You Contest

    I am announcing a new code contest, offering a prize of a $50 online gift certificate to the first person who emails me a compiled managed assembly that I can't decompile, rebuild, and run.

    The prize is courtesy of Steve Andrews Consulting, offering Application Lifecycle Management and Microsoft Visual Studio Team System training, mentoring, consulting and assessments as well as Team Foundation installation, configuration, and custom development.

    Rules:

    • Must be a managed assembly with CLR headers – class library, console application, or Windows forms only
    • Must be compiled, do not send source code
    • Assembly must use native .NET libraries only – no dependencies
    • Maximum size of 100KB per assembly
    • You must own the copyright to the assembly
    • Only one assembly may be submitted per entry
    • Up to three entries per person allowed
    • Submission must include first and last name
    • The contest is free, and you do not need to buy anything to enter
    • The closing date for entries is August 31, 2008, or 50 submissions, whichever comes first.
    • A winning notification, if a winner is found, will be sent by September 30, 2008
    • By submitting an entry, you release me from all liability related to unauthorized decompilation

    I will work through each assembly as they arrive, and send source code plus a rebuilt version for verification.

    Note: Details regarding assembly submissions, including protection mechanism may be used in upcoming blog posts, conference presentations and released through other venues.

    To submit your entry:

    Email: steve[at]platinumbay[dot]com
    Subject: Will It Hack Submission

    Posted Aug 20 2008, 01:29 PM by Steve with 5 comment(s)
    Filed under:
  • Defining Community: My Quest

    I have been working on my own personal beliefs as to what community is and what community should be. For those who read this, please understand I am still very early in my journey and what is contained below is only my current thinking on this matter. I have by no means reached a full understanding or drawn concrete conclusions as to what I believe community to be. I am also not making any sort of geographic comparisons. I have enjoyed every group I have visited or spoken at, and ultimately a group will provide what its members need or it will fail.

    Background

    I have always enjoyed people. In fact, I really enjoy hanging out with people, learning from other people, and bringing people together into community. In my view, we are all just 6.6 billion people trying to live our lives. When you look around, almost everything you see is here because there are people; roads, signs, houses, soda, clothes, etc. Therefore, to me, people are the most important things in the world.

    Defining Community

    Through my passion for people, I have come to believe that community is about more than just user group meetings, code camps, and attendance levels. In my opinion, those characteristics define an association or a club. And while to some extent the level of participation of the attendees in organized events is a factor, I believe community is defined by what happens outside of the organized events. I would summarize this as relational dynamics, or the inter-personal relationships between members of the community.

    The problem with trying to define community, however, is that "Community [is] defined similarly but experienced differently by people with diverse backgrounds."(1) Despite the difficulty in defining community, the study was able to identify 18 common characteristics among the respondents. These characteristics include locus, sharing, action, ties, responsibility, unity, services and survival:

    Characteristic

    My Definition

    Locus

    A community must have a physical location in relative proximity to its members. In lieu of a physical location, a common virtual location such as Twitter and IRC rooms can suffice. Face-to-face interactions are required at some point.

    Sharing

    A community exists to provide for common interests and shared perspectives.

    Action

    A community must hold events and take action to provide activities to its members.

    Ties

    A community must have social ties and relationships among its members.

    Responsibility

    Individual members of a community must be able to take a personal sense of responsibility in the well-being of the community as a whole.

    Unity

    Community requires fellowship among its members.

    Services

    Community should make available common services and programs for its members.

    Survival

    A community must be adaptable and resourceful to ensure its own survival.

     

    Lessons Learned

    I found myself taking away several important concepts from the time I have spent at various user groups and code camps in the east region.

    Extracurricular Interaction

    Extracurricular interaction and communication is extremely important for community. Imagine a new home development with a homeowners association. If the only interaction the neighbors of this development had was at the HOA meetings, would you really call the neighborhood a community? Of course not, it takes interaction outside of organized events to foster relationships and community. One thing I have found that supports this is to invite attendees to a geek dinner after every monthly meeting. I feel this is a fantastic way to help build relationships and promote interaction among a community's members.

    Leadership

    I have learned that leadership is more important than I had previously thought. Leadership in fact plays a fundamental role in the success of a true community. While I had heard this said previously, I did not understand the extent to which this is important. An effective community requires passionate and dedicated leaders who not only strive to develop community as a whole, but who also work to bring other members up into more active roles, who then become leaders in their own right.

    Along with leadership comes the understanding that community is not for the leaders, it is "by the community, for the community." I believe all of the groups I have had the pleasure of participating in already do a pretty good job of this and strive to provide relevant and worthwhile events for their attendees.

    Time

    Community is also not something that happens overnight. Relationships take time to grow and develop and have to be fostered. During this time, one of the beneficial steps I have seen user groups take is to invite all of their attendees out for food and/or drinks after each event, at the attendees cost. This is a wonderful way to help promote the interpersonal relationships required for community.

    There is also an evolution that happens within user groups as time progresses. This evolution can occur in virtually every aspect of a user group, and it is a very good thing. It helps the group stay fluid, involved, and meeting the needs of its attendees.

    Communication

    A community must be willing to openly communicate its thoughts, concerns and beliefs. One of the best examples I have seen of this communication were some discussions that took place at the CodeStock conference in Knoxville Tennessee on August 9th, 2008. While some folks disagree about the "Open Spaces" designation that was given to these discussions, I feel that what matters most is not whether it conformed to any one person's ideal or followed some technical formula, but rather the benefit it had on the individuals who participated. I myself felt immensely privileged to have taken part in those discussions with so many of my peers that I know and respect. The free flow of ideas, mutual respect of differing opinions, the flow of ideas from one to the next, no topic being off limits, and the knowledge that was imparted were extraordinary.

    If you would like to view one of these discussions, Wally McClure (More Wally!) has provided several videos on his blog about CodeStock:
    http://aspnetpodcast.com/CS11/blogs/asp.net_podcast/archive/2008/08/15/asp-net-podcast-show-122-codestock-openspaces-discussion-regarding-orm.aspx

    http://aspnetpodcast.com/CS11/blogs/asp.net_podcast/archive/2008/08/20/asp-net-podcast-show-123-community-discussion-at-codestock.aspx

    References

    1. "What Is Community? An Evidence-Based Definition for Participatory Public Health" by Kathleen M. MacQueen, PhD, MPH, Eleanor McLellan, MA, David S. Metzger, PhD, Susan Kegeles, PhD, Ronald P. Strauss, PhD, Roseanne Scotti, MA, Lynn Blanchard, PhD and Robert T. Trotter, II, PhD
      American Journal of Public Health 1929-1938,December 2001, Vol 91, No. 12
  • How did you get started in software development?

    A certain meme has been going around asking developers how they got started in software development. While I'm a little late to the game, here's my story:

    How old were you when you started programming?

    I was around 15 years old when I started playing with HyperCard and Filemaker Pro on a Mac IIci. I loved it from the start; my dad would literally have to unplug the computer for me to go to bed at night. I really didn't start getting into commercial development though until I was around 19-20 years old.

    How did you get started in programming?

    I built a couple websites during high-school using Microsoft Publisher and Microsoft FrontPage, and while I now feel these were the worst tools possible, they enabled me to visually design a web page, and then view the underlying markup. From there I moved on to glorified notepads (Dreamweaver, Homesite, Interdev, and Visual Studio). After moving back to the Philadelphia area, I bought an HP desktop and sat in front of it all day every day for about six months and just soaked up as much as I could.

    What was your first language?

    My first language was HyperTalk back in the HyperCard days. My first real development languages were Visual Basic and ASP.OLD.

    What was the first real program you wrote?

    It's been so long now that I don't remember. I built my first website in Microsoft Publisher, the second in Microsoft FrontPage, and from there, again, I moved onto glorified notepads. The first real project was probably a client website.

    What languages have you used since you started programming?

    Visual Basic ~6, Cold Fusion, ASP.OLD, Java, HTML, CSS, JavaScript, VBScript, T-SQL, etc. Not sure all of those are 'languages' per se, but…

    What was your first professional programming gig?

    My first gig was from a guy who called me up to sell me on Amway. While I wasn't interested in 'sales', he also co-owned a small software company and gave me my start.

    If you knew then what you know now, would you have started programming?

    Absolutely. For me, programming is like the only thing in life that's logical. Even when computers screw up for seemingly illogical reasons, under the covers there are some bits that can explain it. I can only tell people that it's the way my brain is wired; I don't think I could quit this business if I tried.

    If there is one thing you learned along the way that you would tell new developers, what would it be?

    For starters, find what really gets you passionate in software development, whether that's a specific technology, an industry, or a particular focus, whatever. It's really the underlying passion that counts.

    Second, understand that a career in technology means you must constantly be learning, growing, and rethinking. Technology, as well as patterns, practices and methodologies, are always in a state of constant flux. If you're not willing to commit yourself to this, you may want to find another career.

    Third, if you have the passion, don't worry so much about degrees or certifications. For me, I'd rather hire someone with a thirst for knowledge, passion in their heart, and an aptitude for programming over someone with an 'education' any day.

    Fourth, get involved in the community: attend local user groups, join the online forums, participate in community or open-source projects, etc. Not only do you get a chance to give back, but you learn so much along the way.

    What's the most fun you've ever had ... programming?

    I don't think there is any one project I can single out. The most fun I've had programming however have been client projects that significantly impacted their business. I also enjoy little personal projects, either because they were 'cool', or they helped automate and simplify something in my life, or taught me something new.

  • Selected for DevTeach Montréal 2008

    I received the news today that I have been selected as a presenter for DevTeach Montréal 2008, taking place in Montréal, QC from December 1st to December 5th of this year. I am super-excited to have been selected, and I am looking forward to some great interactions with the attendees and fellow speakers.

    I will be presenting three sessions:

    • Automation with MSBuild 3.5 and Team Build 2008
    • Building Custom Team Foundation Server Reports
    • Writing Awesome Code with VS2008 Developer Edition

    For more information about DevTeach and to register for the event, please visit the following link:
    http://www.devteach.com

    I hope to see you there!

  • MVP TV

    On Thursday, August 21st, I will be appearing as the first presenter on the new MVP TV from 12:00 PM to 1:00 PM eastern time. Here are the details:

    All the Interaction of the MSDN Chats but with the richer experience of Live meeting and hosted by the recognized world technology leaders –the Visual Studio Team System Microsoft MVP's. In this opening session of MVP TV, please join one of the most celebrated and recent Team System MVP Steve Andrews covering off 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. This is one show you will not want to miss!

    To get more information and register for this event, visit the following link:
    http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032386225&EventCategory=4&culture=en-US&CountryCode=US

    I hope to see you there!

    Posted Aug 15 2008, 06:50 PM by Steve with no comments
    Filed under: ,
Powered by Community Server (Commercial Edition), by Telligent Systems
© Platinum Bay | Some Rights Reserved Creative Commons License

Disclaimer: The information in this weblog is provided "AS IS" with no warranties, and confers no rights. This weblog does not represent the thoughts, intentions, plans or strategies of my employer. It is solely my opinion. Feel free to challenge me, disagree with me, or tell me I'm completely nuts in the comments section of each blog entry, but I reserve the right to delete any comment for any reason whatsoever (abusive, profane, rude, or annonymous comments) - so keep it polite, please.