Wednesday, November 23, 2005

Fun with BindingList(of T) and Bindable, Sortable Collections of Domain Objects

One of the things I really wanted to play with in VB/VS 2005 was data binding with domain objects (i.e. my own business classes and not a dataset/table).

I’m a big fan of using domain objects, where they make sense. I don’t believe in going overboard and requiring/making everything a domain object though. DataSets/Tables are pretty cool now and sure make some things very easy.

That said, I don’t want to have to coerce my perfectly good domain objects into datatables just so I can bind them to a DataGridView.

I looked at implementing IBindingList and what a nightmare. Next…

.Net 2.0 introduces the BindingList(of T) class. This is a great base class to inherit from for creating custom, bindable domain object collections.

With a little help from Sorting the Unsortable Collection, by Rockford Lhotka and Custom Data Binding, Part 2, by Michael Weinhardt, I now have a fully working datasource bindable collection of domain objects. This includes sorting, editing, adding, etc, etc.

To get sorting working, I inherited from BindingList(of T), overrode and implemented two Subs and four Properties. And that’s about it! If you’ve ever looked at supporting sorting with IBindingList you’ll know why I’m so excited.

Michael gets the credit for performing the real magic. His implementation of the PropertyComparer made my work easy.

Next week or so, I’m going to try and write this up in more detail and post it to Code Project.

Update #1 1/9/2005 @ 4:13 PM (PST):
I finally got off my butt and posted a sample of the work I mention above...

Check out this post for more information, or see the GotDotNet User Sample, VB.Net Binding List With Sorting Example.

Update #2 4/28/2008 @ 2:45 PM (PDT):
GotDotNet is gone, along with my sample code... sigh... :(

But luckilyI had a backup copy.

For the time being I'm going to post it to a "readable by everyone" SkyDrive folder, Fun With Bindling List Source

Thank you Anna for reminding me to repost this source.

Xenoppix (Knoppix + Xen) LiveCD

virtualization.info: Running Xen from a liveCD

"What happens when the most famous open source virtualization project (Xen) meets the most famous open source liveCD project (Knoppix)? Xenoppix.

Xenoppix is a new Knoppix 4.0 customization including the Xen package and 2 pre-made guest OSes: NetBSD and Plan9.

..."


Cool.... After T-day I want to download the DVD ISO and check this out.

Too bad VPC can't mount DVD sized ISO's... ;)

Encarta Instant Answers MSN IM Info-Bot

Digital Thoughts : Encarta Instant Answers

"If you add encarta@conversagent.com to your MSN IM contacts list, you can ask it questions, e.g.
What is the size of Mexico?
When was Leonardo da Vinci born?
How many calories are there in an orange?
I want to see the map of Italy.
When was Abraham Lincoln born?
Solve 2x^2+7x=5 "


I dig MSN IM info-bots.

I find myself using the Inside Messenger (Amazon) bot quite often.

Added to my buddy list...

U.S. Ends Prosecution Of Arthur Andersen

U.S. Ends Prosecution Of Arthur Andersen

"The Justice Department yesterday abandoned its prosecution of Arthur Andersen LLP, walking away from one of the signature cases in its drive to eradicate corporate fraud.

The announcement came six months after the U.S. Supreme Court tossed the accounting firm's 2002 conviction on obstruction-of-justice charges related to its work for client Enron Corp. In a 9 to 0 decision, the court ruled that the jury instructions were so broad that jurors could have found Andersen guilty even if officials did not intend to break the law and impede a looming investigation.

Andersen's indictment sent clients scrambling for the exits and quickly led the firm to shut its doors -- at a cost of 28,000 jobs in the United States.

..."


And so it ends... mostly...

Tuesday, November 22, 2005

Convert Seconds to Countdown Time

I seem to find myself doing alot of “countdown” type app’s/features. For example, right now I’m working on a “ping this list of machines every ## minutes” control.

When I build these kinds of things, I like giving the user an idea when the next event will happen. Hence a countdown…

I have a timer set to a 1 second interval (Timer.Interval = 1000) and each tick I decrement the remaining seconds by one. When the remaining seconds hits zero I reset the remaining seconds to the master interval and fire off the “event” (which with VB/VS 2005, I’m using the BackgroundWorker component).

While the time is counting down, I like to give the user a Minutes:Seconds countdown. I find myself reinventing this wheel over and over. I’m creating a snippet now, but also wanted to post the code here…

This function will take in the seconds and return a “m:ss” string. For example, 119 will return “1:59”, 61 will return “1:01”, 59 will return “59”

It’s quick and dirty, but gets the job done.

Private Function ConvertSecondstoCountdownTime(ByVal Seconds As Integer) _
                    As String

    Dim Result As String
    Dim Minutes As Integer
    Dim RemainingSeconds As Integer

    If Seconds < 60 Then
      Result = Seconds.ToString

    Else

      Minutes = Seconds \ 60

      RemainingSeconds = Seconds - (Minutes * 60)

      If RemainingSeconds < 10 Then
        Result = String.Format("{0:G}:0{1:G}", Minutes, _
                                RemainingSeconds)
      Else
        Result = String.Format("{0:G}:{1:G}", Minutes, _
                                RemainingSeconds)

      End If

    End If

    Return Result

  End Function

"Practical Guide to Alternative Data Streams in NTFS"

Practical Guide to Alternative Data Streams in NTFS

"Alternative Data Stream support was added to NTFS (Windows NT, Windows 2000 and Windows XP) to help support Macintosh Hierarchical File System (HFS) which uses resource forks to store icons and other information for a file. While this is the intended use (as well as a few Windows internal functions) there or other uses for Alternative Data Streams that should concern system administrators and security professionals. Using Alternative Data Streams a user can easily hide files that can go undetected unless closely inspection. This tutorial will give basic information on how to manipulate and detect Alternative Data Streams. ..."

ADS is something I need to start looking at and thinking about.

This Guide is a nice intro into ADS, providing understandable info-chunks as well as links to additional information and utilities.

One cool free ADS utility that's not listed in the guide is Stream Explorer.
"Stream Explorer will show you the number of streams in each file as they are listed per folder.

When you select a directory entry, Stream Explorer will list all the streams in that entry, and you can see their type, their size and contents. The unnamed stream is shown as . "



The guide doesn't talk about is how ADS is used by Windows XP+ to identify files that have been downloaded from different "Zones" than the host computer is on (i.e. files you download off the internet). The
"Zone.Identifier" stream is used by Windows to remember to prompt/warn the user each time the file is launched. Here and here is a little more info on this...

(via Microsoft Switzerland Security Blog - Practical Guide to Alternative Data Streams in NTFS)

The Open CD 3.1 Released

TheOpenCD.org

"TheOpenCD team is pleased to announce the release of TheOpenCD 3.1. Core applications including OpenOffice, Firefox and Gaim have been upgraded to major new versions. The popular game Battle for Wesnoth has reached 1.0 and a range familiar programs appear in minor version updates. The Live CD component is now based on Ubuntu 5.10 (the Breezy Badger). Blender has returned in version 2.37a and the MoinMoin Desktop Edition has been added. (see the full list here). The user interface which proved quite successful for v3.0 has remained largely unchanged, only tweaked slightly. ..."

Here's the list of what's included...

"The following applications are included on TheOpenCD 3.1.

Productivity
AbiWord 2.4.1
MoinMoin 1.3.4
OpenOffice 2.0
PDFCreator 0.8.1 RC9

Design
Blender 2.37a
GIMP 2.2.9
NVU 1.0

Internet/Networking
FireFox 1.5 RC2
Thunderbird 1.5 RC1
Gaim 1.5

Multimedia
Audacity 1.2.3
Celestia 1.3.2
Really Slick Screensavers

Utilities
7-zip 4.23
Notepad2 1.0.12

Games
Sokoban 1.253
Battle for Wesnoth 1.0.1"


The interesting Open CD project has released v3.1...

Past Related Post XRef:
TheOpenCD V3 Released

(via Deep Thoughts in a shallow pond - TheOpenCD.org)

Monday, November 21, 2005

Microsoft Architecture Journal Free Print Subscription

TS Tidbits : Get Your Microsoft Architecture Journal Subscription - FREE

"...The Microsoft Architecture Journal is one of our strongest vehicles to drive thought leadership for and interest in Microsoft’s architectural perspective. It provides a world-class forum for the publication of unique and powerful articles on how good architecture can help create great implementations. Customers and partners are finding out the secrets of great architects and seeing how to make their applications run better on the Microsoft platform. ...

You can order your own copy by signing up for a free subscription at the http://www.getarchjournal.com. "


I like free print trade journals... While not as timely as my subscribed feeds they usually provide more depth...

Friday, November 18, 2005

Management Strongly Typed Class Generator (Mgmtclassgen.exe)

Management Strongly Typed Class Generator (Mgmtclassgen.exe)

"The Management Strongly Typed Class Generator enables you to quickly generate an early-bound managed class for a specified Windows Management Instrumentation (WMI) class. The generated class simplifies the code you must write to access an instance of the WMI class."

Saveen Reddy points out the cool .Net utility called Mgmtclassgen.exe.

Mgmtclassgen will create a C#, VB, J# class for a given WMI Class. What's cool is that the class is also instrumented with description attributes about a given property.

Looks like this could make WMI easier and more approachable...

"mgmtclassgen Win32_LogicalDisk /l VB /p c:\disk.vb"

Here's a snip...


<Browsable(True), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), _
Description("The Compressed property indicates whether the logical " & _
"volume exists as a single compressed entity, such as a DoubleSpace" & _
"volume. If file based compression is supported (such as on NTFS), " & _
"this property will be FALSE."), _
TypeConverter(GetType(WMIValueTypeConverter))> _
Public ReadOnly Property Compressed() As Boolean
Get
If (curObj("Compressed") Is Nothing) Then
Return System.Convert.ToBoolean(0)
End If
Return CType(curObj("Compressed"), Boolean)
End Get
End Property

Thursday, November 17, 2005

My First Screencast…

At work I’m currently working on a new VB/VS 2005 app. Work is progressing well and I excited and want to show it off. But I’m also working remotely, away from our office.

In the past, I’ve played the “grab a bunch of screenshots and try to turn the static display in something more with words” game. That only goes so far.

Today static just wouldn’t do. So I decided it was screencast day.

Taking my queue from the Blogcast Repository, How to Create a Blogcast page, I downloaded the Windows Media Encoder 9, watched their How to configure WME video and away I went!

Just a few minutes later I had a finished screencast, demonstrating the app, showing it off in its full dynamic glory, all with accompanying voice audio.

Okay, maybe it was a little rough around the edges, unscripted and had one problem with the About box not getting grabbed by the encoder. Still in 6 minutes of recording I was able to show the app off in what have taken 30+ minutes to write and still would not be as cool or complete as the video…

Composite UI Application Block Webcast

eugeniop's WebLog : Composite UI Application Block - another webcast - new demos

"... Ed Jezierski and Peter Provost joined Ron Jacobs again last week in a new edition of a webcast covering CAB. This webcast is good introduction to CAB, the customer scenarios we are addressing with this block and the most improtant building blocks.
Subjects covered: scenarios, building apps with CAB, Shell, Workitems, Commands, Services and Events.
They did a number of demos to illustrate most of these topics too.
Check it out here: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032282463&EventCategory=5&culture=en-us&CountryCode=US"


This is a nice hour long "300" webcast that introduces CAB. Starts with brief discussion of three real world apps built with CAB, then goes into more detailed demos...

If you're interested in CAB, this is a good starting point.

Related Post Post XRef:
Composite UI Application Block (C# Version) Released
Composite UI Application Block (CAB) Tech Preview 1
A little More Info on Guidance Automation Toolkit (GAT) and the Composite UI Application Block (CAB)

Tuesday, November 15, 2005

New Enterprise Windows Desktop Search

New version of Windows Desktop Search!

"Tonight we've officially launched the Enterprise editions of Windows Desktop Search and the MSN Search Toolbar. Unlike the current consumer release, there are 2 seperate installs (one for WDS, one for MSN Toolbar). ..."

Windows Desktop Search – enabled for the enterprise

Very cool. I recently moved to a new notebook with a fresh XP install and I really need a HD indexer...

But I don't want an "uber, do everything under the sun version and here's a cool new toolbar too!" version. Just one where I can drive what folders are indexed and doesn't hijack my browser or add another toolbar. Also I don't want or need Outlook indexing/integration. Lookout works great for me and I have no reason to replace it. I just want something to make searching for stuff on my HD easier....

This new Enterprise WDS just might fit the bill for me.

I really dig how they've separated the Search/Index engine from the toolbar. Also I like how this version also replaces the XP "Search Companion". I'm used to right-click Search on a folder, so the new WDS let's me continue to work as I have before while taking advantage of the new service.

Anyway, it's installed, indexing and I'm downloading more IFilters (ZIP, CHM, etc). We'll see how it goes.

Monday, November 14, 2005

Composite UI Application Block (C# Version) Released

patterns & practices: Composite UI Application Block: Home

"The Microsoft patterns & practices Smart Client Team is pleased to announce the release of the Composite UI Application Block (C# version) to the Community.

Highlights of the release:

- Tests for Visual Studio Team System and NUnit
- Comprehensive QuickStarts
- Full documentation
- Visual Basic.NET version will be available as published in the release plan ..."


"Are you considering a Smart Client approach to address the challenges of building Line of Business solutions that interact with many backend systems? Ever wondered what would the architecture and design of a complex UI would look like? Do you need to abstract the "plumbing" of such client applications so your business developers can focus their attention on building the business specific components rather than dealing with complex issues like threading, asynchronous requests, etc.? The Composite UI Application Block (CAB) could be a good candidate.

CAB is a guidance asset (an application block) based on .NET 2.0. It’s intended to provide proven practices to build complex UIs based on simpler “parts” (SmartParts as we call them, “WinParts” in other architectures). This is a recurrent pattern implemented in many well known examples. ..."


CAB (C#) has just hit RTM.

I've been looking forward to playing with this...

Related Past Post XRef:
Composite UI Application Block (CAB) Tech Preview 1
A little More Info on Guidance Automation Toolkit (GAT) and the Composite UI Application Block (CAB)

Daemon - Tools 4.0 Released

Daemon - Tools

The very cool Daemon Tools is now at v4.0...

Their server is getting slammed with the release of this, so give it a bit if you can't get through.

One thing they make very clear is that this version includes optional ad-ware. During the install you can decide to install the ad-ware to help support them or opt-out.

It's alsovimportant to note that this is not a pirating tool. But with great power comes... etc, etc.
This tool should only be used with CD images you've created yourself for your own usage from CD's you legally own.

If you've never heard of this utility, here's a snip about it.

"INTRODUCTION:

DAEMON Tools is an advanced application for multiprotection emulation. It is further development of Generic Safedisc emulator and incorporates all its features. This program allows running Backup Copies of SafeDisc (C-Dilla), Securom, Laserlock, CDCOPS, StarForce and Protect CD (and many others) protected games. Also included is a Virtual DVDROM drive (Generic DVD-ROM) enabling you to use your CD images as if they were already burned to CD! DAEMON Tools works under Windows9x/ME/NT/2000/XP with all types of CD/DVDROM drives (IDE/SCSI) and supports nearly any CD protection.

DAEMON Tools needs a 1:1 Copy to run!!
DAEMON Tools is used to RUN GAMES, NOT TO BURN THEM!!! Means emulation must be active while you want to play a game, not while burning the copy (except for you want to use DAEMON Tools' "fastdump" feature on a safedisc protected CD).
If you want to run a copy protected application from an image mounted to a Generic DVD-ROM enabling the copy protection emulation(s) is NOT necessary!!
Generic DVD-ROM is able to run nearly every protected or unprotected CD image (Safedisc®, Securom®, Laserlock®, Lockblocks® etc.) like it was the original CD! Just do an image file using one of the supported burning programs and mount it with Daemon Manager!

DAEMON Tools supports the following image files:

cue/bin
iso
ccd (CloneCD)
bwt (Blindwrite)
mds (Media Descriptor File)
cdi (Discjuggler)
nrg (Nero)
pdi (Instant CD/DVD)
b5t (BlindWrite 5) "


(via Gameguru Mania - Daemon Tools 4.00)

Sunday, November 13, 2005

"DataGridView BackgroundWorker Async Data Load App"

Windows Forms .NET: The Official Microsoft Windows Forms Community Site

"This application uses the BackgroundWorker component and the DataGridView control, both new to Visual Studio 2005 to asynchronous load data into the DataGridView. The sample performs a “find in files” type of search on a background thread using the BackgroundWorker component. As file matches are found, the file info is reported back to the DataGridView to display the data using the ReportProgress method. "

(Scroll toward the bottom... or download it here)

There seems to be a bunch of Sample activity on WindowsForms.Net. Stuff that doesn't seem to be hitting the any of their RSS feeds (and there doesn't seem to be a Samples related feed, which bytes). So I want to make a note to myself to try and check the WinForms.Net Samples page every so often...

For example, the above "DataGridView BackgroundWorker Async Data Load App" just appeared in the last day or so...

Pandora VB/VS 2005 "Minimize to System Tray" Player

Since I read about Pandora, I’ve been listening to it non-stop. But as I mentioned before, it bugs me that I can't minimize it to the system tray.

Finally I stopped obsessing about it (Who me? Obsessing about something? Na…  ;)  and I took a few minutes and built my own VB/VS 2005 host for it, using the updated WebBrowser and NotifyIcon controls.

Now I have a Pandora Player that I can minimize to my system tray! Yeah. Instead of being hosted in IE, it's just hosted in the new WebBrowser control… No hacking, content removal, etc, etc.

It’s very easy to do…

  1. Create a new VB project

  2. Add a WebBrowser control to the form

  3. Dock the control to the Parent (i.e. Docking = Fill)

  4. Add a NotifyIcon to the form

  5. On the NotifyIcon SmartTag, select “Choose Icon” and pick a icon somewhere on your system.

  6. Paste in the below code to the form.

  7. You’re done! You now have System Tray Pandora Player.. Yeah!


Public Class Form1

  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    WebBrowser1.Navigate("http://www.pandora.com/?cmd=tuner")
  End Sub

  Private Sub NotifyIcon1_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick
    Me.Show()
    Me.WindowState = FormWindowState.Normal
    NotifyIcon1.Visible = False

  End Sub

  Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize

    If Me.WindowState = FormWindowState.Minimized Then
      NotifyIcon1.Visible = True
      Me.Hide()
    End If

  End Sub

End Class


Update #1 11/13/2005 @ 2:14 PM (PST):
There's one thing that is a little weird...

The Flash player does not respond to clicks unless you first click on the hosting web page. For each click you want to make on the Flash app, you must first click on the web page and then the Flash app...

So if you want to pause the playing, click on the web page area above the player and then click on the pause button... If you want to say "I Like it" on a song, click on the page, the song (to get the song menu), the page again and then finally on the "I Like It" menu item.

Yeah it's kind of a pain but for me its worth it to have a SysTray player... Your milage may vary, yada, yada, yada...

Office Space Stapler Scenes

VirtualStapler.com : Staplers in Film : Office Space

"Presented below are screen-shots of just about every appearance of the mystical Red Swingline from the movie Office Space (buy it here). Click on a thumbnail to view a larger version of the image. ..."

18 scene screenshots from Office Space featuring the Milton and the Swingline... LOL

Visual Studio Team System RC & Team Foundation Server Beta 3 VPC Available on MSDN Subscription

Sam Gentile - Visual Studio Team System Release Candidate VPC on MSDN

"I just noticed that the VSTS Release Candidate VPC image is up on MSDN Subscriber as they promised. This is a great thing as it will save myself and many others a boatload of time. ..."

You know I'm a huge fan of pre-built VPC images, and I've been waiting on this specific VPC for a bit now.

There's some interest in VSTS starting up at work, which is cool and will make getting the hardware for it much easier. So it's about time to start looking at this for real...

Sam hits it right on the head. VPC's like this save tons of people many hours of duplicated work... When playing/eval'ing new stuff, I want to start using it ASAP. I don't want to install an OS, install the servers, install the updates/patches, try to mount the DVD sized ISO on VPC (and then see that it's bigger than 2.2GB, so I have to extract all the files or burn it to DVD... bla, bla, bla), install the actual tool,etc, etc. An unattended background download and then unzip/mount is much easier.

"VPC Contents
Microsoft Windows Server 2003 Standard Edition
Microsoft Visual Studio 2005 Team Suite RC
Microsoft Visual Studio 2005 Team Foundation Server Beta 3
Microsoft .NET Framework 2.0 Redistributable Package RC
Microsoft SQL Server 2005 Community Technology Preview
Microsoft Office 2003 Standard Edition "


Downloading now... 2886.8 MB total size (it seems slow today... 8+ hours to go... sigh).

Related Past Post XRef:
Team Foundation Beta 3 Virtual PC Coming Soon
MSDN Subscriptions - Visual Studio 2005 Team System Beta 2 VPC

Update #1 11/14/2005 @ 8:14AM (PST):
Downloaded and expanded. The expanded files take 9GB...
Booted fine, all services started, etc.

Nice job MS.

"Google Search VS.NET Macro"

Coding Horror: Google search VS.NET macro

"Here's a handy little Visual Studio .NET macro which searches for the currently highlighted term in Google. The search is launched as a new tab within the IDE when you press

Alt+F1

I know what you're thinking: you've seen this macro before. Yeah, but this one goes to eleven. It actually works with any highlighted text in the IDE -- including highlighted text from the Output window..."


This is a pretty cool little VS macro. What's also cool is that Jeff provides complete instructions to install/add it to your macro collection.

Make sure you check out the comments as there are suggestions on how to make the search results appear in a new top level IE window (instead of the default, a new VS tab), to switch the search engine to MSDN, etc...

Saturday, November 12, 2005

Document Outline Window in VS 2005 is a Must When Doing WinForm UI Development

There are so many new things to play with in VS 2005 that it's easy to miss, or forget about, some cool stuff.

For example, if you're doing UI Development in VS 2005 make sure you turn on/open/view the Document Outline window. Since it's not open by default it's easy to miss/skip/forget about.

View menu, Other Windows, Document Outline (CTRL + ALT + T)

After using it just a few times I'm wondering what I did without...…

Here is a screenshot of the Document Window from the Outlook UI example.




In short, it provides a hierarchical view of all the controls on a form, including those that might not visible or easily selectable. You can select a given control, see its selection in the Design window, edit properties, etc. So for example, if the item you select in Document Outline window is a sub-sub-menu item, the menustrip in the Designer will expand to show you the control.

Here's an example of how in the Document Outline window I selected the "optionsToolStripMenuItem1" item. When I selected it, the Designer window automagically opened the Tools/Find menu and selected the menu Options item.



And of course it works both ways. So as you select controls in the Designer, the Document Outline window stays in sync.


On a side note, I really don't care about all that's being said about the bugs in VS 2005... This thing just rocks...!

(But a hotfix rollup between now and SP1 would be nice... ;)

Friday, November 11, 2005

Krypton Toolkit 0.9.0 (Free Office-Like UI Controls)

Component Factory - Krypton Toolkit

"Take your application to the next level with our free library of user interface controls. Designed to work with Visual Studio 2005 and the .NET Framework 2.0 they allow you to create professional looking applications in a fraction of the usual time.

Combine the new MenuStrip and ToolStrip controls with the Krypton Toolkit to create professional Microsoft Office style applications.

Download the free library right now."


How did these guys know that I'm just now starting a new VB/VS 2005 app that I want an Outlook like UI? The UI samples I posted about yesterday are cool, but not simple to re-use in my apps.

One thing I worry about in "free" packages are their licensing (i.e. usage in commercial applications). Well the terms for this package are very liberal.

Below is a snip from the help file.
"The Krypton Toolkit is a free collection of Windows.Forms controls that are available for both personal and commercial use. That means you can use the Toolkit in your own commercial applications that you charge for and make a profit from. There is no fee to pay either for the Toolkit itself or for the distribution of the Toolkit with your commercial or personal applications. In short the library is free and there are no royalty or distribution costs. We only ask you honor three simple licenses terms.

1. You will not use the Krypton Toolkit to create a product that competes against the Krypton Toolkit or any other product from Component Factory.
2. You will not charge for the distribution or supply of the Krypton Toolkit to third parties.
3. You will not decompile or modify the Krypton Toolkit.
..."


Also check out their Products page for some screen shots. The screen shots don't really do the product justice. The sample browser included in the MSI does a better job of showing off the features.

Okay, back to coding...

(via WindowsForms.net Control Gallery - Krypton Toolkit)

Veterans Day



Being a veteran myself, this day has special meaning to me.

If you can, take a second to thank every veteran you know. Look them in the eye, shake their hand and just say thank you. It's amazing how good it will make both of you feel...

And please make sure to thank in your heart those currently serving.

Remember, Freedom is not free...

Thursday, November 10, 2005

Pandora - aka Greg's Rock Radio

Discover Music - Pandora

"Q: What is Pandora?

Pandora is a music discovery service designed to help you find and enjoy music that you'll love. It's powered by the Music Genome Project, the most comprehensive analysis of music ever undertaken. Just tell us one of your favorite songs or artists and we'll launch a streaming station to explore that part of the music universe.

Q: How do you decide what to play?

We take your input (artists, songs) and feedback ("I like this", "I don't like this") and use the Music Genome Project to create stations that play songs that are musically similar to what you've told us. That's it; only the music counts. We don't care how popular the artist is, who's backing them, and we don't care which genre bin they usually belong in. Only the music matters.

Q: How much does it cost?

Pandora is available in two forms. Both versions have exactly the same features.

The first form is an advertising-supported version which is entirely free. ..."


This is a very cool music streaming service.

You feed it songs or bands you like and it creates a station for you with songs of the same "type". For example, I started my station with Green Day, AudioSlave, Yellowcard... Now I'm listening to Never Again by Nickelback (and now Wall of Shame by Course of Nature).

Over time you can continue to add bands or songs to keep expanding or refining your station.

What I also dig is that there are links to Amazon (and iTunes) to purchase album (or song).

But like Robert, I wish there were a full client in addition to the Flash based one. Like him, I'd like it to hide in my system tray, instead of keeping a browser window open (which even the "small" version does). Not that the Flash version is bad. Heck it's a great Flash app, one of the better and most usable I've seen. But still...

Anyway, that's not going to keep me from using this service... It's very very cool.

(via Scobleizer - Microsoft Geek Blogger - Mary Jo warns Microsoft not to drink Web 2.0 koolaid

Now THIS is an e-Book Collection...

Syngress Publishing - ULTIMATE CYBERCRIME INVESTIGATOR'S CD



"Price: $199.95
The Ultimate CyberCrime Investigator's CD contains the following PDF E-books:

Scene of the CyberCrime
Cyber Adversary Characterization: Auditing the Hacker Mind
Hacking a Terror Network
Aggressive Network Self Defense
Ethereal Packet Sniffing
War Driving: Drive, Detect, Defend
CyberSpying: Tracking your Families (Sometimes) Secret Online Lives
Security Assessment Case Studies for Implementing the NSA IAM
Stealing the Network: How to Own an Identity
Microsoft Log Parser Toolkit"


Being in the EDD field, I find this collection... um... interesting...

Seven WinForms UI Examples Posted to Windows Forms .NET

Windows Forms .NET: The Official Microsoft Windows Forms Community Site

"Quicken Cone - WinForms PM
This is a UI front end that has the look and feel of Quicken.

Outlook 2003 Clone (V2) - WinForms PM
This is a UI front end that has the look and feel of Microsoft Outlook 2003.

File Explorer Clone (V2) - WinForms PM
This is a UI front end that has the look and feel of Windows File Explorer

Windows Forms RSS Portal - WinForms PM
This is portal type application that aggregates RSS feeds asynchronously.

Money Like Clone - Stock Viewer(V2) - Joe Stegman
This is a UI front end that has the look and feel of Microsoft Money

Internet Explorer Clone (V2) - Joe Stegman
This is a Windows Forms app that looks like Internet Explorer 6 and uses the new WebBrowser control.

MSN Messenger Clone - Scott Morrison
This is a Windows Forms app that emulates the functionality of MSN Messenger. "


These seven Cool WinForm UI example apps with downloadable source...

If you go directly to the Samples page , scroll to the bottom to get at the UI samples...

(via Simon's Mu-zings - New Windows Forms UI samples posted)

Wednesday, November 09, 2005

"Visual Studio 2005 Web Deployment Projects"

Visual Studio 2005 Web Deployment Projects

"Visual Studio 2005 Web Deployment Projects provide additional functionality for building and deploying Web site applications that you create in ASP.NET 2.0 and Visual Studio 2005. This add-in includes a new tool that enables you to merge the assemblies created during ASP.NET 2.0 precompilation, and it provides a comprehensive UI within Visual Studio 2005 for managing build configurations, merging, and pre-build and post-build task using MSBuild.

Overview
A Web Deployment Project creates and maintains an MSBuild project file, and is associated in a solution with a Web site project. A Web Deployment Project enables you to manage not only build configuration and merge options, but other tasks such as specifying changes for the application's Web.config file during compilation, changing connection strings, creating virtual directories, and performing other tasks at specific points in the deployment process.

The new assembly merge tool (Aspnet_merge.exe) combines assemblies created during ASP.NET 2.0 precompilation for deployment. The tool supports many merge options, from combining assemblies for each Web site folder to creating a single assembly for the entire Web site.

More information about the new merge tool and about Visual Studio 2005 Web Deployment Projects is available in the following article:

Using Web Deployment Projects with Visual Studio 2005. This article describes the Visual Studio 2005 Web Deployment Project add-in and how to create and manage Web Deployment Projects.

..."


Interesting... Sounds like ASPNET_Merge.exe is something like ILMerge.

I'm not doing much ASP/ASP.Net development right now, but when that changes I bet this would be useful.


Related Past Post XRef:
ILMerge Updated
The Code Project - Merging .NET assemblies using ILMerge - .NET

(via Mikhail Arkhipov (MSFT)'s WebLog - Web deployment projects are live)

OUCH: "Papa John's Pizza's Corporate E-mails Still Exposed"

Papa John's Pizza's Corporate E-mails Still Exposed (thanks Google)

"According to this posting on the Full Disclosure mailing list, Papa John’s Pizza’s web-based e-mail system was not password protected for a while. They have since fixed the problem, but Google currently has the information in its cache. The following Google query will let you see these e-mails (click on the ‘Cached’ links):

site:webmail02.papajohns.com PJFS


Now try the following query to find the more interesting e-mails:

site:webmail02.papajohns.com PJFS password

..."


ouch... ouCH... OUCH!!!! Wow, this so sucks for their IT folks. I'm sure someone is SO busted.

Searching on site:webmail02.papajohns.com right now returns 31,800 in cached emails.

Boy I hope for the sake of the people involved there's nothing really bad in there... But as we've all said and always been told, never write anything in an email that you wouldn't want to see posted on a newspaper's front page, a company bulletin board or have your mom read...

I just wish I could follow that advice more myself... :|

"Windows Explorer Background Images"

Tips, Tricks, and Technology for the Field : Windows Explorer Background Images

"Windows Explorer Background Images
... Ever get confused which hard drive you are working in? Well, the Windows Explorer can put different backgrounds on them to help you remember. Just create a file at the root of your drive called desktop.ini and place the following in it:


[ExtShellFolderViews]
{BE098140-A513-11D0-A3A4-00C04FD706EC}={BE098140-A513-11D0-A3A4-00C04FD706EC}
[{BE098140-A513-11D0-A3A4-00C04FD706EC}]
Attributes=1
IconArea_Image=background.gif


Next, find a washed-out image or create a light color in MSPAINT and put it there called background.gif. (be sure to make the file type a GIF too) Open Windows Explorer and see your creation! ... "


This is kind of neat... It is a very quick and simple way to customize a folder, including a drive's root folder.

Some notes:
1. The change is not recursive. So the background image does not show in subfolders.
2. The background.gif will tile.
3. Windows Explorer doesn't need to be restarted for this change to take effect (i.e. the desktop.ini is read each time the folder is displayed)

For a little more information on the Desktop.ini, check out, Customizing Folders with Desktop.ini

Tuesday, November 08, 2005

103 SQL Server 2005 Samples and AdventureWorks Sample Databases Download

Download details: SQL Server 2005 Samples and Sample Databases

"The samples download provides 103 samples for SQL Server 2005, demonstrating the following components:

Database Engine, including administration, data access, Full-Text Search, CLR integration, Server Management Objects (SMO), Service Broker, and XML
Analysis Services
Integration Services
Notification Services
Reporting Services
Replication

The samples databases downloads include the AdventureWorks sample online transaction processing (OLTP) database, the AdventureWorksDW sample data warehouse, and the AdventureWorksAS sample Analysis Services database. These databases are used in the samples and in the code examples in the SQL Server 2005 Books Online."


Tons of VB/CS/TSQL code samples and tutorials for SQL 2k5 and related products...

Scalable Shared Databases in SQL Server 2005

Scalable Shared Databases supported by Sql Server 2005 RTM

"Scalable shared databases
The scalable shared database feature allows you to attach a read-only reporting database to multiple server instances over a storage area network (SAN). A reporting database is a read-only database that is built from one or more production databases that are used exclusively for reporting purposes. To be made into a scalable shared database, a reporting database must reside on one or more dedicated, read-only volumes whose primary purpose is to host the reporting database or a coordinated set of reporting databases. These volumes are known as reporting volumes. ..."



This is the first I've heard of this feature... So multiple SQL Servers all pointing to the same read only report data DB. Interesting... I've run into reporting perfromance "issues" in the past so I can see where this could be very useful.

Check out http://support.microsoft.com/Default.aspx?kbid=910378 for more information...

Monday, November 07, 2005

FolderShare - OMG What Was I Thinking?

FolderShare - File Transfer & Remote File Access - Product Overview

"FolderShareTM allows you to create a private peer-to-peer network that will help you to synchronize files across multiple devices and access or share files with colleagues and friends. You no longer need to send large files via email, burn them to CDs/DVDs and mail them, or upload them to a website. FolderShare allows you to share and sync important information instantly with anyone you invite, making it the perfect solution for personal or small business use.

How can I use it?
Synchronize all your devices - Retrieve work files at home or access photos at work. With your devices in sync, you no longer have to be frustrated that your information is on another computer.
Share files, photos, and home videos with your peers - Select the content you want to share, invite members, and they will be able to access the shared files directly from their device.
Access your computer or device remotely - FolderShare mobile access allows you to access your computer from any web browser.

Any restrictions? We'll let you decide...
Share files up to 2 GB in size
Unlimited file space - Store as many files as you wish; you are only limited by the storage capacity of your device
Unlimited file transfers - no limits on quantity or size of files transferred
Any file type - files are synced and transferred in their original format

How much does it cost?
FolderShare is now free of charge..."


What the heck was I thinking, not checking this out until today?

We've all heard how MS bought FolderShare... Well today I heard that it's now totally free, and since free is 100% "Greg Compatible" I had to check it out. Dude, this is beyond cool. Install it, sign up and go... It just works.

Tomorrow it's going on every PC I own. And I'll probably be setting up an account for my wife so she can share our family pictures... And maybe one work account and one personal account... and... and... and...

And once I figure out how to do auto-accept invites, this is how I'm going to share the code from my personal projects with the world (taking my queue from TestDriven.NET 2.0 Beta on FolderShare) too.

If you were like me, and holding off checking out FolderShare, stop reading now and go check it...

(via Test Driven .NET - TestDriven.NET 2.0 Beta on FolderShare)

Feature Pack for SQL Server 2005 (Nov 2005) Download

Download details: Feature Pack for SQL Server 2005 Nov 2005

"Microsoft ADOMD.NET
Microsoft Core XML Services (MSXML) 6.0
Microsoft OLEDB Provider for DB2
Microsoft Operations Manager 2005 Management Pack for Microsoft SQL Server 2005
Microsoft SQL Server 2000 PivotTable Services
Microsoft SQL Server 2000 DTS Designer Components
Microsoft SQL Server Native Client
Microsoft SQL Server 2005 Analysis Services 9.0 OLE DB Provider
Microsoft SQL Server 2005 Backward Compatibility Components (DMO, DSO, DTS)
Microsoft SQL Server 2005 Command Line Query Utility
Microsoft SQL Server 2005 Datamining Viewer Controls
Microsoft SQL Server 2005 JDBC Driver
Microsoft SQL Server 2005 Management Objects Collection
Microsoft SQL Server 2005 Mobile Edition
Microsoft SQL Server 2005 Notification Services Client Components
Microsoft SQL Server 2005 Upgrade Advisor
Microsoft .NET Data Provider for mySAP Business Suite
Reporting Add-In for Microsoft Visual Web Developer 2005 Express "


Wow, now that's a bunch of downloads... lol, I sure am glad MS put these all on one download page...

Each of the above items are individually downloadable on the page and many come in 64 bit flavors too.

Sunday, November 06, 2005

Blog Worth - VB Style

Inspired by Jon Galloway’s Let's get the Blog Worth thing out of our system post (and cause I needed a simple example project to kickstart my playing with VB8) I’ve hand converted his C# example to VB.

I made some simple modifications to the code so it could handle OPML with nested outline nodes, such as provided by BlogLines (here’s my blogroll OPML for example), to use StringBuilder and to wrap it into a class.

Besides that it’s straight port.

Now I’m going to embrace and extend it a little… ;)

I really want to have the class return a collection of objects, then use the new data binding to bind the new grid to my objects. Then I can do any sorting, filtering. Or I could stuff the data into a datatable, and use it’s native ability to sort and filter.

Also I want to use the backgroundworker so my UI doesn’t freeze. And for the class to raise events so I can see what’s happening…

And.. and.. and...  LOL. Man, I love coding... :)   

sigh... I've been trying to post my code here in a way that doesn't screw up my Blogger layout, and it's just not happening. I think it's important that I share my work so I'm going to try some other approaches. CodeProject? My MSN Space blog? A MSN Group? GotDotNet? Not really sure, but I would like to post the actual files along with a blurb about it, so I'm thinking CodeProject or GotDotNet...

Saturday, November 05, 2005

Windows Workflow Foundation (WF) Beta 1.2 for VS2005 RTM

Download details: Windows Workflow Foundation

"Version: 1.2
Date Published:  11/4/2005
Language:  English
Download Size:  2272 KB - 108113 KB*
*Download size depends on selected download components.

Windows Workflow Foundation is the programming model, engine and tools for quickly building workflow-enabled applications on Windows. It consists of a Microsoft® WinFX® name space (System.Workflow), an in-process workflow engine, and designers for Microsoft Visual Studio 2005. Windows Workflow Foundation is available (currently as Beta) for both client and server versions of Windows. Windows Workflow Foundation supports a wide range of scenarios including workflow within line-of-business applications, user interface page flow, document-centric workflow, human workflow, composite workflow for service-oriented applications, business rule-driven workflow and workflow for systems management.

There are two downloads on this page:

The Windows Workflow Foundation Beta 1.2 runtime components are required for Microsoft Windows SharePoint Services "3.0" (Beta 1), Office "12" servers (Beta 1), and "FrontPage 12" (Beta 1).

The Visual Studio 2005 Extensions for Windows Workflow Foundation are required for customers who are designing workflows in Visual Studio 2005 and/or require the Windows Workflow Foundation SDK."

I'm very interested in WF... Now to install this on my primary or in a VPC?

I like the standard beta disclaimer on the page, "Note: This is a Beta release. Therefore, do not install these builds on machines you depend on."

sigh... VPC

Now all I have to do is build a VPC with VS2005 RTM on it. Oh well it's just time and drive space.  :|

(via JOPX on SharePoint, MCMS, Office 2003 and SOA - Windows Workflow Foundation Beta 1.2 - VS.Net 2005 RTM compliant...)    

Update #1 – 11/5/2005 @ 4:46PM PST:
Here’s a post from the MS WF Tech Manager, Paul Andrew, Windows Workflow Foundation Beta 1 for Visual Studio 2005 RTM that confirms WF beta 1.2 is for VS2005/.Net 2.0 RTM.

“…In terms of functionality there's no difference between Beta 1 and Beta 1.2 but they require different versions of the .NET Framework.

  1. Windows Workflow Foundation Beta 1 requires the .NET Framework 2.0 Beta 2

  2. Windows Workflow Foundation Beta 1.2 requires the .NET Framework 2.0 RTM
…”

This is starting to really piss me off… Election Voice Spam

This coming Tuesday, November 8th, we have a special election here in California. For the past week or so our home phone has been ringing off the hook with automated recorded calls for or against the different ballot measures.

And the pace of call seems to be picking up. We’ve had five calls, just today!

And it’s really, really starting to annoy me. Today I’m starting a tally by measure and the stance the recorded caller would like us to take.

AND I WILL VOTE FOR WHO EVER CALLS ME LESS! So if I get 2 calls for Yes on Proposition 74 and 1 for No on 74, then I’m voting No on 74.

Okay, maybe I won’t go to that extreme, but I sure am getting pissed at the constant calling.

It’s not enough that every other commercial is on these propositions, my mailbox is full of ads for and against, it’s all over the radio, but now I feel my home is truly being invaded by those involved. It’s the “push” and aggressive nature of this method of pushing their agenda that has raised my hackles.

The worse part of it all there’s little I can really do about it. EXCEPT with the power of my voice here in my blog (hahaha ;) and in the casting of my vote.

These calls are nothing less than worthless voice spam and their value is like that of spam, resulting in annoyance, frustration, irritation and finally anger.

Okay… I feel better now… Thanks.   (

Friday, November 04, 2005

SQL Server "Cannot generate SSPI context" Solution for When Not Connected to Domain

SQL Protocols : "Cannot generate SSPI context" error message, when connect to local SQL Server outside domain

"...
[MDAC] “Cannot generate SSPI context”;

It can happen when all of followings are true:
(1) The hosting machine of SQL Server is connected to a network, including home network or dialup connection, but it is disconnected from its domain.
(2) The OS of the hosting machine is Windows XP or 2000. Not windows 2003.
(3) The connection is to a local SQL Server.
(4) Connection configuration causes network library to choose TCP/IP provider.

...

In very rare case, however, if you really in need of TCP/IP connection, the option is to use TCP/IP loop-back address, i.e. “127.0.0.1”, as your . For example, if your connection string has form of “\” and is not prefixed with “tcp”, without modifying the connection string, you can configure an alias with alias name as \, protocol as TCP/IP, server as “127.0.0.1\” or “127.0.0.1,”. Remember that the “Cannot Generate SSPI context” problem described in this post only happens when connecting to a local server; thus, the “127.0.0.1” is applicable. ..."


This information helped me solve some recent "Cannot generate SSPI context" problems so I wanted to make sure I shared (and captured it here in case I need it again in the future)

I develop on my notebook and in many cases in remote locations (i.e. home). I recently moved to Windows XP and that's when the problems started. If I were to VPN into work, everything would work fine. But I'd rather not have to VPN in just to development and run my projects...

This evening I had ENOUGH! It was fix it or else... Luckily it ended up being a easy fix. The above post's suggestion to use the loop-back IP address did the trick for me.

Now I'm happily testing my apps without being connected to the domain/network. (Yeah I know... working/coding/testing on a Friday night... I so need a life. But I've heard they are over rated ;)

This GIF says it all...



Enough said...

(Via
Full of I.T. - Full of I.T. : So much to blog. So little time. So much SQL Server 2005)

Have a Mint? (C# RSS Starter Kit)

Mint Source - Academic Alliance - Microsoft UK



"Mint Source is the unconventional new starter kit for students that enables you to quickly get your hands on the freshest, hottest technology from Microsoft. Think of it as a direct line to Microsoft information. We'll give you samples of what you can do and the tools to do it. Get ahead. Get Mint Source... and be the first to download the latest knowledge and tools. Free 'n' easy just got easier. "

This is a kind of interesting little VS2005/C# 2.0 WinForm RSS Starter Kit.

But I think I like the Evil Lamb best of all... lol


Thursday, November 03, 2005

Amazon ECS.Net Library

Amazon Web Services Blog: Amazon ECS.Net Library

"AmazonECS.Net is a free, open source .Net library. The library was used to build the DVDs Universe site.

Classes are provided to represent many ECS search and lookup operations including requests for item details, new releases, browse node children, browse node paths, similar items, top sellers, and the shopping cart. The site also includes demos of each function."


AmazonECS.Net .:. a .net library for the Amazon E-Commerce Service

"AmazonECS.Net is an open-source .net library developed in C# for the Amazon E-Commerce Service. It can be used in any .Net application by any developer who wants to use Amazon's ECS. Built using a simple and clean design, it is very easy to use and implement.

The library can be used in many ways, from a simple item listing in an application or website to a complete high-level ecommerce website including remote shopping cart management. AmazonECS.Net makes it simple to earn money using your Amazon Associates account. It also features a caching engine for all requests to make response times smoother and faster.

Most libraries available for Amazon's ECS are in PHP. AmazonECS.Net is one of the firsts (if not the first) made publicly available for the .Net platform.

Features
The library currently supports the following features:

Access Amazon.com product data (only the US locale is supported)
Request Validation
Caching engine
Search and browse Amazon
Navigate categories
Get detailed item informations
Get latest releases
Get top sellers
Manage a remote shopping cart ..."


Man if you're doing Amazon development in .Net, you just gotta to check this out.

Glad it only comes with a ASP.Net demo. This gives me a chance to learn as I create a WinForm demo... ;)

Related Past Post X-Ref:
Using Amazon Web services to build an app that searches for books, music or movies
ASP.Net Code Sample - ECS Custom Control in VB.Net

DevAge Source Pack 1.0 Released

DevAge Source Pack 1.0

"DevAgeSourcePack is a set of .NET projects created to extend and add some new features to the standard .NET Framework. DevAgeSourcePack is developed as an Open Source project, licensed under a MIT style license. You can copy and modify the code or simply reference the binary version directly from your projects.

One of the most popular project of this package is SourceGrid control, see SourceGrid 3 article for details.

DevAgeSourcePack is written in C# and C++, compiled with the Microsoft .NET Framework 1.1 and Visual Studio .NET 2003.

...

DevAgeSourcePack 1.0 is the first official release. There is still some work to do, especially to improve the usability and performance and to complete the documentation but it is quite stable. ..."


This is a very cool OSS .Net package, which includes a number of cool Windows Forms controls and a complete Grid control.

Wednesday, November 02, 2005

LEGO Factory

LEGO Shop At Home

"With LEGO Factory, you can now design your own original custom LEGO model, and then purchase all of the bricks and elements you need to build your model for real! Just follow the easy steps below to start custom building today."

Life is good when you have LEGO's... ;)

(via Make: - Build your own LEGO kit...)

Tuesday, November 01, 2005

Outlook Redemption 4 Released

“Redemption 4.0.0.452
Version 4.0 of Redemption includes a completely new library: RDO (Redemption Data Objects) that can function as a complete replacement of the CDO 1.21 library.

While Safe*Item Redemption objects are designed to be used with either Outlook Object Model or CDO 1.21 objects to work around the security prompts with minimum modifications to the existing code, RDO is designed to provide a complete functionality replacement for CDO 1.21, which besides being blocked by the security patch, also hasn't been updated (functionality-wise) for almost 10 years.

RDO blends the low level access of CDO 1.21 with the functionality of the Outlook Object Model. It can be used from any code: COM add-ins, EXEs, scripts, Windows Services, etc. It can be used in any language that supports IDispatch-friendly objects (VB, VB Script, Java, .Net languages, C/C++, Delphi, etc).
 
For the complete documentation, see http://www.dimastr.com/redemption/rdo/

If you are doing ANY Outlook/MAPI/CDO development, then you owe it to yourself to check out Outlook Redemption. This is a must have tool…

Today I heard the 4.0 has been released and that there’s now a new very cool library called Redemption Data Objects (RDO – Which reminds me of old RDO – Remote Data Objects, but that’s just cause I’ve been VB Man since V1…)

I could have really used this about 6 months ago when I migrated an Outlook 2000 (pre-Security SP) to Outlook 2003. Talk about painful…

Anyway, this sounds VERY cool and I’m glad to see Redemption continue to improve with age.

For more information about Outlook Redemption, see http://www.dimastr.com/redemption

Monday, October 31, 2005

PicoZip Recovery Tool (Recover Lost ZIP Passwords)

Zip Password Recovery Fast and Easy - PicoZip Recovery Tool

"PicoZip Recovery Tool is an easy-to-use program that can help you recover lost or forgotten passwords from password protected* Zip files created by compression utilities like PicoZip, WinZip, PKZip, etc.
Features

Simple and intuitive user interface
Supports Zip archives and self-extracting Zip archives.
Provides Brute Force and Dictionary recovery methods
Can pause and resume recovery job
Supports Win95,98,2000,ME,XP

* AES encrypted Zip files are not currently supported.

This program is distributed as Freeware (100% Free - No ads, no spyware, no catch). You may use it free of charge and feel free to share it with your friends. If you really like this program, consider supporting us by purchasing other software products that we develop, such as PicoZip, our award-winning file compression utility."


A free zip password recovery tool can come in handy sometimes...

(via The Portable Freeware Collection - PicoZip Recovery Tool)

"10 Free .NET Development Tools"

Richard Slade : 10 Free .NET Development Tools

Richard Slade has posted a Top 10 list of Free .Net Tools. They are the "Big 10" that you'd pretty much have to be living in a cave to not know about... (Not that there's anything wrong with living in caves... ;)

If the listed tools are so common, why am I posted about it? It has a nice intro into each project ("What is it?"), some screen snaps and is a great single source for the URL's ("Where can I find it?").

Tools listed are:
1. NANT
2. CruseControl.Net
3. NUnit
4. TestDriven.Net
5. RegEx Designer.Net
6. FxCop
7. NDoc
8. NUnitASP
9. Mono
10. NCover

My own Top 10:
1. Lutz Roeder's .NET Reflector
2. Google
3. Paint.Net
4. Cropper
5. MSINC.Plugins library (Also check out the other cool projects at Morrison Schwartz - www.ms-inc.net)
6. SharpDevelop (Also check out the other cool projects at www.ICShareCode.com)
7. DotLucene - The Open Source Search Engine for .NET

Grr... um... Okay, it's my Top 7 List. I seem to have a brain cramp and that's all that comes to mind (besides what Richard already posted about of course)...

Sunday, October 30, 2005

"Statistical parsing of English sentences"

Statistical parsing of English sentences - The Code Project - C# Programming

"...OpenNLP is both the name of a group of open source projects related to natural language processing (NLP), and the name of a library of NLP tools written in Java by Jason Baldridge, Tom Morton, and Gann Bierner. My C# port is based upon the latest version (1.2.0) of the Java OpenNLP tools, released in April 2005. Development of the Java library is ongoing, and I hope to update the C# port as new developments occur.

Tools included in the C# port are: a sentence splitter, a tokenizer, a part-of-speech tagger, a chunker (used to 'find non-recursive syntactic annotation such as noun phrase chunks'), a parser, and a name finder. ... . All of these tools are driven by maximum entropy models processed by the SharpEntropy library.

...

Name finding

"Name finding" is the term used by the OpenNLP library to refer to the identification of classes of entity within the sentence - for example, people's name, locations, dates, and so on. The name finder can find up to seven different types of entity, represented by the seven maximum entropy model files in the NameFind subfolder - date, location, money, organization, percentage, person and time. It would, of course, be possible to train new models using the SharpEntropy library, to find other classes of entity. Since this algorithm is dependent on the use of training data, and there are many, many tokens that might come into a category such as "person" or "location", it is far from foolproof. ..."


I should be able to use this, or something like it.

Hum... Interesting...

"Run DOS Commands from .NET with Free msDOScommand Class"

Run DOS Commands from .NET with Free msDOScommand Class | developer.* Blogs

"The msDOScommand class, written in Visual Basic.Net, executes MS-DOS commands and provides both status and results.

Features:
* A guarantee that results are complete as a string from each of one or more MS-DOS commands. This is provided by terminating each MS-DOS command in a submitted batch with a dummy file create command. The existence of the dummy file (which is erased by default) proves when tested by msDOScommand that your prior commands executed...avoiding the very dangerous phenomenon of random failures in MS-DOS calls.

* Full thread safety which means that while one instance CANNOT issue more than one command for competing execution, you can access the Status property of this class while waiting for an MS-DOS job, and perform other work while waiting for the command.

You can download the msDOSCommand code here (2MB zip file).

...

...the class removes the VB programmer from having to code asynchronous calls to shell() to run MS-DOS commands.

The software as available comes with a comprehensive test form and application for Windows/.Net which allows you to create an msDOScommand instance, inspect it, test it, and so forth.

...

I do ask that msDOScommand be used ethically. It has no special code for preventing evil commands such as creation of unknown cookies or erasing files. Since you will have the source you can consider adding these safeguards."


Sounds kind of cool. Like it or not, sometimes you just need those old crusty DOS commands...

California State Controller's Office - Search the Vault - Unclaimed Property

California State Controller's Office - Search the Vault - Unclaimed Property

"You may be richer than you think. The State of California is holding over $4.8 billion in Unclaimed Property. These assets have been turned over to the State for safekeeping by businesses and other organizations as required by law.

There is no charge to file a claim for Unclaimed Property. During the last state fiscal year, over 239,000 accounts, valued at $238.5 million, were claimed by their rightful owners. You can use this Web site to search for property you may have lost or forgotten.

This Web site contains information about the Unclaimed Property Program and provides the forms you need when filing a claim for Unclaimed Property. ..."


Very cool. I didn't find anything for myself/my immediate family but I did find something that might for my brother-in-law...

(via O'Reilly Network - Is California holding your property?)

CosmoPOD.com - Free Remote KDE Desktop with 1GB Storage

CosmoPOD.com

"Welcome to CosmoPOD.com your free for life Personal Online Desktop.

Free 1GB online to store and edit your emails, office documents, calander, organizer, photos and files, chat to friends play games surf the web even faster and more from any computer on your own personal online desktop and access it from anywhere in the world.

100% free
1GB of email and online file storage free
Secure
Virus, Spam, Popup, Phishing, Pharming, Spy and Ad ware protected

Be free of emailing files back and forth between computers only to have to edit them from different locations with incompatible applications.

Travelers safely and easily store and edit your documents from anywhere in the world whilst on your journeys.

Work at a computer all day? So why own a computer at home that is unsafe and consistently causing hassles just to organize and store your personal documents and emails?

..."


Sounds kind of interesting...

Using either a Java applet or NoDesktop/NX client you can connect to your free host KDE desktop, with 1GB of storage. Check out KDE.org this interview for more info on this.

The site/service appears to be effected by the "digg/dot-KDE effect", so I can't yet connect to a desktop session... I'll be trying again later.

(via digg - Free Remote KDE Desktop w/ 1GB of personal Storage)

Lego Barcode Reader

barcode reader

"The Barcode Scanner uses standard LEGO parts with two exceptions. The first is the laserbrick, a selfbuilt LEGO brick with a modified laser pointer connected to an output of the RCX. The second part is the barcode label from a LEGO box.

The list of tasks, the hardware of the Barcode Scanner must be able to perform:
_ moving the sliding carriage and the barcode label (using a gear) in both directions by a motor
_ detecting the start position of the sliding carriage by a switch
_ detecting the position of the sliding carriage with a rotation sensor
_ measuring the amount of reflected laser light and detecting black & white bars with a light sensor
_ powering the laser on and off

..."


lol... Very cool.

I'd like to have a barcode scanner for my Bookshelf project. And I have a couple Mindstorm's around...

And there's something hot about building a laser into a lego project. ;)

(via Make: - LEGO barcode reader)

GotCodeSnippets.NET

GotCodeSnippets.NET: THE online source for Visual Studio code snippets

"Q: What is a "Code Snippet"?
A: A Code Snippet is a reusable block of code. Unlike a static copy-and-paste approach, code snippets allow for dynamic instances of code by allowing placeholders into mini templates of code. Code snippets are a new feature of Visual Studio 2005."


This is a very cool snippet site for VS 2005. Snippet's are downloadable as VSI's making installing them simple.

Snippets are searchable and the site provides a RSS feed too.

(Via del.icio.us/catarino/dotnet/)

Friday, October 28, 2005

Trunk Monkey - Where do I get one? LOL

Suburban Auto Group :: TRUNK MONKEY COMMERCIALS

Hayworth emailed me this link... LOL. These videos killed me. Made me "laugh snort" (I hate when I do that).

Added Trunk Money to my Amazon wish list... ;)

(They took a while to download for me, so if it appears to not play, give it a bit to buffer)

Visual SourceSafe 2005 and Its New Remote Performance Options

While I wait on Team Foundation Server, I’m playing with VSS2005. Also all of our code is hosted in VSS hives, so looking at what VSS 2005 does for me today is natural.

What's New in Visual SourceSafe

A) VSS 2005 is backward compatible with 6.0.
This means hives created and used with 6.0 can be used with VSS 2005, out of the box. I’ve seen this in action as I’ve been using VSS 2005 with our 6.0 hives all morning.

B) VSS 2005 has new “Server” options
One of the things that I hope will help me in the very near future are the new server options now available.

VSS2005 comes with a HTTP proxy AND a “LAN Booster Service”.

While I would never host a VSS hive on an external web site, I’m hoping the HTTP proxy will help VSS performance when I’m VPN’ed into work. Also the Booster sounds like it could help some too.

One thing to note about the HTTP proxy and Booster, is that they are only supported in the VS – VSS Provider/Plug-in.

If we do implement this, this will require some change on my part. Since lessoned learned in MS Delta, I’ve always used the Explorer to manage my projects. When VPN’ed in, even today, the Browser is the only really viable option. But I’ve recently been burned by this approach and would REALLY like to start using the VS VSS  Provider/Plug-in…

How to: Enable the LAN Booster Service for Enhanced Performance
“For the database administrator, this topic explains how to enable the LAN booster service on the server machine to allow increased performance during database access. This optional capability is only available to the SourceSafe LAN plug-in in Visual Studio. …”

How to: Enable the Internet Service for Remote Access
“For the database administrator, this topic explains how to enable the Internet service to enable remote access to a database. This capability is only available to the SourceSafe Internet plug-in for Visual Studio…”


In any case, I’ve kicked of the introduction of VSS2005 for usage by our Dev group, so hopefully I’ll have some good news to report in the near future. We’ll see…

"Why is the Whidbey release numbered 8.0.50727.42"

I know the answer (its 42) : Secret unveiled : Why is the Whidbey release numbered 8.0.50727.42

"The versioning scheme is 8.0.YMMDD.NN and that explains 8.0.50727. The mystery is with the build number .42. There are three top contenders for it, and no prize of guessing the correct one

1. People were so impressed with my blog that they borrowed the number from my blog title

2. Visual Studio 2005 is the answer to the universe. For people who have not read Douglas Adam's, The Hitch-Hikers Guide to the Galaxy, buy a copy and read it.

..."


LOL. Nice...

It's like the day after X-Mas...

Okay, I've waited so long for VS 8 (aka 2005) and now that I finally have it all installed, now what? LOL

The install was smooth and seemed fast. I'm running VS2003 & VS 2005 side by side, and SQL 2000 & SQL 2005 Express (upgrading that to SQL 2005 Dev next) side by side with no problems (so far).

SourceSafe 2005 will not run side by side, BUT it can access 6.0 SS hives, so I felt it was okay to uninstall 6 and replace it with 2005. I've accessed our SS hive with 2005 and no problems so far.

So now that I have all this coolness installed, I have to actually use it all.

It's like the day after X-mas. With so many things to play, it's hard to decide which one to start with...

Thursday, October 27, 2005

SQL Server 2005, Visual Studio 2005 and .NET Framework 2.0 have shipped...

Somasegar's WebLog : Visual Studio 2005 and .NET Framework 2.0 shipped!

"Earlier today, we shipped Visual Studio 2005 and .NET Framework 2.0!

This is by far the best Visual Studio and .NET Framework release that we have ever done. I am very proud to be a part of the team that did a phenomenal job of delivering this fantastic product. I also want to take this opportunity to thank the community and early adopter customers for their incredible help and invaluable contributions in helping us ship the right product.

Later in the day, the final bits will be up on MSDN for our MSDN subscribers around the world to get access to the product. ..."


Euan Garden's BLOG : SQL Server 2005 shipped!

"SQL Server 2005 RTM'd today, it will be available on MSDN in a couple of hours and through other channels in a few weeks. ..."

Rock on...

And guess what? I'm downloading it NOW! Yeah! Come on... come on.... faster, damn it!

:)

Update #1 10/27/2005 @ 10:54am PDT:
:(

I lied. While I can see the ISO images on MSDN, I can't download them ("Error while initiating file transfer. Error Code = 11001.")

Damn it.

Retry... Retry... Retry... Still not working... Retry... Retry...

Update #2 10/27/2005 @ 1:12pm PDT:
:)

Downloading for real now... They've pull the CD images and replaced them with the DVD images. Downloading SQL 2k3 Dev ED DVD, VS 2k5 Developer DVD, Visio for EA 2k5, SS 2k5, and VSTO 2k5. What I don't see are the MSDN Lib CD's. Maybe that's on the VS DVD?

Well we'll see soon enough. The download speeds are outstanding, at the max of my cable modem. Transfer Manager is in flux between 550 and 590 KB/sec. I love my cable modem... :)

Update #3 10/27/2005 @ 7:20pm PDT:

Downloaded, mounted with the XP Virtual CD ROM Control Panel and about to install it.

Besides VS, the VS for Team Developer DVD also contains Visio EA (so I can delete that ISO) and VSS (so I can delete that ISO now too). It also contains MSDN for VS 2005.

Fingers are crossed and here I go...

Simi Valley Sunset

Simi Valley Sunset on Flickr - Photo Sharing!

This is why I like living in Simi...

SoloSub

Have you heard about SoloSub?

Duncan's posted about a cool new feed subscription service called SoloSub. Like him, I've been thinking about adding more RSS/ATOM aggregators widgets. But being lazy I didn't want to have to hunt down all the services, find their Subscription widget pages, etc, etc.

Well SoloSub does all that for you.

"SoloSub allows you to point subscribers to one url (see example), and then your subscriber selects which Feed reader they are using. We hope to eliminate the subscription button clutter found on the web today."

Added to my sidebar...

Tuesday, October 25, 2005

PDC 2005 Session Videos Now Online For Your Streaming Pleasure

Wim Verhaeghen's Blog - PDC 2005 Videos and Hands-On-Labs

"If you were unable to attend the Microsoft Professional Developers Conference 2005, but you want to see and hear for yourself what the PDC05 was all about, you can watch 250 hours of PDC videos online, for free! ..."

Nice... The PDC2k5 sessions are now online. You can stream it, download it or download just the PPT.

I like the new format. Seeing the speaker at the same time as the slides is a very nice touch.

And being able to jump around in the session, not having people behind you talking on their cells and not kicking the back of your chair makes it almost better than being there... ;)

The only minor problem is that when the session kicks into demo mode, you need more than 1024x768 to see it all (and it's a little fuzzy, but still better than if you were in the back row.)

All in all it's very nice...

Related Past Post XRef:
PDC05 DVD Set Coming Soon

Monday, October 24, 2005

"How many users will your Team Foundation Server support?"

bharry's WebLog : How many users will your Team Foundation Server support?

"We're deep into our load testing and server sizing efforts and I thought I'd share with everyone what we are doing and how we are thinking about it.

How big of a server do I need to support my team? Should I use a "single server" or separate Application tier and Data tier configuration? If I double the size of my team, will I need to increase the capacity of my server? We'll provide high level guidelines for a mapping from team size to server configuration but if you want to understand how we do it and replicate it yourself, I'll describe it for you.

..."


Now how did they know I was about to start hunting down hardware for our test TFS server? Gee, those MS guys... ;)

Nice to see for smaller sized groups (<20) all I'll need is one piece of hardware. The question is if I'm ready to fight the whole admin battle to get this server. sigh...

Sunday, October 23, 2005

"Idiot's Guide to Replacing SourceSafe with SubVersion"

Idiot's Guide to Replacing SourceSafe with SubVersion

"My PowerPoint presentation from the DeveloperDeveloperDeveloper! from 22 October 2005 is now available for downloading at http://codecorner.tigernews.co.uk/codecorner/presentations/ddd2-subversion.zip

It comes complete with speaker notes containing all the step by step instructions for the demonstrations within the presentation."


You might think that since this is a PPT, that there's no "real" value? Well the note above about Speaker Notes is the key... The Speaker Notes are, as mentioned, step-by-step and appear to be very complete.

If you're interested in using SubVersion with VS, you should check this out...

VMware Player (Free way to run VMware and VPC VM's)

VMware Player

"What is VMware Player?
VMware Player is free software that enables PC users to easily run any virtual machine on a Windows or Linux PC. VMware Player runs virtual machines created by VMware Workstation, GSX Server or ESX Server and also supports Microsoft virtual machines and Symantec LiveState Recovery disk formats. "


Wow, very cool. And nice move by VMware/EMC. What a great way to introduce more people to their VMware product line.

And not only are they giving VMware Player away for free, they are also providing some free, pre-built VM's to download. Red Hat, Novell/Suse, stacks from IBM, Oracle, OSS, etc...

Sure I have VPC installed and use it a bit, but there's a barrier to sharing the VPC images. There are some I'd like to share my images with who don't own VPC... Based on the VMware Player sales lit, I can now have those same people install the free Player with which they can use to access the VPC. Nice end run.

And with a free Player, I expect the number of download-able pre-built VM's to jump dramatically. I'd also bet that most/all OS/stack providers will find themselves strongly encouraged to provide VM's.

MS's counter? Continue the push to build virtualization into the OS. i.e. building VPC++ into Vista. So everyone (or maybe those buying the upper tier Vista SKU's) gets it for free and provides one more reason to upgrade to Vista (or to purchase that upper tier SKU).

Anyway, installing it now...

(via Nauman Leghari's Blog - VMware Player ... for free)

Update #1 10/23/2005 @ 12:55PM PDT:
Installed with no problem (and that's with already having VPC installed). Does require a reboot at the end.

Downloaded the VMware Browser Appliance and it fired right up, including network/internet access. And it's zippy too (but then again I have 2GB of RAM and a new model notebook so I'm sure that helps ;)

FYI, many/most of the other VM's listed require registration with the vendor and are eval versions of the OS.

Also there appears to be a bug in this beta build. I can't get it to open Virtual PC VMC's. And based on the feedback in the forums, I'm not alone... I've RTFM, such as they are, and there's doesn't seem to be anything special I'm supposed to do to open VMC's. I'll keep an eye open and keep playing...