Saturday, August 26, 2006

Pass Custom Commands to a Running Windows .Net 2 Service from a WinForm Application

Steve Schofield Weblog - Using Winforms to pass custom commands to a Windows .NET 2.0 Service

"...This article covers a simple “Hello world” application called “AService” using the .Net 2.0 framework. Microsoft has made it very simple to do; this used to be reserved for those who knew C/C++. What does AService do exactly?? Nothing really besides log a few entries in the Application event log. It does have sample code showing how easy it is to pass custom commands using a WinForms application while the .Net service is running. I did not find a “Hello world” application like this so I hope my article helps.

...

In conclusion, you could use a nice front-end application written using Winforms while being able to interact with your .NET service. This article only scratches the surface of what you can do using Winforms and Windows .NET services together. ..."

This is a VB.Net code example that I might be able to use in the future.

The code is short and sweat yet detailed enough to provide a foundation to build from. In hind sight it looks pretty straight forward, but aren't many coding problems?

My First Windows Live Writer Plugin (Text Templates)

I like to try to be consistent in my posts. I want to not have to remember "Do I use 'Related Past Post XRef:' or 'Related Past Posts:' or 'Past Post XRef:' or ..." (sigh... all of which I think I've used).

One of the things I like about my old blog post client (Post2Blog) was that it had an easy to use template/snippet insert feature. Like you'd expect from this kind of feature, you define a number of snippets and then when writing a post you can quickly select and insert them.

Well I miss that feature in WLW. So my Saturday project was to write my own text template plugin using the WLW SDK.

Once I got the stupid out of my brain (wow... there's so much room in there now ;) it only really took a few minutes.

So now I have a very simple and hard coded text template WLW plugin. Yeah!

Before I post it anywhere (assuming I'm able to with my work IP contract... sigh) I want to tweak it a good bit. Add an Options dialog to allow user driven text templates to be added and managed, etc.

I do wish (or maybe I've just not found it yet) I could query and get more info from WLW. WLW lists Recent Posts, I wish I could get at that list in my plugin. I also wish I could get at the UI (to add a drop down list of my text templates). I also wish the SDK sample included a VB project (yes, I know, I know... I can read C# and can do a pretty good job of real time translation from C# into VB, but that takes brain cycles that I'd rather use on other things... yada, yada, yada)

In any case. the take away from this post is that it's pretty easy to extend WLW.
That you shouldn't let the C# examples stop you if you're a VB'er.
That it's okay to start simple with your plugin.
That there's no reason to wait on building a plugin. If you miss a feature in WLW, write it...
That the ability to easily create and add plugins will make WLW.

Some of the resources that helped me today:
Writer DevZone - Writer Plugins Gallery
Windows Live Writer SDK
Keyvan Nayyeri - Write a Windows Live Writer plugin using C#

Related Past Post XRef:
Guide to Writing a Windows Live Writer Plugin in C#

Friday, August 25, 2006

Using MS Reporting Services in a WinForm App

The Code Project - Applied MS Reporting Services 101 using Smart Client

"I still remember it was a neatly done report that got me my first pay raise.  Ever since, I am very passionate about report writing (every one likes pay raise rite?).  In this article, I will guide you through step by step how to create a simple report using MS Reporting Services 2005; and host it with Smart Client application.

..."

This is a nice step by step C# article on how to create a WinForm app that hosts the MS Reporting Services ReportViewer (as well as how to create the actual report).

Best of all (IMHO) it shows runtime binding to a dataconnection. Yeah I know it's not magic, but it's more "real world" than most examples which hard bind to a connection. Real world you switch connections to different DB's, servers, etc.

Some times its the little snips that save you the most time, effort and brain cells...

DotNetKicks Widget Added to Posts

Marcos, of FileHelpers fame, suggested I add a DotNetKicks widget to my blog posts. Given the work he's done on FileHelpers (which now has a new home domain, www.filehelpers.com), he's earn a great deal of respect in my book. Plus he did all the research for me on adding it... :)

I dig DotNetKicks and have gotten a number of great references there. So while I don't expect many Kicks, I thought it would be cool to add the widget.

DotNetKicks.com integration into Blogger.com details the very simple template addition needed to integrate a DotNetKicks submission widget into your Blogger posts.

Good, fast and cheap. Three out of three does it for me! 

Thursday, August 24, 2006

Free e-Books, First Look at Office 2007 & Seven Development Projects for SharePoint 2007

Scattered Notes - Free Microsoft Office ebooks

"The following two electronic books (PDF) may be downloaded from Microsoft for free:

First Look 2007 Microsoft Office System (5.93 MB)

7 Development Projects for Microsoft Office SharePoint Server 2007 and Windows SharePoint Services Version 3.0 (4.76 MB)

..."

"First Look 2007 Microsoft Office System" is a 213 page print & text copy restricted PDF that "helps you get a sense of the huge range of changes and enhancements in the Microsoft Office system". i.e. it's looks like a MS Office 2007 101 type of book.

"7 Development Projects for Microsoft Office SharePoint Server 2007 and Windows SharePoint Services Version 3.0" is a 236 page print & text copy restricted PDF that is a Developer focused intro into SharePoint 2007.

(via ActiveWin - Free Microsoft Office ebooks)

Bryce 5 - 3D Landscaping and Animation Free (Until September 6th!)

DAZ ProductionsDownload Bryce 5 Free 

"It's now even easier to create breathtakingly realistic 3D landscapes and animations with Bryce. For a limited time, DAZ is pleased to offer Bryce 5 software absolutely FREE!* Now through September 6, 2006, download Bryce 5 for no charge at Download.com. Once you have completed your installation, you will be prompted to register your copy at the DAZ3D.com website to receive your Bryce 5 serial number. At that time, you'll also be able to download the Bryce 5 presets. Strike an optimum balance between power and ease of use by integrating this innovative 3D software into your creative process.

This DAZ special offer is available only at Download.com and will absolutely end on September 6, 2006! ..."

Okay, I thought that sounded interesting. Any package that helps my graphic/drawing ineptness is worth a look (especially if it's 3D and automates the creation of cool images  :)

Downloading is simple, and there's no setup. Just extract and run.

The first time you run it, you'll be directed to their web site to create an account and get your product activation key. I didn't like the password field (5-10 characters only... sigh... ), but the rest was simple and quick.

The product key is then presented and it's up to you to print or write it down (or email it to yourself). Again, something I found a little irritating.

In any case, I had it running and then...

Wow, that's some... um... UI.

Let's just say it's not a kind of UI that I was used to. But after a few minutes I was dropping stuff in, tweaking settings, etc.

The thing that took me the longest was trying to figure out how to render and save. I just couldn't find the option and there was no normal/standard menu. Just a design surface...

Well there was no normal/standard menu VISIBLE. If you move your mouse to the top of the screen the main menu appears... And it's pretty standard, with File/Render to Disk, etc options.

So in about 5-10 minutes I rendered the highly detailed and uber-cool picture below. A Greg Production at its finest!   ;)

Okay, so it's nothing really special, but it looks kind of cool and there's NO way I could have ever drawn something like this...

All in all, Bryce 5 for Free is a pretty darn good deal and it looks like something very cool to play with.

(via Larkware News - The Daily Grind 955)

Wednesday, August 23, 2006

ASP.Net ActionPack - Ruby on Rails Simplicity for .Net?

Korby Parnell's CodePlex Wunderkammer - ActionPack for Your DAL: It's Slicker Than Hot Poi

"My good buddy Rob Connery, of Commerce Starter Kit fame, has started a groovy new project on CodePlex called ASP.NET ActionPack. ActionPack consists of a set of ORM tools, code generation and dynamic query tools.

Inspired by the magic of Ruby on Rails, ActionPack provides a BuildProvider that reads your database and creates all the objects (and strongly-typed collections) you need to get rolling. It even wraps your stored procedures and creates accessor methods for them (returning readers). They have also rolled in Rails Scaffolding, providing you with a full-blown editor, in seconds.

..."

ASP.NET ActionPack

"Ruby On Rails is propelling a new wave of programming - one that drives "Convention Over Configuration". This simple, elegant approach is attracting many developers who find the intricacies and complexity of Java and .NET to be daunting.
The ActionPack for .NET is our attempt to bring this simplicity to the .NET platform.

..."

That sounds kind of cool. To see it in action, check this out, http://www.wekeroad.com/actionpackintro.html

I've resisted playing with Ruby on Rails (my brain's transaction log is almost full ...) but I am interested in seeing the reported Rails coolness in the .Net world...

Plus I hate writing DAL's and the SP support sounds cool.

I've added this project to my watched project list and will be interested in see how it evolves...

Blogger Logo Mystery Solved

Blogger Buzz - Happy Birthday Blogger!

"On this day in 1999, Pyra Labs launched Blogger which Ev announced on his own blog. As you can see, Blogger was quite the looker back then.

...

(Oh, the birthday logo is a dog because of that whole "1 human year = 7 dog year" thing. And there should be more dogs in birthday hats, don'cha think?)"

Logo mystery solved... LOL

MechCommander , MechCommander Gold and MechCommander 2 Install Downloads

MechCommander.org - Downloads

"...

Downloads
Here you will find downloads of the MechCommander games and other software relating to these games.
Please select your download:
GAMES:

  • MechCommander
  • MechCommander Gold
  • MechCommander 2
    MANUALS:
  • MechCommander Gold
  • MechCommander 2"
  • Some legally free Mech'ing sounds like fun... ;)

    Don't forget you can also get the shared source for Mech Commander 2.

    (via The Road to Know Where - Free MechCommander Game Downloads)

    Tuesday, August 22, 2006

    Roadkil's Unstoppable Copier - Copy Those Damaged or Corrupted Files

    RoadKil.Net - Roadkil's Unstoppable Copier

    "Product Description

    Recovers files from disks with physical damage. Allows you to copy files from disks with problems such as bad sectors, scratches or that just give errors when reading data. The program will attempt to recover every readable piece of a file and put the pieces together. Using this method most types of files can be made useable even if some parts were not recoverable in the end.

    Features

    The level of data recovery can be changed to enable very intense data recovery through to skipping damaged files completely. The data recovery process can be paused and resumed mid file. Logging can be enabled to record details on transferred files, their integrity and offsets of any errors. The programs language can be changed between English and German. Multiple directories structures or single files can be dragged and dropped onto unstoppable copier for transfer.

    ..."

    Nice...

    There have been times in the recent past where this would have come in handy.

    There's both a Windows and Linux version, with the Windows version updated just yesterday (8/21/2006).

    (via The Portable Freeware Collection - Roadkil's Unstoppable Copier)

    Monday, August 21, 2006

    Free as in Beer - TheBeerHouse CMS/E-Com Starter Kit

    TheBeerHouse: CMS & E-commerce Starter Kit

    "TheBeerHouse starter kit enables you to implement a website with functionality typically associated with a CMS/e-commerce site. This website demonstrates key features of ASP.NET 2.0 and is the sample used in the book, "ASP.NET 2.0 Website Programming / Problem - Design - Solution."

    Overview

    • Layout with user-selectable Themes
    • Homepage personalization with WebParts
    • News and events, organized into categories
    • Opinion polls with support for multiple active and archived polls
    • Mailing lists with real-time AJAX-based feedback
    • Forums with support for multiple categories, custom pagination, avatars and more
    • E-commerce store with support for real-time credit card processing
    • Localization

    ASP.NET features used

    • Master pages
    • Themes
    • Personalization
    • Membership & Profile modules
    • WebParts
    • Data-bound controls such as GridView, DetailsView, and FormView
    • Caching with database dependency "

    I just wanted to make the "Free as in Beer" joke... ;)

    Still, sometimes instead of a bit you need a byte, and that's were the Starter Kit's come in (and why I like them). They provide a working solution, with all the source code, and can provide a nice kick start if you're building a like solution (or just want to see how someone else built one).

    For more information, check out the project on CodePlex (where you can download the C# or VB.net versions)

    (via Richard Dudley - New Starter Kit Available - TheBeerHouse: CMS & E-commerce Starter Kit)

    FileHelpers 1.6.0 Released

    SourceForge.net - FileHelpers 1.6.0 Released

    "The library has 10 months now and a lot of things were added. So I want to thanks you all the people that send your feedback, post motivating entries on the web and a lot of other ones that help me in the development. (partial list of contributors)  


    Now the important things !!... RunTime Records are here thanks to some help Gerhardt Scriven to use RunTime Compilation. Enjoy it !!  

    I think in this version like the 2.0 version because the RunTime Records were one of the most requested features and were one of the most hard to implement features, A lot of effort was put in the usability and in a clear API, if you have any suggestion please post it in the forums =) 

    Other important news are the CsvEngine (for generic Csv files), the FileDiffEngine, the MultiRecordEngine,..  

    Breaking changes:  

    - MOD: Now the FixedLengthRecords must contain the exact number of chars. You can pass an extra parameter in the [FixedLengthRecord] attribute to allow a different behavior.  
    - MOD: CommonActions renamed to CommonSelector in the MasterDetailEngine  

    Mayor changes:  

    - ADD: The awaited RunTime Records thanks to the suggestion of Gerhardt Scriven to use RunTime Compilation. Supports for classes written in C# and VB.NET 
    There are a lot of features inside this new feature, so take a look at the docs  
    - MOD: The Record Wizard was completely rewritten to use the run time records and now has a lot of options to check the classes the you are building, in the future the wizard can help you to discover the record class based on a sample file  
    - ADD: Generic Csv files are now supported (for example Excel generated ones) 
    Was a hard work but worth it because it can be used with any engine.  
    In the next version I´ll add the Excellent Fast CSV Reader from Sébastien Lorion for standalone CSV processing.  
    - ADD: Event support !! from this version the FileHelperEngine has 4 events 2 for read operations and 2 for write that are throw before and after process each record.  
    - ADD: FileDiffEngine to compare files with the same record layout.  
    - ADD: MultiRecordEngine to read files with different record layouts.  
    - ADD: DataTableToCsv, CsvToDataTable, RecordsToDataTable, RemoveDuplicateRecords and other methods to the CommonEngine  
    - ADD: FixedMode Enum for fixed length records, used to provide better validations in Fixed Length Files  
    - ADD: Template support in ExcelStorage  
    - ADD: A lot of new examples check it out !!  
    - MOD: The decimal, double, and single converters now receive an string param to set the decimal delimiter (by default is ".")  
    - MOD: Improved docs in the SDK, the general help and examples. (Thanks Antoine)

    ..."

    This is maturing very nicely...

    If you're interested in seeing a project with some cool C# code, unit testing (NUnit), documentation, etc, check out this project.

    One of the first "stupid developer tricks" I play with OSS is to load the source and compile it. If there are no issues, then I give it a +1 bonus to its Priority attribute. If it has good examples, it gets another +1 (examples that don't work get a -1). Doc's, 2+ (user guide's/doc's/etc are the least "exciting" thing, a developer or team that takes the time to do them, and do them well, gets an added bonus. IMHO It's an attention to detail thing...). Included unit tests, +1.
    (Can you tell I've been playing RPG's recently?  :)

    This project (which comes in VS2003/2005 versions) has a +5...

    Related Past Post XRef:
    FileHelpers 1.5 Released
    FileHelpers Rev’ed to v1.4.0
    File Helpers Rev’ed to v1.3.5
    FileHelpers Library 1.3.1