Friday, April 04, 2008

Unity 1.0, Microsoft's Dependency Injection, Inversion of Control (DI/IOC) Container, has RTW'ed

Microsoft Downloads - Unity Application Block (RegWare)

"...

The Unity Application Block (Unity) is a lightweight, extensible dependency injection container. It facilitates building loosely coupled applications and provides developers with the following advantages:

  • simplified object creation, especially for hierarchical object structures and dependencies.
  • abstraction of requirements; this allows developers to specify dependencies at run time or in configuration and simplify management of crosscutting concerns.
  • increased flexibility by deferring component configuration to the container.
  • service location capability; this allows clients to store or cache the container.

...

  • Microsoft .NET Framework 2.0, 3.0, or 3.5
  • Microsoft Visual Studio 2005 or Visual Studio 2008 development system (any of the the following editions):
    • Stand Edition
    • Professional Edition
    • Team Edition for Software Developers
    • Team Edition for Software Testers
    • Team Edition for System Architects
    • Team Suite
  • " [Description leached in near full]

    Microsoft Downloads - Unity Application Block Documentation for Visual Studio 2005

    "The integrated documentation for the Unity Application Block (Unity) to be used with Visual Studio 2005.

    ..."

    Microsoft Downloads - Unity Application Block Documentation for Visual Studio 2008

    "The integrated documentation for the Unity Application Block (Unity) to be used with Visual Studio 2008.

    ..."

    Now if only I truly knew how to best use and apply this...

    Oh well, I guess you have to start somewhere.  :)

    Kerkythea - Free Photorealistic Rendering for 3D Design Programs (Blender, SketchUp, 3ds Max, etc)

    freewaregenuis - Create photorealistically-rendered images of your 3D models with Kerkythea

    "Description: Kerkythea is a free multiplatform standalone rendering software that can be used to create photorealistic image renderings using physically accurate materials and lighting when integrated with Blender, SketchUp, Wings3D, 3ds Max, Silo and any program that exports files in OBJ and 3DS formats.

    ...

    The verdict: a great program that provides seamless integration with SketchUp. You don’t have to buy a few thousand dollars worth of software to produce great quality artistic renderings of your models; Kerkythya delivers and is absolutely free"

    Ever since my Amiga days, I've had an interest in ray tracing and photorealistic rendering... This utility sounds seems pretty cool.

    It's setup and usage is pretty easy and straight forward. Install Kerkythea 2008, install the SketchUp Exporter, create a model in SketchUp, export it, render it in Kerkythea.

    Manage the Multi-monitor Madness when Moving Mobile (Subtitled - Supporting the “pajama programmer”)

    The Visual Basic Team - "Git Over Here": Making Your Windows Mind Their Manners (Matt Gertz) 

    "Supporting the “pajama programmer”

    Telecommuting is a great thing, and as the environmentally-conscious person that I strive to be, is something I wholeheartedly endorse when it can be done practically. My current job involves a lot of face-to-face meetings with people, so I don’t actually do a lot of it. However, I do work from home in the evenings (for example, when crafting blog posts), so it’s important to me that my setup for working from home is usable.

    The challenge that I face is that my work machine is dual-monitor, whereas my home machine is single-monitor. Consequently, unless I make a conscious decision to move all of my windows to monitor #1 before I go home, many of the windows I need are off-screen when I remotely access my work machine from home. Choosing to “cascade” or “tile” the windows doesn’t work, since those commands don’t actually move windows from their current monitor. I can, of course, right-click on the relevant window’s icon in the task bar and choose “Move” to slowly move the window to monitor #1 with the cursor keys, but that’s a hassle. What I want is a quick way to say “git over here!” to one or more windows.

    ..."

    We're about to move into a multi-monitor dev world at work and I thought this might come in handy, both for our team and to help us build applications for our users that provide intelligent multi-monitor (or smart movement between multi and single monitor) support.

    Personally, while I have a second monitor at work, I rarely use it (I know, I know, I can hear you all already muttering under your breath about how multiple monitors have been shown to improve dev performance and generally make life easier... I hear you...). My problem is that I have two work environments. The office and the remote office (a room at home).

    At work I have the room for a number of monitors. When remote, much less so. You see, I have little say in my remote desk layout as my cats are very demanding and require ample space with which to monitor my performance, watch the neighborhood from my window, lay in the sun, etc, etc. So no room from multiple monitors. And the mental context switch from multi at work to single when remote was just too much for my little brain.

    Plus I have a number of apps that really are not too happy about the same context switch. They are semi-smart apps and remember their previous locations, which is cool, except they not quite smart enough to realize when their remembered position happens to be on a monitor that doesn't exist... doh.

    Hence my interest in this post. Plus I really liked the subtitle... :)

    BTW, the source for this project can be found here, MSDN Code Gallery - Temple of VB - VBGitOverHere - Moving your windows to monitor 1

    Another getting started with Silverlight 2, talking to a SQL Server DB via a ASP.Net web service middle tier, example

    Jason Zander's WebLog - Silverlight 2 Map / DataGrid Demo (Part 1)

    "I did the keynote speech for VS Live in San Francisco on 3/31 and included a demo of how to use the new Silverlight 2 features including the DataGrid.  I wanted to write up the steps required to reproduce my demo for anyone that wants to build it themselves.  The demo shows how to use VS 2008 with the Silverlight 2 plug-in, Expression 2.5 preview, LINQ to SQL, LINQ to XML, as well as the new controls.  This post got longer than I expected, so I'm going to post another that shows how to use the Silverlight Airlines demo map to give  a new twist for looking up data.

    In this write up, I tried to consolidate a lot of different sources of good data (like ScottGu's blog, the "How Do I" series for Silverlight 2, and several other great examples of LINQ to SQL).  If you are an advanced user, you may find I have included too many steps.  But I thought for a lot of folks it would be easier if you could really follow along and wind up with a working application.

    ...

    The application is built in the following steps:

    Step 1:  Create the project with an ASP.NET backend and a Silverlight 2 front end

    Step 2:  Build a web service that can query the database and return an XML document with my data

    Step 3:  Create the Silverlight 2 client application that will invoke the web service and show data in a grid

    ..."

    I still think ADO.Net Data Services will end up being one of the key data services for Silverlight applications. But in the mean time (I've not heard a release date for it, nor its foundation, the Entity Framework), "normal" web services will work just fine...

     

    Related Past Post XRef:
    A database access from Silverlight 2 tutorial, which includes Web Services and VB XML fun

    Thursday, April 03, 2008

    Burn CD/DVD/Blu-ray's with C# and IMAPI2 (Image Mastering API v2)

    CodeProject - Burning and Erasing CD/DVD/Blu-ray Media with C# and IMAPI2

    "imapi2

    Introduction

    Windows introduced the new IMAPIv2.0 with the release of the Vista Operating System which was a big improvement over the original IMAPI. The original IMAPI is great for CDROMs, but it has some huge limitations like not being able to write to DVD media. I am sure this limitation is due to almost nobody having a DVD writer when Windows XP was released back in 2001. IMAPIv2 allows you to write to CD, DVD, and even Blu-ray media, as well as read and write ISO files. IMAPIv2.0 had a problem since it was only available with Windows Vista. But in June of 2007, Microsoft released update packages for Windows XP and Windows 2003. You can download the updates here.

    I wrote this article as a sequel to my C++ article Burning CD/DVD Media with the Image Mastering API Version 2.0. Most of the IMAPI2 samples seem to be in scripting languages. The only C# sample I found was the IBurn console project that came with the Windows Vista SDK and more recently the article How to Create Optical File Images using IMAPIv2.0 by dmihailescu, which shows you how to create an ISO file.

    This article was more difficult than I had thought it would be. Normally .NET applications are supposed to be easier, but there were a number of issues that I needed to figure out to get this to work. If you're not interested in hearing me rant and rave, you can skip over the next section.

    ..."

    I've had a long running, yet extremely low priority, interest in IMAPI. I keep thinking I'll be able to use this for work one day, where we need to burn tons of stuff to DVD.

    (Also I used to want to write an automated podcast to audio CD burner utility so I could listen to them on the road, but now that I have a Zune, no stinkin' CD's for me!  ;)

    (via Coding4fun - Burn baby burn)

     

    Related Past Post XRef:
    VB.Net Code Sample for Burning Audio CDs
    Burn CDs right from your .NET code...

    Wednesday, April 02, 2008

    Visual Linq Query Builder (VLinq) - A Visual Studio Add-in to help build LINQ to SQL Queries (Think "Access Query Builder for Linq to SQL")

    MSDN Code Gallery - Visual LINQ Query Builder

    "Visual LINQ Query Builder is an add-in to Visual Studio 2008 Designer that helps you visually build LINQ to SQL queries. Functionally it provides the same experience as, for instance the Microsoft Access Query Builder, but in the LINQ domain. The entire UI of this add-in uses Windows Presentation Foundation. The goal of this tool is to help users become more familiar with the LINQ syntax.

    It's also a project that could help you to see how to create your own Visual Studio 2008 add-in using Windows Presentation Foundation.

    ...

    You will need to have Visual Studio 2008 installed. You can use the Visual LINQ Query Builder in any kind of project that supports LINQ to SQL.

    Visual LINQ Query Builder is only supported with C# and VB.Net projects.

    Quick Reference Guide
    A Quick Reference Guide and a video showing how to start Visual LINQ Query Builder are available for download from the 'Releases' tab.

    ..."

    Mitsu's blog - Visual Linq query builder for Linq to Sql: VLinq

    "Hi all,

    After almost one year of work and organization, I am very happy to share this project with you:

    http://code.msdn.microsoft.com/vlinq

    The Visual Linq query builder is a Visual Studio 2008 addin. It's a designer that helps you create Linq to Sql queries in your application...

    clip_image016_thumb

    ...

    The project goal

    Linq to Sql and Linq more generally speaking, is a new technology mainly based on language evolutions. As any new syntax, you have to take some time to get familiar with it.

    The VLinq project as any designer helps you to build graphically Linq to Sql queries but we wanted to keep it visually very close from the code. The goal is not to hide the generated code but to make it visible in the designer. It's a kind of mix between a classical designer and a graphical intellisense.

    VLinq also helps you grouping all queries at the same place allowing easy management (edit, add, remove) and previewing and testing.

    Last goal: releasing the whole solution, including source code to share with you our experience about using WPF with VS2008 extensibility.

    What do we release ?

    The whole project has been developed using Visual Studio 2008 (betas then RTM) and Expression Blend. We provide the whole solution (binaries + source code). The solution contains a Setup project for a quick installation (msi file).

    ..."

    Lot's of coolness here... Linq, WPF, VS Extensibility, documentation, source and more.

    (BTW, I think the source is supposed to be available, but I'm not seeing it after my install... I'll update this post once I know more)

    (via No1 Microsoft Fan - Visual LINQ Query Builder)

    ASP MVC Tutorials for the VB Crowd

    myVBProf.com - An Introduction to ASP .NET MVC Framework

    "...

    This tutorial covers an introduction to the MVC pattern using Visual Basic. It shows you want software is needed to work with the model. It also includes a brief overview of the URL routing assumptions that are a foundation to the implementation of the pattern. Finally, a sample application is created to demonstrate the fundamentals of this new web-application model.

    ...

     

    Video Links
      An Overview of the MVC Pattern
      Setting up the MVC Preview Environment
      URL Routing
      Setting up New Pages
      MVC Controller Actions 
      Creating HTML in Views 
      MVC - Putting it all together

    ..."

    A cool series of ASP.Net MVC tutorial video's for VB9 developers.

    Also while you're on the myVBProf site, you should also check out their other VB9 tutorial series, LINQ to SQL and Programming With XML Using Visual Basic 9.0

    (via Julie Lerman - MVC with Visual Basic video series)

    Tuesday, April 01, 2008

    IronPython Studio 1.0 released with both Isolated and (Visual Studio) Integrated versions

    VSX Team Blog - IronPython Studio 1.0 for Isolated and Integrated VS Shell

    "There is now an integrated VS Shell version of IronPython Studio free for download and installation to go along with isolated version. The version has also changed from CTP mode to version 1.0. Applications using the isolated version of the VS Shell runtime allow the application to be installed and run if there is no version of VS installed, and will still run stand-alone when there is a version of VS installed. Integrated applications for the VS Shell, like the new additional version of IronPython Studio, allow the application to run stand-alone with there is no version of VS installed, but run side by side within VS when a copy of VS installed before or after.

    So the developer who would probably want to install the isolated version of IronPython Studio does not have VS and does not plan to install VS or wants it to run stand-alone independent of VS. The developer who would prefer the new integrated version of IronPython Studio has VS installed or plans to install VS and wants IronPython to run side by side within their installation of VS rather than as a stand-alone shell application.

    ..."

    IronPython Studio - IronPython Studio 1.0

    "This release contains VS Shell Integrated and Isolated mode supports.

    ...

    Runtime Binary IronPythonStudioIsolatedSetup  runtime binary, 996K, uploaded Mar 28 - 6800 downloads

    Source Code IronPythonStudioSource source code, 1014K, uploaded Mar 28 - 1338 downloads

    Example IronPythonScreenCast (wmv) example, 8949K, uploaded Dec 10 2007 - 2624 downloads

    Runtime Binary IronPythonStudioIntegratedSetup runtime binary, 904K, uploaded Mar 28 - 205 downloads

    ..."

    Do your Python development inside your existing VS install now... Or in the stand-alone, isolated Studio.

     

    Related Past Post XRef:
    Visual Studio 2005 SDK V3 (September 2006) Released
    IronPython 1.0 Beta

    Wireshark (fka Ethereal) 1.0 Released

    Wireshark - Wireshark 1.0 Released

    "I'm proud to announce the release of Wireshark 1.0. This is the culmination of nearly ten years of hard work by a team of brilliant and talented developers. It is an honor to be able to work with these people.

    ..."

    Wireshark/Ethereal is one of those bell weather network utilities, a must have in any IT toolbox. And yes, it's still free...

    Given they've been slashdotted, expect their site to be under some load for the next few days...

    (via Slashdot - Wireshark 1.0 Released)

     

    Related Past Post XRef:
    Using Ethereal - Chris Sanders Presents Packet School 101

    New Team Foundation Server 2008 VPC Released (with 12/31/2008 Expire date)

    Microsoft Downloads - Visual Studio® Team System 2008 Team Foundation Server and Team Suite VPC Image (Trial)

    "...

    This image will expire December 31, 2008.
    Microsoft ® Visual Studio® Team System an integrated Application Life-cycle Management (ALM) solution comprising tools, processes, and guidance to help everyone on the team improve their skills and work together more effectively.
    This VPC release is available in English only.

    Visual Studio 2008 delivers on Microsoft’s vision of smart client applications by letting developers quickly create connected applications that deliver the highest quality rich user experiences. This new version lets any size organization create more secure, more manageable, and more reliable applications that take advantage of Windows Vista, 2007 Office System and the Web. By building these new types of applications, organizations will find it easier than ever to capture and analyze information so that they can make effective business decisions.

    To learn more about this release, please visit the Visual Studio Team System 2008 home page.

    This virtual machine is running Windows Server 2003 Enterprise Edition, SP2. It contains a full installation of Team Foundation Server 2008, Team Build 2008, Team Explorer 2008, Visual Studio Team System 2008 Team Suite and all necessary prerequisites. In addition, it has been updated with Office 2007 SP1, current Windows Updates as of March 25, 2008, and the December Release of the TFS Power Tools. Team Foundation Server is installed in workgroup authentication mode and thus does not require a domain controller.

    This release also contains 38 hands-on labs and sample data. Please examine C:\MSLabs inside the VPC image. If you desire, you can download the hands-on labs and their support files only. See the MSI download link below.

    Please note: future updates to this image will be provided in the form of Virtual PC Differencing Drives. You may find it convenient to keep a copy of this download unmodified for these future updates so that you do not need to re-download this base image.

    This virtual machine does not have anti-virus installed. It should not be connected to any network until it has anti-virus installed. In addition, the operating system and programs installed were patched with all updates as of March 25, 2008. If you use one of the included VMC configuration files, you will find networking is not enabled.

    ..." [Description leached in full]

    I saw this release a few days ago and was thinking to myself, "I don't need this, or this link, because I already have TFS 2008 in production..."

    Then I smacked myself on the forehead and realized this would be a great help when playing with different Process Templates (cough... the different Scrum's... cough), when trying different changes to Work Items, etc, etc, etc. And given it has a 9 month life span I'm sure I'll need to do some TFS hacking between now and then... Also I want to see if the WSS 3.0 upgrade is worth the effort... I want to see what value it add's, etc and this seems like a perfect vehicle for that.

    Note the inclusion of the Hands-on Labs in this VPC. Also the "...future updates to this image will be provided in the form of Virtual PC Differencing Drives..." statement.

    The Reflector Add-in Starter Kit from Jason Haley - Hard to think of a way to make creating Reflector Add-in's much easier...

    JasonHaley.com - Reflector Add-in Starter Kit (C#)

    "I've been writing Reflector add-ins now for a year or so and often find myself copying and pasting code just to get to a starting point.  I even wrote a blog entry a while ago about the typical template I used to get started (Getting started with Reflector Addins).  After reading about VSI (Visual Studio Installer) files in Working With Microsoft Visual Studio 2005 a while back, I added an item to my mental todo list to create a set of templates I use for writing Reflector add-ins - and with two Reflector presentations coming this next weekend, I figured now was as good a time as any to actually finish it.

    ...

    If you download it today, it only has the C# templates (plan to add VB templates sometime soon).

    ...

    reimage_thumb

    ..."

    Wow, that should make it easier to create Reflector Add-ins... Now if only I had a cool idea for one.  :/

     

    Related Past Post XRef:
    Creating a Reflector Addin? Check Out this Cool Walk Through from Jason Haley
    .Net Reflector 5.1 Released
    Reflector 5 Released
    Reflector 4.2 Released...
    .NET Reflector Add-Ins 4.0.3.0
    Reflector for .NET 4.0.0.0
    Reflector for .NET - Lutz Roeder's Programming.NET C# .NET VB .NET CLR

    IcoFX 1.6 Released

    IcoFX - IcoFX 1.6 Released

    "I'm proud to announce the immediate availability of IcoFX 1.6 !
    New features included:

    • Open, save and edit Macintosh icons
    • Extract Macintosh icons form resource files
    • Batch process Macintosh icons
    • Convert Macintosh icons to Windows icons
    • "Advanced Import" window
    • "Snapshot" window
    • Favorite folders in "Explorer" window
    • "Resource Editor" window
    • Support for creating icon library (icl) files
    • Change icons inside files
    • Added png image objects
    • Dithering for 256, 16 and 2 color images
    • Autozoom option
    • Easy color changing for "Preview" window
    • "Check For Update" window
    • "Download Languages" window
    • Import Jpeg 2000
    • Export Jpeg 2000
    • Import Image into icon
    • "Tip Of The Day" window
    • Handling multipple instances of IcoFX
    • Online forum
    • Online tutorials
    • Minor enhancements
    • Online help
    • Better zooming capabilities (up to 10000%)
    • "Shadow" window enhanced
    • "About" window enhanced
    • Better Windows Vista compatibility
    • New toolbar images for IcoFX
    • Bugfixes " [Post leached in full]

    Enough new features to qualify as a major release... :)

    (via the Portable Freeware collection - IcoFX Portable V1.6)

     

    Related Past Post XRef:
    IcoFX - Free (and Portable) Icon Editor

    Monday, March 31, 2008

    Subsytem for Unix (SUA) Utilities and SDK For Windows 2008 and Vista SP1

    Microsoft Downloads - Utilities and SDK for Subsystem for UNIX-based Applications in Microsoft Windows Vista RTM/Windows Vista SP1 and Windows Server 2008 RTM

    "....

    Utilities and SDK for UNIX-Based Applications is an add-on to the Subsystem for UNIX-Based Applications (referred to as SUA, hence forth) component that shipped in Microsoft Windows Vista / Windows Server 2008 RTM.

    This consists of the following components:
    - Base Utilities
    - SVR-5 Utilities
    - Base SDK
    - GNU SDK
    - GNU Utilities
    - UNIX Perl
    - Visual Studio Debugger Add-in

    ..."

    I find myself falling back to these mostly to handle long, greater than MAX_PATH, issues... I also find it funny that the file system supports a folder depth of 32k characters, but it seems like nothing else does (outside of the W/wide API's), i.e. no shell or command line support. So I fallback to Unix commands to help me manage the windows file system... lol

    One of these days I'm going to have to try to get approval to release the .Net API wrappers I created to deal with long paths (in my biz, EDD, Electronic Data Discovery, long paths are just a part of doing business...). But that may also be much more headache than it's really worth... sigh.

    In the mean time, there are the above utilities...

     

    Related Past Post XRef:
    Windows Services for UNIX 3.5 Downloads

    Open SUSE 1.9/Mono VMWare to Virtual PC

    Jon Galloway - Running the Mono VMWare image in VirtualPC

    "...

    The Mono team publishes a VMWare image which makes it really easy to check out Mono on Linux without installing or building anything. If you're happy with VMWare, you can grab their free player and run the image. If, like me, you'd rather run this on Virtual PC, follow along and I'll show you how.

    If you don't use VirtualPC, or if you don't mind having several virtual machine hosts on your computer, this post obviously isn't for you. Thanks for stopping by, though!

    Grabbing the VMWare Image

    ...

    Converting the Virtual Hard Disk image

    ...

    Creating the new VirtualPC Machine

    ...

    Setting up the Video Driver

    ..."

    Jon walks us through getting the Open SUSE 1.9 VMWare image, converting the VMDK to VHD, creating a VPC machine and configuring the virtual machine's video driver (which is biggest pain in getting a Linux VirtualPC up and running IMHO).

    I've been wanting to play with Mono and to see if I could get my Blogger Backup running under it. This Virtual PC will take me one step closer...

    STrace - Socket/SSL Tracing/Logging tool for IE, with companion HttpReplay plugin to replay a given STrace log

    Microsoft DownloadsSTRACE is a socket/SSL tracer designed to generate LOG for Internet Explorer

    "STRACE is a socket/SSL tracer that is based on the "detours" utility. The tool has been specificaly designed to generate LOG for Internet Explorer but it can be used with many other applications.

    Using STRACE with Internet Explorer is equivalent to use a (non full) debug build of WININET.DLL to generate a WININET LOG. The STRACE LOG contains clear text HTTP traffic (with socket information) and encrypted/decrypted SSL data.

    From the STRACE LOG, you can "replay" a full navigation scenario using the HTTPREPLAY tool. This can be useful to reproduce a problem or browse web sites offline..." [Description leached in full]

    Microsoft Downloads - HTTPREPLAY is a SOCKTRC plugin allowing to analyze and replay HTTP traffic

    "HTTPREPLAY is a SOCKTRC plugin allowing to analyze and replay HTTP traffic from STRACE or WININET log. You can use this tool to "replay a web server" without needing to setup IIS. The main goal of this tool is to help building a repro scenario when customer can't provide one.

    ..." [Description leached in full]

    These two utilities sound like they could be pretty useful. Two items for the utility toolbelt...

    STrace appears to work with IE6, IE7 and Firefox