Attention: We are retiring the ASP.NET Community Blogs. Learn more >

Fear and Loathing

Gonzo blogging from the Annie Leibovitz of the software development world.

  • DasBlonde, Calgary bound October 29th

    One of my favorite speakers, whom I rarely get to see, is coming to Calgary. Courtesy of The Calgary .NET User Group this months speaker is Michele Leroux Bustamante, aka DasBlonde, will be presenting at the Nexen Conference Centre Theatre on October 29th at 5pm (my Birthday! Yay for me). Michele will be presenting about Windows CardSpace.

    CardSpace is a client technology that is part of the .NET Framework 3.0 that allows users to create, manage and share their digital identities in a secure and reliable manner. CardSpace makes it possible to create personal identities that replace the common user name and password for an application - with the strength of certificates and without the complexity. CardSpace also supports installing identities issued by third parties for authentication. This session will provide an overview of the identity metasystem in which CardSpace plays a role, and describe how it helps to prevent identity theft and increase trust in online transactions. You'll learn how to create and manage information cards, how they are used to generate tokens with the help of a Security Token Service (STS), and the role of the STS when CardSpace is incorporated in the authentication story for ASP.NET Web applications and WCF services and clients. You'll also learn how to trigger CardSpace from ASP.NET or WCF applications and services.

    Should be fun so come on out and welcome Michele to Calgary. You can register for the event (free) here.

  • Deep Thought of the Day

    Some people are like slinkies,
    They don't really have a purpose,
    But they still bring a smile to your face
    when you push them down the stairs.

    (found on Facebook, where else)

  • RYO AltNetConf

    There's a tremendous amount of goodness (the "new" goodness?) that's circulating around the 'sphere. Martin Fowler chimed in with his take on it and I'm glad we're all generally singing from the same song sheet.

    Jeremy Miller Jeffrey Palermo brought up mention of how the original Code Camp spread like wildfire as the format and idea was easy to implement. As time goes on, I think this is true for the AltNetConf idea. Jeff summed the idea of the AltNetConf best with this quote:

    AltNetConf's are open spaces conferences where DotNetters get together to discuss how to build better .Net software.

    Short and sweet. Just the right amount of description.

    Given this the idea of new conferences springing up and spreading the new goodness is a great idea. What does it take to start up your own AltNetConf? The passion and desire to do so. So why not? There's nothing stopping you.

    On the heels of the first one in Austin there are a few good ideas that you could use when you're building your own AltNetConf:

    • Keep the size manageable. I think the 100 person limit was great for the Austin one. This also helps you locate a place for it.
    • Self-organizing agenda. Rather than pre-canned agenda of topics, the first day/night of the conference is the time to collaborate and drill out what people are passionate about. What bugs people, what do they want to talk about. This is an agenda driven by both speaker and speakee (as I would consider everyone a speaker for each session, with someone keeping the conversation on topic rather than coffee-talk, much like a Scrum Master does during the daily standups)
    • Nothing but .NET. This isn't Alt.JAVA so the conversations follow building on Microsoft platforms using the most appropriate tool, technology, and technique that makes sense for the problem at hand.
    • Don't turn it into a vendor fest. While it may be Microsoft related, I think the last thing an AltNetConf needs is "Brought to you by [insert .NET vendor product here]". True, it should be free and things cost these days, but there are too many ideas that spiral out of control and become product showcases rather than guys and girls talking about software development.
    • Follow the OpenSpace approach to organization and flow. Just resonates on the ideas above.

    I'm at a disadvantage as I didn't directly attend the conference in Austin so I'm looking for those that were there to maybe bring out a AltNetConf retrospec. What worked well? What didn't work. What can we do better?

    So spread the news, pick a location, and start doing it. For me, I'm looking to see if we can get an AltNetConfCalgary or AltNetConfEdmonton (or AltNetConfAlberta for that matter) going so ping me if you're interested. Let's keep the momentum going!

    Hopefully lessons learned and ideas here would be applied to future conferences like this (which we all hope to see soon everywhere as we don't all need to coalesce to one single place once a year).

  • Blogging Time Machine

    Okay, I'll be the first to admit that I ego-surf. Type your name into Google and see what comes up. With Google's blog search, I like to see who's referencing things I've mentioned and whatnot.

    However today I saw this link on some Windows Live space site (not even sure what that is, some bastard child from MySpaces?) posted October 11. My name came up so I started skimming through the entry. I know it was about DotNetNuke and SharePoint so I assumed the writer was referencing my blog post from January 2006. After reading through the Windows Live space I realized it was a copy of my own blog entry I was reading (I *thought* it looked familiar as I was skimming). I got down to the end and it said "Published Tuesday, January 31, 2006 by Bil Simser".

    Right. I get it now. It's some aggregator that copies content. I've seen them before. However what befuddles my meager brain is why in the name of all that is holy is my post from January 2006 showing up in October 2007? Slow mail delivery or something. The guys crawler *just* got around to finding my blog entry?

    I just don't get it.

  • In the Queue...

    Stuff that is swirling in my head and being worked on coming shortly to this blog:

    • Updates on SharePoint Forums and KB Web Projects for Office 2007 support
    • Continuous Integration Build Indicators (via X10 and some fancy integration with Cruise Control.NET)
    • What does Alt.NET mean to you and growing the Alt.NET community
    • Greenfielding Agile in the Enterprise
    • Making sense of the *DDs
    • Sessions for Edmonton Code Camp (Oct. 20)
    • Getting ready for XNA 2.0 and driving out games with TDD
    • Fixing a dead TFS server with Subversion

    Feel free to toss your own ideas on the pile that you would like to see...

  • Join me for my first geekSpeak show in November

    I'll be presenting a webcast in November (November 14th at noon PST to be exact) via the MSDN geekSpeak group. Here's the blurb about what geekSpeak is from their site:

    geekSpeak is a new kind of webcast series, hosted by Jacob Cynamon and Glen Gordon (from the MSDN Events team). Dispensing with slide decks and scripted demos, geekSpeak webcasts bring you industry experts in a sort of "talk-radio" format. These experts share their knowledge and experience around a particular developer technology. You'll hear about industry trends, new technology, real-world experiences and more. During the webcasts you will be able to have your questions answered realtime, hear lively discussion and debate, and add your comments to the fray. Who knows, you might even see a whiteboard sketch or an off-the-cuff demo. It's another way for you - the developer - to engage with Microsoft in an interesting and effective way!

    So tune in and hear me blather on for an hour or so about Tricks of the WPF Programming Gurus. We'll play around with WPF, look at what we can (and can't) do with it, build some cool apps, talk about Mort (kidding!), and generally nerd out.

    I'm looking for a lot of the content to be driven by the listeners as that seems to be the geekSpeak way and hey, when in Rome...

    You can register for the event here.

  • Calgary Agile Project Leadership Network (APLN) 2007/2008 Kick-Off

    Calgary APLN is a local chapter of the Agile Project Leadership Network (APLN). The APLN is a non-profit organization that looks to enable and cultivate great project leaders. I've worked with Janice before and Mike is a well known person in the Agile community and an awesome presenter so check this event out.

    Description:  The Calgary chapter of the Agile Project Leadership Network (APLN) invites you to the APLN 2007/2008 Season Kick-Off Meeting.
    Guest Speakers: Janice Aston and Mike Griffiths
    Date: Wednesday, October 17th, 2007
    Time: 12:00pm - 1:00pm
    Location: Fifth Avenue Place Conference Room, Suite 202, 420 - 2 St. S.W.
     
    Come and experience Agile planning in action at the Calgary APLN season kick-off meeting. If you are interested in how to run effective agile projects here is your opportunity to help choose the presentation topics for this season's talks and workshops.

    Agenda

    • Welcome and overview of Calgary APLN group
    • Report on new initiatives from the APLN
    • Brainstorming of topics for 2007/2008 season
    • Affinity grouping and ranking of topics
    • Top 5 list identified

    About the Speakers

    Janice Aston has over 16 years of project management experience with an emphasis on delivering business value. She is passionate about building high performing teams focused on continuous improvement. Janice has a proven track record delivering on project commitments with a heart for leadership and people. She has recently founded Agile Perspective Inc. specializing in creative collaboration.

    Mike Griffiths is an independent project manager and trainer with over 20 years of IT experience. He is active in both the agile and traditional project management communities and serves on the board of the APLN & Agile Alliance, and teaches courses for the PMI. Mike founded the Calgary chapter of the APLN in 2006 and maintains the Agile Leadership site www.LeadingAnswers.com .
     
    Please visit www.CalgaryAPLN.org for more details and to sign up for this event.

  • Justice Gray IS Kyle Baley! (and Tyler Durden too)

    For those of you who have never seen Fight Club, ignore this post. If you haven't seen it, go rent it then come back and read this blog entry. It's okay. I'll wait.

    Back yet?

    No?

    It's okay, I'm still waiting.

    Back?

    Good.

    There is a conspiracy on the Internet tonight and it's name is Justice Gray.

    image

    Perhaps you've seen the metrosexual hunk of a software consultant present at an Edmonton Code Camp. Or have you? Or were you really looking at this man:

    image

    You see dear friends, it is my experience and understanding that we've all been shim-shamed. Hoodwinked. In reality, Justice Gray is Kyle Baley!

    First let's take the letters for Justice Gray and Kyle Baley and mix them up a bit. What do we get?

    "A celibate sly jerky guy"

    Yup.

    You read it here. Justice Gray is not the metrosexual guy you think he is, he's really a eunuch. Definitely a man. But is he real or not?

    Kyle I can vouch for. I've worked with him and we've stood in the same room (but not the bathroom). He's not just a disembodied voice on the phone from the Bahamas (although recently he has been) nor is he some crazed lunatic writing blog entries furiously in the dead of the night (although he does sometimes). No, he's quite real.

    Justice on the other hand falls in "another" category. You see I don't recall ever meeting him myself. Ever. He's bailed on my Edmonton User Group presentations and was absent from our spectacular-spectacular dual-screen head-to-head XNA presentation at Code Camp. Again, where's the proof that he's real?

    And more importantly, and I can categorically state this to be true, "I have never seen Justice and Kyle together in the same room at the same time!".

    Just like Batman and Clark Kent.

    Go figure.

    But wait dear reader, the conspiracy does not end there!

    I believe that Justice Gray is really the Tyler Durden of Kyle Baley. How so? Because any time Kyle wants to meet Justice, Justice just happens to not be able to show up. Edmonton User Group. Calgary Code Camp. Alt.net conference.

    The proof? I have it right here...

    Take the letters from Kyle Baley and Justice Gray and they form the name “Tyler Durden”.

    Well, almost.

    Okay. So what if we’re missing a couple of ‘D’s and a few other letters but there’s a conspiracy here I tell you!

    ORIGINAL: JUSTICE GRAY AND KYLE BALEY

    RESULT: TYLER DU??EN

    Missing: RD

    LEFT OVER: JSICEGAYAKYBA

    When you take the remaining letters and put them together they form the phrase “Say Big Cake Jay”.

    So in summary:

    1. Kyle Baley's real name is Jay
    2. Justice Gray's real name is Jay
    3. Kyle Baley is Justice Gray. They are the same person!
    4. At some point in Jay's tortured life he was asked by his mother to "Say Big Cake". I believe he could not pronounce this phrase and rather it came out as "Play Fig Make" which emotionally scarred him for life and has branded him to live behind this facade I'm revealing today.
    5. Justice Gray is just a figment of everyone's imagination. You have never seen him present nor does he really exist. The man you were looking at was Jay.

    Don't believe me? Invite them both to dinner and see who shows up.

    Well that just says it all doesn’t it? Jay, wherever you are man, I love you.

  • Alt.NET, stop talking just do it!

    Hopefully the last of my Alt.NET soapbox posts for the day. There was a post by Colin Ramsay that while was quite negative about the whole Alt.NET thing (it was called Abandon Alt.NET) but it contained a single nugget that I thought was just right for the moment:

    If they really wanted to change things then they should be writing about their techniques in detail, coming up with introductory guides to DDD, TDD, mocking, creating screencasts, or giving talks at mainstream conferences, or producing tools to make the level of entry to these technologies lower than it is.

    I argue we've been doing this. Just visit the blogs at CodeBetter, Weblogs, and ThoughtWorks (these are just three aggregates that collect up a bunch of musings from Alt.NET people, there are others as well as one-offs). There's noise to the signal, so you have to sift through it but the good stuff is there if you look hard enough.

    I totally agree with Justice (and others) in what he said on the mailing list:

    Looking at this from a perspective of the conference participants being the developers and the general .NET community being the "client" in this case, how much value is the "client" going to derive from either:
    a) what our mission statement is
    b) what we choose to name this group?
    in comparison to actual involvement with devs, recaps of sessions, evangelism efforts?

    So just do it. Enough with the name bashing, mission identity, who is and who isn't, and all that fluff. No fluff. Just code. Just go out and write. Blog. Present. Mentor. Learn. And if you're already doing that, you're ahead of the game.

  • !Alt.NET

    I live in a Alt.* world. Have been all my life. I prefer the alternate movies over mainstream. I would rather sit and watch an art film from 1930s German cinema than the latest slap-fest from Ben Stiller. I prefer alternate music over mainstream. Give me Loreena McKennit or Mike Oldfield over Britney Spears and Justin Timberlake anyday. So it's only natural I'm sucked toward the Alt.NET way of software development.

    Back before I was into this software thing I was an artist. I jumped from graphic design to commercial advertising. During my 7 year itch I spent a good part of it in comics, and more precisely the alternate comics. I never tried out for Marvel or DC (although a Marvel guy who shall remain nameless liked my stuff and invited me down to New York to talk to them) so the alternate scene for me was Dark Horse, Vertigo, and Image. These were the little guys. The guys who preferred glossy paper over stock comic newsprint. The guys who were true to reality and weren't afraid to show murder, death, kill in the pages. I did a comic once about drug dealers in Bogota, Columbia (and the band of 5 guys [think A-Team but cooler] who would bring them down). The writer put something simple on the page like "the drug industry in Columbia was everywhere". If I was at Marvel or DC, one might draw the factories and lots of trucks, people packaging up the drugs, and shipping them off to the Americas. However this was Alt.Comic land and we told it like it was. I thought showing drug addicts (including one guy shooting up in an alley on one panel) mixed in with the tourists was the way to go. It was deemed a little racy and I was asked to tone it down, but it wasn't censorship and in the end I got to express what I really intended to do. I felt like I had made a difference and wasn't going to let the mainstream way of doing things cloud my judgement.

    Alright, back to software development. I still don't know if I'll call myself an Alt.NETter simply because I'm not sure it's clear what that means. Any Alt.* movement in the world has it's basis in reality. Alternate art, movies, and music were created as a way to exercise expression of freedom, not just to be different. What is it that we look at in the "mainstream" way of software development that bothers us (enough to create an Alt.NET way). This really doesn't have anything to do with Microsoft does it? However many people have tagged MS as being the "evil empire" and using Microsoft tools is the wrong way, Alt.NET is the right way. Even the name seems to resonate against .NET and way Microsoft does things.

    To me, Alt.NET means doing things differently than some whitepaper or robotic manager tells you how to do it because that's how it's been done for years. Alt.NET is any deviation from the "norm" when that norm doesn't make sense anymore. Maybe it made sense to shuttle fully blown DataSets across the wire at the time, because the developer who wrote it didn't know any better. However in time, as any domain evolves, you understand more and more about the problem and come to a realization you only need these two pieces of information, not the whole bucket. And a simple DTO or ResultObject will do. So you change. You refactor to a better place. And you become an Alt.NETter.

    It's not about doing things differently for difference sake. You see a flaw in something and want to correct it (hopefully for the better). Perhaps BizTalk was chosen as a tool when something much smaller and easier to manage would have worked (even a RYO approach). Dozens of transactions a day instead of thousands and no monitoring required. If there's pain and suffering in using a tool or technology, don't use it. When you go to the doctor and say "Doc, it hurts when I do this" and he replies with "Don't do that" that's what we're talking about here. If it pains you to go in and maintain something because of the way it was built, then there's a first order problem here in how something was built (but not necessarily the tools used to do the job). That's my indicator that something isn't right and there must be a better way.

    As software artists we all make decisions. We have to. Sometimes we make the right ones, sometimes not so right. However it is our responsibility if we choose to write good software, to make the right decisions at the right time. Picking a tool because it's cool doesn't make it right. Tomorrow that tool might be the worst piece of crap on the planet because it wasn't built right in the first place. Software is an art and a science. There's principles we apply but we have to apply them with some knowledge and foresight to them. Even applying the principles from the Agile Manifesto require the right context. Individuals and interactions over process and tools. We stay true to these principles but that doesn't mean we abandon the others. I use Scrum everyday and pick the right tools for the right job where possible. It's a balance and not something easy to maintain. If all you do is stick your head down and code without looking around to see what's going on around you, you're missing the point. Like Scott Hanselman said, you're a 501 developer and don't really care about what you're doing. You might as well be replaced with a well written script. For the rest of us, we have a passion about this industry and want to better it. This means going out and telling everyone about new tools and techniques, demonstrating good ways to use them, explaining what new concepts like DDD and BDD mean, and most of all being pragmatic about it and accepting criticism where we can improve ourselves and the things we do.

    I suppose you can call it alternative software development. I think it's software development with an intelligent and pragmatic approach. Choose the right tool for the right job at the right time and be open and adaptable to change.