Friday, April 29, 2011

BOF Sessions at TechEd 2011

TENA2011_L_AttendingIn addition to being a speaker at TechEd 2011, I also have the privilege of hosting a few Birds of a Feather (BOF) discussions in Atlanta. If you've never attended a BOF session, these are essentially moderated conversations around specific technical topics where the value of the session comes from the exchange of ideas and feedback from fellow attendees. As a BOF moderator, it's my job to keep the conversation "on the rails," and make sure a great exchange of information is had. Believe or not, the BOF sessions at TechEd 2010 were the highest rated sessions at all of TechEd!

For my part, I'm hosting or co-hosting three different BOF sessions this year (some of the title's were changed by the BOF organizers- in other words, I'm not a huge fan):

  • Silverlight, Flash, and HTML5/CSS: And the Winner Is? (BOF02-DEV)
    Hate the title, but the idea is a discussion about Silverlight and HTML5 (and I guess Flash, to some degree) and discussing which technology is "right" for various kinds of development. The idea of a "winner" is INETA's, but the discussion will be a frank discussion of how to choose between these competing rich options.
  • How on Earth Do I Keep Up with All the New Technologies That Come Along? (BOF06-DEV)
    Another beautiful INTEA title, but the concept is simple: how do you survive the tech fire hose? With so many new technologies hitting every day (iOS, WinPhone, HTML5, IE9, etc.), it can be quickly overwhelming to try to keep-up. This discussion will cover the practical challenges and solutions for surviving and flourishing in this environment.
  • Choosing Between WebForms, MVC, WebPages, Dynamic Data, and More (BOF08-DEV)
    Finally, this BOF discussion will address ASP.NET specifically, and how you should tackle the growing number of ASP.NET variants. Do you need to learn them all? Is one better than the other? Let's talk about it and figure it out.

If you're in Atlanta and going to TechEd, be sure to add these BOFs to your schedule, and swing-by for a good open conversation. For a complete overview of all BOF sessions at TechEd 2011, tune-in to the TechEdBOF blog.

Thursday, April 28, 2011

JustTrace Unofficial FAQs

JustTraceAlong with yesterday's introduction of JustDecompile, Telerik also introduced the beta for another new developer productivity tool: JustTrace. JustTrace is .NET memory and performance profiler, designed to make the process profiling local (WinForms, WPF), Silverlight, and ASP.NET applications as easy as hitting F5 in Visual Studio. With the help of JustTrace, you should be able to find problem areas in your code and then work on refactoring (perhaps with the help of JustCode) to improve your application performance and/or memory footprint.

Of course, a new product introduction means lots of questions. So to help provide some answers while we are in this JustTrace BETA, I have prepared a list of "unofficial FAQs."

(If you're looking for answers to JustDecompile questions, see yesterday's U-FAQ list.)

JustTrace Beta Q&A

GENERAL QUESTIONS

Q: What is JustTrace?
JustTrace is a new (beta) .NET memory and performance profiler from Telerik. JustTrace enables developers to quickly profile executing .NET applications and see results that help identify slow running code or code that is consuming large amounts of memory. JustTrace supports profiling of local applications (WinForms, WPF), Silverlight, and ASP.NET (including ASP.NET MVC). It is available as a standalone application and it also ships with Visual Studio integration for profiling directly from the VS IDE.

Q: Why is Telerik making a .NET performance and memory profiler?
Consistent with Telerik's over-arching goal of being a complete, end-to-end provider of solutions and tools for software development, JustTrace is complimentary tool to Telerik's existing developer productivity tools, JustCode and JustMock. Where JustCode helps with writing code and JustMock helps with testing code, JustTrace helps with optimizing code.

In addition to being complimentary, JustTrace aims to improve upon existing .NET profiling tools and provide a better, integrated development experience with the other Telerik tools.

Q: How is JustTrace different from existing similar tools?
Clearly, JustTrace has a long way to go from today's beta to v1 and beyond to fully cover all areas that existing .NET profiling tools cover. But even from the first beta, we are doing some things fundamentally different that we think are improvements for the .NET profiling space:

  1. Simplified Licensing/Combined Power- While some tools make you pay twice- once for Performance Profiling, once for Memory Profiling- JustTrace combines both capabilities in to single, simple to use tool. Don't get caught it the arbitrary limits of Memory vs Performance vs Standard/Pro version schemes. JustTrace just works and let's you focus on productively optimizing your code.
  2. Fast Snapshots - Some profiling tools give you enough time to grab a cup of a coffee and catch-up on your RSS backlog while waiting for a snapshot. JustTrace aims to make the process of capturing snapshots fast so you don't lose focus or valuable productive time.
  3. Simple Tools - Many developers avoid profiling because it seems complicated and difficult to do. JustTrace is focused on making the process super simple, while still providing powerful results. With Visual Studio integration, just hit F5 and JustTrace will handle the rest.
  4. Live Data - Why wait for snapshots to see what's happening with your app? JustTrace provides a "Live Data" view that let's you see real-time stats during Performance Profiling so you know exactly when to take a snapshot.

As we push towards v1, JustTrace will continue to improve baseline features (like performance), while working fast to add improved analysis tools, like rich data visualizations and views for understanding the collected data.

Q: How much does JustTrace cost?
JustTrace pricing has not yet been set, though it will likely be a cost leader. Please stay tuned for pricing information around the time of the official release. JustTrace will not be a free product.

Q: When will JustTrace be available?
The JustTrace beta is available now! The first official version of JustTrace will ship with the Telerik Q2 2011 release this summer.

Q: Will JustTrace be part of the Telerik Ultimate Collection?
Yes, JustTrace will be part of the Telerik Ultimate Collection and also available as a separately licensed product. JustTrace will not be part of the Telerik Premium Collection.

TECHNICAL QUESTIONS

Q: How do I install JustTrace?
JustTrace must be installed as an administrator. If UAC is disabled on your machine, simply run the installer. If UAC is enabled, you may have to perform a special work around described in this forum thread to successfully run the beta installer. This will be improved for the final release.

Q: What kinds of applications can JustTrace profile?
JustTrace can trace local applications (WinForms, WPF), Silverlight, and ASP.NET (including ASP.NET MVC and WebForms). JustTrace also supports attaching to a running local process for fast tracing of applications already executing.

Q: Does JustTrace support profiling for Windows Phone?
The current JustTrace beta does not offer direct support for profiling Windows Phone apps, but this is feature on our roadmap. More details on support for mobile profiling will come in the future.

Q: What types of profiling does JustTrace support?
The JustTrace beta ships with three different profiling options:

  1. Sampling Profiler - Least impact on app runtime performance, but slightly less accurate as it relies on interval polling to collect data
  2. Performance Profiler - Usually slows down a runtime app, but much more accurate/complete collection of profiling data
  3. Memory Profiler - Unlike the Sampling and Performance profilers, which look at app method execution times, the Memory Profiler looks at objects counts and size created by your app.

Each profiler can be easily selected from either the standalone JustTrace application or the Visual Studio integration profiling launch window.

Q: Does JustTrace support 64 bit application profiling?
Yes! Part of the focus with JustTrace has been on doing things right from the beginning, and that includes offering full support for profiling x86 and x64 applications.

Q: What kind of data does the JustTrace profiler report?
JustTrace has two primary types of reports: data collected by the performance profilers (Sampling, Performance), and data collected by the Memory Profiler.

The performance profilers provide live views of the counters being collected (showing info like Class Name, Hit Count, and Method Name), and the snapshots further reveal Call Tree, Method List, Hot Spots, and Loaded Assemblies.

The memory profiler does not provide a live data view, but a snapshot reveals Type List (with instance and total size counts), Hot Spots, Incoming References, and Outgoing References.

Q: Does JustTrace work with IIS for profiling ASP.NET applications?
Currently the JustTrace beta only supports the Visual Studio Cassini development web server, but support for IIS and IIS Express are high priorities for upcoming builds. Support for IIS and IIS Express will be in the official release.

Q: Can JustTrace profile and capture multiple threads?
Yes! JustTrace will automatically capture and profile multiple threads in an application. It is also capable of profiling multiple child processes if your application spawns new processes during runtime.

Q: Can you compare multiple JustTrace snapshots?
No, not in the current beta, however this is a planned feature for the official v1 release.

Q: Does JustTrace integrate with Visual Studio?
Yes, JustTrace integrates with Visual Studio when the installer is run. It will add a "JustTrace" menu option to the Telerik Visual Studio menu. From this menu, you can enable/disable JustTrace in Visual Studio. When enabled, simply hitting F5 to run your application will automatically display the JustTrace prompt to let you quickly begin profiling your app.

Q: Can JustTrace be used to profile the behavior of OpenAccess ORM?
No, JustTrace is not designed to be a profiling tool for data. Fortunately, OpenAccess ORM will be adding a dedicated data profiling tool in the Q2 2011 release.

Q: Will JustTrace offer more visual tools for analyzing profiled data?
Definitely! This is an early beta preview of a v1 product, so there is lots of work left to do. One of our key areas of focus for future JustTrace improvements is in adding more rich visualizations of the profiled data. Stay tuned…

Q: Where do I report JustTrace Beta issues?
You can report any JustTrace beta issues or feedback in the official JustTrace forums on Telerik.com.

Hopefully this helps you get started with the JustTrace beta. We are working hard to add many more features and improve those already previewed in the beta before the official release in Q2 2011. Download the beta today and join the conversation on the Telerik forums!

Wednesday, April 27, 2011

JustDecompile Unofficial FAQs

JustDecompileToday Telerik proudly introduced the beta for a  brand new .NET assembly browser and decompiler called JustDecompile. This new tool is designed to make assembly browsing and decompiling easier than ever before by integrating many of the innovations created for JustCode, Telerik's Visual Studio productivity plug-in, with a tool dedicated to the tasks related to assembly browsing. Oh! And it's a free tool. Forever. For everyone.

Obviously, anytime a new tool is introduced there are MANY questions that need answers, even during a beta. So without further pretense, enjoy this collection of answers to some of (or what will soon be) the most common JustDecompile BETA questions.

JustDecompile Q&A

Q: What is JustDecompile?
JustDecompile is a free tool from Telerik for .NET assembly browsing and decompiling. In other words, it lets you take an existing compiled assembly (.dll or .exe) and easily browse the symbols it contains, and then just as easily decompile the assembly language back to easily readable C# (and in the future VB, IL, and possibly other languages). JustDecompile is a standalone tool and it does not require Visual Studio.

Q: How much does JustDecompile cost?
JustDecompile is 100% free and it will remain that way forever. Assembly browsing and decompiling is a basic .NET developer toolbox necessity and Telerik is happy to provide the ultimate tool for that action for free. This perfectly complements Telerik's other "money making" developer tools, like JustCode, so we will not charge for JustDecompile in the future.

Q: Is JustDecompile and open source tool?
While JustDecompile is free, it is not open source. It is available from Telerik free of charge for perpetual use (there are no "time bombs" in the software). Since JustDecompile incorporates code and innovations from the commercial JustCode product, we cannot make the JustDecompile source available.

Q: Why is Telerik creating an assembly browser/decompiler?
A few reasons. First, Telerik is helping address a "gap" that was created in the .NET market when a popular assembly browser/decompiler ceased to be freely available (with all future updates are behind a "pay wall"). Secondly, Telerik is helping reimagine the assembly browser/decompiler. Existing tools have not evolved greatly over the last few years, while .NET and development has seen huge amounts of change. Telerik is aiming to innovate in the user experience and decompiling code quality with JustDecompile.

JustDecompile also perfectly compliments Telerik's other developer productivity tools, like JustCode, JustMock, and JustTrace. Telerik continues to build on its promise to be an end-to-end provider of solutions for all aspects of software development.

Q: What makes JustDecompile special?
JustDecompile is doing a number of things that are cool and new for assembly browsing/decompiling:

  1. Side-by-side Assembly Loading
    Load different versions of the same assembly side-by-side without being forced to always unload and reload
  2. Innovative Code Navigation
    Borrowing from the useful JustCode code navigation found in Visual Studio, JustDecompile provides fast code navigation. Support for keyboard short cuts, CamelCase searching, and searching for Types and Symbols.
  3. Integrated Code Analysis
    In other tools, full analysis requires multiple actions (Used By, Instantiated By, Exposed By, etc.). JustDecompile roles these all-up in to a single easy to execute "Find Usages" action, complete with code context snippets and highlighting.

Check-out the product team blog on JustDecompile and JustTrace to see more about what's in the first JustDecompile beta.

Q: When will JustDecompile be available?
JustDecompile Beta is available now for immediate download. The first official release of JustDecompile will be part of the Telerik Q2 2011 release this summer. After v1, JustDecompile will join the Telerik update cycle, getting 3 major updates per year + intermediate service packs and hotfixes as necessary. We have a huge road map for JustDecompile with lots of great enhancements planned for 2011 and 2012.

Q: Does JustDecompile support languages other than C# (like VB, IL, F#, etc)?
The beta currently only decompiles to C#, however JustDecompile has been designed to output to other languages. Before the first official release, JustDecompile will also support outputting VB. After that, we will add language support based on customer and community feedback, most likely focusing MSIL next.

Q: Does JustDecompile support 3rd party extensions/plug-ins?
JustDecompile is built on Microsoft's Managed Extensibility Framework which provides a familiar model for creating and adding plug-ins to JustDecompile. In fact, JustDecompile's core features, like Find Usages and History Navigation, are simply plug-ins.

In the beta, we have not had time to fully address a polished API for supporting 3rd party extensions, but it is a high priority item on the backlog. Based on continued request for this feature, we will likely add support for plug-ins in 2011.

Q: What are the system requirements for JustDecompile?
JustDecompile requires .NET 4.0. Otherwise, it should just work on Windows systems, 32- or 64-bit.

Q: What do I do after I install JustDecompile?
Unfortunately, the beta installer does not add application shortcuts to the Start Menu or Task Bar. To run JustDecompile after installing, navigate to the install directory (usually, "C:\Program Files (x86)\Telerik\JustDecompile\Libraries") and run JustDecompile.exe.

We recommend pinning JustDecompile.exe to your Start Menu or Task Bar for quick repeat access. In the future, the installer will provide the expected application shortcuts and Windows integration.

Q: Does JustDecompile integrate with Visual Studio?
Not directly, but JustCode does provide native decompiling in the Visual Studio environment. For JustDecompile like functionality natively in Visual Studio, we recommend downloading and installing JustCode.

Q: Can decompiled code be directly exported from JustDecompile?
No, not with today's beta, however we have logged this feature and will likely add it in an upcoming release.

Q: Can obfuscated code be decompiled with JustDecompile?
No, you cannot decompile obfuscated code with JustDecompile. We will gauge interest in adding this feature in the future and consider adding support at that point. For now, this is not on the immediate road map.

Q: Where should I share JustDecompile beta feedback?
Direct all feedback to the JustDecompile beta forums on Telerik.com. We're eagerly waiting to hear from you so we can make the first release the best possible decompiling/assembly browsing tool.

Q: Will decompiling JustDecompile rip a hole is space/time?
Good question from one of the webinars. Answer: No. That's the first thing I checked and we're all still here.

I think that about covers it. I'll add more questions and answers if I've missed something major. For now, be sure to review the product team blog post on JustDecompile and download the beta!

Wednesday, April 13, 2011

MIX11 Day Two Keynote, Live Notes

P1000285Like yesterday, I am settled-in here at MIX11 to partake in the Day Two keynote. Unfortunately, my live note taking got cut short yesterday when my laptop decided to quit, but today I think we've got the battery to make the distance.

Yesterday was all HTML5, IE9, and re-cap of ASP.NET MVC stuff. Today, we expect Windows Phone and Silverlight. Let's see what happens…

Keynote Notes

Windows Phone

  • Joe B from the MSFT WP7 team is on stage to talk Windows Phone
    • Rough way to start. He's spending the first 10 minutes running through the excuses for why MSFT is having trouble updating WP7. We get it, you hit problems.
      P1000287
    • Excuses and stories finally done. Joe is now talking "Windows Phone Opportunities." Microsoft is giddy over the Gartner and IDC forecasts that pin Windows Phone as #2 in the future.
    • Now we've got the poor Head of Developer Experience from Nokia on stage to cheerlead Nokia's love of WP7. "We're totally excited about our partnerships" could not sound less sincere.
    • Back to Joe and overview of next update (codenamed Mango). "Today you can submit apps from 30 countries. This fall, there will be 36 countries." Yay…?
    • The app list on the next WP update is getting new features to help users find apps when many are installed. So…it's kinda like the Spotlight feature on iPhone…but only for your app list.
    • Adding something called "Search Extras" - essentially quick links to apps directly from search results.
    • More HTML5, now Day 2, and still no Silverlight talk. Going to show-off IE9 for Phone, which Joe claims uses the same browser engine as desktop IE9.
    • More impressive showcasing of IE9's focus on using hardware acceleration. IE9 on Phone definitely continues the theme of using hardware to give HTML5 more power. Side-by-side with today's iPhone and Android makes the benefit clear. BUT this browser is still 6 months from shipping…
    • Other cool features coming: Ring Tones, Deep Linking Live Tiles, Motion Sensor API, Multi-tasking
    • Angry Birds coming to Windows Phone on May 25. Biggest news of the day so far.
    • Introducing something called Live Agents to try to solve the problem of balancing the desire for running background code with keeping the phone fast for the user. The phone will handle scheduling of the live agent code execution to minimize impact on phone perf.
    • Tools that were demoed today (i.e. Mango) will be available next month to developers.

Joe is wrapping-up. Impressions so far: Virtually no Silverlight. No Windows Phone 8.

Development Tools for Windows Phone

  • ScottGu is on stage to talk about development tools for WP7 and experiences like games
    • Mango tools adding a new accelerometer support to the WP7 emulator. You get a 3D model of the phone you can "move" to simulate the accelerometer movement. Pretty cool.
      P1000288
    • Adding GPS emulation, too! The emulator can now automatically use fake GPS data with convenient tooling for specifying that data.
    • Adding Windows Phone Performance Analysis tools to Visual Studio. A tool that will essentially try to analyze your Phone apps and look for hotspot performance problems. Provides a large number of charts with captured data summaries (like framerate). Even goes as far as providing guidance for common problems. Seem like very useful tools for optimizing Phone apps.
    • Improving the Silverlight runtime in a few ways to make native perf better. Example: all user touch input now on a background thread so UI is always instantly responsive. Memory optimizations reduce memory footprints by about 30%.
    • Mango includes 1500+ new APIs and the full Silverlight 4 API feature set
    • Mango will ship with SQL CE for local database storage and LinqToSql (apparently) as an out-of-the-box ORM. The EF vs L2S debate rages forward…
    • Kik demo is painful. Sorry.
    • Mango will let you compose/combine Silverlight and XNA in the same app. No longer either or decision.
    • Best comedy moment of keynote: ScottGu's accidental super zoom on the crotch of his 3D student double. Big laughs.

Silverlight

  • FINALLY…ScotGu is transitioning to talk about Silverlight for the browser (cheers from the crowd for some Silverlight news). (10:26 AM for the on-demand video index.)
    • Just going over the Silverlight 5 features previously revealed at Firestarter
    • The new Blue Angels demo is not helping the Silverlight story. It's further pushing Silverlight in to the "plug-in" graphics niche and promoting HTML5 for the core experience. Cool site, though.
    • All Silverlight shown today is 3D, advanced video, media APIs - nothing LOB or "app" focused.
  • Bottom line, not a very exciting Silverlight segment. Major news will be the immediate availability of Silverlight 5 Beta.

So, no Windows Phone 8. Not much new for Silverlight 5. What did you think of today's keynote?

Tuesday, April 12, 2011

MIX11 Day One Keynote, Live Notes

P1000280When a conference streams its keynotes, and makes most sessions available online, there is little point in "live blogging." So for MIX, I'm giving you some "live notes." My real-time thoughts about what's standing-out as things rolled-out here in Vegas.

Keynote Notes

Internet Explorer

  • First-up is Dean H from the IE Team to talk IE. Most interesting things he's saying:
    • He keeps stressing that HTML5 is the only native experience for the web (and people prefer native experiences - citing mobile apps)
    • Dean is wearing at IE 10 shirt, so you can bet that's where this IE9 show-off is headed
    • Dean is showing-off a number if HTML5 apps in IE9 (things really designed to show-off IE9s hardware acceleration - so lots of video, SVG, heavy animation)
    • Microsoft is really trying to make the case about it's slower, more deliberate approach to HTML5 implementation - living on the "native" implementation message. Going so far as to openly mock the aggressive implementation of features like web sockets by browsers like Chrome and Firefox.
    • And now…Microsoft is addressing cadence. Basically, Microsoft is arguing against Chrome and Firefox's (planned) fast release cycles. Microsoft says it will actually slow down its preview cadence with IE10. Argues that Chrome and Firefox create more churn with their fast, sometimes incomplete implementations.
    • Doing a good job cherry picking some CSS3 features Chrome doesn't render perfectly. It's interesting that Microsoft is picking-on Chrome and not Firefox.
    • Sinofsky is helping show-off IE10 and plugging PDC 2011 in September in Anaheim California - claiming lots of excitement about HTML5…Windows 8 and HTLM5? (Disneyland).
    • IE10 news: What you'd expect. More focus on native hardware perf for HTML5 + more implementation of CSS3 features (like transitions, gradients, etc.) Oh! And the first IE10 platform preview is available today (ietestdrive.com)

Developer Platform and Tools Update

  • ScottGu is out to share dev tools updates
    • Running through what's been done in the last year (VS 2010, jQuery support, etc.)
    • Announcing refresh of ASP.NET MVC 3 today, that includes jQuery 1.5 + Modernizr + new VS tools and templates
    • Announcing that EF 4.1 is shipping today. Added by default to all new MVC 3 projects.
    • Scott Hanselman is on stage to do a code build-up of two websites using MVC and WebMatrix - I 'm sure the designers at MIX are hating this section (especially after the designer-heavy content of the last few years)
    • Looooong technical demo. Not bad. But surprised it's in the keynote. Most of the tech you've seen before. It's WebMatrix, NuGet, SQL Compact, MVC3, jQuery, IE9, and so on.P1000283
    • Orchard is now on stage to show-off Microsoft's open source CMS. Another tech demo. Finally wrapping-up @ 10:23 (for video playback index).
    • Now it's time for Azure. Surprised this is the first time we're hearing about Azure today. Umbraco is on stage to talk about their Azure support.

Catastrophic laptop failure!

Friday, April 08, 2011

Filtering JustCode Errors and Warnings

JustCode is an awesome Visual Studio productivity tool, built on an incredible code analysis engine that works across C#, VB, XAML, JavaScript, HTML, and ASP.NET. This goes well beyond Visual Studio's ability to only analyze VB and C#, and opens the door to some cool features, like navigation and code analysis in JavaScript files.

But what do you do when you have files, or "categories" of files, that you'd prefer JustCode ignore?

There are cases where perfectly valid runtime code- usually code not written by you- generates distracting JustCode errors and warnings. A good example is minified JavaScript files. While technically valid JavaScript, the shorthand notation can sometimes cause JustCode to report extra warnings. Fortunately, there's an easy filtering solution!

How to Add JustCode Filters

JustCode supports filters that essentially "hide" errors and warnings for specific files. A filter works by matching any part of a file's full path (case insensitive). By default, JustCode ships with these filters enabled:

.designer.cs;.designer.vb;\Reference.cs;\Reference.vb

These four filters, separated by semicolons, will hide any errors or warnings generated by files with ".designer.cs/vb" or "\Reference.cs\vb." Designer and Reference files usually contain auto-generated code in Visual Studio, which is why we want to ignore them.

To edit filter settings, use the Visual Studio JustCode menu to navigation to Options > Code Analysis > General where you'll find two textboxes: Exclude file filters and Exclude project filters.

SNAGHTML25342c41

Ignoring Minified JavaScript

Let's add a filter to ignore minified JavaScript to JustCode. By default, I have a web project with JustCode and several minified JS files (such as jquery.min.js and modernizr.min.js). With default settings, JustCode reports no errors, but does report 102 warnings, mostly consisting of issues related to my minified script.

SNAGHTML2538e0c0

To eliminate all minified script errors and warnings, I'm going to add a filter to tell JustCode to hide these issues for any file that has .min.js in the path.

I navigate to JustCode > Options > Code Analysis > General and add ";.min.js" to the existing filters in the Exclude file filters textbox, producing:

.designer.cs;.designer.vb;\Reference.cs;\Reference.vb;.min.js

Once I save my new settings, JustCode updates the error and warning reporting UI (the only part of JustCode that runs in the Visual Studio process, I might add- that's how JustCode avoids creating VS lag). We now find that my project has only 2 errors, which I rightly should consider addressing.

image

Filtering Limits

Today, JustCode's filtering only supports matching the strings you provide in file and project paths. There is no support for wild cards or other more advanced pattern matching techniques (like RegEx). That said, the product team has received feedback from enough customers to add more power to JustCode's filtering abilities, that you'll very likely seem more advanced options for filtering in the future. Until then, you should find that even this basic filtering enables you to cover 90% of the common cases where you why JustCode to hide errors and warnings.

So, setup those filters and make sure the errors and warnings JustCode is reporting are the ones that truly need your attention!

Not using JustCode yet? Give it a try for free. If you don't like it, tell me why: anglin@telerik.com.

Thursday, April 07, 2011

Month of Just Webinars, New Product

jc_jm_mysteryIn case you missed the memo, April is informally the "Month of Just*" (that's wildcard matching for JustCode, JustMock, Just<something else we'll talk about soon>). This month we're doing a number of things to highlight the benefits JustCode brings to your daily developer life in Visual Studio, and among those activities is a series of webinars.

The three webinar series kicks-off next week (click the links to register):

As the names imply, each event will focus on a different Just* tool. The first will show you things that JustCode does to make Visual Studio better (especially if you're working with VS 2005 or VS 2008, which JustCode supports). The second will help you better understand the concept of mocking in unit tests and demonstrate how JustMock gives you all the power you need…for FREE!

The final webinar is special for two reasons:

  1. We will be unveiling a brand new addition to the Just* family. (You're free to guess in the comments.)
  2. EVERY attendee of the live launch webinar will receive a free license for the new Just* product (when it officially ships later this year)

On top of the huge license giveaway on April 27, we'll also be giving licenses (plural) for JustCode, JustMock, and the Telerik Ultimate Collection ($2000 value) to randomly selected winners from each webinar.

You don't want to miss these three events, especially the product launch. Register today and we'll see you for the kick-off next week!

Register for all webinars

50 Sites Committed to HTML5 by Name

HTML5_Logo_512While doing some research today for resources to share on my new, dedicated "HTML5" Twitter feed, @htmlUI, I started to notice the abundance of websites that have "committed" to HTML5 by embedding the term in the URL. Never mind that HTML, at least in WHATWG's opinion, is now a "living standard" not requiring version numbers, but this overt pledge of allegiance to HTML5 got me wondering: How many websites are using HTML5 in the their domain name?

My desire to answer this question is rooted in two things:

  • I want to know how many sites are using HTML5 in their domain name (just cuz)
  • I want to see what "HTML5 dedicated" sites are doing with these domain names.
  • I want to find new HTML5 resources so I can share the best with you!

Of course, some of the best HTML5 websites don't include "HTML5" in the domain, but there are plenty of lists that catalog those resources today. I wanted a focusing challenge.

The List

As best I can tell, there is no sure fire way to get a complete index of in-use URLs that can be searched for HTML5 (see explanation below). So based on more rudimentary, manual (Google) techniques, here's a list of sites I could find that start with HTML5 right in the URL.

To help you better separate the "wheat from the chaff," I've done some crude categorization:

High Quality Sites (i.e. the ones worth visiting)

Nothin' But HTML5 (HTML5 TLDs that resolve to sites…pretty much all wasted)

  • html5.com - Apple's got it. Redirect to apple.com
  • html5.org - Almost nothing. Just links to other useful resources.
  • html5.net - Coming soon? Sure…
  • html5.info - Almost nothing. Just another WordPress blog on HTML5…
  • [SPAM] html5.mobi - Genuine ad farm spam page
  • (No .biz, co, edu, mil, gov, tv, ly, us, etc.)

Unique Sites (Not straight from a can to the plate)

Standard HTML5 Site Galleries (dime a dozen)

Blogs and "News" (a.k.a. the Echo Chamber)

Real World Events

Reference Sites (cuz we need more than one HTML5 tag reference)

Everything Else

  • switchtohtml5.com - HTML5 "framework generator" (kinda like dynamic boilerplate)
  • html5template.com - Not quite complete junk, but close. 1 template. Lots of ads.
  • html5zombo.com - "Entertainment." HTML5 SVG version of Zombo.com
  • html5tests.com - A site to test browser HTML5 features…test "coming soon"
  • [JUNK SITE] html5sample.com - No value. Mostly ads.
  • [JUNK SITE] freehtml5template.com - Free templates! But zero templates available…

The Search Technique

One of Google's little used features is the "Advanced Search" tool, which it claims is used for fewer than 5% of all searches (I now know why). One of the options provided is to specify where you want Google to look for your keywords: anywhere in the page, in the title, in the text, in links to the page, OR in the URL!

The resulting search syntax is: allinurl: html5

The "problem" is that this looks for HTML5 anywhere in the URL. I really just want to look at domains (I don't want to see all sites that have ever used HTML5 in some SEO targeted URL). Even more specifically, I'd prefer to filter-out sub-domains, too, as it turns out there are many websites today with "html5" subdomains to deliver specialized versions of their content.

So far, I haven't found an automatic way to do that kind of searching. As is, only Google and Ask.com offer "in URL" keyword search filtering; Bing and Yahoo do not. Sadly, after all of this, a regular Google search for "html5" still returned better, faster results that the "advanced" techniques.

Know a better, more complete, automatic way to do this? Let me know. Otherwise, it's a bit of a manual game after Google gives you the URLs with your keyword.

Wednesday, April 06, 2011

25 Installs: My Essential Software List

telerik-floppy-disksThis definitely isn't the first blog post on the topic, nor does this post aim to be the definitive final word on "essential software," but I feel it's a list worth sharing as I have a pretty simple system setup that I'm generally happy with. What follows is a list of the "essential" software that I'd install today if I were rebuilding my primary work machine. Software I'd need to get back to "normal" day-to-day operations.

I've grouped software loosely by category for easier browsing and tried to note prices for software where tools aren't free (I'm of the philosophy that I'll pay for tools if they make my quality of life better).

After you review the list, let me know what I missed. What software do you call essential to your well appointed work machine?

The Software

Dev Tools

  • Visual Studio 2010 [$1200 to $12000]
    • Pretty sure 2010 is better than VS2008…hard to remember now. Definitely a must for .NET 4 and Silverlight work.
  • Telerik Ultimate Collection [$2000]
  • LINQPad [Free]
    • Great scratchpad for testing LINQ or small snippets of .NET code. Premium features are well worth the $40 to $80 if you end-up using the tool often.
  • VMWare Workstation [$190] OR VirtualBox [Free]
    • Both very good virtual machine solutions. VMWare's advantage is a bit more advanced features, but I've used and love VirtualBox. Sorry VirtualPC, still too slow comparatively.
  • Microsoft Web Platform Installer [Free]
    • This is sort of a "catch all." It will install all of the supporting tools for .NET dev (like MVC, WebMatrix, IIS Express, SQL Management Studio, SQL Express, etc.)
  • Git Extensions [Free]
    • Only essential if you work with Git and/or GitHub. This obviously has some prerequisites (also free), but this is currently my preferred Windows tool for Git operations.
  • Fiddler 2 [Free]
    • Essential if you're a web developer for browser-independent HTTP sniffing (sometimes Firebug and Chrome Tools don't go far enough)
  • RedGate SQL Comparison Bundle [$700]
    • If you do any regular migration of SQL schemas or data between DEV/TEST/PROD environments, I can't imagine doing it today without SQL Compare and SQL Data Compare. Both come in this nice compact bundle.

"Major" Apps

  • Microsoft Office 2010 [$280]
    • Worth it for Outlook 2010 primarily. Still enough done with Word, Excel, and PowerPoint to make this essential (Google Docs doesn't cut it).
  • Adobe Photoshop [$700]
    • Most useful if you do a lot of image manipulation. I have a graphic design background, so this is like my "original dev tool." Not free, but better than a lot of the free alternatives. (Unless you're on a Mac, then Pixelmator is awesome.)

Browsers

  • All of them (IE9, (Virtualized IE6/7/8), Chrome (latest), Firefox 4, Safari 5, Opera 11)
    • Set Chrome as default browser with sync enabled to automatically pull-down bookmarks and plug-ins

Utilities

  • Pandora One [$36/year]
    • Adobe Air desktop client + no commercials = well worth the $36/year if you regularly listen to Pandora
  • Dropbox [Free]
    • Dead simple file sharing (somehow worlds better than Live Mesh)
  • TweetDeck OR Twhirl [Free]
    • Depends on your Twitter needs. I love the simplicity of Twhirl, but if you need to manage multiple accounts, go for TweetDeck.
  • SnagIt [$50]
    • This should be built-in Windows functionality for "Print Screen." Until then, SnagIt is essential.
  • CuteFTP [$45] OR FileZilla [Free]
    • There are lots of good FTP programs for Windows. I like CuteFTP on the commercial side, and FileZilla on the OSS side.
  • Live Writer 2011 [Free]
    • Essential blogging tool for Windows (using it right now, as a matter of fact)
  • 7-Zip [Free]
    • Hard to believe Windows can provide better native support for creating/extracting archives, so until then, 7-Zip is essential.
  • Virtual Clone Drive [Free]
    • Another thing I view as "missing" Windows functionality. VCD is a great, simple tool for mounting ISOs in Windows until Windows can handle this basic task.
  • FoxIt Reader [Free]
    • I refuse to rely on Acrobat Reader for viewing PDFs. Too bloated for too long for me to give it another chance. FoxIt Reader is quick and gets the job done. (Though shouldn't Windows, like OS X, be able to do this natively, too?)
  • VLC [Free]
    • Windows Media Player? Really? Until it learns to work harder to read more video/audio formats, VLC is a must for universal media playback.

And that's about it. Are there other things I'd likely install? Sure. I enjoy FolderSizes 5 to help me find space hogs on my SSD, and AnjLab's free SqlProfiler ("lite") for quick and dirty SQL work, but I don't know if they rise to the level "essential"- the things I'd need to get back to the "normal" daily work I do.

The Cost

Just for fun, I tallied the retail cost for my "essential" software. It comes-out to a staggering $16,000! Clearly, the bulk of that cost is Visual Studio Ultimate with MSDN, which is employer provided (and even then likely not a "retail" cost). Assuming a more modest Visual Studio Pro SKU (which is what I'd like buy if it were my cash), and it's still $5,200 worth of essential software. I suppose that's a bargain compared to the cost for professional tools in other industries…

Tuesday, April 05, 2011

DevConnections Slides & Wrap-up

devconnections-2011-orlandoNow back in sunny (and unusually cool) Texas, I'm happy to report that DevConnections 2011 was another great developer conference! (Especially if you managed to attend my sessions and workshop on HTML5.) Developers from around the world trekked to the city made famous by the House of Mouse to spend 5 days learning about everything from HTML5 (my favorite) to SharePoint.

For my part, I delivered one half-day workshop on HTML5 and CSS3, plus two sessions: one on practical HTML5/CSS3 techniques you can actually use today, and another on LESS for CSS. Special thanks to everyone that attended (especially those of you that paid for the workshop)! My hope is that you left Orlando with a better understanding of "HTML5" and are now the experts in your offices.

For everyone else, I've made the slide decks from all three sessions available via SlideShare below. If you're really diving in to the content, you'll definitely want to download the slides as I've embedded lots of extra info and links to useful resources in the slide notes.

Finally #1: I created a new Twitter feed during DevConnections EXCLUSIVELY for sharing HTML5/CSS3/modern standards web dev resources. Follow @htmlUI or visit htmlui.com, which will soon re-broadcast and enrich the Twitter content for those of you morally opposed to social media.

Finally #2: Miss DevConnections and still want to talk HTML5? Come find me at MIX11 in Vegas next week (Telerik will have a booth), or visit my HTML5 session at TechEd Atlanta this May.

Slides

Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
(Though most of this is generally applicable to any web developer adopting HTML5/CSS3.)