Quantcast
Channel: Craig Shoemaker
Viewing all 56 articles
Browse latest View live

Understanding CSS Specificity

0
0

CSS Specificity is the litmus test used to decide which of the ‘cascading’ styles in CSS will ultimately take precedence when the page is rendered in the browser. This short video demonstrates a quick way to quantify CSS specificity making it easy for you to know which CSS rules will render and which are overridden.


Painless Virtual Machine Management with XP-More

0
0

Working with beta software is hazardous to any developer’s machine, but betas are also a way of life. Therefore a good virtual machine strategy is important in order to keep those beastly betas at bay. XP-More is a open source tool that helps ease the pain of creating and managing VMs.

Here’s an excerpt from the project’s home page:

What is XP-More?

XP-More is a tool that helps manage Windows 7 Virtual Machines (XP Mode and any other). Specifically, it makes duplication of VMs a no brainer - no more raw XML editing and manually duplicating files.

Why is XP-More needed?

The built-in VM management capabilities are quite basic. If all you're looking for is an XP environment, you can make do with that. However, if you'd like to duplicate existing VMs, there's some delicate manual work you'll have to do. That is, unless you have XP-More. XP-More is a free and portable tool, which helps you manage your virtual machines. Want a new environment where you can test-drive the latest VS2010 RC? Want to create a backup of an existing installation before you make some changes? Just click a button, and your done.

Download XP-More here!

Podcast: Advanced MVVM with Josh Smith

0
0

Author, Microsoft MVP and accomplished pianist Josh Smith, Sr. UX Developer at IdentityMine, joins the show to discuss some of Model View ViewModel’s more advanced scenarios.

Listen to the Show

Full Speed: download
Fast Version: download

Josh shares is experience using MVVM gives some real-world advice on:

  • Using modal dialogs
  • Evils and virtues of code behind in views
  • Use of attached behaviors
  • Undo/redo strategies
  • Working with animations
  • Building a task based architecture for managing communication between View and ViewModel
  • Frameworks in the MVVM space

The Book

Get first-hand experience implementing the solutions to the challenges discussed in the show by reading Josh’s new book ‘Advanced MVVM’.

Resources

The following resources are mentioned in the show:

Podcast: MVC Turbine with Javier Lozano

0
0

Javier Lozano (@jglozano) joins the show to discuss his project MVC Turbine. What is Turbine? The official website states:

MVC Turbine is a plugin for ASP.NET MVC that has IoC baked in and auto-wires controllers, binders, view engines, http modules, etc. that reside within your application. Thus you worry more about what your application should do, rather than how it should do it.

Listen to the Show

Full Speed: download
Fast Version: download

MVC Turbine

During our conversation we discuss the following questions and topics:

  • What is MVC Turbine?
  • What are some practical examples for using Turbine?
  • Javier discusses the concept of a Turbine “blade”
  • How Turbine works with Portable Areas as well as with the Managed Extensibility Framework
  • How Turbine facilitates dependency injection and service locator (Javier strongly advises against using service location, but Turbine will support it)
  • Learn about Turbines main areas of functionality:
    • Registration
    • Engine
    • Blades
    • Container
    • Custom features
  • Inferred actions – how Turbine will return a view that doesn’t have a controller if you are trying to access a static page
  • Injectable filters: hydrate instances of filter classes from injection from Turbine
  • Register a filter directly to a container
  • What about Turbine for non-MVC applications?
  • Turbine Version 2.1 is now available
    • Turbine now batches registrations
  • Future plans
    • Leverage MEF

Resources


Mastering ASP.NET 4 on TekPub

Check out my latest series on TekPub, Mastering ASP.NET 4. This is a working-programmer’s guide to getting up-to-speed on all the new advancements found in ASP.NET 4.

Windows Phone 7 and the Robotic T-Shirt Cannon with Clint Rutkas

While is New Orleans for TechEd I had the opportunity to interview the brains behind the robotic t-shirt cannon highlighted at MIX10. Check out this short interview with Coding 4 Fun’s Clint Rutkas where he talks about building the Windows Phone 7 controller for the robotic cannon!

The Fundamentals of WebMatrix

0
0

Earlier this week Scott Guthrie announced the release of WebMatrix – a new developer tool and development stack based off ASP.NET. I’ve been playing around with WebMatrix and the new view engine called Razor by experimenting with an upcoming jQuery rating control from Infragistics as well as building a personal website.

WebMatrix is simple to use and and Razor syntax is a lot of fun, but when learning something new it’s nice to have some docs handy. One of the goals that the ASP.NET team had with the release of WebMatrix was to have a rich set of documentation to accompany the release. Going beyond help files, what they are providing is more of a book than traditional toolset or framework documentation. Here are links to each chapter:

  1. Getting Started
  2. Coding with Razor Syntax
  3. Creating a Consistent Look
  4. Working with Forms
  5. Working with Data
  6. Working with Files
  7. Working with Images
  8. Working with Video
  9. Adding Email to your Website
  10. Adding Social Networking
  11. Analyzing Traffic on your Website
  12. Adding Caching for Faster Websites
  13. Adding Security and Membership
  14. Introduction to Debugging
  15. Customizing Site-Wide Behavior
  16. ASP.NET Web Pages API Reference
  17. Visual Basic Language and Syntax

A book, in fact, is exactly what they are calling it. If you are interested in a slimmed-down path to web development for quick sites and people just getting started in web development then WebMatrix and this book may be perfect for you. 

There is only one problem – every book needs a cover! So I cracked open Photoshop and imagined this:

Getting Started with WebMatrix Beta

Note: The "stack" image is courtesy of the WebMatrix product page.

Who knows... maybe it’ll make its way to official website? ;)

Quiz: Is WebMatrix Right for You?

0
0

Last week I published a few posts on WebMatrix and Razor. The first was a preview of a jQuery Rating Control in WebMatrix with Razor from Infragistics and the other was a fun post displaying my imagined  cover  for the WebMatrix book.

I was a little disheartened though when I got this comment on one of the posts:

Wow, that looks pretty horrible.  I hope that the examples are just the usual marketing fluff to show how easy it is, and not intended to be how apps are actually written in this thing.  Reminds me of the worst parts of PHP and ASP, before folks started understanding how to apply good separation of concerns to web development.

Now to be honest when I read the first line, I thought he was saying my design was horrible, but then I realized that he just didn’t get the intent of the WebMatrix effort. My guess is that this is the kind of guy I'd like to spend a couple of hours talking shop. I can tell from his passion that he's an accomplished developer who cares deeply about the quality of guidance and frameworks/tools that are made available to the developer community. The thing is these new tools aren't intended for him and in all probability, WebMatrix is not for you.

WebMatrix is a stack and tool for folks just entering the ASP.NET development arena. The hope is WebMatrix will provide an easy on-ramp to the enterprise worthy frameworks for the those new to the party. WebMatrix is more concerned with you learning the fundamentals than allowing you to effectively separate the concerns of your application, unit test every aspect of your site or create an n-tier solution.

So I thought what better way to illustrate the point than with a silly little quiz to help guide the way! With all apologies to The Oatmeal, I present to you:

Podcast: HTML5, CSS3 and More Developer Enhancements in IE9

0
0

Senior Project Manager for Internet Explorer, Pete LePage (@petele), joins Pixel8 to discuss the upcoming HTML5 and CSS3 support for IE9 along with a review additional developer enhancements coming in IE9.

Subscribe to the podcast!

What’s Coming in IE9?

  • Hardware acceleration
  • HTML5
  • CSS3
  • JavaScript optimizations
  • Selection API
  • Media queries

HTML5… So What’s Taking So Long?

  • The spec has some stable parts, but much of it is still some still volatile
  • Pete discusses how the W3C will decide when the HTML5 spec is “done”
  • Dangers of developing against a moving target (for browser makers as well as web developers)

HTML5 in IE

You can experience the ongoing support for HTML5 by visiting http://ietestdrive.com:

Parts of HTML5 that are support in IE9 include:

 

Also in the interview…

Pete and Craig also discuss:

  • Are the Browser Wars Back?
  • What is the Platform Preview?
  • How is JavaScript processing affected?
  • What parts of the CSS3 spec are being implemented in IE9?
  • How do media queries work?
  • What does the selection API do?

Professional Activity August 2009 to Date

0
0

Every year around this time I turn my attention to what I’ve done over the past year in order to update my MVP profile. While the engine Microsoft provides has many ways to list accomplishments and activities, I’ve always had a difficult time trying to find the right way to list my activities over the year.

Often at the end of the year bloggers will list links to the “greatest hits” posts for readers to review. I thought I’d turn it up a notch. The following links represent just about everything I’ve done from August 2009 to date.

Hopefully you’ll find something fun or valuable below that you may have missed this last year :)

Pixel8 Podcast Episodes

Polymorphic Podcast Episodes

Blogs

ASP.NET Blog

Infragistics Blog

Infragistics Product Screencasts

Infragistics Product Articles

Video Interviews


How a User Group Gave Away Over $65,000 in Prizes with Class

0
0

Inland Empire .NET User Group

James Johnson I had an amazing time last night at the Inland Empire .NET user group run by Founder and President James Johnson (@latringo). The celebration marked the 3rd annual Most Valuable Member awards ceremony. Thanks to Mr. Johnson this user group meeting went far beyond what you think of when you consider a typical meeting. There was catered food, three presentations, an endless stream of giveaways and a true sense of community!

The night began with James welcoming the group of 50 or so members and guests with a quick recap of the last year. Here are some of the highlights:

  • A steady stream of accomplished presenters
  • Two 10-week weekend study programs featuring in-depth training on ASP.NET MVC and SQL Server
  • A thriving book review program featuring over a dozen reviews and $450 in review awards given back to members
  • Status on the support for the a sister group, the Zambian Developer’s User Group

After thanking sponsors and prepping the crowd for the first presentation, the food arrived. When was the last time you saw something like this at a user group meeting?

Dinner

More pictures here.

Presentations

The second act of the night were three short, yet dense presentations on a wide array of topics.

Tales from Access 2007 in the Wild

Llewellyn Falco

I don’t remember the title of Davis DeBard’s talk off the top of my head, but he quickly plunged the audience into a series of Access gotchas with strategies of how to deal with each problem. One of the points that sticks out the most is his mention of “phantom breakpoints” that cause an Access application to hang even when it’s not being run in debug mode. Davis rolled out a number of these types of tips and tricks that made for an interesting talk even for someone who doesn’t live in the Access world.

The Worst of Legacy Code – Forensic Development

Llewellyn Falco Jason Kerney

The next talk given by Llewellen Falco (@isidore_us) and Jason Kerney (@bagheer) entitled “The Worst of Legacy Code – Forensic Development”. This was not only my favorite talk of the night, but perhaps one of best technical presentations I’ve ever seen. Their talk began with an engaging introduction where Llewellyn introduced Jason and then Jason returning the favor. There was stage presence to the format and and they had my undivided attention from the moment they began.

This talk had it all, they told a story, they were funny and even worked a few skits into the talk. The tag-team approach of Llewellyn and Jason complimented the material as they seamlessly transitioned from one principle to the next.

Okay enough gushing about the delivery – the content was superb as well :)

The premise of the talk lies in imagining you are a developer whose job is simply to maintain code. You are a maintenance programmer who must work with code that you probably did not write and certainly were not in charge of up-front design. What if you are this developer at at 4:30pm on Friday the pointy-haired boss tells you that that bug #54 must be fixed before you leave for the weekend. How do you go about finding the bug? How do you know if the bug is really fixed?

One of the first things they did was pass out a sheet of paper with some of the code to debug during the talk. Look close… what do you see?

Legacy code to debug - in Russian no less!

Debugging code you are unfamiliar with is bad enough, but they endeavored to teach you to debug code that is in Russian no less!

The concepts are simple yet powerful:

  • Run the code: Try to simply run the code as-is. Try to ignore database connections and any other environmental dependencies
  • Peel off hindrances: Should a database connection or access to the file system stop you from running, “peel” this code off in to a separate method and attempt to move into working code by bypassing the dependencies
  • Slice out embedded errors: If there are some errors deep in the code, “slice” them out of the method by using mock objects

The metaphor they used was how you might approach eating a mango:

The 'mango' metaphor brought to life

In the end, the audience was given tools to use the very next day on debugging existing applications.

There was a lot to take away, but some of my favorite quotes from the presentation are:

Don’t think if you don’t have to...

This means let the compiler tell you where the problems are. Systematically peel and slice at the code until you get to the core problem.

Don’t be creative if you don’t have to...

When you create new methods to support the extracted maintenance code don’t try to design an API. If you are working on CreateLoans and you extract some logic to a new method, a name like CreateLoans2 is perfect.

Forensic development indeed!

SmartCare

Llewellyn Falco

The final presentation of the night delivered by Lynn Langit (@llangit) is noteworthy for a completely different reason. Lynn shared her experience working with Zambian developers to create SmartCare. The SmartCare system is an electronic health record system that, among other things, uses smart card technology to store patient medical records. Lynn’s involvement with the projects has spanned a number of years and her dedication and passion for the people of Zambia were paramount to her talk.

To learn more about the SmartCare system, watch Lynn’s interview with Mwansa Lumpa during the 2009 TechEd Africa.

Most Valuable Member Award

The final act unfolded when James began to describe the Most Valuable Member program to the audience. The origins of the program come from James’ 8 year helm of the user group and his desire to see members more involved. The incentive program of Most Valuable Member came to life when James began awarding points for members to:

  • Help with meeting setup and tear down
  • Write technical blog posts
  • Conduct book reviews
  • Help facilitate meetings
  • etc..

Silence fell across the room when James announced that as he began to work with sponsors, the prize packages valued at $20,000 for the two runners-up and a whopping $25,000 for the final Most Valuable Member winner!

2009 – 2010 Inland Empire .NET User Group Winners

Other Notable People in Attendance

Full Disclosure

My employer, Infragistics is a sponsor of the Inland Empire .NET User Group and provided sponsorship for the MVM event. I also think James Johnson is one of the nicest guys you’ll ever come across ;)

Software Craftsmanship with David Starr

0
0

David Starr (@ElegantCoder) is the Curriculum lead on Developer Tools and Practices with Pluralsight. His enthusiasm and passion for raising the bar in software development makes him perfect to join the show to discuss software craftsmanship. David explains what craftsmanship is, how it’s related to the agile movement and how to get started. When he’s not busy leading classes for Pluralsight David hosts Pluralcast podcast and is the founder of ElegantCode.com.

Listen to the Show

Full Speed: download
Fast Version: download

Resources

ASP.NET Sprite & Image Optimization Framework Intro in WebForms

Fundamentals of HTML5 Talk at SoCal .NET User Group

0
0

I had a great time last night presenting the Fundamentals of HTML5 to the friendly faces at the SoCal .NET User Group. Lionel Wong and Art Villa run a great group!

During this talk, I discussed the new semantic tags and the various JavaScript APIs available in HTML5. If you were at the meeting and would like to review the code, you may download it here.

Podcast: Introduction to HTML5

0
0

The web is a-swirl with talk of HTML5. (Seemingly even Windows 8 programming is soon to include HTML5). With all this talk come some questions:

  • What exactly is HTML5 anyway?
  • Is HTML5 just the next iteration of XHTML?
  • When are you able to use these new features and which parts of the spec are still in their infancy?
  • What is the significance of the year 2022? (Hint: it’s not the end of the world!)

In Introduction to HTML5 I answer these questions and more. During the show I review the new sematic markup and HTML attributes along with the JavaScript API’s slated to ship with HTML5.

Enjoy!

Listen to the Show

Full Speed: download
Fast Version: download

Resources

Free HTML 5 Training - Today is the Day to Begin Your HTML 5 Journey!

0
0

If you haven’t noticed yet the guys at Pluralsight have made my Introduction to HTML 5 course available for FREE for the next couple of days during BUILD. While this course is available you’ll learn all about the new HTML 5 tags and JavaScript APIs. Demos include:

  • creating new HTML 5 semantic markup
  • using the new FORM input types
  • working with the Canvas element and API
  • working with VIDEO and AUDIO elements

While you’re there you’ll notice that there is a huge library of useful courses, so I hope you get a chance to take a look around. Once acquainted with the basics, you may want to move on to the HTML 5 Advanced Topics course which takes you through:

  • building HTML offline applications
  • locating devices through geolocation
  • saving state with Web Storage
  • implement UI threading with Web Workers
  • implement server messaging with Web Sockets
  • expose HTML data to users as well as machines with Microdata

A huge thanks to the Pluralsight team for making this all possible!

HTML 5 Offline Web Applications Webinar Downloads

0
0

Thanks to all who joined me this morning for my HTML 5 Offline Applications webinar compliments of the guys at Pluralsight. I had an opportunity to dig a bit into the application cache API as well as discuss some of the distinctions between local storage, client-side databases and offline applications. Thanks for all the great questions!

The code shown in the demos is available for download here. The only part excluded from the download is the “donut-hole” caching sample I showed at the end. That code will appear in an upcoming MSDN article and I can make it available for download once the article is published.

If you have any questions, feel free to catch me on Twitter or contact me via email.

If you like what you saw and want to dig in further into HTML 5, make sure to spend some quality time with my HTML 5 Fundamentals and HTML 5 Advanced Topics courses. These two resources will surely give you a head start on your journey into HTML 5!


Presentation: ASP.NET Ajax Library at the Los Angeles .NET User Group

0
0

Thanks to all who joined my tonight at UCLA for my talk on the ASP.NET Ajax Library. If you are looking for the code to download from the talk you can get it here.

Mastering ASP.NET Ajax Library on TekPub

0
0

When Rob Conery (@robconery) and James Avery (@averyj) announced TekPub, I remember thinking, "why didn’t I do something like that!?" :)

If you are not yet familiar, TekPub is website that provides high-quality screen-cast series on various subjects. The current catalog features the following series:

What’s nice about a TekPub series is that you get professionals taking you step-by-step through a given technology. Books are great, but there’s always a little added magic when you get to see and hear the implementation and explanation of what’s being presented.

Sure, I’m biased though because I am very excited to tell you about the latest series in the TekPub family ‘Mastering ASP.NET Ajax Library’.

Mastering ASP.NET Ajax Libarary series on TekPub

In this series I plan to cover the following aspects of the ASP.NET Ajax Library:

  • Introduction to the Framework
  • Script Loader
    • Basic Concepts
    • Using the CDN
    • Managing Dependencies
    • Integrating Custom Scripts
    • Lazy Loading Scripts
    • Minifying Scripts for Debug and Release Modes
  • DataView Control
    • Basic Concepts
    • Introduction to Declarative Data Binding
    • Introduction to Imperative Data Binding
    • Changing Data Sources
    • Changing Item Templates
    • Working with Different Binding Modes
      • Auto
      • One Way
      • One Time
      • One Way to Source
      • Two Way
    • Working with Binding Customizations
      • Custom Value Converters
      • Default Values Converters
      • Default Values
    • Template Manipulations
      • Creating Headers, Footers and locating alternate rows
      • CSS Class Conditional Assignment
      • Formatting Bound Items
    • Fetching Data
      • Static HTML
      • ASP.NET WebForms
      • ASP.NET MVC
    • WCF Data Services Integration
      • Working with the Data Context Control
      • Declarative Approach
      • Imperative Approach
      • Examples of the Unit of Work pattern
  • Observer Pattern Framework
    • Basic Concepts
    • Working with Single Objects
    • Working with Arrays
    • Disconnected Bindings
  • Case Study
    • Implementing an editable grid

This is just a preliminary outline as ASP.NET Ajax is currently in beta and the series will also cover further changes up until the RTM release.

The price is modest for the series, $20 for all the episodes, but feel free to check out the first episode on the ScriptLoader for FREE! *

* Update: You get the first 12 minutes for free, my mistake :)

Expert Tip

I record and watch a lot of screencasts, so take it from your uncle Craig and download the video files and play them at 1.4x, 2x or even faster speeds so you can digest the information as quickly as possible. If you miss something or you need to review, you can simply slow playback to the normal rate and rewind, but having this type of “consumption control” is one of the great reasons to use audio and video for learning!

Episode 3 of ‘Mastering ASP.NET Ajax Library’ Now Available

0
0

Watch Mastering ASP.NET Ajax Library now!

The latest episode of my series Mastering ASP.NET Ajax Library is now available! In this episode you’ll see how to inject code into a DataView in order to customize how the template is rendered. You’ll also learn about the $context, $element and $index pseudo columns.

My favorite part about this episode is when we explore all that’s available with the instance of the $context pseudo column. There is so much already available to you during data binding!

I am currently working on episode 5 where I take you step-by-step through the Library’s implementation of the Observer pattern. I hope you are able to get the series. Hopefully it helps makes developing Ajax applications a little more fun and makes you more productive!

Podcast: The Invisible UI : Natural User Interfaces with Josh Blake

0
0

Josh Blake of Infostrat joins Pixel8 to discuss NUI development in .NET. Josh is the author of the upcoming book Multitouch on Windows from Manning. Reaching far beyond theory and the niche market of Microsoft Surface, NUI development is now possible with Silverlight and WPF development on Windows 7 and Windows 7 Mobile devices.

Subscribe to the podcast!

The Natural User Interface (NUI) was a prominent force at MIX10. What is NUI? Wikipedia defines it as:

Natural user interface, or NUI, is the common parlance used by designers and developers of computer interfaces to refer to a user interface that is effectively invisible, or becomes invisible with successive learned interactions, to its users. The word natural is used because most computer interfaces use artificial control devices whose operation has to be learned. A NUI relies on a user being able to carry out relatively natural motions, movements or gestures that they quickly discover control the computer application or manipulate the on-screen content. The most descriptive identifier of a NUI is the lack of a physical keyboard and/or mouse.

In our interview Josh demystifies what NUI is, makes a distinction between gestures and manipulations, and talks about what is possible today for NUI development.

For more from Josh make sure to check out his book:

and watch his MIX Presentation:

Developing Natural User Interfaces with Microsoft Silverlight and WPF 4 Touch

Resources Mentioned in the Show

Check out the following videos that show the roots and future of NUI development:

Jeff Han's Multi-Touch TED Presentation

Microsoft Surface

Project Natal

MIX10 Day 2 Keynote

A few times during our talk Bill Buxton’s work is mentioned. To see his segment of the MIX10 day 2 keynote, click below:

Presentation: ASP.NET Ajax Library at Southern California .NET Architecture User Group

Viewing all 56 articles
Browse latest View live




Latest Images