Sunday, August 26, 2007

Learn to Master your Inner Robot - Introductory Courseware for Microsoft Robotics Studio

Microsoft Downloads - Introductory Courseware for Microsoft Robotics Studio (1.5) CTP Sep 2007

"...

The robotics introductory courseware is a set of labs that can be completed individually or as part of an introductory course on robotics. The labs take you through common robotics concepts such as reading sensors, controlling actuators, designing simple behaviors, and having a robot interacting with its environment using Microsoft Robotics Studio.

Going through the labs you will learn how to write services for Microsoft Robotics Studio using a combination of Microsoft Visual Programming Language (VPL) and C#. While the labs are introductory, they do require basic knowledge of Microsoft .Net and C# to complete.

Many of the labs can be completed either using Microsoft Robotics Studio Simulation or actual hardware in the form of an iRobot Create. In Lab Tutorial 7 (C#) - Multirobot Coordination you will need two iRobot Creates or use Microsoft Robotics Studio Simulation to simulate the robots. In addition, some of the labs such as Lab Tutorial 5 - Using Vision to Estimate the Distance to an Object use additional sensors including cameras, microphones, and speakers that need to be plugged into your PC.

..."

I've not have a chance to check this out yet (my son has monopolized the machine with MSRS on it... stupid WoW... ;) but I thought it sounded pretty cool. I'll want to check this out when I get a chance (time to think up some chores or something... )

 

Related Past Post XRef:
Microsoft Robotics Studio (1.5) Released
Other Microsoft Products Released this past week, XNA Game Studio and Robotics Studio
"An Introduction to Programming Robots with Microsoft Robotics Studio"
Microsoft Robotics Studio June 2006 CTP Released

Creating a Reflector Addin? Check Out this Cool Walk Through from Jason Haley

JasonHaley.comWays to use .Net Reflector #2.1: Creating your own add-ins

"In this entry I walk through creating a Reflector add-in that exposes its own UI using a user control and works with the Reflector code model on a simple level.  This add-in will expose itself on the context menu of the assembly browser (enabled only in certain conditions) when clicked it will show the user control that uses the Reflector code model of the currently selected type to provide functionality to the user.

...

The final look of the control and context menu item is to be something like this:

BitFlagConverter ContextMenu

...

Summary
In this entry I’ve walked through how to create a Reflector add-in that provides its own UI via a UserControl and how to tie it into the context menu of the assembly browser. I’ve also walked through the more interesting parts of the logic that listens to a user’s selection in the assembly browser and some of how to determine what the current type selected is and its properties. We also looked at the field declarations on a type and touched on expressions with the field’s Initializer property. ..."

Jason has written up a great walk through for creating a Reflector addin. Besides the C# source for this simple but useful plugin he's also provided a nine page DocX version of walk though (making it easier to view it offline, print it, etc).

If you're interesting in creating a Reflector addin, you should check his post out. He put a good deal of work into this write up and it shows...

Friday, August 24, 2007

Genghis 0.8 Released

theADOguy - Genghis v0.8 Released

"URL: http://www.codeplex.com/genghis

I've been helping Chris Sells and the Genghis Group for a couple of years. I am proud to announce the newest build of Genghis (version 0.8) that includes all the features of version 0.5 ported to .NET 2.0. ..."

Genghis is a project I've been following for about a thousand years or so now (well since 9/2003 anyway).

New in 0.8 is

"...

  • CustomStateTreeView
  • FileSearchEngine
  • FindReplaceDialog
  • HeaderGroupBox
  • HtmlLinklLabel
  • ImageIndexEditor
  • InitialInstanceActivator
  • ListViewSorter
  • MappedDrives
  • MultiSdiApplicationContext
  • PathResolver
  • ScreenSaver
  • ScrollablePictureBox
  • SpashScreen
  • StatusBarExtender
  • SystemShares
  • TraceEx
  • UserResizablePanel
  • WebCommandLineHelper
  • XPThemedControls

..."

If you're doing WinForm 2.0 development then you should check out this project...

The license is very reasonable;

"...This license based on the open source zlib/libpng license. The idea was to keep the license as simple as possible to encourage use of Genghis in free and commercial applications and libraries, but to keep the source code together and to give credit to the Genghis contributors for their efforts..."

Related Past Post XRef:
Genghis Lives (on CodePlex)
Genghis Project Updated for .NET 2.0
Cool .Net Classes... The Genghis Project

Looking for XAML Clip Art? Then make sure you look for SVG files as well...

Daniel Cazzulino's Blog - How to get a gazillion XAML clipart for free

"You surely know XAML subsumes pretty much all of SVG, right?

SVG has been around for quite more time than XAML, and even if hasn't taken off as fast as many expected, at least I could find a huge collection of freely available clipart.

Now all I needed was a way to convert all that stuff that you can get in a single gigantic download if you want to XAML.

I wish it was always this simple: go download ViewerSvg :).

Not only does the tool work great, it also comes with a library you can use too :). So instead of using the UI, I used the library to create a very simple console application (Svg2Xaml project) that will convert one or more files (or every file it finds recursively in one or more folders) to XAML.

..."

I don't know nearly enough about XAML (i.e. I know next to nothing) so I found it pretty cool to see that it looks to be pretty simple to convert SVG into XAML...

Given my artistic skills, or lack there of, clip art is a must for me.   ;) 

Related Past Post XRef:
Open Clip Art Library

It's that time... Scott's Ultimate Developer and Power Users Tool List for 2007

Scott Hanselman's ComputerZen.com - Scott Hanselman's 2007 Ultimate Developer and Power Users Tool List for Windows

"Everyone collects utilities, and most folks have a list of a few that they feel are indispensable.  Here's mine.  Each has a distinct purpose, and I probably touch each at least a few times a week.  For me, util means utilitarian and it means don't clutter my tray.  If it saves me time, and seamlessly integrates with my life, it's the bomb. Many/most are free some aren't. Those that aren't free are very likely worth your 30-day trial, and perhaps your money.

...

This is the Updated for 2007 Version of my Original List and 2005 and 2006 List, and currently subsumes all my other lists. Link to http://www.hanselman.com/tools when referencing the latest Hanselman Ultimate Tools List. Feel free to get involved here in the comments, post corrections, or suggestions for future submissions in the HanselForums. I very likely made mistakes, and probably forgot a few utilities that I use often.

  • New Entries to the 2007 Ultimate Tools are in Red. There are dozens of additions and many updated and corrected entries and fixed links.

..."

Click through to http://www.hanselman.com/tools to see his outstanding and must read list...

Also this year we can all help him fight diabetes with a tax deductible donation to the American Diabetes Association via his Welcome to My Step Out to Fight Diabetes Web Page! 

Scott's blog and this list has been on the top of my reading list for many years... He asked, I gave...

 

Related Past Post XRef:
Scott Hanselman's 2006 Ultimate Developer and Power Users Tool List for Windows is Out
Scott Hanselman's 2005 Ultimate Developer and Power Users Tool List
Scott Hanselman's [2003] Ultimate Developer and Power Users Tools List

Paint.Net 3.1 Released

Paint.NET - Paint.NET v3.10 – Final release is now available!

"Well, it’s finally here! You can get it from the website, http://www.getpaint.net/ , or via Paint.NET’s built-in updater (Help -> Check for Updates). This release adds two new effects originally written by David Issel (”BoltBait”), support for the DDS file type originally written by Dean Ashton, as well as numerous small bug fixes and some visual fit and finish.

..."

A couple new features, some improvements and lots o' fixes...

Wednesday, August 22, 2007

Marshall Fixed Length TCHAR Strings between Managed and Unmanaged Code

Neil Cowburn - HOWTO: Marshal fixed-length strings

"On Monday I got an internal question about marshaling fixed-length strings between managed and native code. The scenario is you have a native struct with a member defined something like this:

typedef struct SOME_STRUCT {
    DWORD size;
    TCHAR entryName[20];
}

How can you marshal the TCHAR string in managed code? You marshal it as a UnmanagedType.ByValTStr and specify the size like this:

[StructLayout(LayoutKind.Sequential)]
public struct SomeStruct
{
    public int Size;
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
    public string EntryName;
}

...

On the other hand, if the native struct is defined like this:

typedef struct SOME_STRUCT {
    DWORD size;
    TCHAR *entryName;
}

You would marshal the TCHAR pointer as a UnmanagedType.LPTStr like this:

[StructLayout(LayoutKind.Sequential)]
public struct SomeStruct
{
    public int Size;
    [MarshalAs(UnmanagedType.LPTStr)]
    public string EntryName;
}" [Leached about 98% of the post, just in case and so I can find it again in the future... ]

I so needed this a few years ago. Had some unmanaged DLL's with struct's/TCHAR's that I needed to call with managed code. Caching here because I just KNOW I'll need this again sometime...

Tuesday, August 21, 2007

Moving TempDB on SQL Server 2005

Gregg Stark on SQL Server - Move TempDB Sql Server 2005

"I recently needed to move the TempDB on my Sql Server so I looked in Books Online and my initial thought based on what it said was that there is no way that will work.  Basically it says to find where the files are, and then move them to the new location followed by an alter statement to point the database at the new location.  Well of course this didn't work because the tempdb files are in use.  After thinking about it I just decided to try to alter the master database and point it at where I wanted the tempdb files to be and then just restart since Sql Server creates the tempdb again when you restart it.  Sure enough it worked.  Here are the steps I took.

..."

I seem to remember I had this issue/question, where I needed to move the SQL2k5 TempDB. I can't remember now if I ended up doing it this way, another way or gave up... Linking it here for future reference.

Monday, August 20, 2007

WinXP IE6 and WinXP IE7 VPC Images Refreshed

Microsoft Downloads - Internet Explorer Application Compatibility VPC Image

"...

A VPC hard disk image containing a pre-activated Windows XP SP2, and either IE6 or IE7 and the IE7 Readiness Toolkit.
This VPC image will expire on December 7, 2007.

..."

Two VPC/VHD's, one with IE6 and the other with IE7

 

Related Past Post XRef:
WinXP IE6 & WinXP IE7 VPC Images
WinXP SP2 IE6 VPC Image Refreshed
WinXP SP2 IE6 VPC Image

Sunday, August 19, 2007

URL File Downloader Project - Download Files, including HTML, Asynchronously

Scott Dorman - URL File Downloader for .NET Updates

"It's been a while since I wrote the first version of my FileDownloader article and class. Since that time, there have been a lot of positive comments about the article and a handful of feature requests. I finally made the time to update the classes and the article and resubmit it to The Code Project. This update has the following new methods and properties:

...
DownloadHtml
Gets or sets a value indicating if HTML pages should be allowed to be downloaded.
...
DownloadAsync
Begin downloading the file at the specified URL, and save it to the current folder.

..."

The Code Project - An easy-to-use URL file downloader class for .NET

"For one of my projects at work, I needed the ability to download a file from a given URL. Unfortunately, the methods provided by the WebClient class don't do anything more than download the data. I needed something that gave the ability to provide progress feedback and that was resumable.

As I started my searches on the web for any existing code, I came across two articles on CodeProject that helped get me very close to what I needed. The first article was by John Batte, while the second article by Phil Crosby was a derivation of his work. Using both of these articles as a starting point, I was able to make another derivation that accomplished my goals.

..."

This is a cool project that I am looking at using in my Blogger Backup utility... Both for the image backup feature and the "As it looks like on the blog" HTML backup option.

Thursday, August 16, 2007

More SQL Server 2008 T-SQL Coolness - Table Value Constructors (or better, Row Constructors)

The Zen of Database Development - Katmai: Looking into Row Constructors

"Thursday is  Katmai Day here at ZoDD, and today I’m going to be discussing the first in a series of posts covering features that show up in SQL Server 2008, using the latest Community Technology Preview, CTP4. This morning’s subject will be the new functionality they are calling Table Value Constructors, and sometimes, perhaps more clearly, Row Constructors. ...

...

But now, in Katmai, these multiple sets of values may all be assigned within a single VALUES clause. This syntax opens up this clause for some very table-like behavior. For instance:

INSERT INTO Contacts (Name, Age, SalesId)
VALUES(‘John Doe’,25,5), (‘Jane Doe’, 36,6), (‘Peter Doe’, 49,7)

But wait-there’s more!

Now that we have established how to use these Row Constructors in the INSERT statement, Katmai expands their usage to allow them to be used as a more general table source.

...

SELECT * 
FROM (VALUES(‘John Doe’,25,5),
(‘Jane Doe’, 36,6),
(‘Peter Doe’, 49,7)) psuedoTable(pName, pAge, pSalesID)

Check out the new aliasing syntax. Now you can not only specify a name for the “table”, but you can name all of the columns in the table as well. This’ll come into heavy play later when we cover INSERT OVER DML. For now, suffice it to say that this effectively let’s you set up tables in script. Note that this aliasing is not necessary for use in the INSERT statement.

This can get more sophisticated:

SELECT *
FROM Employees emp
JOIN (VALUES(‘John Doe’,25,5),
(‘Jane Doe’, 36,6),
(‘Peter Doe’, 49,7)) psuedoTable(pName, pAge, pSalesID)
ON emp.EmployeeID = pseudoTable.pSalesID

Think about how this can affect your application!

..."


That is just too cool. I can think of SO many ways to use this...


I'm thinking hard about skipping SQL Server 2005 and just going with SQL Server 2008.


 


Related Past Post XRef:
New SQL Server 2008 T-SQL Features - It's the little things that are cool...

"Basic Instructions"

Thomas turned me on to the Basic Instructions comic strip yesterday. I'm still digging through the archives and finding some real gems (I'm laughing so hard I think I coughed up a lung... I hate when that happens... :)

Some of my favorite lung producing and snort laugh posts;

How to Justify an Extravagant Purchase to Your Spouse

How to Train Your Back-Up

How to Write a Self-Evaluation (I had to do this yesterday, and I could have used these Instructions then...  ;)

How to Deal with a Crazy Spouse

How to Wash a Cat

 

(via Williams World (Thomas & Olivia Williams) - Basic Instructions)

Wednesday, August 15, 2007

"Open XML Explained" Free eBook (PDF)

Open XML Developer.org - Open XML Explained e-book

"Attached is a downloadable copy of "Open XML Explained" by Wouter Van Vugt, the first book on Open XML development. The sample documents for the book are also available for download here.

This 128-page book covers the basics of Open XML, including many of the topics covered in the Open XML developer workshops, as well as several additional topics. ..."

From the introduction;

"...

The purpose of this book is to provide you with the building blocks required to build your own document-centric solution. In this book you will discover the basics of WordprocessingML, SpreadsheetML and PresentationML as well as the DrawingML supporting language. Learn about the use of custom markup to enable custom solutions using WordprocessingML, the formulas of SpreadsheetML or the great visual effects that can be applied using DrawingML.

Who is this book for?
In this book you will be provided a detailed overview of the three major markup languages in Open XML. This book is written for those who have a basic understanding of XML or HTML. If you are a software architect or developer who needs to build document-centric solutions you can learn about how to build your value-added solutions based on the Open XML platform. Those new to document markup languages as well as those more experienced in document markup but new to Open XML will benefit from this book.

..."

If you're learning, or want to learn, Open XML then this commercial quality printable PDF is a great starting point.

(via Doug Mahugh - Open XML development book)

Outlook Connector Updated (From 12.0.4518.1047 to 12.0.4518.1058)

Microsoft Downloads - Microsoft Office Outlook Connector

Looks like an updated Outlook Connector has been released. Based on the version number change from the last, I'm guessing no major changes. I wonder if it was updated to address the recent Hotmail update? Seems like a reasonable guess... Also I don't see any "Beta" references in the download description. Maybe it's now RTW?

To install it you have to first manually uninstall the previous version (i.e. Control Panel - Add/Remove Programs - Uninstall ...). The good news is that the settings are left in place, so when you install this new version, you don't have to reconfigure or set it up.

So far, it seems to be running just fine...

 

Related Past Post XRef:
Microsoft Office Outlook Connector Beta Released
Microsoft Office Outlook Connector (Think Outlook to Hotmail Connector)

Tuesday, August 14, 2007

The Pocket Guide to Electronic Discovery for Judges

Master the Business - A judges’ pocket guide to electronic discovery

"Ever wonder what the judges consider is important? What about with regards to the discovery of your information. The US Courts have published a pocket guide for judges on electronic discovery.

Download the .pdf of Managing Discovery of Electronic " [Post leached in full]

This 33 page printable PDF is pretty interesting (from a "this is the business space I'm in" point of view).

From the Preface;

"This pocket guide is designed to help federal judges manage the discovery of electronically stored information (ESI). It encourages judges to actively manage those cases involving ESI, raising points for consideration by the parties rather than awaiting the parties’ identification and argument of the matters. The guide covers issues unique to the discovery of ESI, including its scope, the allocation of costs, the form of production, the waiver of privilege and work-product protection, and the preservation of data and spoliation. As you are reading, you may encounter some unfamiliar terms. Many of these terms are defined in a glossary at the end of the guide. ..."

(via Information Governance Engagement Area - A judges’ pocket guide to electronic discovery - Master the Business - Boise, Idaho)

VB.Net Library for Amazon's Flexible Payment Service

Phil801 - Geek Blog - Amazon FPS Library for VB.Net

"Amazon released a C# Demo for FPS, but not a VB.Net one. Since VB.Net is my preferred language, I converted the C# library to VB.Net.

It would seem that Amazon will probably continually release new versions of the WSDL in C# - to avoid having to convert it every time and to make future upgrades easy, I wrapped the WSDL in a separate DLL. In the future, all that will need to be done to upgrade it is to replace the WSDL source file in the DLL project and rebuild.

This isn’t a download and run project - FPS is much more complicated than that. Once you extract the zip file, make sure you follow the instructions in the ReadMe.txt file - there is much to do!

..."

I've been thinking about checking out Amazon's FPS. Not sure what I'd charge for, but still I like what I've been reading about it...

(via Amazon Web Services Blog - Amazon Flexible Payments Support Sees Community Support)

Monday, August 13, 2007

Microsoft Visual Basic 2005 Power Packs 2.0 - Line/Circle/Square Shapes + PrintForm and Printer Compatibility Library Now all in One Assembly

Microsoft Downloads - Microsoft Visual Basic 2005 Power Packs 2.0

"Line and Shape controls, PrintForm component, and Printer Compatibility Library

Microsoft Visual Basic 2005 Power Packs 2.0 includes a new set of Line and Shape controls and updated versions of the two previously released Visual Basic 2005 Power Packs, the PrintForm Component and the Printer Compatibility Library. All three are now included in a single assembly making them even easier to use and redistribute with your application [GD: Emphasis added].

...

The new Line and Shape controls included in this version of the Visual Basic 2005 Power Packs are a set of three graphical controls that enable you to draw lines, ovals, and rectangles on forms and containers at design time making it much easier to enhance the look of your user interface. These new shape controls also provide events such as click and double-click allowing developers to respond and interact with end users.

The Printer Compatibility Library allows projects that used the Printer and Printers Collection in Visual Basic 6.0 to be upgraded without having to re-write your printing logic...

The PrintForm component is designed to bring back the ability to easily print a Windows Form..."

Nice. I dig how they are all bundled into a single assembly. And I've missed my VB6 shape controls... ;) 

 

Related Past Post XRef:
Microsoft Printer Compatibility Library 1.0 (Providing a VB6 Printer like object in VB.Net)
PrintForm Component 1.0 - Directly Print a WinForm

IE7Pro v1.0 Released

IE7pro for Internet Explorer 7 - IE7pro v1.0 Released (14-08-2007)

"...

Changelogs: IE7Pro v1.0 (14-08-2007):
1. EasyHome added
2. Hotkey full customizable now
3. Single IE instance support
4. Tab session restore function added
5. Can use hotkey to dupliate tabs
6. DEP problem solved
7. Fix autofill in iframe bugs
8. Inline search improved
9. Spell checking improved
10. Plugin system improved
11. IE6 Quick Search Added
12. Update automatic notfiy now"

The very cool, must have IE7 addin/extension, IE7Pro is now officially a v1.0...

The new EasyHome feature is pretty darn cool. It's like a thumbnail, personal, quick access, portal page. You can setup nine different sites, which are shown as thumbnails on the EasyHome page. Clicking on a site opens it in a new tab or on the current tab. Below is an example I created with a couple Microsoft sites...

 

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

Sunday, August 12, 2007

"WordCloud - A Squarified Treemap of Word Frequency" - Something like this would be cool in a Feed Reader...

CodeProject - WordCloud - A Squarified Treemap of Word Frequency

"WordCloud is a visual depiction of how many times a word is used, or its frequency if you will, within a given set of words. It does this by: reading in plain text, filtering out "stop words", counting how many times a word is used, and displaying results in a Squarified Treemap. (In the images above, the larger a node and more saturated the color, the more frequent its use.)

..."

When I saw this, my first thought was, "Oh I want something like this in my Feed Reader."

Think high level analysis of the new, unread posts, with a user definable threshold (i.e. don't include words with less than ## occurrences). Then clicking on a word/square brings up the list of posts with that word. And a background thread updating the Map as you read through the posts...

Then of course, I'd also want Concept and Natural Language Processing (NLP) as well as just Word mapping.
(So pretty much an Electronic Data Discovery[EDD]/Electronically Stored Information[ESI] search, analysis and review tool for my web feeds... ;)

Hum...

 

Related Past Post XRef:
Feed Stream Analysis - Web Feed/Post Analysis to Group Like/Related Posts
WordNet
"Statistical parsing of English sentences"
"A Model for Weblog Research"
AddressOf.com - MS Research TreeMap.Net

"Outlook Webmail Add-in for Windows Home Server"

Coding4Fun - Outlook Webmail Add-in for Windows Home Server

"Windows Home Server is a new product from Microsoft which allows home users to manage and share data, including photos, documents, videos, music, etc.  It also provides a very easy way to backup all computers on your home network to a central storage server.

Windows Home Server can also be extended via add-ins to enhance the experience and provide new and interesting functionality other than what comes in the box.

One feature not present in WHS that I would find useful is the ability to view my Outlook mail box from the web at any time.  I have 6 or 7 email accounts that are all setup to retrieve via POP3 to Outlook.  Most of these accounts do not support IMAP or have a web-based interface.  Therefore, Outlook is generally open all day and checking messages.  When I'm away from home for work or pleasure, it's very often inconvenient to have to remote desktop into the machine with Outlook running to read my email, so it would be nice to have a web-based version of my current Outlook folders so I can view all email (old and new) at any time simply by browsing to a web server at home.  Windows Home Server comes with Internet Information Services 6 (IIS6) and one can easily add a new web application to IIS on the server.

So, this article will attempt to show how to build a new web site using ASP.NET that can be added to your Windows Home Server installation that will allow one to view the Outlook folders running on whatever computer contains your current Outlook installation and message store.

If you wish to just use the application, download the sample from above and skip down to the deployment section for installation instructions.

..."

I don't have a Windows Home Server running (yet), but I'm pretty interested in it. Mostly due to its extensibility. This article a cool example of that...

This Coding4Fun project provides a working example of extending WHS, integrating with Outlook/MAPI, using WCF and wrapping it all up with an ASP.Net bow.

(via Brian Peek [MVP C#] - Outlook Webmail Add-in for Windows Home Server)