Scott Hanselman

Hanselminutes on 9 - ASP.NET MVC 2 Preview 1 Released

July 31, '09 Comments [5] Posted in ASP.NET | ASP.NET MVC | Channel9 | Podcast
Sponsored By

Virtual Scott HanselmanI was up in Redmond this week and stopped by to visit my Video Portal in Phil's Office. I wanted to see where I virtually sit.

While I was there, Phil gave me/us/you a tour of ASP.NET MVC 2 Preview 1.

Be sure to read ScottGu's post on ASP.NET MVC 2. The best point:

  • Today’s preview works with .NET 3.5 SP1 and VS 2008, and can be installed side-by-side on the same machine as ASP.NET MVC 1.0 (meaning they don’t conflict and your existing ASP.NET MVC 1.0 projects will not be impacted if you install it).

Quoting from the ASP.NET MVC Roadmap, the theme for ASP.NET MVC 2 is "Improved Productivity and Enterprise Ready."

ASP.NET MVC 2 Features

Preview 1 - Early August

  • Templated Helpers - allow you to automatically associate edit and display elements with data types. For example, a date picker UI element can be automatically rendered every time data of type System.DateTime is used. This is similar to Field Templates in ASP.NET Dynamic Data.
  • Areas - provide a means of dividing a large web application into multiple projects, each of which can be developed in relative isolation. This helps developers manage the complexity of building a large application by providing a way to group related controllers and views.
  • Support for Data Annotations - Data Annotations enable attaching validation logic in a central location via metadata attributes applied directly to a model class. First introduced in ASP.NET Dynamic Data, these attributes are now integrated into the default model binder and provide a metadata driven means to validating user input.

Preview 2 and beyond

  • Client Validation - builds on top of the Templated Helpers and Data Annotations work done in Preview 1 to provide client-side validation based on the model's validation attributes. This provides for a more responsive experience for users filling out a form with validation.
  • Strongly-typed input helpers – allow generating form input fields using code expressions against the model. This allows the helpers to take advantage of Data Annotations attributes applied to the model and reduces errors caused by lack of strong typing such as typos.
  • Strongly-typed link helpers – allow developers to take advantage of Intellisense support (due to the strong typing) to discover which controllers and actions are available for linking.
  • Asynchronous Controller Actions - provides a programming model for writing actions that can call external resources without blocking a thread. This can increase the scalability of a site that needs to interact with web services and other external services.
  • Areas - continued refining of the Areas feature, enabling a single project approach for developers who wish to organize their application without requiring multiple projects.
  • Other Improvements - continue to fix known issues carried over from ASP.NET MVC 1.0 as well as ASP.NET MVC 2 Preview 1. Also including API improvements based on user feedback along with minor new features.

There's lots of cool stuff (release notes are here) and in this video Phil shows off Templated Helpers. There's a walkthrough of Templated Helpers in the Pre-Release Documentation as well.

Remember, it's a preview, so there's still time to give feedback. Blog about it, complain in the forums, or bug us on Twitter.

I hope you enjoy the video!

Related Links

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Hanselminutes Podcast 172 - Dan Bricklin on Technology

July 26, '09 Comments [4] Posted in Podcast | Programming
Sponsored By

image My one-hundred-and-seventy-second podcast is up. Dan Bricklin is an innovator and entrepreneur, and created VisiCalc, the first electronic spreadsheet in 1979. He's just written a book called Bricklin on Technology full of observations, stories, case histories and insight into the human aspect of technology. This week he sits down with me. (So cool! Woot!)

Links from the Show

Subscribe:
Subscribe to Hanselminutes Subscribe to my Podcast in iTunes

Do also remember the complete archives are always up and they have PDF Transcripts, a little known feature that show up a few weeks after each show.

Telerik is a sponsor for this show!

Building quality software is never easy. It requires skills and imagination. We cannot promise to improve your skills, but when it comes to User Interface, we can provide the building blocks to take your application a step closer to your imagination. Explore the leading UI suites for ASP.NET and Windows Forms. Enjoy the versatility of our new-generation Reporting Tool. Dive into our online community. Visit www.telerik.com.

As I've said before this show comes to you with the audio expertise and stewardship of Carl Franklin. The name comes from Travis Illig, but the goal of the show is simple. Avoid wasting the listener's time. (and make the commute less boring)

Enjoy. Who knows what'll happen in the next show?

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Best Practices for Individual Contribution

July 22, '09 Comments [27] Posted in Musings
Sponsored By

I just got an email from a GM (General Manager) at Microsoft who is giving a presentation soon about "How to be an effective IC (Individual Contributor)" and he's collecting best practices. He wanted a brain dump from me and others on tips.

Here's my exact email.

NOTE: Dear Reader, you may have heard some of these from earlier blog posts.

Hm, not sure I have enough context from your email to help, but I’ll try, assuming I understand the question. Let me know if I can help in/during your presentation.

  • Consciously manage your personal brand.
    • You work here to help the company, but also yourself. No one will manage your “personal brand” except you. How are you perceived? Do you know? Take negative feedback gracefully, and implement change. Rinse, repeat.
  • Push the Limits
    • Chris Sells told me once, If you’re not getting in trouble with your boss at least twice a year, you’re likely not pushing the envelope hard enough. Two slaps a year might be the cost for 10 successes. If you’re not moving forward, well, you’re not moving forward.
  • Conserve your keystrokes.
    • When you’re emailing a single person or a reasonably sized cc: list, ask yourself, are you wasting your time? Is this a message that 10 people need to see, or 10,000? Is email where you should be spending your time. Actively be aware of the number of people you communicate with , and the relative level of influence. Is a blog post seen by 50,000 more or less valuable than a single email to your skip-level? Only you can answer, but only if you’re consciously trying to conserve your keystrokes. Your fingers DO have an expiration date; there’s a finite number of keystrokes left, use them wisely.
  • Don’t give bile a permalink.
    • While you’re on the clock, think about what you tweet and FB. It only takes one bad link to undo a year’s work. Same goes for tweeting product launches before they’ve launched.
  • Write down what you’re trying to accomplish and hang it on the wall.
    • Make T-Shirts. Tell your spouse and kids. If you’re working towards a goal, tell people. It’ll keep you honest and it’ll motivate you. Saying things out loud help make them reality.
  • Manage Up
    • Are your commitments aligned with your boss and your bosses boss? Do you have visibility into their commitments? If not, ask for them. Make sure your accomplishments are making yourself, and your boss, look good.
  • Have a System to Manage Information Flow
    • If you’ve got 1000 emails in your Inbox, it’s not an Inbox. It’s a pile of crap. Have a system, any system, to triage your work. Any item in your inbox should be processed: Do it, drop it, defer it, delegate it. There are no other actions to take. Are you effectively managing your information flow? Try scheduling time for email on your calendar.

What would YOU send him? What are you Best Practices for Individual Contribution? I'll pass them on if they're awesome.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Virtual Camaraderie - A Persistent Video "Portal" for the Remote Worker

July 22, '09 Comments [14] Posted in Remote Work | Tools
Sponsored By

18737888 Working from my home office is nice, even when the babies are pounding on the door screaming, but sometimes I really miss random hallway chatter. The sense of folks around...stopping by your office and saying "hey, I was in the neighborhood."

Chris Sells is in the same boat. For a while we tried to build robots and even lash laptops to the top of Roomba Vacuums. We've tabled those ideas with concerns over security and battery life.

Instead, Phil (in Washington) and I (in Oregon) are trying an experiment. I'm going to be his office mate for a little while. We've each setup dedicated machines in our respective offices with inexpensive but high-res web-cams on each monitor. We'll keep them going during work hours so folks can stop by 42/3839 (his office number) and say hello. Certainly we'll mute it here and there when appropriate, for privacy.

How To Make It Less Creepy

Here are some important points to make, although it might be obvious to you, they weren't initially.

  • We dedicated a machine/camera each to this exercise, rather than using our existing machines. This is important because it reinforces the "Portal" aspect. This is an appliance, a hole in space, not my main, or even secondary computer.
  • The cameras don't point at our faces. Because that would be creepy. If he's my cube-mate, when I look over, I should see the side of his head. In both cases we set it up so we have to push our chairs back and turn our heads to see the other person. Just like a cubicle.

Steps to Making a Portal

We're using Skype for this example, but you can use your favorite Video Calling software, of course. We're NOT using Office Communicator because our machines are not on the domain and they are very locked down. Single-purpose appliances, really.

UntitledFirst, we setup local users, not administrators on each machine. We didn't domain-join the machines, and we set the users to only be allowed to run Skype using Windows 7 Family Controls.

Second, we made two Skype Users, for example PortalDude1 and PortalDude2. On each desktop we made a new shortcut in the format callto://PortalDude1 and callto://PortalDude2 and set the icons to be large. This way if the connection is dropped, anyone can stop by and start it.

Third, each user should add the other to their contact list and have only one contact.

Fourth, next, go into Skype Options and into Privacy. Set the options such that these are true:

"Only allow people who are in my contact list to contact me"

and

"Automatically answer calls from people who are in my Contact List"

and finally, and most importantly:

"Automatically Send Video"

IMG_0489These are the magic three options. With this setup, your will have one contact, you, and when you call each other the call will be auto-answered and the video will start.

Also, be sure to change your Power Options to make sure the machine doesn't fall asleep!

If you have a fast machine and good bandwidth you'll get 640x480 (DVD quality-ish) although congestion on the network and make this quality level come and go. We're still experimenting with me being VPN'ed in or not and if it improves the portal.

Related Links

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Hanselminutes Podcast 171 - The Return of Uncle Bob

July 21, '09 Comments [24] Posted in Agile | Podcast
Sponsored By

Robert C. Martin My one-hundred-and-seventy-first podcast is up. Scott and Uncle Bob meet again, this time in Norway and in person. Uncle Bob tries to answer the question Are You Professional. Scott and uncle Bob chat about software craftsmanship.

Links:

Subscribe:
Subscribe to Hanselminutes Subscribe to my Podcast in iTunes

Do also remember the complete archives are always up and they havePDF Transcripts, a little known feature that show up a few weeks after each show.

Telerik is a sponsor for this show!

Building quality software is never easy. It requires skills and imagination. We cannot promise to improve your skills, but when it comes to User Interface, we can provide the building blocks to take your application a step closer to your imagination. Explore the leading UI suites for ASP.NET and Windows Forms. Enjoy the versatility of our new-generation Reporting Tool. Dive into our online community. Visit www.telerik.com.

As I've said before this show comes to you with the audio expertise and stewardship of Carl Franklin. The name comes from Travis Illig, but the goal of the show is simple. Avoid wasting the listener's time. (and make the commute less boring)

Enjoy. Who knows what'll happen in the next show?

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.