Ruminations of idle rants and ramblings of a code monkey

Bikers, Geeks and Community

Idle Babbling | Community
When motorcyclists pass each other in opposite directions, they wave at each other. Watch them sometime; you’ll see this happen. A lot of non-motorcyclists (we call them “cagers”) don’t notice this until it’s pointed out but you’ll see it if you look for it. It doesn’t matter if you are riding a crotch rocket or a Harley, a Goldwing or a dual-sport, if you are suited up in all leather and a helmet or are riding with no gear at all, bikers will still wave. If a motorcyclist sees another biker stopped on the side of the road, they will usually stop to check and see if they are OK. That’s just how it is. When commuting, bikers will also sometimes join each other in traffic and ride together for a time as their commute allows. Again, you’ll see this. But I’d bet you never even considered that those two bikers didn’t know each other. There are also biker-specific forums – I’m on Two Wheeled Texans – that all kinds of bikers participate in. There are also group rides; random people hooking up just to ride together. Some are random groups from the boards, some more “organized”. For example, TWT has a monthly “Pie Run” to a small restaurant in a small town in Texas and there will be anywhere from 80 – 250 bikers show up, on ALL kinds of bikes from ALL over Texas. I even saw someone at one of the Pie Runs on a vintage 1943 Army issue Harley! Bikers will also get together for a “Bike Night”. As the name implies, it’s an evening for bikes and bikers to hang out together at a local restaurant/ice cream shop/parking lot/whatever. I can often be found at “Katy Bike Night” on Wednesdays, munching on empanadas with anywhere from 3 to 20 fellow TWT’ers. There is a strong sense of community among motorcyclists that is built on a common, shared experience … namely riding a motorcycle. We share a love for riding, feeling the wind blowing over us. We also share common dangers and risks - for the most part, “cagers” are the greatest risk but that’s not the only one (think … weather … a 45 MPH crosswind is absolutely, positively NOT FUN). Sure, we have our differences – every group does - but the sense of community is stronger than that. Yes, there are some individual exceptions to this but, as a rule, that’s how it is. And those that get snobby about their “group” are considered rude at best. And I won’t even mention “squids”. Why do I mention this? Well … it’s that community thing. I’ve been involved in the developer community for some six years now and the biker community for about 2 years. I can tell you, the biker community is much stronger and, even more importantly, much more inclusive. In the developer community, there is – and let’s be honest here – a huge wall separating technologists with different specializations. Java guys don’t talk to .NET folks and they don’t talk to PHP folks. Linux folks don’t talk to Microsoft folks. Sure, there are exceptions here and there but the rule is different; we don’t intermingle. Do you know of any boards online where you have PHP and .NET and Java folks all mixin’ it up together in harmony? I certainly don’t. Even boards that cater to all types of technologists will have different forums where techies of like technologies congregate, with very little interaction between the groups. We tend to get wrapped up in our own areas of technology and look at technologists in other areas with wariness at best. Certainly one difference is competition … if Java is chosen as a technology at a given company, the .NET folks will be looking for work. And, again, vice-versa. That’s not the case with motorcyclists – it has no impact on my life if a fellow biker buys a new Ninja or a new Goldwing … I can appreciate both and it has no bearing at all on my ability to provide for my family (even if you won’t get me caught dead on a Goldwing!). But there’s something more than that – overall, there also seems to be little interaction between infrastructure/network folks and developer types even in the same technology area. When you think about it, it’s actually quite silly. Yes, there is that competition but I can’t see why we can’t be more like the motorcyclist community … inclusive and sharing what we have in common (which is quite a bit) rather than focusing solely on our differences. All of us have a love for technology and we all have the same gripes and issues with end users, customers, managers and the like. Regardless of our technology, there is much that we can share and much that we can learn from each other. Even if that’s only an appreciation for other technologies. I think it’ll be interesting to walk into a PHP user group. I’d bet that they are little different from the .NET user groups that I go to. I won’t say anything. Well, I’ll try not to say anything or too much at least. Not there to convert them, spy on them or any other such nonsense. Just getting a feel. Who knows … maybe I could persuade one or two to see what a .NET user group is like. And get them cross-pollinating with .NET folks going to PHP user groups. It won’t be the end of the world by any stretch of the imagination. But it certainly make the community much more interesting. And maybe … just maybe … we’ll take a step towards breaking down these silly walls that would divide us. We’ll see …

.NET Dojo: Silverlight!

.NET Stuff | Community | Events
We’ve got the next .NET Dojos scheduled - Todd Anglin will be presenting Silverlight! There will be a dojo in Austin as well as Houston. Here are the details: Overview: Microsoft officially released Silverlight 2.0 in October 2008 as a platform for .NET developers to build rich internet applications (RIAs) that run cross-browser and cross-platform. Silverlight 2.0 introduces a whole new way of developing .NET applications. It is blurring the lines between what it means to develop for the web and the desktop, enabling .NET developers to rethink how they build and distribute applications. Topics covered include: Silverlight tools, Silverlight controls, Silverlight APIs, data access, and some security. What you will learn: Todd Anglin will guide you through a combination of lecture and hands-on labs where you will learn everything you need to know to get started with Silverlight 2.0. Specifically, you’ll learn how to work with Silverlight in Visual Studio and Expression Blend, how to use Silverlight controls, how to interact with the HTML DOM, how to access and manipulate data, how to use isolated storage, and secure your Silverlight applications. We’ll go from Silverlight 101 to 301 in about 4 hours and you’ll leave with all the essential tools you need to start building real applications with Silverlight today. Prerequisites: To fully participate in this workshop, attendees will need a laptop with the following: ·        Visual Studio 2008 Professional or higher (trial is okay) with Service Pack 1 installed ·        Expression Blend 2.0 or higher (trial is okay) with Service Pack 1 installed ·        Silverlight Tools for Visual Studio 2008 SP1 installed (free) ·        Deep Zoom Composer installed (free) ·        Silverlight Toolkit December 2008 or higher (available on CodePlex) Times, dates and registration links: Austin (Microsoft Office): March 9, 2009 1:00 – 5:00 PM. Register now. Houston (Microsoft Office): March 13, 2009 1:00 PM – 5:00 PM. Register now.

Presentation content posted!

Community | Events
Finally getting caught up on getting my presentation content posted. First, there’s the “Building your First Cloud Service” that I delivered at the Aggieland .NET User Group and the North Houston .NET User Group. Next, there are 2 presentations from Houston TechFest: The OWASP Top Ten Review and the ASP.NET Url Routing demo. Enjoy!

TechFest Sessions

Community | Events | User Groups
Sessions, that is, that I’m doing or participating in. :-) First, I’ll be participating in Zain’s session on VIrtual Worlds and Virtual World Evangelism. I’ll only be showing a bit of stuff for a few minutes … really just to showcase some of the things that can be done in Second Life. Next … the one that I signed up for originally … the OWASP Top Ten. This will review the vulnerabilities on the OWASP Top 10 (duh!), explaining each one and explaining how the .NET (and ASP.NET) platform can help you mitigate these vulnerabilities. It’s been very well received when I’ve done it on other occasions and it’s security … something that I’m pretty passionate about. Finally … this just in and HOT off the presses (as in, I just finished writing the demo!) … I’ll be doing a session on add Url Routing (from Fx 3.5 SP1) to existing applications. It’s already the magic goo behind MVC and Dynamic Data … but there’s no reason that you can’t use it for your current apps to provide clean, purty Urls in your applications. I’ll start at the very beginning with an ASP.NET app with all kinds of ugly Urls - they grew organically, so there’s no consistency in the names which, of course never happens in the Real World(tm). Then I’ll add routing in step by step by step … culminating in adding in a configurable (as in, from the web.config), reusable routing component for adding to these types of applications. Should be pretty cool. I’ll post the code for this when I’m done and I’m certainly using this in CSK. So … with that, I’m outta here and I’ll see (some of) you tomorrow at TechFest!!

Austin's First .Net Dojo! (Windows Communication Foundation)

.NET Stuff | Community
Ever since I posted about .Net Dojo, I’ve had quite a few requests to have it elsewhere. Well, after seeing Pablo’s Day of TDD and how awesome that was, I got this little notion that it might be cool to do .Net Dojo in Austin. And … also … well, this format was kinda new and I wanted to give it a trial run or two before I started doing more. So, with that said, we’ve got the very next .Net Dojo scheduled for Austin … our first one out there! It’s going to be the same as the last Houston event and, judging from the feedback that I got on the Houston Dojo, it’s gonna rock! Here are the details: When: November 3, 2008  1:00 PM – 5:00 PM Where: Microsoft Austin Office Overview: Windows Communication Foundation (WCF) is Microsoft’s strategic technology for building distributed, connected systems. Initially released with .NET 3.0, it has been significantly enhanced in .NET 3.5 to support the various web programming models including SOAP, POX, WS-*, REST and RSS/Atom syndications.  Topics covered include: SOA basics, WCF architecture, WCF bindings, hosting WCF services, WCF behaviors, WCF security and some design best practices. What you will learn: Stephen Fulcher will guide you through a combination of lecture and hands-on labs where we will learn how to implement the various web programming models with WCF. Specifically, we will cover SOA basics, WCF architecture, WCF bindings, hosting WCF services, WCF behaviors, WCF security and some design best practices. Prerequisites: To fully participate in this workshop, attendees will need an open mind and a laptop with: -  Visual Studio 2008 Professional or higher (Trial is OK) with Service Pack 1 -  Windows PowerShell 1.0 (optional, but recommended) -  Microsoft SQL Server 2005 Standard or Express -  A CD-ROM drive to load additional components and lab files. Now that you have the details, I know that you want to go here and register now. Hope to see y’all there!

C# SIG Presentation

I have uploaded (finally) the presentation that I delivered to the C# SIG last Wednesday, July 16 to my SkyDrive. You can download it here. I did make some little modifications to it though ... and they address one of the outstanding questions of the evening ... how does ASP.NET Role-based security work with ASP.NET Dynamic Data? Well, it's pretty simple and straightforward, actually. Some background first. ASP.NET Dynamic Data uses SP1's UrlRoutingModule to map requests to the correct table ... with the name of the table appearing as a directory on the web site. So, when editing the "Products" table, the URL will be http://mydatasite/Products/[NameOfView]. Adding authentication and authorization for the entire site is a no-brainer; just add the authorization element into the web.config with the proper entries and you're done. Doing it for individual tables is just about as easy; in this case, you just need to add a location element to your web.config and configure the settings for the location. For example:<location path="products"> <system.web> <authorization> <allow roles="Products"/> <deny users="*"/> </authorization> </system.web> </location> In this case, we have defined a role called "Products" that can edit (and view, of course) the products table, but no one else can. This will behave exactly as would a "real" folder in any ASP.NET web site using role-based authorization with the built-in RoleManager (regardless of where the roles are actually coming from!). As I said, I added this to the demos that I uploaded. All access to the site is authenticated; no anonymous users are allowed. There are 2 roles - Products, which can edit the Products table and HR, which can edit the Employees table - and 3 users. All users have the same password (Pass@word1). Here's the breakdown: User ID Role User1 HR User2 Products User3 <No Role>   You can, of course, get a bit more complicated than this, but you'd have to do some additional customization of the different pages to do that.


Community | User Groups
In my previous post, I said that I'd be talking about ADO.NET Data Service. I'm not sure what happened to my brain, but that's not what I told Harry. I will actually be talking about ADO.NET Dynamic Data. Hope to see you there tomorrow!!

Presenting at the C# SIG

Community | User Groups
Boy, I'm on a blogging roll today, eh? I've got one more in the works that'll go out by the end of the day too.  The ol' keyboard is taking quite the pounding. :-) I announced this last night at HDNUG, but Bill reminded me that some folks may not remember it all (there was a lot going on last night) and besides, I meant to blog it anyway. Bobby Schaffer's Beginning C# SIG and Harry Nystrom's C# SIG will be meeting at the Microsoft offices on Tuesday, July 15. Bobby's SIG will be kicking off at 6:00 PM, where he will be talking about Inheritance in C#. Harry's SIG kicks off, I think, at 7 (maybe 7:30) and I will be there talking about ADO.NET Data Services, a killer-cool piece of .NET Framework and Visual Studio SP1, currently in beta. For each SIG, I'll also be giving away a copy of Visual Studio 2008 Professional ... so, yes, that's 2 copies of Visual Studio 2008 Pro!!! Food? Hmmm ... yeah ... typically it's BYOF (that's bring your own food). But ... ya know ... yeah, what the hell ... I'll spring for pizza & drinks.

GiveCamp Update ... Help Needed!

Hey all ... I mentioned that we're getting GiveCamp finalized and we're still working on it. But ... I'm having a challenge here. A big challenge and I'm asking for some help, if you can. We need a place to have the camp ... a "givecampground" if you will. BravoTech in Dallas provided the Venue for the event there and it's been hard to find a facility down here that would work just as well.  Here's what we need: Access all weekend, from Friday at about 3:00 PM to Sunday about 8:00 PM, with availability of Internet access. Small breakout spaces for teams. We're targeting 10-15 charities. This is actually quite easy and we have a lot of folks that can do this. Each team wouldn't necessarily need more that 1 or 2 connected cubicles. And, judging from our experience in Dallas, not every team would be there all weekend, though some certainly would be. Lunch area/cafe: for food to be brought in and accessible. Again, this is pretty common and easy. Larger meeting area/conference area/etc. that would hold about 70 people. This is the hard part. This would be for the kickoff and the closing, so it's not something that would need to be open and available for the entire weekend. Even if it's a "shared" room in the building, that's certainly a possibility. I did have a location in mind ... and someone that agreed to let us use it, but that last bullet turned out to be the killer. I'm still following up on some leads as well, but I figured I'd reach out to the Houston community folks to see if anyone had any suggestions/comments/offers. If you do, just shoot me an email via this blog. Thanks all!

Looking for GiveCamp?

I know, I put a little note in MSDN Flash about GiveCamp, telling everyone to check here. Well, here's a quick update: we're coming down the final stretch on getting the time, place and registration in place. This will be in place by the end of the week, I hope.  What is GiveCamp? It's a full weekend where IT professionals donate their time and talent to local charities, helping these charities with their IT needs. As you can imaging, charitable organizations tend to run pretty lean and they depend heavily on volunteers for a bunch of stuff, including IT, and they have many of the same needs as every other customer that we work with. But ... on a lean budget, they really cannot afford to hire folks ... again, they depend on volunteers. GiveCamp reaches out to local charities and asks them to submit proposals for projects that they need done. We then match the projects to the IT folks with the talent they need. The IT folks/developers from the community then work on the project and make it happen. Why on earth would I do this? Yeah, I know, you aren't getting cold hard cash. But ... you are getting something more. You get to give back to your community, help make your community a better place and have a positive impact on the lives of other people. It's incredible. It's amazing. You come out of it with a sense of accomplishment that you really don't get with any other project. You know that you've done something bigger than yourself. How do I know this? Well, I participated in the We Are Microsoft event in Dallas ... this is the "renamed" second rev. I also participated in a project called KatrinaSafe a couple of years ago. I simply cannot put into words how fortunate I was to be a part of both of those. KatrinaSafe, in particular ... wow. So ... it's well worth the time. And it's good for your soul in addition to being a heck of a lot of fun. Oh, yeah, and I almost forgot. There will awards for the best solutions too. What do you need? Well, sponsors for one. It'll be a full weekend and we'll need sponsors for those things that developers need ... caffeine, food, snacks, etc. Also, donations of prizes for the top developers/teams. And donations of software/components for the projects. We'll be pretty open to any and all help we can get. If you are interested, contact me using the form here on this site. I'm a charity and I need help!!! Awesome! We'd love to hear from you. Charities will be able to register on the site when it gets up. You'll also be able to submit your projects. It'd be good for you to go ahead and start getting things together ... what do you need? What are your goals? We'll be looking for project proposals to help us get the right folks matched to you. If you have any questions, feel free to contact me, again, using the form on this web site.