Totally Off Topic: So I Was Digging Around in a Cabinet

6/26/2008 8:07:01 PM

I was digging around in a cabinet I hadn't probably opened in years and years.  I'm thinking about selling my townhouse and trying to move a bit upmarket since prices are good, and its got me doing a bit of house cleaning.  I digress.

What did I find in said cabinet?  A veritable treasure trove of old RPGs.  Yep, a bunch of Shadowrun stuff, some Torg, and a good stack of GURPS, and some other pieces and parts.  It was so much fun to flip through the pages and revel in a lot of old gamer memories.  I can't remember the last time I actually played an RPG.  It has been at least a decade, maybe more. I continued to buy RPG stuff that caught my eye even after I stopped playing since many of them are almost like buying a mini-novel in a way.  That little trip down memory lane really made me miss playing, though I am not sure if I could get into it as much as I used to, but maybe I could.  Finding the time to do it is one challenge, and getting a group together is likely to be an even bigger challenge since walking into a group of unknown gamers is not something I am likely to do and I tend to run the game instead of be a player.

So with the sad realization that I would probably never RPG again, what did I do?????

I read a few pages here and there from the various games, put the books back, closed the cabinet, and will plan on digging back in there for another nostalgia trip in a couple of days......



Spaghetti Code Podcast - XNA with Chris Williams

6/24/2008 12:08:18 PM

Shall we play a game???  Immortal words for those of us that grew up in the 80s.  This installment of Spaghetti Code is all about developing games with XNA and guest, Chris Williams.  Chris is a Microsoft MVP, head of the Twin Cities XNA User Group, and developer of the classic game Heroic Adventure.  Chris and I sit down and talk about game development with XNA, getting started, technical stuff, and game development in general.

  • Direct Download - click here
  • Subscribe - click here
  • iTunes - click here
  • Tags: ,


    Spaghetti Code Almost Live - Finding Extensions via RemoteLoader and Reflection

    6/20/2008 6:38:00 PM
    The journey continues... ;-) It looks like it will take at least one, maybe two, more screencasts to fully cover how ExtensionManager is used to interact with Auxillary AppDomain and RemoteLoader.

    In this screencast, I show you how RemoteLoader looks for custom extensions of a requested Type in a specific assembly.  There are  couple of rough spots in the code, but it works and it gets the point across on how you would go about loading assembly for reflection only.  This includes how to resolve dependencies on other assemblies.

    You can get the code for HorseNET here.


    Tags: ,


    Podcasting Kit for SharePoint

    6/19/2008 2:53:41 PM

    While getting a podcast scheduled with Kris Nyreen to talk about some of the cool stuff he has been doing with Silverlight, he called this to my attention - Podcasting Kit for Sharepoint.  I will steal his feature list and repost it here, and an impressive list it is:

  • Listen and watch audio/video podcasts, anywhere on your PC or mobile device (Zune, SmartPhone, or any podcasting device)
  • Share content by producing your own audio/video podcasts and publish them on PKS on your own.
  • Connect and engage with podcasters via your integrated instant messaging program
  • Find the most relevant content using the five star rating system, tag cloud, search engine and provide your feedback via comments.
  • Get automatic podcast updates by subscribing to RSS feeds fully compatible with Zune and other podcasting devices
  • Simple RSS feed based on a defined podcast series
  • Simple RSS feed based on a person Dynamic RSS feed based on search results Play podcasts in real-time using Microsoft® Silverlightâ„¢ and progressive playback
  • Retrieve instant ROI and metrics with the ability to track the number of podcasts downloaded and/or viewed, instant feedback via rating system and comments, and subscribers via the RSS feed
  • Access the richness of SharePoint to extend the solution: workflows, community sub-sites, access rights, editorial and more
  • Customize your own PKS User Experience
  • Very cool - check it out at

    Tags: ,


    Spaghetti Code Almost Live - Extension Manager Intro

    6/19/2008 10:36:00 AM
    Moving ever closer to being able to GUI up and pick the ponies, this video kicks off a series of vids (well, at least two) that will focus on building an Extension Manager.  The Extension Manager is the code I will be using to find and use custom extensions (filters and and analyzers).  I opted to not use the System.AddIn framework.  It is a bit overkill for what I want to do and I wanted something simpler and easier to set up and get going.  I think the solution I came up with is still pretty flexible so I'm happy with it and that is all that matters.


    This is just a short intro video that does a recap of what we are trying to build and shows how the Extension Manger will get a second app domain set up that will be used to find and load our custom extensions.



    Tim Gets Me Thinking...

    6/16/2008 11:06:39 AM

    Tim Barcz blogged about attending a session at the recent ALT.NET conference that centered around why people choose a first gen Microsoft product (but you can apply this to any vendor really) over a more mature open source project.  You can read Tim's thoughts here.  Tim gives a good example of one of the big benefits of open source and that is being able to fix the source when you encounter an issue, but I'm not sure it really tackles the original question though - "why some (many) developers, managers, and executives feel comfortable choosing a brand-new Microsoft product when a far more mature open source alternative exists?"

    Tim demonstrated one great aspect of having open source - being able to fix bugs on your own or modify the code to suit your particular application or scenario.  But the reason Tim talks about for not wanting to go open source in the first place (lack of known viability and a desire to NOT have to support that code base) still exists.  Yes, you were able to fix an issue, but you are still responsible for maintaining and versioning that code from now on.  Now, if you submit the bug fix back to the project and it gets rolled into the code base, life is good. 

    Yes, having the source is nice in the scenario Tim paints - fixing bugs, extending, whatever.  But it does not alleviate the original problem of "I don't want to support that code."  Now for larger open source projects, that is probably not a valid reason to not choose open source since they have become so large and popular that they have a high probability of being around for a long time.  For small to medium projects, however, the long term viability may be a bit more dicey.  If I have a "big vendor" solution where I have a higher degree of confidence that it will be around for a while (yes, vendor solutions sometimes "disappear" as well), then I have mitigated the support risk out of the equation.  Yes, I give up a lot in exchange for that, but it is a trade off that makes business sense in a lot of cases.

    Now some will say, "but if vendor A discontinues that project" or "if Vendor B goes belly up" you are much worse off because you don't have the source.  I don't agree because what I am really faced with is a migration effort to another supported platform or taking on support of someone else's code.  If my desire is to mitigate the amount of code I have to support, having a particular closed source solution basically needs I would need to migrate as opposed to take on a software support activity.  That is a valid goal for organizations where software development is not their core competency. (because I have the source does not mean I have the time, resources and/or technical expertise to support it or even take advantage of it). I shudder at having to think of having a large code base that I am now responsible for making sure runs on the next version of x dev platform or y operating system.  I think this stems from a lot of open source advocates of not realizing that if your business is making widgets, your really don't want to get in the habit of directly supporting any more code than you absolutely have to.  If I have limited on staff dev resources, I can see a lot of scenarios where I would rather bite the bullet and migrate than take on support.

    Another way to look at it is the exploding interest in SaaS applications.  Companies today do not want to even support applications on premise if they can avoid it.  They would much rather let someone else support certain applications since it is cheaper and a better utilization of the company's core competency assets.  But for some reason being able to bring large amounts of source into my organization with the idea that I may some day have to support it and say that that is always a good thing doesn't make a lot of sense.  That is a very broad brush to use and by no means am  I saying that open source is bad, shouldn't be used, etc.  There are a ton of great open source solutions out there, but there are a ton of good reasons to go with vendor solutions (even less capable ones) if you look at things through a different lens.  I don't think its a slam dunk either way and both sides can be right depending on the solution, the vendor, and the company.


    Slick Thoughts

    Aspiring Architect Series 2008

    6/13/2008 9:23:02 AM

    The Aspiring Architect Series 2008 builds on last year’s content and covers a number of topics that are important for architects to understand. Please make sure that you have gone through the 2007 series which can be found at . Hopefully you will find the upcoming series to be a very useful investment of your time.

    June 16th, 2008 – 12:00 p.m. to 1:00 p.m. – Introduction to the aspiring architect Web Cast series

    June 17th, 2008 – 12:00 p.m. to 1:00 p.m. – Services Oriented Architecture and Enterprise Service Bus – Beyond the hype

    June 18th, 2008 – 12:00 p.m. to 1:00 p.m. – TOGAF and Zachman, a real-world perspective

    June 19th, 2008 – 12:00 p.m. to 1:00 p.m. – Services Oriented Architecture (Web Cast in French)

    June 20th, 2008 – 12:00 p.m. to 1:00 p.m. – Interoperability (Web Cast in French)

    June 23rd , 2008 – 12:00 p.m. to 1:00 p.m. – Realizing dynamic systems

    June 24th, 2008 – 12:00 p.m. to 1:00 p.m. – Web 2.0, beyond the hype

    June 25th, 2008 – 12:00 p.m. to 1:00 p.m. – Architecting for the user experience

    June 26th, 2008 – 12:00 p.m. to 1:00 p.m. – Conclusion and next steps



    Software Development Meme

    6/12/2008 3:15:59 PM

    Brian Moore, my boss BTW ;-), tagged me on answering some questions about how I got started in software development.  This post is actually part of a series of posts from different bloggers - kinda of a blog based chain letter and could eventually turn into a Six Degrees of Developers type of deal. ;-)

    Here is how it made it's way to me...

    Michael Eaton (post) —> Sarah Dutkiewicz (post) —> Jeff Blankenburg (post) —> Josh Holmes (post) —> Larry Clarkin (post) —> Brian Moore (post)

    See my answers below...

    How old were you when you started programming?

    Hmmmm... I'm trying to think back that far.  ;-)  I can remember hanging out at the local Radio Shack watching older kids play the pre-cursor to Zork on a TRS-80, but I didn't really start writing my own programs until I could bang out copies of BASIC programs on a C64.

    What was your first language?


    What was the first real program you wrote?

    My first "real" program was written on some terminal based system as a freshman in high school.  I don't know if it was a VAX or what (I didn't care really), but I wrote a program that allowed you to enter up to three "martial arts" commands, like Block Middle, Kick Low, Punch High.  Another player would then enter his commands and I would use a matrix to look up and report the damage results.  You played until you knocked the other guy out.  It was actually based on an article from Dragon magazine.  It was real popular for a while. ;-) 

    What languages have you used since you started programming

    Hmmmm... BASIC to start.  I learned some PASCAL on my own, had to do Fortan in my orbital mechanics class, I then moved on to C/C++.  After that, I've done serious programming in Java, ADA, VB, C#, and javascript.  I've played around with Perl, Ruby, and probably one or two more that I can't remember.  I'm not a language geek.

    What was your first professional programming gig?

    In the Air Force, despite being an infrastructure guy, I helped write some help desk software for our department.  I followed that up with an inventory management application that sat on top of SMS 1.0.

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

    Probably, but I always wonder what would have happened if I had pursued my dream of being a professional butt model.

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

    Wow, it all depends on where they want to go.  If you want to be a programmer forever, then focusing on the the "disciplines" is the way to go - design patterns, architecture, etc.  If you don't think you will be a programmer forever, those things are still important, but soft skills, articulating technology, etc. are very important. 

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

    The thing I love most about programming is just solving a problem.  Its the "art" side of the job I appreciate and enjoy the most.  Because of that, I think the stuff I wrote early was the most fun since I really didn't care about "good" code, it was just about creating something.  I remember developing a C++ app that took the gaming system for cyberspace combat from the game Shadowrun and turning that into a computer "game".  I use "game" loosely since it only allowed the GM and player to "fight" each other via the keyboard than rolling dice. 

    It was cool. It has a designer for laying out the "Matrix" and a way to trick out your hacker console and load various combat programs on it.  The GM did the same and then you would fight.  It wasn't a perfect replica but it was good enough and I had a ton of fun writing it.  I slept only a few hours a night as I would code all day/night after getting of work from my Air Force day job. 

    Who am I calling out?

    Scott Colestock

    Javier Lozano

    Bryan Sampica

    Kirstin Juhl



    World's BEST WCF Resource?

    6/12/2008 11:44:54 AM

    PAG Let me say, as a developer I really love WCF.  It's straight-forward to write you code, it's flexible, and it provides built-in support for lots of different scenario.  The thing I hate, yes I said hate, about WCF is the configuration.  It seems like I bang my head against it every time I build an app.  Even doing simple things can result in confusing errors if you mis-configure one little piece and its hard to track those errors down.

    The Patterns & Practices folks have release a Beta of guidance titled Improving Web Services Security: Scenarios and Implementation Guidance for WCF.  When you look at the table of contents, you see a beautiful laundry list of all the common scenarios.  Very nice and a bit overdue IMHO.  Combined with WCF Security Guidance, there is finally all of the info you need to be able to set up WCF correctly for your particular scenario. 

    Good stuff!



    Microsoft Project: Code Name 'Velocity'

    6/9/2008 1:27:19 PM

    I'll let the description from the web site do the talking...

    “Velocity” is a distributed in-memory application cache platform for developing scalable, available, and high-performance applications. Using “Velocity,” applications can store any serializable CLR object without concern for where the object gets stored because data is cached across multiple computers. “Velocity” allows copies of data to be stored across the cache cluster, protecting data against failures. It can be configured to run as a service accessed over the network or can be run embedded with the distributed application. “Velocity” includes an ASP.NET session provider object enabling storage of ASP.NET session objects in the distributed cache without having to write to databases, which increases the performance and scalability of ASP.NET applications.

    You can check out CTP 1 here.



    Powered by BlogEngine.NET
    Theme by Mads Kristensen

    About the author

    Jeff Brand Jeff Brand

    This is the personal web site of Jeff Brand, self-proclaimed .NET Sex Symbol and All-Around Good guy. Content from my presentations, blog, and links to other useful .NET information can all be found here.

    E-mail me Send mail


    <<  August 2014  >>

    View posts in large calendar

    My Twitter Updates


    Recent comments


    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2014

    Sign in