Tuesday, November 20, 2007

XNA 2.0 Beta Now Available for Download

Microsoft Downloads - Microsoft XNA Game Studio Express 2.0 Beta

"....

This release represents the beta of the latest edition to the XNA Game Studio family, Microsoft XNA Game Studio 2.0 which enables hobbyists, academics, and independent game developers to easily create video games for Windows and the Xbox 360 console using optimized cross-platform gaming libraries based on .NET.

This beta release of the much anticipated 2.0 version contains improved performance along with new features such as expanded support for Visual Studio 2005 products, networking and multiplayer support, the XNA Game Studio Device Center, easier Xbox 360 connectivity, integrated game content projects and much more.

For additional setup information and known issues, please read the XNA Game Studio 2.0 Beta Readme page using the link below.

...

XNA Game Studio Express 2.0 Beta Readme

..."

This is an important release for XNA...

Given the broader VS2005 SKU support (Thank you!) I wonder how well it will play with VS2008? (um... not well it seems. According to the Beta readme, "XNA Game Studio is not supported on any member of the Microsoft Visual Studio 2008 product line or any pre-released version of Microsoft Visual Studio 2008."). Let's hope when it RTM's it supports both...

TFS Installation Guide for VS2008

Microsoft Downloads - Team Foundation Installation Guide for Visual Studio Team System 2008

"The Team Foundation Installation Guide for Microsoft Visual Studio Team System 2008, which includes Team Foundation Server, Team Foundation Build, Team Foundation Server Proxy, and Team Explorer.

...

This download site contains the most current version of the Team Foundation Installation Guide for Visual Studio Team System 2008, as well as stored versions of the installation guides for the Beta 1 and Beta 2 releases of this product. Download the version that matches the release that you want to install."

I'm going to need this CHM (especially the upgrade section) sooner than later...

Interested in joining a new project/start-up on the ground floor? Building a product that merges RSS and Social Networks? Then Cory is your man...

I received this email this weekend and due to IP issues with work I can't join it, but I think the idea sounds pretty interesting. What I could do is help him get the word out. With Cory's permission, here's his request...

"My name is Cory and I am a young entrepreneur from Houston, Texas with an idea but no technical experience.  I plan to create a social networking/RSS aggregator.  In a pinch: people have all of these social networks to handle self-promotion, but what they do not have is an easy to build destination for people to view what they are promoting across these different networks.  People should have a way such that if you are selling something on Craitslist or eBay, you can have it seamlessly shot across your Twitter contacts.  The problem is, social networking aggregation just is not there yet - many are trying.

Would you be interested in learning more and possibly helping me build this?

Regards,
Cory"

If you're interested in hearing more, drop Cory a line at cordor12 (at) yahoo [dot] com. Also keep me in the loop when you're ready to alpha/beta test... :)

Ruby.Net 0.9 Released

"We are please to announce the release of version 0.9 of Ruby.NET, you can download it now from our new home page at http://rubydotnet.googlegroups.com/web/Home.htm.

This is the first open source community edition of Ruby.NET. In July of this year, the team at QUT decided to transfer complete control and ownership of the project to the Ruby and .NET open source communities and to strongly encourage others to directly contribute to and steer the project (staff at QUT remain, however, strongly committed and heavily involved in the project).

This new version includes substantial improvements, including improved Ruby/.NET interoperability, .NET subtyping, creation of .NET delegates using Ruby blocks and support for visual design of Windows Forms applications within Visual Studio. We’ve also fixed lots of bugs and are close to getting Ruby on Rails to run successfully.

We look forward to you feedback. A Google group has been set up for discussing the Ruby.NET compiler project. The email address is RubyDOTNET@googlegroups.com and you can join at http://groups.google.com/group/RubyDOTNET.

We are getting close to releasing our first "production quality" release, version 1.0. If you are interested in using Ruby.NET for "production purposes", please contact us as we'd be happy to work with you in creating some showcase examples of real world usage.

If you are interested in contributing, please visit http://rubydotnet.googlegroups.com/web/ForContributors.htm - we need all the help that we can get!

Also, please help us by spreading the world about this release and the project via whatever blogs, email lists, friends, networks, media etc that you have access to and you think would be appropriate." [Email posted in full]

Thanks for the heads-up Wayne... :)

 

Related Past Post XRef:
Ruby.Net (fka Garden Point Ruby.Net) Moving to a New OSS Model (and works in Visual Studio 2005...)

Monday, November 19, 2007

Lock your Windows Workstation with a Double-Click

IntelliAdmin - Lock your computer with a double click

"Many times I need to run away from my computer quickly...but I do not want to leave my computer unlocked.

So, yes, I am extremely lazy, well clumsy too. A few times when I am in a rush to CTRL-ALT-DEL I have knocked an entire bottle of water on to my keyboard.

...

Did some Google searching, and yes it is easy to create your own.

Right click on the desktop and Click on New, then Shortcut.

...

For the location, type this:
%windir%\system32\rundll32.exe user32.dll LockWorkStation

..."

This is a cool little hack/utility/shortcut/thing that makes it a little easier and quicker to lock your Windows OS (NT, 2000, XP, I don't know about Vista yet, but it should work).

Making security easy means it's easier to be secure...
("Thank you SGT Obvious!"  LOL)

Visual Studio Team System 2008 Team Explorer Download

Microsoft Downloads - Visual Studio Team System 2008 Team Explorer

"Microsoft Visual Studio Team System 2008 Team Explorer can be used as a standalone rich client for accessing Visual Studio Team System 2008 Team Foundation Server. It enables users to join the software development life cycle with integrated support for source control, work item tracking, build management, and detailed reports showing bug trends, project velocity and quality indicators.

You must have a Team Foundation Server Client Access License (CAL) to use Team Explorer to access a Team Foundation Server."

If all you need is VS 2008 Team Explorer (say to connect to CodePlex, or an internal TFS, etc) then this download is for you...

 

Related Past Post XRef:
VS2008 has RTM'd and should be available for download from MSDN today...

Vista Complete PC Backup - It's a Winner in my book...

This weekend I decided it was time to upgrade one of my old notebooks (IBM T30); to move off it to a less old notebook (HP Compaq NC6200). This is a process I usually dread as I've played the install OS, install apps, transfer data, etc game way too many time. It's a game that's no longer all that fun.

Vista includes a Complete PC backup option, which is like Ghost/DD, etc. It creates a drive image and allows bare metal restores. Boot with a Vista DVD and via the Repair tree you can restore your PC from a previous Complete PC backup. How well a backup made on one system would restore to another was what I was wondered about. Still it was worth the time to see if it worked (as it would be pretty cool it if did... ;)

Taking a newly created backup of my T30, I booted the NC6200 with my Vista DVD and kicked off the Complete PC restore (and crossed my fingers).

After a few minutes (nice having USB2 on the NC6200. The USB1.1 on the T30 was dog slow... as you'd expect) the backup was done and the NC6200 rebooted. And it worked! It booted to the user/login screen, just as normal. No blue screen, no issues, it just seemed to work... Wow

Once I logged in, the driver install game started, as expected. A couple reboots later, a couple Windows Updates/reboots, a couple vendor driver downloads/reboots and the NC6200 was working. All steps I'd pretty much have to do anyway if installing Vista fresh...except all my applications, data, settings, etc were all there and working. Double Wow.

The NC6200 had a 80GB HD in it, the T30 a 40, so the restored only created a 40GB partition. With Vista's new built in partition management features, I was able to expand the 40 to fill the 80GB drive in seconds. Triple Wow.

 

Now all I need to do up upgrade the NC6200 to a 120GB HD, but with my new found friend, Vista's Complete PC Backup, that should be a breeze. :)

Say what you will about Vista, there are some pretty darn cool features in it...

VS2008 has RTM'd and should be available for download from MSDN today...

Microsoft UK Developer Tools Team - Visual Studio 2008 Has RTM'ed!

"As of this morning, the RTM version of Visual Studio 2008 (was codenamed Orcas) is available for download from the MSDN subscribers site.

image

..."

BUT this may be a early or "jumped the gun" announcement, so take this with a grain of salt. MSDN Subscription Downloads is currently down, so I can't confirm it's available...

Thanks to Scott for the heads up.

Update #1 11/19/2007 @ 6:52AM (PST):

MSDN Subscribers Download is up (for me at least) and I'm downloading VS2008 now...  :)

Update #2 11/19/2007 @ 7:15AM (PST):

MSDN Subscribers Download is now down again for me (and Scott too). I guess I got lucky and got in at just the right time... Glad I started the download then.  :) (15% downloaded of the 3.9GB of Team Suite).

Friday, November 16, 2007

SQL Server 2008 Gets Intellisense Baked In...

US ISV Developer Evangelism Team - Sneak Peak - SQL Intellisense

"In the spirit of continuing to wet your appetite for the next CTP of SQL Server 2008, I thought I would give you a glimpse of the T-SQL Intellisense functionality that is coming for SQL Server Management Studio...

"
[Post Leached in Full]

Nice...

But I miss Query Analyzer (Actually I usually grab it from a SQL 2K setup...).

Management Studio is just overkill in many cases. What would be cool is a Management Studio Lite, or Query Analyzer 2008, or like tool. SQL Query goodness in a less filling but still great tasting package... ;) 

Well I guess that's where the ISV's come into play (such as SQL Prompt, etc).

Thursday, November 15, 2007

FolderSize 2.4 Released

SourceForge - FolderSize

"Folder Size for Windows adds a new column to the Windows Explorer details view that displays the sizes of files and folders. A service scans your hard disk in the background and caches the results. Designed for performance!

..."

Looks like v2.4 of FolderSize is out... A number of people I know have found these Windows Shell Extension very useful...

Can you smell it? VS2008 RTM is getting close (and it smells good...) - Visual Basic 2008 Keybinding Reference Poster

Microsoft Downloads - Visual Basic 2008 Keybinding Reference Poster

"A high quality, print-ready PDF containing the useful keybindings for developers that choose the Visual Basic developer profile in Visual Studio 2008 or use Visual Basic Express. "

Also available; Visual C++ 2008 Keybinding Reference Poster, Visual C# 2008 Keybinding Reference Poster



Wednesday, November 14, 2007

Humor: Rock, Paper, Pow...

trouble sleeping - Rock, paper, scissors - the loser

While on vacation the last couple days, my son and I got into some rock, paper, scissors variations... I can SO understand this point of view... LOL

Humor: Coming soon... New Hit Rhythm Music Game.

accordion

LOL

I wonder if I can find this for my son for Christmas? I'm SURE he'd love it... MUHAHAHAHA! 

(via Crolack - HAHAHAHAHA)

AVTD (Another Vista TaskDialog) - Vista TaskDialog Wrapper and Emulator

CodeProject - Vista TaskDialog Wrapper and Emulator

comparison1

"...

Basically, I wanted a class which would wrap the TaskDialog so that on a Vista machine it would invoke the native TaskDialog in COMCTL32.dll v6 (which ships with Vista), while on pre-vista machines it would emulate the TaskDialog with a near identical substitute.
Massive credit must go to KevinGre for his superb article "TaskDialog for Winforms" which wraps the COMCTL32 TaskDialog API. The only changes made to his code were as follows :-

[1] Prefixed class/enum/struct names with "VistaXxxx" (e.g. "TaskDialog" -> "VistaTaskDialog") for the sake of clarity

[2] Implemented the bug fix for x64 machines mentioned in the comments section at the bottom of his article

This project takes Kevin's work a step further, in that the TaskDialog is no longer restricted to Windows Vista. You can now use the same code to display a TaskDialog without worrying about the Windows version.

..."

I have serious TaskDialog envy and really want to use it on pre-Vista projects so I've been keeping my eyes open for them. This one looks pretty darn complete and I like that on Vista it "goes native"...

LINQ to Lucene

CodePlex - LINQ to Lucene

"What is LINQ to Lucene?

Providing a custom LINQ solution for the Lucene Information Retrieval System, commonly referred to as a search-engine.

Current Release
The Query Release
Tuesday, 13 November 2007
This release provides a real focus on the querying abilities of the LINQ to Lucene project and is the first real 'working release', converting LINQ statements to Lucene queries with deferred query execution and object creation or projection. It culminates the majority of the required querying features for LINQ that Lucene provides natively.

..."

LINQ, LINQ, LINQ... I think it's time to work on LINQ to Greg's Brain... ;)

That aside, this looks like a cool project. Tracking...

Thursday, November 08, 2007

CHM O' Scripting - 160 Scripting Articles Collected into a CHM

Microsoft Downloads - Script Center All-in-One

"Script Center All-in-One features over 160 scripting-related articles collected in a single .CHM file. This collection features all of the Tales From the Script, Office Space, and Scripting Clinics columns, plus much, much more. And if that's not enough, then download the Hey, Scripting Guy! and Sesame Script archives as well"

That pretty much says it all...

Wednesday, November 07, 2007

Some VS WoW (Using Visual Studio 2008 to code LUA for World of Warcraft)

InfoWorld - World of Warcraft, meet Visual Studio

"...

Scott Guthrie, general manager of the developer division, gave a wide-ranging keynote at Microsoft's DevConnections conference at the Mandalay Bay resort in Las Vegas.

But he seemed to especially capture the audience's attention with the WarCraft demo, which coincided with Microsoft's announcement that it would let partners use Visual Studio and its accompanying software development kit to target platforms besides its own.

WarCraft, a popular online role-playing game, uses a programming language called LUA. The Microsoft presentation showed a developer using the familiar Visual Studio environment to code in LUA and create some extensions for the game.

"Not only does Visual Studio give you line-of-business productivity, but you can also triple-kill your opponents," Guthrie joked after an onscreen character coldly dealt death to a trio of hapless game characters.

The WarCraft add-on will be hosted as an open-source project on CodePlex, Guthrie said.

..."

Nice...

Data Dude (aka "Visual Studio Team Edition for Database Professionals") and TeamBuild

CoDe Magazine - The Data Dude Meets Team Build

"Integrate the data tier developer into the core development life cycle and process.” That is one of the main objectives of Visual Studio Team Edition for Database Professionals, also known under its project name “Data Dude.” Bringing the data tier developer into Visual Studio is the first step in enabling closer integration between the application and data tier developer. Having both environments leverage the same Team Foundation Build (Team Build) system enables daily and automatic integration of changes into the build process, enforcing closer integration and shorter feedback cycles between the two originally disjoint disciplines.

...

Now you know how to integrate Database Projects into a Team Build environment. You could achieve more things by extending the approach described above. For example, you could automatically deploy the database schema as part of the build process by adding the SqlDeployTask to the post-build events, or you could integrate database unit testing and data generation into the test execution part of Team Build."

Interesting. I'd like to start using Data Dude and we're moving to TeamBuild for all our projects, so good timing on this article (12 pages printed)...

(via bharry's WebLog - Good Article on DBPro & Team Build)

New Sysinternals Utility Released- ADInsight

Sysinternals Site Discussion - New Tool: AD Insight v1.0 and Various Updates

"ADInsight v1.0: Introducing ADInsight, an LDAP (Light-weight Directory Access Protocol) real-time monitoring tool aimed at troubleshooting Active Directory client applications. Use it’s detailed tracing of Active Directory client-server communications to solve Windows authentication, Exchange, DNS, and other problems.

PsExec v1.90: This version of PsExec, a command-line tool for executing programs locally and remotely, significantly improves handling of arguments passed to the specified application by not modifying spacing or quotation marks. It also fixes a number of minor bugs, including ones related to running programs in alternate terminal server sessions.

Process Explorer v11.04: ...

ADExplorer v1.01: ...

DebugView v4.72: ...

Process Monitor v1.26: ...

BgInfo v4.12: ..."

This is like an official "Microsoft Release Month" isn't it? (My favorite kind of month...  ;)

Tuesday, November 06, 2007

Humor: Being a "Meeting Day" today this made me laugh...

Office Offline - Time flies

Time flies

Windows Live Writer v1 (aka Version 2008, 12.0.1366.1026) Released

InsertableContentSource - New Windows Live Writer Version

"A little earlier than scheduled (that schedule being tonight), we [Liveside] and mess.be have discovered that the new set of programs are available for download. ...

I spent ages jumping through hoops though trying to get the new programs to install, but it kept installing the older versions. I followed the support article but to no avail, in the end, I reset my router, and bingo, got the new programs. So if you keep getting the old programs, try resetting your internet connection.

..."

LiveSide - News blog - Final Windows Live Wave 2 applications available for download

"Looks like nothing can stay quiet for long - a new installer featuring the final Windows Live Wave 2 programs is available for download thanks to Microsoft's early preparations. While not much has changed in the applications themselves since the last beta releases, its just nice to be running the final versions.

You can grab the new Windows Live installer here: http://g.live.com/1rewlive/en/WLInstaller.exe 

..."

Yeah!

Upgrading from B2 to RTW went very smoothly on a XP machine. I'll be updating my Vista machine later this week (but I except it to be smooth too).

If you've not tried Windows Live Writer now's the time...

Monday, November 05, 2007

DockPanel 2.2 Released

DockPanel Suite - File Release Notes and Changelog

"The docking library for .Net Windows Forms development which mimics Visual Studio .Net."

 

 

The cool DockPanel Suite project has rev'ed to 2.2 addressing bugs, etc...

 

Related Past Post XRef:
DockPanel 2.0 Released
Dock Panel Suite - Public Domain VS Like Docking Component Written in C#

Visual Studio 2008 RTM's This Month (November)

Ravings of a Developer TS - It's Official, Visual Studio 2008 Releases This Month!!

"Now I can actually answer that question "Yeah, but when will it ship?" with 100% confidence!

"Today, during the keynote address at Microsoft TechEd Developers 2007, S. "Soma" Somasegar, corporate vice president of the Developer Division at Microsoft Corp., announced that Microsoft will release Visual Studio 2008 and the .NET Framework 3.5 by the end of November 2007." See the article here.

..."

ROCK ON!

I'm moving my personal development to VS2008 as soon as it RTW's. And I'll be moving my work team not far behind...

(via ScottIsAFool, InsertableContentSource)

Sunday, November 04, 2007

Microsoft Sync Framework CTP1 Released

Microsoft Downloads - Microsoft Sync Framework CTP1

"... Microsoft Sync Framework is a comprehensive synchronization platform that enables collaboration and offline scenarios for applications, services and devices. Developers can build sync ecosystems that integrate any application, any type of data, using any protocol over any network.

The Microsoft Sync Framework provides a platform for taking web services and databases offline. In addition, it provides optimized P2P sync of any type of file including contacts, music, videos, images and settings. The extensible framework includes built-in support for synchronizing relational databases, NTFS/FAT file systems, Simple Sharing Extensions for RSS/ATOM, devices and web services.

Highlights

  • Add sync support to new and existing applications, services, and devices
  • Enable collaboration and offline capabilities for any application
  • Roam and share information from any data store, over any protocol, and over any network configuration
  • Leverage sync capabilities exposed in Microsoft technologies to create sync ecosystems
  • Extend the architecture to support custom data types including files

..."

Microsoft Downloads - Introduction to the Microsoft Sync Framework

"Throughout this document we will discuss the Microsoft Sync Framework which enables developers to create offline and collaboration scenarios for applications, services and devices.

...

The Microsoft Sync Framework includes all of the things required to integrate applications into an offline or collaboration based network, using the pre-created providers or writing new custom providers. This article outline some key concepts regarding synchronization providers, which will help you to understand how to create a provider.

..."

Microsoft Downloads - Microsoft Synchronization Services for ADO.NET v2.0 CTP1

"The download package contains the SQL Server Compact Edition 3.5 and Microsoft Synchronization Services for ADO.NET v2.0 CTP1

..."

Microsoft Downloads - Introducing Microsoft Sync Framework: Sync Services for File Systems Whitepaper

"Dive into the details of this new reusable Sync Services for Files Systems component we call simply, the File System Provider, along with enabled scenarios and sample code for getting started.

...

Towards this goal, we have developed a reusable provider for synchronizing the contents of file system directories on PCs and removable media such as USB thumb drives. In this article, I’ll cover the details of this new reusable Sync Services for Files Systems component we call simply, the File System Provider, along with enabled scenarios and sample code for getting started.

..."

Interesting... Added to my mental watch list.

You can never have too many .Net Posters... .Net 3.5 Common Namespaces and Types Poster

Microsoft Downloads - .NET Framework 3.5 Common Namespaces and Types Poster

"... A PDF of the .NET Framework 3.5 Common Namespaces and Types Poster ..."

A 36" x 28" .Net Framework 3.5 color poster for your cube...

Friday, November 02, 2007

TFSBuildLab 1.0 Released

Buck Hodges - TFSBuildLab 1.0 for TFS 2005

"...

TfsBuildLab v1.0 is out there !!!

Finally we are feature complete as we intended it to be from the start (download it from here) ...

What's new in version 1.0?

Service
* Automatic rescheduling when adding new scheduled trigger.
* A report for displaying statistics from the triggers and retention policies.
* Support for overriding build script parameters both for CI and queued builds.
* Support for only deleting the build drops.
* Support for configuring retention policies based on build quality.
* Performance improvements by introducing caching

Admin Client
* Added feedback when delteing multiple builds.
* Support for forcing recaching on the server.
* Support for overriding build script parameters on queued builds.
* Support for overriding build script parameters on triggers.
* Added range paramters when listing log entries to limit the result data.

Checkin Policies
* Removed the need for TfsBuildLab when using the restricted paths policy.

Build Task
* New custom build task to use overloaded parameters (LoadOverriddenProperty)

..."

We're starting to get serious now about using TeamBuild in my team, so this may come in handy in the near future...

As I build out the team I am working us away as fast as I can from an "F5 Build Process". When you have a one person "team" it's one thing, but when the plan is for a 5+ members it's a whole 'nother ball of wax... TFS is already hosting the work items and source, it might as well do the building as well.  ;)

 

Related Past Post XRef:
TFSBuildLab - Automated Builds for VS2005 TFS

Thursday, November 01, 2007

Making the world safe for .NET SQLCommand, SQL Scripts and the "Go" Statement

.NET Playground - SQL Server GO statements

"Why don't go statements work within a SQL script I run from my .net program?

This is simply because "go" isn't SQL. It's only able to be interpreted by management studio, so when you run it from your application, it's going to throw you errors saying it's invalid SQL (and rightfully so).

...

But there is a simple way around this.

The first thing you need to do is do a replace-all in your Sql Script. Open your script up and replace "go" with "go--runtoline". Make sure you have 'match whole word' on, otherwise you'll mess up a heap of stuff. When you run the script it should run exactly the same as before you did the replace.

Next thing is in your code, you want to split up the script into a set of sub routines as such:

..."

Now that's a cool idea...

This keeps the original SQL Script in a form that can be executed from Query Analyzer/SQL Management Studio, as well as via .Net SQLCommand.

I think I like this approach in that it seems to give more control over the process...
(Think a long script, filled with many different statements broken into Go blocks and then getting an error in the middle somewhere... )

 

Related Past Post XRef:
Execute T-SQL Scripts (with GO's) Programmatically with SMO (or DMO)
Call SQLCMD from .Net with Output Capture

Humor: Be careful how you blog...

 Business Blogging Blunder

Learning About Electronic Data Discovery? RenewData has a free book for ya...

RenewData - Request your copy of "eDiscovery for Dummies"

"RenewData’s eDiscovery for Dummies provides answers to key questions that come up during the e-discovery process, such as:

  • What are the basic principles and terminology of e-discovery?
  • What should happen in a meet and confer session?
  • What should you preserve and when should you start?
  • How do you get your hands on the data?
  • What are the fastest and easiest ways to review data?
  • How do you produce the data to the other side?
  • Are there any additional e-discovery resources

..."

Requested. Now I just need to wait the 2-4 weeks for it to be mailed to me...

(via EDD Update - "EDD for Dummies" Book (RenewData))

If you API it, they will come... (Hints about a "Full" API coming for Windows Live Messenger)

LiveSide - News blog - Messenger 9, GTalk integration, Messenger API, new client for Mac OS X - news unveiled at Georgia Tech presentation (whew)

"...

So just to review, according to what Hollingsworth reported that Jenks said:

  • New API coming for Messenger, hopefully including "full support for everything the full messenger client uses"
  • API Tech Preview to be released at Mix08, Beta 1 API ready with Messenger 9 final
  • Messenger 9 ships in late 08 or early 09
  • MS is trying to work out a way for WLM users to chat with AIM/GTalk/ICQ: basic internal version of GTalk working now
  • Brand new version of Messenger for Mac OS X coming - "really cool and awesome", MSN Messenger for Mac will not be updated
  • Xbox Live, now using Messenger 7, will be upgraded to 8.5 or possibly 9

..."

I've been feeling lately that one a way for a software company to succeed, to get their cool service or nifty product used and embedded into our lives, is to provide an API. A full and complete API.

I'm thinking that any Web 2.0 thing should (must?) have a API. Nearly any software product or service should also have an API or SDK... (Yeah, I know... "Great thinking Mr. Obvious..."  lol  )

For example, SkyDrive, folders.live.com. I can think of a ton of cool things I'd like to do with that, only if there were a supported SDK or API. But there's not, so I'm just not drawn to using it much (and it's a pretty darn cool service too... I'm keeping my fingers crossed that one will come...).

Look, there are probably more of us devsumers (development skilled consumers) than there are developers in your company (so you would hope anyway ;). If you build a cool service, we'll build on it, and take it places you never thought of. Just look at where mash-ups have taken us. That's what we LOVE doing, building cool stuff. If you make it easier for us to build cool stuff, then we will! We'll use your product/service/API and will build the cool stuff.

Let's take Windows Liver Writer as an example. Its API has allowed us to extend it in ways Microsoft may have never thought of. Some of the plugins are just too cool and make it easier, fill in its gaps, more convenient and just plain better. If it didn't have its API? I doubt I'd be using it... But as it is today, you would have to pry WLW from my cold dead fingers before I give it up.

Real lock-in (err...um... I mean... dedicated product loyalty and mutual beneficial dependency.... yeah... that...) happens when the developers get a hold of your API and build the uber-cool stuff on top of it. That's when your product/service/framework/platform/API becomes indispensable...

Your front end, user interface, etc should be built on this API. Not grafting on an API after the fact (better than nothing, but that's still icky). Building on your own API means you'll be dogfooding from day one, it will be tested and secure (hopefully) and you won't be able to be accused of using insider knowledge, secret calls and hidden methods.

 

API it (and build a cool product of service on top of it to show it off) and the developers will come...

Wednesday, October 31, 2007

TFS to TFS Migration Tool Beta/Pre-release on CodePlex

Ed Hintz (MSFT) - Pre-release of TFS to TFS Migration Tool Available on CodePlex!

"Back in June we released the TFS Migration and Synchronization Toolkit - a toolkit that helps migrate data between 3rd party version control and bug tracking systems and TFS.  Turns out that folks also want to migrate data between two TFS servers too, so work was begun on writing a TFS to TFS migration tool based on the toolkit.  A pre-release of this TFS to TFS Migration Tool is now available on CodePlex!  This tool enables migration of work items and version control items with history between TFS servers.  To learn more about the tool, you can visit the TFS to TFS Migration Tool page on CodePlex.

..."

Oh yeah, I can see a use case for this... (I expect I may need this myself in the future).

No source checked in yet, BUT the C# source (and SQL, etc) IS all in the release ZIP...

 

Related Past Post XRef:
TFS Migration and Synchronization Toolkit 1.0 Released

Because It's Halloween...

The Download Munkey - Wallpapers Wednesday : Halloween Jack O' Lantern Wallpapers

"It's Halloween today so I'm presenting some cool Jack o' Lantern wallpapers I found over at HQ Wallpapers, which I believe stands for High Quality Wallpapers :)

33 wallpapers in 1280x1024 resolutions of Jack o' Lanterns carved with silly expressions and 6 other Halloween wallpapers of assorted designs.
...

pumh-02

pumh-03  


..."

I thought these were cool and they made me laugh.

I'm sure there are additional cool ones at the referenced site (HQ Wallpapers) but my work WebSense is blocking that site... (sigh)

Tuesday, October 30, 2007

IE7Pro 1.2 Released

IE7Pro - The Easiest way to make Your Internet Explorer Professional

"Changelogs: IE7Pro 1.2 (Oct 30,2007):

1 Ad Blocker
* Rules Counter added
* Table filter added
* Support for "Contains" match
* Table filter as a separate section in the Ad Blocker rules added
* Default Ad Blocker rules updated

2 IE7Pro Menu and Preference Window
* Shortcut for "Clear Privacy" feature added
* Uninstall Plugins from the Preference Window now
* Check for updates Manually now

3 Autoform ignore parameters now

4 Support for "View Selected Source Code"

..."

My favorite IE7 plugin, and first thing I install after IE7, has rev'ed to 1.2...


Related Past Post XRef:
IE7Pro v1.0 Released
IE7Pro v0.9.18 Released - Inline, Firefox like Spell Checking Added
IE7Pro - Must have IE7 Add-on?

Monday, October 29, 2007

Using WiX to Create Windows Live Writer Plugin Setup's

Mike Stall's .NET Debugging Blog - WiX Script for installing Live Writer Plugins

"Here's a WiX install script to build an MSI to install a Windows Live Writer (WLW) plugin dll, by xcopying the plugin dll to the Plugins directory. You can then upload your MSI to the WLW Gallery and share your plugin with others.

..."

Using WiX to create a WLW Plugin Setup may be a little over kill (I've been able to use VS2005 Setup projects to do about everything I need in a WLW Plugin Setup...) but I also think this may also be a good way to get my WiX feet wet.

Saturday, October 27, 2007

Using the TaskList command line utility to see what processes are using a DLL (and what process is hosting what Service)

Jigar Mehta's Blog - How to find out what all processes have loaded particular DLL..

"I was searching for a way to find all the processes running right now, who has loaded particular DLL.. And found a really good command that shows really useful output..

tasklist /m wbemsvc.dll

You dont have to install anything on your windows, just go to command prompt and fire command.
PS: Replace wbemsvc.dll with DLL in question.

..."

This is one of those tasks that I don't do often enough to remember how to do it when I need it...

Also the "tasklist /svc" tip will come in handy too. I had "svchost.exe" eating up CPU cycles the other day and wanted to see what service(s) was being hosted in that process. "Tasklist /svc" would have fit the bill nicely...

Friday, October 26, 2007

Microsoft SharedView Beta 2 Released

Microsoft Downloads - Microsoft SharedView Beta2

"...

Hold more effective meetings and conference calls
Connect with up to 15 people in different locations and get your point across by showing them what's on your screen. [GD: A Windows Live ID (Passport, Hotmail, or MSN) is required to start sessions, but not to join sessions.]

Work together in real time
Share, review, and update documents with multiple people in real time.

Use when and where you want
SharedView is easy to use, from anywhere, at a moment's notice.

New in Beta 2!
Now even easier to use, with improvements to the sign-in and join experience, group chat to send messages to others in the session, and performance improvements!

Click here to learn more about the Microsoft SharedView Beta2.

..."

I've used Beta 1 a couple and thought it was pretty cool... But we're getting locked down pretty hard at work, so I'm not sure if I'll be able to use this there in the near future (long deep sigh).

(via The Road to Know Where - Microsoft Releases Beta2 of "SharedView" 15 Person Conferencing Software)

 

Related Past Post XRef:
Microsoft SharedView (fka "Tahiti") Beta Download Available

Thursday, October 25, 2007

Using GetFileAttributes to Test for File Existence

The Old New Thing - Superstition: Why is GetFileAttributes the way old-timers test file existence?

"If you ask an old-timer how to test for file existence, they'll say, "Use GetFileAttributes." This is still probably the quickest way to test for file existence, since it requires only a single call. Other methods such as FindFirstFile or CreateFile require a separate FindClose or CloseHandle call, which triggers another network round-trip, which adds to the cost.

...

I don't know if any network providers still implement this data path feature, but Windows code in general sticks to GetFileAttributes, because it's better to be safe than sorry."

This is a tip that will come in handy for me...

At work I have to deal with long, greater than MAXPATH, paths. So I've had to write my own "IO.File" class (and IO.Path and IO.Directory classes), using InterOp to wrap the "W" (Unicode) API's.

I just checked it and my File.Exists function is using the FindFirstFile(W) method mentioned above. Since the class is intended for usage across a network, executing simultaneously on many machines, called a good number of times, minimizing network IO is a good thing. This GetFileAttributes technique fits that bill nicely...

Windows Error Report When It's the Application You Developed that Gacks

"Hello World" The SlickEdit Developers Blog - Error Reports: To Send or Not to Send?

"...

But sometimes, I get another experience with the dialog box, one altogether unique to programmers. The application in question was mine. It crashed because of something that I did. So now I have Microsoft apologizing for my behavior and asking if I would like to turn myself in. Uh, no, thanks, that’s quite all right. I’m just glad there’s no way for Windows to detect that I was running my own program, or I’d get a different message entirely."

This made me laugh... I'm also glad it's not smart enough to know when it's my app that gacks. Feels kind of like wearing a "I'm with Stupid" T-shirt that has an arrow pointing up... ;)

Enumerate Tables and Execute T-SQL for each with sp_MSforeachtable

Joe Webb - The undocumented sp_MSforeachtable procedure

"...For example, we may want to disable check constraints for all tables prior to loading a bunch of data; or perhaps we need to run DBCC CHECKTABLE for every table in our database to ensure the integrity of all pages and structures that make up the tables.

We could, of course, create a script that uses a cursor to loop through all of the tables in the database to do our bidding through dynamic SQL. Yuck!

Fortunately, there's a better way. It's the undocumented sp_MSforeachtable stored procedure in the master database. It's like a cursor in that it loops through each table in the current database and executes a script that you define ...

..."

Every time I need this stored procedure I forget what it's called. Maybe if I blog it I'll remember it (or at least be able to find easier in the future...  ;)

SEAMonster - "Smart" Image Resizing

The Road to Know Where - Microsoft Releases SEAMonster "Content-Aware Image Resizing" Utility

"...

  • Watch this quick video!
  • Download SEAMonster Beta
  • ..."

    This is hard to put into 5 words or less. This is "smart" image resizing, not compression, cropping or cutting of columns/rows of pixels but intelligent removal of "noise." Allowing the resizing of pictures without the removing or distorting of the primary content.

    Watch the video. It's pretty darn cool!

    Wednesday, October 24, 2007

    Short Introduction to Partial Methods in .Net 3.5

    codeguru - Partial Methods

    "Have you heard of partial classes? Partial classes permit defining part of a class in one place and another part somewhere else, usually in another file. Partial classes exist in part so Microsoft can hide the Visual Studio designer plumbing from you. There is nothing sinister here; it's just easier to let the designer manage the declarations and event bindings—in the designer.vb files—and let you write your code in the .vb files. The .designer.vb file contains the partial method declaration—one half—and the .vb file you write code in contains the other half. This model is used for Windows Forms (and probably some other places).

    Partial methods are defined in partial classes. Partial methods let you indicate that a private method declared in a partial class may be implemented in the other part of the partial class. Partial methods are stubbed in one place and implemented in another. The most likely scenario where partial methods will be used is in generated code. With generated code, the generator can add partial methods and if you want to insert additional behavior, you can provide an implementation for that method. If you don't provide an implementation for the partial method, nothing happens. Providing the stub is optional.

    ..."

    I'm been trying to wrap my head around Partial Methods that are coming in .Net 3.5. Trying to "get it". At first I didn't and thought it somewhat insane. Partial Classes I got and really like. But having a Method (aka Sub in VB'ness) broken into two parts, in two different files? That sounded like some sort of mad scientist construct. (Nothing against mad scientists of course... ;)

    But after reading this article and thinking a little more about it, I think the light has come on (mostly).

    I'm now thinking of it like a "template", sort-of kind-of interface or better yet, a code stub.

    It's NOT having a method broken into two parts, with an implementation in both. It's a stub in the initial Partial Class (think code that was generated), to be implemented, coded, filled out, fleshed out, etc in the main/working class...

    Oh yeah, now I think I get it... Okay, that IS cool.  ;)

    Monday, October 22, 2007

    More SQL Server 2008 FileStream Fun

    Ravi S.Maniam's Blog  - FileStream Data Type : SQL Server 2008

    "...

    Till the date people have been creatively inventing their own mechanisms to store unstructured  data, we are not trying to put the end to the creativity but rather we are proving a new Robust data type that can help people in storing the unstructured data like bitmap images, text files, videos, audio files etc. in a single data type which is secure, more manageable and the among the best of features, the best is that it is very friendly to use. So the expected results are Happy DBAs, Happy Developers and Happy Users.

    ...

    FILESTREAM is going to solve all such problems. Applications can leverage the rich streaming APIs and performance of the FileSystem at the same maintain a transactional consistency between this unstructured data and structured data with security. Today much of the data is created in the unstructured way such as text documents, videos, images, spreadsheets etc. This unstructured data is often stored outside the database, separate from its structured data most of the time in the creative way like described in the above paragraph. This separation can cause data management complexities. Or, if the data is associated with structured storage, the file streaming capabilities and performance can be limited. FILESTREAM integrates the SQL Server Database Engine with an NTFS file system by storing varbinary(max) binary large object (BLOB) data as files on the file system. Transact-SQL statements can insert, update, query, search, and back up FILESTREAM data. Win32 file system interfaces provide streaming access to the data. FILESTREAM uses the NT system cache for caching file data. This helps reduce any effect that FILESTREAM data might have on Database Engine performance. The SQL Server buffer pool is not used; therefore, this memory is available for query processing.

    ..."

    This is a nice post going from concept to usage of the new SQL Server 2008 FileStream attribute...

     

    Related Past Post XRef:
    Playing with the SQL Server 2008 FileStream Attribute
    SQL Server 2008 Whitepapers
    More SQL Server 2008 T-SQL Coolness - Table Value Constructors (or better, Row Constructors)
    New SQL Server 2008 T-SQL Features - It's the little things that are cool...

    Saturday, October 20, 2007

    WiX Your Way to Installer Happiness

    John Robbins' Blog - WiX: Hints for New Users (Part 1 of 3)

    "...

    While there are many third party applications, commercial and free, available to developers, I want to focus on a free tool, Windows Installer XML (WiX), which I've been using to build my installations for the last couple of years. By the way, WiX was Microsoft's first real open source project. I must make the disclaimer right up front that I am certainly not an installation expert. Like nearly everyone reading this, I'm just a developer (and sometimes project manager) who wanted the installs to be part of the code right from the beginning.

    If you're worried that you have a complicated application and WiX might not be able to handle it, rest assured. WiX has been used to build some installations that you've used in the past. A few small applications such as Microsoft Office 2007, Microsoft SQL Server 2005, and Microsoft Visual Studio 2005/2008 are a small sample. WiX is the installation tool of choice inside Microsoft.

    In the first part of a three part series, I want to discuss resources and hints for those of you who have not used WiX before. In the second part, I want to cover one of the biggest problems with WiX which is that it doesn't make life easy during development when binaries and supporting files are in a state of flux. This is especially true in web applications where user interface designers are adding and removing files, such as .JPG images, that aren't really under the developer's control. WiX currently forces you into a model of huge amounts of time spent manually editing the installation files. In the final part of the series, I want to present a tool I wrote that solves those problems and which has definitely taken the time spent working on my installations from days to minutes when dealing with rapidly changing projects.

    ..."

    John Robbins' Blog - WiX: The Pain of WiX (Part 2 of 3)

    "In the first part of this series I gave an introduction to WiX. In this second installment of this three part series, I am assuming that you've read through the Windows Installer documentation and through Gábor Deák Jahn's WiX Tutorial. Additionally, I'm assuming that you've written a simple installation using WiX so you've read about or used TALLOW.EXE, which is the tool for creating WiX fragments.

    If your installation is only three or four files you can create your .WXS file by hand and have no troubles at all. Where things get more difficult is if you are dealing with an application that has hundreds if not thousands of files, and you are adding and removing files during the throes of development. As I mentioned previously, a web application with its myriad of .JPG and other static files suffers from this problem. The prospect of creating a .WXS file, a portion of which is shown below, for thousands of files starts to sound like a three week task of tedious manual editing.

    ..."

    Sorry about that title. It's a Saturday, what can I say? :)

    One of these days I'm actually going to get off my butt and play with WiX... Of course I've only been saying that for over three years now.  :|

     

    Related Past Post XRef:
    WixTrim - WiX Designer (with C# 2 Source)
    Windows Installer XML (WiX) toolset has released as Open Source on SourceForge.net

    Friday, October 19, 2007

    Visual Studio 2005 Setup and Deployment Installer Classes and Custom Actions

    DevCity.NET - Installer Class and Custom Actions

    "Installer Classes are great tools that you can develop and integrate with your Setup and Deployment Projects in order to perform additional tasks while running any application's installation or un-installation process, thru its MSI file.
    Visual Studio .Net supports for Installer Classes dates back to the .Net Framework 1.0 (VS.Net 2002) This article focuses in its latest incarnation within VS.Net 2005.

    An Installer Class contains code written by you that takes care of many things required to properly install your application on the end user's Target Machine; you can write an Installer Class using your favourite development language, i.e. Vb.Net, C#, C++, etc; this article's examples are written in C#.

    There are very few limitations of the things an Installer Class could do. Perhaps the developer's knowledge imposes the major constraints (or the author's as we don't claim to know everything); the list below includes many of the things an Installer Class is able to do:

    • Change folder permissions.
    • Run your application after installation.
    • Create folders required by your application.
    • Update the application's config file with installation time parameters.
    • Send emails.
    • Write entries to the Target Machine's eventlog.
    • Install database schemas.
    • Windows Services (which, if we follow the existing procedures to deploy them, we are using Installer Classes already).
    • etc, etc, etc

    ...

    This document is based on VS.Net 2005 deployment projects, explaining as much as possible about Installer Classes and their integration to Setup and Deployment project's Custom Actions.; There are not too many differences between Setup and Deployment projects between Visual Studio 2003 and 2005, and based on this we may claim the information found on this article should help you to implement Installer Classes using Visual Studio 2003.

    The document contains the following sections:

    • Requirements
    • Terminology
    • How to create an Installer Class
    • Un-written rules
    • Unpleasent features
    • Using these events (about Installer Class events)
    • Using the Commit event to change the target directory permissions.
    • Using the Uninstall event to clean the target directory
    • Where is the "NT AUTHORITY\SERVICE" account coming from?
    • Exceptions and Exception handling in your installer class.
    • Adding user interfaces (forms) to your installer class.
    • Launching your application after installation.
    • Conclusions.
    • References.

    ..."

    This is a six "page", medium level document on installer classes and custom actions, taking you all the way from adding an Installer Class, responding to install events, adding custom UI, to seeing it in the finish MSI.

    I don't use Installer Classes all that much and when I do it's usually to the bare minimum (i.e. like when installing services, etc).

    This article has given me a new appreciation for what can be done with them...

    PDF Compilation of Scott Guthrie's LINQ to SQL Posts

    IT-Box - LINQ To Sql tutorial Series By Scott Guthrie (Pdf Book Format)

    Nine parts, 118 pages in a well executed PDF compilation of the very cool LINQ to SQL posts by Scott Guthrie...

     

    (dzone - LINQ To Sql tutorial Series By Scott Guthrie (Pdf Book Format))

    Thursday, October 18, 2007

    New from Microsoft Labs - Listas

    Labs.live.com - Listas - All your lists in one place

    "At Live Labs, we are always experimenting with new ideas that we think will be useful.  Today we are releasing our latest technology preview:

    Listas (http://listas.labs.live.com)

    Listas is a tool for the creation, management and sharing of lists, notes, favorites, and more. It allows you to quickly and easily edit lists, share them with others for reading or wiki-style editing, and discover the public lists of other users.  We encourage you to try using it for meeting notes, bookmarks, shopping lists, to plan a night out, or whatever other creative ways you can think of.

    ..."

    Interesting...

    Good to see it supports RSS from day one, but I want to see the SDK/API.  ;)

    Creating a list here is as easy as creating a quick list in Notepad, Word, OneNote, etc. Simple, easy and to the point.

    I like it... (and now I REALLY want the SDK/API... lol... :)

    Playing with the SQL Server 2008 FileStream Attribute

    rdoherty's WebLog - Getting Traction with SQL Server 2008 Filestream

    "Zach and I just spent a couple of days figuring out how to make use of the new FILESTREAM support in SQL Server 2008 and we thought we'd share a little bit about the experience in hopes it might save somebody some time.

    ...

    Now SQL Server 2008 can store blobs in its own private namespace on the local NTFS filesystem instead of in-line with relational data.  That's good cuz the NTFS file system was built to stream blobs.  NTFS is even more interesting form a database perspective because it's transactional and supports recovery.  So you can imagine the SQL Server Storage Engine and NTFS having a little mutual self-respect love fest.

    Again this has obvious advantages from a manageability, backup and concurrency perspective that I won't reiterate here.  But what I will do is talk about our first experience with FILESTREAM from a database perspective, and Zach's gonna talk about it from an application development perspective.

    ..."

    The new SQL Server 2008 FileStream attribute and Remote BLOB API are two features I'm watching pretty closely.

    What I'm going to have to see is how well FileStream can scale. For example, what happens to the file system when I have a table with tens of millions of rows, each with a blob? How will the NTFS files be hived? A single folder with tens of millions of files (that would be bad)? The fact that FileStream only works on local NTFS storage doesn't concern me, but how well it can handle millions of files does.

    I really like this best of both worlds approach... I hope it works out in the real world.

     

    Related Past Post XRef:
    SQL Server 2008 Whitepapers
    More SQL Server 2008 T-SQL Coolness - Table Value Constructors (or better, Row Constructors)
    New SQL Server 2008 T-SQL Features - It's the little things that are cool...

    Wednesday, October 17, 2007

    A RoboCopy TeamBuild Custom Task

    How Steve Got Burned Today - Frankenstein's Custom Task: A RoboCopy Custom Task for Team Build 

    "I was recently working at a client on a TFS implementation.  They had been using TFS for a few months and had some cycles invested in their build process.  As part of the process, they  needed to deploy the compiled web sites out to a development test server so that they could review the code with their BAs prior to calling the Story complete.  They also had a requirement that they be able to have an indication that the deployment step was occurring during the build (in the Build Status page).

    Their Team Build was constructed using the <Exec> task to call RoboCopy to do an "sync" between the drop folder and the deployment folder on the target web server.  Unfortunately, every time they ran this task the build broke.  It seems that RoboCopy doesn't follow the standard rules of command-line apps.  The standard rule is "Return code is 0 on success and anything else denotes an error condition". 

    ...

    What's a consultant to do?  Why I Googled up "MSBuild RoboCopy" and was rewarded with a link to the MSBuild Community Tasks on Tigris.org.  Sweet!  I knew that they had code to do what I wanted, so I grabbed it from their repository (thanks guys).  This code is for a straight MSBuild task and therefore couldn't talk to Team Build (and by extension TFS). 

    To get that functionality, I remembered an article by Aaron Hallberg entitled "Adding BuildSteps to Team Build Through a Custom Task."  I brought up the article and nabbed that code too.  I also had some code laying around from earlier custom tasks I wrote to wrap command-line tools since I needed to evaluate and correctly interpret RoboCopy Return Code. 

    With all of this code in hand I went down to my mad-scientist lab to cobble together the Frankenstein's Monster of custom tasks, a RoboCopy task that will correctly evaluate the return   code and add a BuildStep to a Team Build. [Evil laugh here]

    ...

    I've put links below to the solution and binaries.  This custom task could easily be updated to call any command-line tool while logging BuildSteps to the Team Build.  This task will only work under Team Build because it requires a BuildURI and TeamFoundationServerURL parameters but it could be easily modified to remove the Build Steps and work under MSBuild alone.

    ..."

    I use RoboCopy all the time (and have for years) and I can see my wanting to use it in a TeamBuild scenario...

    Tuesday, October 16, 2007

    Class Diagrams Now Available for Infragistics NetAdvantage (2007, Vol 3)

    Tim Hitchings - NetAdvantage .NET 2007 Volume 3 Class Diagrams In PDF Format

    "On the trials section of our web site: http://www.infragistics.com/downloads/default.aspx?id=2620 and in the My Downloads page:  https://www.infragistics.com/Membership/Default.aspx?panel=Downloads#Downloads you will now find Class Diagrams of all the component classes in NetAdvantage .NET 2007 Volume 3.

    The Class Diagrams are located in the link "NetAdvantage for .NET Vol. 3 Docs (PDF)".

    Class Diagrams for all product releases from now on.

    ..." [Post leached almost in full]

    When I'm trying to wrap my head around a schema or object model, diagrams are my best friend. I've always found that they make it much easier to understand the scope, relationships, etc.

    If you've ever used Infragistics NetAdvantage suite you'll know what a monster it is (not a bad, destroy the city, monster, just a big beast that's very hard to see the whole thing if you're too close...).

    When I saw Tim's post that they are now providing class diagrams I immediately started downloading...

    image

    They are fairly raw Visual Studio 2005 Class Diagrams (raw meaning not highly commented, etc). Still I think they are pretty darn cool and a great addition to their documentation.

    If you're a hard copy person (like me) some are easier to print than others, but with a little tweaking it's do'able. For example, the WinGrid class diagram prints very legibly at 50% zoom, tiled across 2 11x17" pages.

     

    All in all, if your using the Infragistics NetAdvantage suite these may come in handy for you...

    Monday, October 15, 2007

    Lifextender - "Dead Simple" Free Vista Media Center Commercial Remover

    Lifextender -

    "the overview
    Lifextender is a dead-simple commercial-removal application designed exclusively for Windows Vista Media Center users. There is ZERO configuration required, however, there are plenty of options if that's your thing.

    ...

    the cost
    Lifextender is free as in beer, so it costs you nothing. However, if you are in a generous mood, feel free to donate to keep the development alive.

     

    ..."

    Interesting. AGAIN another reason to resurrect my media center... sigh...

    NOTE: This software is still in an Alpha state. So use at your own risk, etc, etc. (But given the quality of Mr. DeRosa's past work, I'd bet on this being pretty darn solid...)

    (via C# Shiznit - Introducing Lifextender - a commercial remover app for Vista Media Center)

    Sunday, October 14, 2007

    The Ultimate Cube Revenge Tool?

    Gizmodo - Dough-Nu-Matic Mini Doughnut Maker is Fun for Your Arteries

    DoughNuStupGi.jpg

    "The Dough-Nu-Matic may have a stupid name, but its saving grace its fantastic use—it produces mini doughnuts! Mini doughnuts, we tell you! ...The Dough-Nu-Matic will churn out a dozen diminutive snacks in under six minutes, and the privilege shall set you back $129.99. ..."

    Must resist... must... resist... must...

    SQL Server 2008 Whitepapers

    SQL Server Code,Tips and Tricks, Performance Tuning - SQL Server 2008 Whitepapers

    "There are some good katmai whitepapers appearing on microsoft.com.
    The list is available here http://www.microsoft.com/sql/2008/learning/whitepapers.mspx.

    ...

    Managing unstructured data http://www.microsoft.com/sql/techinfo/whitepapers/sql_2008_unstructured.mspx

    ...

    Data Programmability http://www.microsoft.com/sql/techinfo/whitepapers/sql_2008_dp.mspx

    ..."

    Some SQL Server 2008 whitepapers I want to take a closer look at...

    Windows Live OneCare Fix for "Contact Help Center - OneCare virus and spyware protection encountered a problem and cannot start" issue

    Microsoft Downloads - Windows Live OneCare Virus and Spyware Repair Tool

    "Resolves the issue entitled "Contact Help Center - OneCare virus and spyware protection encountered a problem and cannot start". You MUST save this file to your computer and then run it. Do NOT select 'Run' from the download dialog.

    ..."

    I've run into this in the past, so incase I see this issue again...

    Monday, October 08, 2007

    It's About That Time of the Release Cycle - VB 2008 (VB9) Books

    mike mcintyre's .N e t J o u r n a l - Visual Basic 2008 Books

    "Below, in no particular order, is a partial listing of Visual Basic 2008 books.  Some have already been published, some will be published over the next several months.

    ..."

    Getting to be that time of the release cycle, isn't it? Time to start thinking about refreshing our bookshelves.

    I'm thinking about these;

    i.e. Books to help me upgrade the VB sections of my brain...

    "Virtualize Your Mind..." - Microsoft Virtualization Webcasts Coming in October

    Michael J. Murphy's WebLog - Everything you Need to Know About Virtualization from MSFT

    "...

    Virtualization of Test and Development Environments, and the Impact on Existing Applications (Level 200)

    http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032352800&Culture=en-US

    Monday, October 22, 2007 

    9:30 AM – 11:00 AM Pacific Time

    Tune in as we look at virtualization solutions starting with moving existing applications and infrastructure servers into a virtualized environment. We also look at the impact of virtualizing test and development environments, and some of the tools available that make this process easily manageable.

    ..."

    Besides the one above, Michael posted a number of other interesting virtualization webcasts...

    Automate ILMerge'ing - Using Project Attributes to mark an Assembly for merging and then MSBuild to ILMerge them...

    Scott Hanselman's ComputerZen.com - Mixing Languages in a Single Assembly in Visual Studio seamlessly with ILMerge and MSBuild

    "...

    What I really want is to be able to mark an assembly as merge-able and have it automatically merged in just because it's referenced.

    Here's what I came up with. Thanks to Dan Moseley and Joshua Flanagan for their help. Thanks to Jomo Fisher for the Target File.

    ...

    Looks like they are both in there. To refresh, if I want to merge in VB assemblies:

    • Change the referencing CSPROJ to import "IlMerge.CSharp.targets"
    • Add <IlMerge>True</IlMerge> to the references you want merged in.
    • Save, Reload, Build

    C# and VB, living together, mass hysteria!"

    This is pretty cool.

    I really dig the thought of just adding an project attribute to my assembly projects and having them automatically ILMerged during the build (much more so than ILMerging in post-build events).

     

    Related Past Post XRef:
    AsmZip - Compressing and Hiding Assemblies/DLL's in your .Net EXE
    Gilma - GUI for ILMerge Branched for .Net 2.0
    VS2005 Power Toys Pack Installer
    MSBuild and ILMerge
    "Gilma - GUI for ILMerge Application"
    ILMerge Updated
    The Code Project - Merging .NET assemblies using ILMerge - .NET

    Friday, October 05, 2007

    I'll Need This Later Note To Self: .Net and MAPI/CDO Don't Mix

    mstehle: The CDOs and CDONTS of Messaging Development - FYI: Why are MAPI and CDO 1.21 not supported in managed (.NET) code?

    "The issue of using MAPI or (most commonly) CDO 1.21 in managed (.NET) code is one that comes back to us a lot on the Messaging Developer Support team. Both the messaging technologies in question and the .NET framework have been around for many years at this point. As well have the KB articles that state the supportability [GD: i.e. that MS doesn't support Managed usage of MAPI/CDO1.21] of Outlook and Exchange APIs in managed code. There are three main contributors to steady stream of cases we see – even today – where customers are using MAPI and CDO 1.21 in managed code…

    ...

    Okay, I've heard that before so why exactly is using MAPI or CDO 1.21 not supported in managed code?

    MAPI has its own memory management model that conflicts with and is incompatible with the .NET runtime. This the primary reason that MAPI and CDO 1.21 are not supported running in a .NET process. The common symptoms you will see are seemingly random Access Violations and very often memory leaks (especially with CDO 1.21). There is no methodology for avoiding or managing these symptoms by using interop libraries or managing references in a particular fashion in your .NET code – it just won't work.

    The trap is that CDO 1.21 and .NET can "appear" to work and you can get pretty far in your dev cycle before you run into problems. Many times we see this come up in soon after a solution is released to production, in late cycle performance testing, or in a pilot program. ...

    ...

    Fine, I won't use .NET and MAPI or CDO 1.21 in the same process but I still need to write this application – now what?

    The simple answer is you either need to not use .NET or not use MAPI or CDO 1.21. So how do you make that decision?

    ...

    ...If you really feel that CDO 1.21 or MAPI is your best option based on the business requirements of what your application must do then by all means use CDO 1.21 – just plan to use it *out of process* from your .NET code."

    So in short create an out of proc ActiveX EXE in VB6 (or C++, etc) to contain your MAPI/CDO code and access it via interop...

    Two New Vista Reliability/Performance Updates

    Nick MacKechnie's Weblog - Two new updates for Windows Vista published yesterday

    "An update is available that improves the compatibility, reliability, and stability of Windows Vista
    http://support.microsoft.com/kb/941649

    This update resolves some compatibility and reliability issues in Windows Vista.

    Cumulative update rollup for USB core components in Windows Vista
    http://support.microsoft.com/kb/941600

    This update resolves some reliability issues in the USB core components on the Windows Vista operating system." [Post leached in full]

    An update is available that improves the compatibility, reliability, and stability of Windows Vista

    "... This update improves the compatibility, reliability, and stability of Windows Vista. This update includes the following improvements:

    • It extends the battery life for mobile devices.
    • It improves the stability of portable computers and of desktop computers that use an uninterruptable power supply (UPS).
    • It improves the reliability of Windows Vista when you open the menu of a startup application.
    • It improves the stability of Internet Explorer when you open a Web page.
    • It improves the stability of wireless network services.
    • It shortens the startup time of Windows Vista by using a better timing structure.
    • It shortens the recovery time after Windows Vista experiences a period of inactivity.
    • It shortens the recovery time when you try to exit the Photos screen saver.
    • It improves the stability of Windows PowerShell.

    This update also resolves the following issues in Windows Vista:

    • A compatibility issue that affects some third-party antivirus software applications.
    • A reliability issue that occurs when a Windows Vista-based computer uses certain network driver configurations.

    ..."

    Cumulative update rollup for USB core components in Windows Vista

    "...Issues that are fixed in the update rollup

    925528 (http://support.microsoft.com/kb/925528/) Stop errors occur on a Windows-based computer that has 2GB or more of RAM and is using an NVIDIA nForce USB controller

    929734 (http://support.microsoft.com/kb/929734/) You may experience problems after you resume a Windows Vista-based computer from sleep or from hibernation

    930568 (http://support.microsoft.com/kb/930568/) Error message when you try to put a Windows Vista-based computer to sleep or into hibernation: "STOP 0x000000FE BUGCODE_USB_DRIVER"

    929478 (http://support.microsoft.com/kb/929478/) After you use the Safely Remove Hardware option to remove a built-in optical drive from a portable Windows Vista-based computer, you may be unable to reconnect the drive

    930570 (http://support.microsoft.com/kb/930570/) Error message in the Usbhub.sys process when you wake a Windows Vista-based computer from sleep or from hibernation: "STOP 0x00000044"

    928631 (http://support.microsoft.com/kb/928631/) A USB device may no longer work correctly after Windows Vista resumes from sleep or from hibernation

    933433 (http://support.microsoft.com/kb/933433/) Recording quality is poor when you use a USB microphone on a Windows Vista-based computer that has 4 GB of RAM or more

    933442 (http://support.microsoft.com/kb/933442/) A USB composite device does not work after you disable and then enable the device in Device Manager on a computer that is running Windows Vista

    934633 (http://support.microsoft.com/kb/934633/) When you connect a USB multifunction printer device to a Windows Vista-based computer, a second instance of the printer object is created, and the first instance no longer works

    934796 (http://support.microsoft.com/kb/934796/) Error message on a Windows Vista-based computer that is running a USB composite device: "STOP 0x000000FE"

    933824 (http://support.microsoft.com/kb/933824/) The Safely Remove Hardware feature and the Windows Explorer "Eject" command do not work correctly with an Apple iPod that is connected to a Windows Vista-based computer

    935782 (http://support.microsoft.com/kb/935782/) A USB device takes a long time to resume from "selective suspend" mode on a Windows Vista-based computer that uses UHCI USB controllers

    935783 (http://support.microsoft.com/kb/935783/) When you resume a Windows Vista-based computer from sleep, you may experience unexpected behavior from a USB device

    The following issues were not previously documented in a Microsoft Knowledge Base article:

    • When the computer resumes from a suspend state or from a hibernation state, the computer stops responding. Additionally, you receive a "0x9F" stop message on a blue screen.
    • The computer takes a long time to resume from a suspend state or from a hibernation state.
    • The computer takes a long time to resume from a suspend state or from a hibernation state when you use a VIA controller.
    • The computer stops responding when you use an AuthenTec USB fingerprint reader. Additionally, you receive a "0xFE" Stop error on a blue screen or a "0x9F" Stop error on a blue screen.
    • The computer stops responding when you use a USB Bluetooth audio device.
    • The computer takes a long time to resume from a suspend state or from a hibernation state when you use an Enhanced Host Controller Interface (EHCI) controller.
    • The computer stops responding when you remove a USB device. Additionally, you receive a "0xFE" Stop error on a blue screen.
    • When a computer resumes from a suspend state or from a hibernation state multiple times, you receive a "0xFE" Stop error on a blue screen.

    ..."

    Now that's a number of updates...

    Installing them now (keeping my fingers, toes and eyes crossed that nothing "bad" happens ;)

    These were also mentioned by Mary Jo Foley,  "Accounted for: The five mystery Vista updates to be added to SP1," as being part of Vista SP1.

     

    Related Past Post XRef:
    Vista "SP0.5" (KB938979 & KB938194) Now Available on MS Downloads

     

    Update 10/5/2007 @ 9:50AM PDT:

    Be careful with the "An update is available that improves the compatibility, reliability, and stability of Windows Vista" update. You may want to hold off installing it if you have Windows Live OneCare 2.0 Beta installed...

    Since I installed it, Windows Live OneCare (2.0 Beta) will not start for me. So now I'm getting totally nagged by Security Alerts.

    Uninstalling the update has not helped.

    So now I am playing the "get my system working as it was before" game...

    Update 10/8/2007 @ 9:55AM PDT:

    To close the loop on this...

    After a number of uninstalls, reinstalls, reboots, reboots and more reboots this weekend my system is working as expected WITH the above updates AND OneCare 2.0 beta.

    So all's well that end's well?
    (But I'm afraid to reboot... LOL. But that's one of the things I love about Vista... I rarely have to reboot. Sleep/hibernate works so well now... :)

    Wednesday, October 03, 2007

    Operational Guidance for Team Foundation Server (Think Service Accounts, Permissions, Backup, Monitoring, etc)

    Visual Studio Developer Center  - Operations Guidance for Team Foundation Server

    "...You can use this guide to help you understand your deployment of Team Foundation Server and keep it running throughout the software-development life cycle. Team Foundation Server depends on an alignment of permissions, configuration information, and service accounts across the components to operate correctly. These components include not only Team Foundation Server itself, but also the technologies on which it depends, such as Microsoft Windows SharePoint Services and Microsoft SQL Server Reporting Services. If you understand how these components interoperate, you can more effectively perform routine tasks, such as managing user permissions, backing up your deployment, and monitoring its overall health. In addition, you can avoid causing problems when you alter your deployment to meet the changing needs of your organization.

    This guide is not designed to help you plan or troubleshoot a deployment. However, you will be better able to troubleshoot an existing deployment or plan a new one if you understand how Team Foundation Server operates. ...

    ...

    ..."

     

    Help in getting your head around how TFS works operationally.

    What I really liked was the permission topic (Managing Groups, Users, and Permissions), in that it provides a little information an links to the Team Foundation Server Administration Tool and Team Foundation Server Permission Manager tools (I need those rarely and always seem forget where to find/update them...)

    If you're an IT guy and your developers are hounding you about TFS or your a Dev but sometimes play an IT role, or are just interested in what to do with TFS operationally once it's installed (i.e. setting permissions, backing it up, monitoring it, etc) this article is worth a quick read...

    (via Tales from the Doghouse - TFS Operations Guidance)