Saturday, October 09, 2010

Quick, what’s the version on your video driver? Wi-Fi driver? Audio? USB?… NirSoft’s DriverView makes all that info and more just a click away…

Windows Guides - Find out which Drivers are Installed on Your PC [Quick-Tip]

“Knowing which drivers (and versions) are installed on your computer is necessary when you want to keep them updated. But how do you know which versions (and which drivers) are installed on your system ?

Let me show you …

Two ways …

I have two solutions for you. Using the built-in Windows Tool, and a freeware tool that collects most of the information for you.

Device Manager.

Using Driver View.

image

NirSoft - Driver View v1.21 - Loaded Windows Drivers List

“Driver View utility displays the list of all device drivers currently loaded on your system. For each driver in the list, additional useful information is displayed: load address of the driver, description, version, product name, company that created the driver, and more.

driverview

image

Next to Sysinternals, I think NirSoft is one of my favorite set of Windows utilities. They’ve been around for a while, makes hard stuff stuff easier, is simple to use and are all portable.

Take Driver View for example.

This 80k utility, which runs without install, does one thing but does it well. It provides a quick and simple view into what drivers your Windows session has loaded (funny that given its name ;) You can then dump the list to an HTML file for comparison/archive purposes, and I think best of all, you can easily google for a given driver, helping you answer, “What the heck is…”

If you’ve ever played the “hunt the driver version” game using Device Manager, you’ll really like this utility (available in both 32 & 64 bit versions)…

image

 

Related Past Post XRef:
Nirsoft + Sysinternals + One interface = Windows System Control Center
Another portable application suite and launcher, NirLauncher (Beta) - 100+ NirSoft utilities + easy Sysinternals integration too
Find those WEP/WPA keys stored on your PC with WirelessKeyView and Six Other Free Tech Tools...

Friday, October 08, 2010

IPv6 is not the future, but the now… An IPv6 Learning Roadmap, from Prerequisites to Level 300

 Microsoft TechNet - IPv6 Learning Roadmap

“…

Published: October 7, 2010

Support for Internet Protocol version 6 (IPv6), the new suite of standard protocols for the Network layer of the TCP/IP protocol suite, is built into the latest versions of Microsoft Windows, which include Windows 7, Windows Server 2008 R2, Windows Vista, and Windows Server 2008.

IPv6 is designed to solve many of the problems of the current version of IP (known as IPv4) such as address depletion, security, autoconfiguration, and extensibility. Its use will also expand the capabilities of the Internet and enable a variety of valuable and exciting scenarios, including peer-to-peer and mobile applications.

If you are new to IPv6, this topic can help you identify what you need to learn to fully understand IPv6, from addressing to protocol and process details to application development. It includes prerequisite topics that cover a variety of TCP/IP fundamentals. You must understand the prerequisite topics first, because IPv6 builds upon them and assumes an understanding of them. Afterwards, you can begin learning about IPv6 through the resources in the Level 100 (introductory), 200 (intermediate), and 300 (advanced) sections.

We recommend that you read the topics in the order listed.

image…”

Having grown up along with IPv4, fighting the early pains with it (remember plugging in third party IP stacks into DOS and Windows? Oh the config.sys/autoexec.bat/system.ini joys… lol) I find IPv6 both exciting and a little scary (wow those addresses are something else… how am I going to log into my router when I have to remember/type those! ;).

But scary or not, it IS the future. Of that there’s no question. So the sooner we learn it, the better and the less scary it will be…

(via The WSiX Network Connection - IPv6 Learning Roadmap now available)

One man’s debugging tale - How he hunts down a bug in NuPack, with his friends WinDbg and Reflector

Tatham Oddie - Yet Another Debugging Tale – Visual Studio Disappearing

“Call me a nerd (that’s obvious!), but I find a good debugging tale like something of a geek murder thriller. Every issue has its own little debugging quirks. This blog post, and some of my previous ones, are posted to be both entertaining as well as educational. I don’t want to bore you to death with cdb or WinDbg documentation, but you might find some of the approaches useful in the future.

The Issue

This morning ScottGu announced NuPack, a package management solution for .NET.

Eager to try it out, I opened an existing solution, expanded a web application project, right clicked on the References node and chose Add Package Reference.

The dialog popped up for a second or so and then my entire VS shell just disappeared without a trace. No error. No crash dialogs. Nothing.

This happened reliably every time.

Note: This issue is now fixed in the latest source.

My Debugging Steps

I opened a fresh instance of VS, attached WinDbg, opened the solution in question, and expanded the project nodes.

image…”

I always find it fascinating watching a skilled debugger hunt down a bug… It’s amazing what you learn in the process. :)

 

Related Past Post XRef:
New background on NuPack - A little about how it came about…
I “Nu” I needed you… Unpacks v1 Developer Preview/CTP 1 Released (Think, “Where have you been all my dev. life… finally an package management system/installer for .Net”)

Wednesday, October 06, 2010

WoVS Quick Add Reference VS Extension helps you say goodbye to the Add Reference Dialog

World of VSNo more “Add Reference” dialog

“(You may want to read this previous intro to the Quick Add Reference extension.)

We’ve just released it to the Visual Studio Gallery for free!.

Don’t waste any more of your time firing up the “Add Reference” dialog and browsing or even searching for an assembly through the assemblies list, add it from the code editor, right from where you’re typing:

download…”

Visual Studio Gallery - WoVS Quick Add Reference

“…

The “Quick Add Reference” extension augments the smart tag that VS shows for unrecognized types giving you a chance to add the corresponding assembly reference for that type plus corresponding “using” clause if needed in a single shot.

Let’s say I’m working on a Web Application project and I just happen to want to use a type from ASP.NET MVC 2 which by default won’t be referenced by regular web app:

image…”

Funny how I was just looking for something like this this weekend…

 

Related Past Post XRef:
Cool VS2010 Extension: “WoVS Reference Lists” (Think persistent reference lists for simple two click adding of all your common references to a Project)

New background on NuPack - A little about how it came about…

The Fervent Coder  - The Evolution of Package Management for .NET

“When you start a journey, you are never fully sure where it is going to end up. We started the journey down package management for .NET three times with Nu[bulbar] (we in this context means the nu team, not me in particular, I was only involved in the last reboot) before we decided to try an existing infrastructure with Ruby Gems.  I have always said that I would use the best tool out there, even if it is not one that I’ve been involved in building.

Personally I’ve always felt that competition is important to drive out the best features and make all products involved better. The community benefits with competition. If you’ve spent any time with me or listened to me on twitter, you can see that I support the idea of Noodle (Bundler/gems for .NET), Horn and Open Wrap. Each of them solves a similar problem in a different way. Each of them has great things about them. Having choices is good. Not everyone likes things the same way.  I like my eggs over easy. I’m not going to force the way I like my eggs when I cook for you, but I’m going to cook them that way for me.

No one had any idea that Nu was going to be so explosively popular when it came out two months ago. After all, we started it as an experiment to see if we could even do it. Years ago, Microsoft would have ignored what was happening in the community and just introduced what they were working on without seeming to try to really understand the needs of the community. They have been criticized again and again for appearing to follow a “not invented here” model. When they saw how successful our last reboot of Nebular was, they pulled us in to show us what they had been working on for four months prior to our last reboot and started asking for input on how they could ensure it meets the needs of the community.

But then Microsoft did something different. They made the project OSS and pulled in a few open source developers (including the Nu team) to both give feedback and contribute to the same codebase the full time MS employees are working with.

Make no mistake on the name. Microsoft renamed their tool from the codename Unpack to Unpacks to signify a merging of the community and what they were working on. …

image…”

I thought this was a great backstory related to today’s Unpacks release…

 

Related Past Post XRef:
I “Nu” I needed you… Unpacks v1 Developer Preview/CTP 1 Released (Think, “Where have you been all my dev. life… finally an package management system/installer for .Net”)

I “Nu” I needed you… NuPack v1 Developer Preview/CTP 1 Released (Think, “Where have you been all my dev life… finally an package management system/installer for .Net”)

Scott Hanselman - Introducing NuPack Package Management for .NET - Another piece of the Web Stack

“Microsoft's been filling out the Web Stack with more and more right-sized LEGO pieces lately, and today ScottGu announced the developer preview of NuPack. It's a piece of the stack that's been notably missing for years and after using it for a while now, I'm not sure how I lived without it.

NuPack is a package management system for .NET. The goal of NuPack is to make the process of incorporating third party libraries into your solutions as simple as possible.

NuPack - The Idea

Here's how it works. Notice the "Package Manager Console" window at the bottom of Visual Studio 2010. That's PowerShell. (It'll be in View | Other Windows for this release)

image
[GD: I couldn’t snap the entire post, it’s a long one and a must read so please click through]

…”

Phil Haack - Introducing NuPack Package Manager

NuPack is a free open source developer focused package manager intent on simplifying the process of incorporating third party libraries into a .NET application during development.

After several months of work, the Outercurve Foundation (formerly CodePlex Foundation) today announced the acceptance of the NuPack project to the ASP.NET Open Source Gallery. This is another contribution to the foundation by the Web Platform and Tools (WPT) team at Microsoft.

Just to warn you, the rest of this blog post is full of blah blah blah about NuPack so if you’re a person of action, feel free to go:

Now back to my blabbing. I have to tell you, I’m really excited to finally be able to talk about this in public as we’ve been incubating this for several months now. During that time, we collaborated with various influential members of the .NET open source community including the Nu team in order to gather feedback on delivering the right project.

What Does NuPack Solve?

The .NET open source community has churned out a huge catalog of useful libraries. But what has been lacking is a widely available easy to use manner of discovering and incorporating these libraries into a project. …

image…”

CodePlex - NuPack

Nupack-logo

NuPack is a free, open source developer focused package management system for the .NET platform intent on simplifying the process of incorporating third party libraries into a .NET application during development.

There are a large number of useful 3rd party open source libraries out there for the .NET platform, but for those not familiar with the OSS ecosystem, it can be a pain to pull these libraries into a project.

Let’s take ELMAH as an example. It’s a fine error logging utility which has no dependencies on other libraries, but is still a challenge to integrate into a project. These are the steps it takes:

  1. Find ELMAH
  2. Download the correct zip package.
  3. “Unblock” the package.
  4. Verify its hash against the one provided by the hosting environment.
  5. Unzip the package contents into a specific location in the solution.
  6. Add an assembly reference to the assembly.
  7. Update web.config with the correct settings which a developer needs to search for.


And this is for a library that has no dependencies. Imagine doing this for NHibernate.Linq which has multiple dependencies each needing similar steps. We can do much better!

NuPack automates all these common and tedious tasks for a package as well as its dependencies. It removes nearly all of the challenges of incorporating a third party open source library into a project’s source tree. Of course, using that library properly is still up to the developer.

Here's a small sampling of what NuPack can do:

image…”

In a word, Cool! The V1 CTP1 vsix is downloadable from the CodePlex site, as is the source too… :)

Here’s a shot of the Add Package Reference dialog (I dig that they reused Extension Manager UI);

image

NuPack makes it almost TOO easy to use third party components. I don’t know if they could make it easier or more convenient. This SERIOUSLY takes out the pain of using these projects/packages.

I also think it’s cool that the package sources can be user driven. Think about internal package sources, or third-party lists, etc.

image

 

Also see:

Domain fun on a global Net… Could a country just kill your domain because they don’t like your stuff? Libya says “See Ya” to an .ly domain account

Gizmodo - URL Shorteners in Peril as Libyan Government Seizes .ly Domain

“! Dictatorships! Always spoiling our fun! That cutesy URL shortening service you might use (bit.ly, perhaps) is riding on Libya's .ly domain suffix. And Libya ain't pleased—one shortener, vb.ly, was recently shut down for violating Libya's oppressive laws.

Ben Metcalfe, (former) owner of pro-porn URL shortening site vb.ly, found that his domain was abruptly deleted by the Libyan government. Metcalfe was told his domain was yanked because …”

Talk about a slippery slope.

I can see that a country has the right to manage and control the usage of their root domain, just as we have the right to not use them… I think the lesson here is to be careful with your registrations. Just because you CAN register your cute name in another county’s domain, doesn’t mean you should…

Tuesday, October 05, 2010

Percolator. The Question is; how does Google store all that index data and keep it updated?

InfoQ - Percolator: a System for Incrementally Processing Updates to a Large Data Set

“As the amount of data being collected and stored expands at astounding rates, scalability requirements once reserved to the Googles of the world are becoming more common and often require dedicated solutions. Daniel Peng and Frank Dabek just published a paper detailing Percolator, Google's indexing system which stores tens of petabytes of data and processes billions of updates per day on thousands of machines.

image

…”

Google Research - Large-scale Incremental Processing Using Distributed Transactions and Notifications

“Updating an index of the web as documents are crawled requires continuously transforming a large repository of existing documents as new documents arrive. This task is one example of a class of data processing tasks that transform a large repository of data via small, independent mutations. These tasks lie in a gap between the capabilities of existing infrastructure. Databases do not meet the storage or throughput requirements of these tasks: Google's indexing system stores tens of petabytes of data and processes billions of updates per day on thousands of machines. MapReduce and other batch-processing systems cannot process small updates individually as they rely on creating large batches for efficiency.

We have built Percolator, a system for incrementally processing updates to a large data set, and deployed it to create the Google web search index. By replacing a batch-based indexing system with an indexing system based on incremental processing using Percolator, we process the same number of documents per day, while reducing the average age of documents in Google search results by 50%.

…”

Here’s a snip of the 14 page PDF;

image

I’m one of those kinds of guys who likes to see how something works. I can’t tell you the number of things I disassembled when I was younger (I just wish I were smart enough to put them back together… LOL) just to see what was “inside.” So when I saw that this paper gives a glimpse into how Google keeps its massive index, i.e. letting us see a little inside, I knew I had to check it out. 

Sure we’re not going to recreate Google with this paper, but seeing into the thinking behind the index storage is just officially cool (I also thought it cool that there was even a column of code in the paper… ;)

Kaliro App Explorer is a quick, simple and easy way to explore the resources, modules, etc in a .Net Assembly (Yes, like Reflector, but simpler…)

addictivetips - Inspect Microsoft .NET Applications With Kaliro App Explorer

Kaliro App Explorer is an inspection tool for Microsoft .Net based applications. Previously we reviewed Alpha SF Resource Explorer (a tool that shows resources of EXE, DLL, CPL, SYS, etc., files) and PeStudio (an application explorer to check Windows compatibility and general threats). Kaliro App Explorer can be used to check the structure and module hierarchy of a .Net based applications.

Since it targets those developers who use MS .NET framework to build applications, it displays complete anatomy of any application for which .Net Framework is required. All you need is to launch application explorer and specify the application (.Net based ) path.

It will list down all the information regarding the modules that were used in the application development. In the left sidebar, it categorizes the information into different chunks which are; Exported Types, Files, Modules, Resources, XML data, etc. All the information about the selected entry is shown in the main window, where you can also copy the contents to clipboard.

…” [GD:Click through for the download link]

If Reflector is a Tesla, then Kaliro App Explorer is a Leaf. It’s kind-of, sort-of like Reflector, yet instead of the uber power that is Reflector, is a simple, quick and easy way to explore the resources, etc. in a .Net assembly (EXE/DLL).

Here’s a snap of it with Windows Live Writer 2011 open;

image

Again, if you’re looking to extract the source/decompile a .Net Assembly, Reflector is the main game in town. If you just want to explore the resources, modules, etc. then this might be your ticket…

Monday, October 04, 2010

MVC view engines, WebFormViewEngine, Spark, NHaml and Razor - zomg my head is going to explode. Could a developer please put these side-by-side and do a review to help me intelligently pick one?… Hey, the Coding4Fun team and Jason Haley have done just that!

Coding4Fun - Developer Review - Four ASP.NET MVC View Engines

“In this Developer Review, we evaluate four view engines available for use with ASP.NET MVC. First, we discuss the role a view engine plays in a website built with ASP.NET MVC, then we provide details about the four view engines in order to help you decide which one suits your needs.

Jason Haley, http://jasonhaley.com/blog/

Source Code: Download in Branches/Playground directory

What Does a View Engine Do?

When we refer to a view engine in ASP.NET MVC, we are talking about three pieces of functionality:

· A template locator/provider (implementation of IViewEngine)

· A template that can render itself (implementation of IView)

· A template engine that can parse and compile the view file syntax into executable code

Combining these three pieces, a view engine provides your controllers with the ability to translate views into Html.

Why Use an Alternate View Engine?

image…”

This is a monster length article (21 pages) that puts a few MVC View Engines side by side to help you compare them apples-to-apples. Written by Jason Haley, of “Interesting Finds” fame, who, like most of us, is outside of Microsoft and is just trying to get stuff done. Meaning this isn’t written by someone inside trying to “sell” you something but by a dev like you…

“Getting Started with Visual Studio 2010,” the Six Page DZone Refcard

DZone - Getting Started with Visual Studio 2010

“This DZone Refcard is a quick reference to the most important new features and instruments in Visual Studio 2010, also providing tips to most common shortcuts.

…”

Snap of the refcard;

image

Now I know most of you are already using VS2010(?), but the move to it will have a long tail and so there might be a few of you where this information will come in handy…

SoCal Code Camp @ USC, October 23/24. It’s free, local and Dev’s for Dev’s… What more could you want? (Oh yeah, there’s going to be give-away’s too ;)

SoCal Code Camp

“Code Camp is a place for developers to come and learn from their peers. This community driven event has become an international trend where peer groups of all platforms, programming languages and disciplines band together to bring content to the community.

Who is speaking at Code Camp? YOU are, YOUR PEERS are, and YOUR LOCAL EXPERTS are…all are welcome! This is a community event and one of the main purposes of the event is to have local community members step up and offer some cool presentations! Don’t worry if you have never given a presentation before, we’ll give you some tips if you need help, and this a great opportunity to spread your wings. Of course, we do have some ringers on our speaker list as well…stay tuned…

And yes the price is right! FREE FREE FREE
Please just check in when you get to the event so we can know how many people showed up and so we can give you some fun stuff

image…”

Oh yeah, here are the “talking points”;

“…

When you talk up the Code Camp remind folks that …

1. Hey, you aren’t getting any younger…  (toss this nonsequetor in just to break the ice – this always helps)
2. We have a great list of sessions by professionals and gurus list which will be growing even more in the coming weeks.
3. Our Geek Dinner is being sponsored again this year?  Thank you Devexpress & other Financial Sponsors!
4. Sunday lunch is being sponsored?  Thank You Telerik!
5. We have $70,000+ in raffle prizes and giveaways… so many prizes that we will be picking winning tickets during Sunday lunch as well!

…”

The sessions all look pretty interesting. And you have to love a page that ends like this…

image

I’m going… You?

Sunday, October 03, 2010

The three step guide to unit testing Entity Framework 4.0

Rab Hallett's blog - Unit Testing Entity Framework 4.0: A-Z in 3 Easy Steps

“This article gives you an ultra-fast run down on how to start Unit Testing in Entity Framework 4.0 using C#; applying a suitable Code Generation Item to your Entity Data Model (EDMX) file, and building a Unit Test Project in Visual Studio 2010.

No external test harness is required, it doesn't rely on having a Repository pattern being implemented and you don't need to buy any new products. Just Visual Studio 2010 Professional Edition, Premium Edition or Ultimate Edition out of the box.

Step 1: Set Up the Code Generation Item

Step 2: Ensure "Context Agnostic" Code

Step 3: Create the Unit Tests

image…”

I am working on a personal project that uses EF and was just thinking about how to unit test it…

Search MSDN, CodeProject, StackOverflow, DZone and more from within Visual Studio 2010 with “Vingy” (Visual Studio + Bing = Vingy)

amazedsaint's .net journal - Introducing ‘Vingy’ Add-in for VS2010 – Search StackOverflow, CodeProject, DotNetKick etc easily from with in Visual Studio

“For some time, I was thinking about developing a web search plug-in for Visual Studio, so that I can search the web (mainly sites like StackOverflow, CodeProject, MSDN etc) in a non intrusive way, with out leaving the IDE.

Here we go, meet Vingy 1.0 – A simple, but effective add in for Visual Studio 2010 so that you can search the web in a non intrusive way, and can filter results based on sources.

Getting used to Vingy

You can bring up Vingy either by clicking View->Other Windows –> Vingy Search Window from the Visual Studio IDE, or just by high lighting some text in the document and then clicking Tools –> Search Selected Text (Ctrl + 1).

Searching with Vingy is pretty straight forward. You can initiate a Search in two ways.

  • By typing the text in the Vingy search box and pressing ‘Enter’ or by clicking the ‘Go’ button
  • By highlighting some text in the editor when you type in Visual Studio, and then pressing Ctrl + 1

image…”

Small, simple, quick and easy… Four of my favorite things. :)