Events

Desert Code Camp and Desert Code Camp Jr

In the past few years, I've been privileged to learn and network at Desert Code Camp.  When I jumped the fence to teach, it was an honor to learn from y'all as I shared the skills you'd taught me previously.  Many years ago, I began by teaching an intro to CSS and a team-taught SVN class.  Last code camp, I taught Thinking in JavaScript, Intro to jQuery, and Advanced jQuery including building plugins and animations.  I also got to learn about ASP.NET MVC, programming usb gadgets, and unit testing JavaScript -- to name a few.  It was a blast. For anyone...

Continuous Integration

It's my pleasure tonight to present Continuous Integration: best practices, methodologies, and tools at the SEVDNUG.  Continuous Integration is the process of rebuilding the code in its entirety periodically and automating awkward deployment processes to create a more consistent product.  Tonight we discussed these business cases, the tools and techniques available, and best practices to use when implementing a continuous integration process. It isn't difficult to get an automated build going.  Really the most difficult part is getting a one-line command to build it.  Be it batch files, calling Visual Studio's command line, or NAnt or MSBuild tasks, once you've got...

Testing: Methodologies, Best Practices, and Tools

I had the privilege to speak at the SEVDNUG yesterday about Testing. When we typically think of "Testing", we usually use the term "Unit Testing", yet we usually mean "Integration Testing" or "Functional Testing". This was definitely not a demo on how to use NUnit, but rather a specific look at the reasons for testing, the best practices for writing tests, and a look at popular and obscure tools to facilitate the task. During the presentation, we looked at many tools: NUnit, TestDriven.NET, Resharper's test runner, TypeMock, Selenium, Ivonna, NUnit's RowTest TestCase (I still think 'RowTest' is more descriptive than 'TestCase',...

Desert Code Camp Sessions

Yesterday we had an awesome time at Desert Code Camp learning from each other and sharing ideas with each other. I got to present 3 sessions during the day, and here are the slides to each: Thinking in JavaScript Intro to jQuery jQuery Deep Dive ** NOTE: For some strange reason, my server wants to gzip zip files when it downloads them, leading to a double-compressed file. If you're downloading the zip files in IE, it'll tell you the file is corrupt. The fault is totally mine, but the...

jQuery demo at SEVDNUG

It was a blast to present deeper concepts of jQuery at the SEVDNUG this evening. We enjoyed discussing ajax in jQuery, calling web services and page methods, building and using plugins, animation, and general best practices for JavaScript. The content from the demo can be found here. Note that because of a server misconfiguration, the file will come down double-zipped. Firefox seems to download the file just fine, while IE seems to choke every time. For quick reference as well, here's the contents of the Resources page: Tools FireBug http://www.getfirebug.com YSlow http://developer.yahoo.com/yslow/ ...

jQuery - LINQ to JavaScript

I had the privilege of presenting jQuery at Desert Code Camp today.  jQuery is the do more, write less JavaScript library.  Because it runs client-side, it can be used easily with any server framework.  There's nice support for intellisense in Visual Studio 2008 as well (with a bug-fix update). jQuery basically breaks down into two operations: picking things, and doing something with those things.  Picking things is done via a CSS / XPath strign describing the DOM nodes you want to do.  This returns an array of DOM elements (wrapped nicely in a jQuery object) that get passed into each of...

Thinking in JavaScript - A-ha!

I had the great honor of presenting 'Thinking in JavaScript' at the Java Users' Group last night. I love leading a discussion of learning, and this was a great example of it. I was even asked during conversation afterwards if I was a member of 'the club' [the Java Users' Group -- JUG]. Well, do I have to know Java to be part of the JUG? I guess not. What a fun and welcoming crowd. Our premise was thus: you know object-oriented development. You know C-style syntax from either C, C++, Java, C#, or any...

CSS A complete Journey at Java Users Group

I was asked on short-notice to fill in for the Java Users Group, and to present CSS. I have so much fun speaking, teaching, and learning with fellow developers that it was a no-brainer to say yes. However, what was so unique to me is I'm not a Java developer. I'm a C# / ASP.NET developer. It really emphasized to me one of the really cool truths of internet development: there are 1000 server-side technologies and web servers you can use to host your content, but at the end of the day, there are just 3...

Thinking in JavaScript for the C# Developer

I had the great privilege and honor of presenting "Thinking in JavaScript" at the SouthEast Valley .NET Users Group this evening.  All in all, I had a ton of fun.  If anyone else got anything out of it, all the better. The main point of my discourse was that JavaScript isn't hard by any means, it just takes an introduction to how it thinks.  Microsoft's ASP.NET AJAX has made it feel much more like the .net languages we're used to.  But there are still some inherent differences between a compiled language and a dynamic language. The main focus of the discussion is...

Object Oriented JavaScript

Desert Code Camp 2007 really rocked. I taught a class on Object Oriented JavaScript -- basically how JavaScript is different from the C# and ASP.NET we're used to, and how to think like JavaScript. The slides are available here. Thanks everyone for coming and making it a great show.

CSS - A Complete Journey

I taught 'CSS - A complete journey' at the Arizona .NET Users' Group last night. It was a blast! I can't wait to teach again. In the CSS presentation, we started with zero CSS knowledge, and built up the basic commands and syntax, inclusion of CSS in a page, and the box model. From there, we dived head-first into positioning, comparing and contrasting float, position, and clear. The thesis of the presentation was two-fold: For the CSS novice, you can take as much from CSS as you'd like. Start with styling fonts and...

Desert Code Camp parting thoughts

Desert Code Camp truely rocked. It offered a pot-po-ri of skills, tallents, and contacts. I only wish I could've attended more sessions. I came away with a huge laundry list of things I want to investigate, and things I need to do. As a presenter, I noticed I needed to put my slides online _before_ the sessions, not after. The other thing I noticed: my blog is very empty. I make no promises, but hopefully, more brain seepage will make it's way here. Rob

Subversion at Desert Code Camp

Desert Code Camp was October 28, 2006. It rocked! Among other things, I co-taught 'Intro to Subversion' with Wendy Smoak. It was incredible. I felt somewhat selfish in that I think I learned the most. For those of you who missed it, it was a great adventure. The main thesis of the presentation was that source control isn't hard, and you can get Subversion running now. Wendy has made a really nice online article of screen shots and slides. Check it out here. A PDF of the powerpoint slides is also available here. Rob

Generics at Desert Code Camp

Desert Code Camp was October 28, 2006. It rocked! Among other things, I taught 'Generics'. In hind-sight, it would've been helpful to specify this was .NET Generics. I had quite a few questions on how this applied to Java. Sadly, I haven't a clue (yet). For those of you who missed it, it was a great adventure. The main thesis of the presentation included the following points: Generics give you type-safe collections & nullable value types. Using these types gives you compile-time type checking, and performance benefits. Incorporating Generics into new and existing projects is...

Intro to CSS at Desert Code Camp

Desert Code Camp was October 28, 2006. It rocked! Among other things, I taught 'Begining CSS'. In hind-sight, I wish I had taught the 'Advanced CSS' class too. The class went very well, and many said they learned a lot. For those of you who missed it, it was a great adventure. The main thesis of the presentation was you can get into CSS at any level you'd like, exploit it's strengths, and leave the rest. Hopefully, once you've got a feel for it, and it becomes a valuable tool, you'll see more value in...