About the ComponentOne Speaker Bureau The purpose of the ComponentOne Speaker Bureau program is to provide Code Camps and user group meetings with qualified speakers. ComponentOne also wants to provide opportunities for public presentations by knowledgeable speakers to aid them in furthering their career interests. In this series of blog posts, we’ll profile the members of the ComponentOne Speaker bureau, and their talks. To schedule a speaker bureau member, contact Rich Dudley at firstname.lastname@example.org. Please supply your event location, dates the speaker is needed, and which talk(s) you are interested in. About Jay Jay is a .NET developer, a software consultant, 2011 Microsoft MVP, and is president of Arana Software (www.aranasoft.com). He has been developing on the web for over 15 years, since the Blink tag lured him away from VB3 back in 1995. With a career focus on end-user experience, he is a strong advocate of practices and processes that improve quality through code, ranging from automated testing, continuous integration, and performance analysis, to designing applications from the user’s perspective. Jay is also an active speaker and leader in the developer community, serving as President of Ann Arbor .NET Developers and is co-founder for the Lansing and the Indianapolis Give Camp. Originally from Rochester, New York, he and his wife, Amy, have lived in Michigan since 2003. They like Michigan, but still consider themselves tourists, and probably always will. XCopy is Dead: .NET Deployment Strategies that Work
Back in 1995, when we first started deploying web sites, the copy command was enough. Our web sites only consisted of a static HTML file and a few graphics of animated lava lamps. But our systems are more complex now; instead of a dozen files being uploaded through FTP to a single web server, we have hundreds of files spread across multiple load-balanced web servers, dozens of applications interwoven in a tiered server architecture, and an expectation that it can be deployed error-free without impacting our stringent SLAs. When a tool is no longer sufficient to perform the task at hand, it is time to find a better tool. XCopy is dead; it is time for strategies that work.
Bullets Kill People: A Presenter's Guide to Better Slides
You will undoubtedly have to give a presentation in your career: a demo of your company's software to a client because the Sales Department asked for a technical resource, a pitch to your boss on that awesome development productivity tool you are trying to convince him to buy for the team, or maybe you are getting in to public speaking, presenting the latest technology trends to your local user group. Yet, everyone has had to endure horrible presentation where the audience spends so much time reading the content from a slide that you ignore the content from the speaker. Or perhaps it was a presentation where the deck was full of animated transitions right out of a 1970's made-for-TV movie. Maybe it was the slideshow that was there simply because the presenter felt obligated to have one. The quality of a slide deck can have as much impact on a presentation as the quality of the speaker. It can destroy. It can invigorate. It can shape the mood of your audience and bend it at will. Harness that power; use it to your advantage to tell your story and leave your audience inspired.
Your Spark Razored my NHaml: A comparison of popular ASP.NET MVC View Engines
By now, if you've worked with ASP.NET MVC, you've worked with the default WebFormsViewEngine that may feel like a step back 10 years into Classic ASP 3.0. But there are other options available. ASP.NET MVC was designed to use other View Engines, allowing you to to keep the same Model and Controller while using code in your Views that doesn't bring back scary memories of COM. Spark, Razor, and NHaml are all popular View Engines that have each made a statement in ASP.NET MVC circles. Let's see what they are all about, how they compare, and how they stack up to the default engine.
ASP.NET MVC: A (Microsoft) Web Coder's Salvation
There was a time when everything was moving towards the desktop. This Internet thing was new and cool, but there was no way it would ever last. And no one knew how to code for the web, at least not anything beyond animated lava lamps and cute "Under Construction" images. So, to make coding for the web easier, they made ASP.NET to be just like coding for a desktop, using the same patterns, the same event-based model, and the same stateful approach. But the web isn't stateful, its only events are GET and POST, and is nothing like a desktop, so we tortured ourselves for years forcing a square peg through a round hole. The time has come for redemption, and its name is ASP.NET MVC. Spend an hour discovering how coding for the web is supposed to be--how it is today--and end your misery. Salvation awaits.
Continuous Integration: More than just a toolset
Does your team spend days integrating code at the end of a project? Continuous Integration can help. Using Continuous Integration will eliminate that end-of-project integration stress, and at the same time will make your development process easier. But Continuous Integration is more than just a tool like CruiseControl.Net or TeamCity; it is a full development process designed to bring you closer to your mainline, increase visibility of project status throughout your team, and to streamline deployments to QA or to your client. Find out what Continuous Integration is all about, and what it can do for you.
The Geek's Guide to SEO
So, you have a web site. Your own soapbox to the world. As a developer, it seems easy for us to claim a spot on the world wide web, set up shop, customize the look and feel, and throw up some content. The hard part is attracting people to your new little flag in the sand. Hey, we majored in Computer Science, not Marketing. But there is hope: one hour of tips, tricks, and general how-to about promoting your site using programming, power toys, and other technical prowess. Our discussion will include ways to attract and appeal to search engine spiders using better tools that are freely available and better code that doesn't include learning new languages or frameworks.
Going for Speed: Testing against Performance Expectations
Unit Testing has settled into the mainstream. As developers, we write code that checks code, ensuring that the outcome matches some expected result. But, are we really? As end-users (which includes each one of us from time to time), when we ask a question, we don't just expect our answer to be right, we expect it to be right now. So as developers, why are we only going for accuracy? Why aren't we going for speed? During this session we'll discuss meeting the performance needs of an application, including developing a performance specification, measuring application performance from stand-alone testing through unit testing, using tools ranging from Team Foundation Server to the command line, and asserting on these measurements to ensure that all expectations are met. Your application does "right". Let's focus on "right now".