Friday, January 30, 2009

Huntsville's Agile Users Group

Here we are at Indigo Joe's talking Agile. We're planning a future meeting - possibly May - sponsored by Project Management Institute (PMI) http://northalabamapmi.org

We may have a lunch meeting mid Feb if it seems like a good idea based on Yahoo discussion.

We have chosen to ask Bob Schatz to present at a night meeting March 9th since he's already in town talking to NASA/SAIC. Details coming soon:
http://northalabamapmi.org/LIG_Meetings.htm
http://PigsAndChickens.com
http://huntug.org http://vsdotnetug.org

Here are the companies who attended:
PMI
Intergraph
NASA
SAIC
Bentley
DigitalFusion
DRS-TEM

Action Items:
- Jim May Luminary meeting
- Jim re: DRS-TEM Auditorium
- John contact Bob about 3/9
- John contact Scrum Aliance to see about a May meeting.
- John Yahoo Group for : North Alabama Agile
- Hans contact VesionOne and Rally
- Hans re: Intergraph Auditorium
- Alan re: SAIC Auditorium
- Alan ask PMI to provide section for our Newsletter
- Alan arrange for registration to provide website linkage
- Alan maintain a charter
- Alan arrange for approval of charter by PMI

March 9th meeting likely

Need to decide on NPO status
Need to choose website
Need to add membership to website
Need Flyer
Need PMI Agile Discussion Group

March 16-18
Scrum Aliance gathering in Orlando
http://www.scrumalliance.org/events/19--orlando-scrum-gathering

Thursday, January 29, 2009

Event logging Extension Method

This was my best URL for eventing:
http://aspalliance.com/987_Event_Logging_in_a_NET_Web_Service.all

I took it to another level and added a LINQ'like Extension Method for strings:

public static class StringToEvent
{
public static void WriteEventLog(this string logEntry, EventLogEntryType entryType)
{
// use EventLog to call WriteEntry
using (EventLog eLog = new EventLog("Application", "greenriver", "MyApp"))
{
// write to (Application) event log
eLog.WriteEntry(logEntry, entryType, 1000);
}
}
}

NOTE: you must have the following registry key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MyApp

Wednesday, January 28, 2009

WCF WPF and not IIS - net.tcp

I found that we could convert our XAML into an image (png was my choice) in WPF. I wrote a WPF library, but could not call it in ASP.NET because IIS complained about the threading when the code added any Visual (subclassed) element (image, lines, other controls like canvas, etc) to the drawing pad's Canvas. WPF can't be called directly in ASPX server-side code-behind, or from an ASMX Webservice, or from an http WCF Webservice.

So the ultimate solution was to write a net.tcp WCF to WPF Webservice; not hosted in an http (IIS7 hosted) Windows Service, again, because of the threading issue.

Instead, I wrote a simple console application (exe) as the host for the WCF to WPF libraries.
To get net.tcp in the app.config instead of http, I declared net.tcp like this in the configuration section (found details here http://www.codeproject.com/KB/WCF/WCFMultipleHosting.aspx):

< system.serviceModel>
< services>
< service name="a.ImageMaker" behaviorConfiguration="a.ImageMakerBehavior">
< host>
< baseAddresses>
< add baseAddress="net.tcp://127.0.0.1:1111"/>< /baseAddresses>
< /host>
...

Now this runs on startup, and is a ServiceHost for ImageMaker.
ImageMaker is the WCF interface that is called from anywhere and then calls the WPF library.
The WPF library is a limited port of a Silverlight control to WPF, with only the limited bit of code required for initial "fitted" display.

The ported-to-WPF control (XAML code with C# initialization) never displays, so it would not render to its XAML Canvas resulting in blank images every time. The trick to getting WPF to render was to call Measure and Arrange before generating the image:
DrawingCanvas.Measure(size);
DrawingCanvas.Arrange(new Rect(size));

Here's a neat client side PNG generation lib for Silverlight, but since you can't get pixels, it doesn't help for taking a printable snapshot of the display:
http://blogs.msdn.com/jstegman/archive/2008/04/21/dynamic-image-generation-in-silverlight.aspx

Collaborate with me at LinkedIn.com/danwygant twitter.com/danwygant
Dan Wygant, Sr. Software Consultant - Silverlight 2 ASP.NET 3.5 SP1 LINQ WCF WPF MVP
04'-08' Windows Customer Experience Founder HUNTUG.org VSdotNetUG.org
HowToVS.NET INETA Mentor for Al/Ms/La

Monday, January 26, 2009

ACL Editor for icacls.exe files : ClickOnce

I wrote a WPF version of my ClickOnce app for icacls.exe files.
The idea is that it will preserve the signature on the file, while notepad will not. So with notepad the file can't be read by icacls.exe anymore. With our, no problem.

Plus we intend to improve it over time and through the ClickOnce functionality all users will get updated when they run it. I think I'll update the AclEditor today... maybe add some hover tooltip. Send me email if you try it and let me know what would make it worthy to buy it.

The URL is here: http://acleditor.com

Try it and enjoy.
BTW, I've ported this to Silverlight 2 and may push that up there as well.
I'm trying to create a presentation on this port to Silverlight 2 and also the port from my http://dan.wygant.org/s2/ Silverlight 2 XAP file hosted on Unix to WPF.

I need some ideas on how to differentiate WPF and Silverlight versions if you would like to share.
I've got many many ideas and collaborations in progress. If you know me you know why... more about why later... but then again you should consider connecting with me on http://LinkedIn.com/danwygant or http://Twitter.com/danwygant so we can collaborate using "The Cloud".

I'll try to do a LiveMeeting for my http://HowToVS.NET AdHoc Q&A SIG (or VUG - Virtual that is) sometime soon.

Dan

Sunday, January 25, 2009

Silverlight two a moment after 10/14/2009 RTW

I wanted to use a Slider, and a Button, and a ScrollView and I wanted it to run it as an XAP in an HTML file from anywhere - specifically a Unix server. Here it is:
http://dan.wygant.org/s2/index.htm

This was just fun. I'll do a demo on how I back-ported it to WPF. That was interesting.

Dan Silverlight 2 is my thing Wygant

Saturday, January 24, 2009

The Summer of Silverlight

When we know Silverlight will be ready for browsability this summer on a Cellphone, do we begin the sprints now? When Agile has been LEAN for eons - decades even - does it occur to use it and make it more than what we use it for now (what, a shopping list?) or do we waterfall for another few eons until someone eats our lunch? So proud of our VS.NET IDE with agility and silver-lightspeed we spring forth to populate the Cloud with droplets of applets and so we are happily growing toward a 4th version! As the price of Windows falls and love for well written XP rises, so we rewrite future history to include a branching of this thing we loved for the ginormous set of old and fully functioning XP compatibles? (answer yes to this one).

I'm writing to tell you about Agility. I know it's not well specified... that's entirely the point of a one-size-fits-all pseudo-methodology or mantra - shall we decide now?

I'm writing to the excellence of VS.NET and it's future growth beyond all borders... growth knows no borders except what we previously knew. Open your collaborations with this IDE and the Cloud (aka Azure aka Internet) and learn to power program. TECH! SAVE OUR SOCIETY!! THE EARTH WILL SURVIVE BY THE BLADE OF TECH!!!

I'm writing to where Summer's release of Silverlight will put our world community of devs. When there are so many thinkers in the world, who know how to turn a thought into a sprint, and to use VS.NET's IDE and Expression Blend's IDE to mashout Silverlight at Lightspeed...
only good should reach fruition through good thinking and good action.

I'm in love with XP lightness and tainted by security issues and by beauty of bloat, but feel unless a freakadelic turn on a dime choice is made to branch and keep alive our beloved XP w/o bloat... I write and will contribute to a Windows footprint less weighty, more agile, yet well endowed with beauty, grace and security... not what we see in the future of windows
... and oughta try to seek to find a way for our now sage Microsofties to feel our expressions
... to help determin a new source for the lightness we love in XP in future enhancement to Windows. (I mean I'm gunna participate in the Win7 beta and promote NON bloatware)

Ok, I'm not a great poet. I love winders and the web and VS.NET's IDE and Silverlight/XAML - and even WPF and WCF and LINQ. Thanks to Devon (ex-Microsoftie) for suggesting I actually do write a blog to let the world know what I know.

Thanks,
Dan Wygant, Sr. Software Consultant - Silverlight 2 ASP.NET 3.5 SP1 LINQ WCF WPF
MVP 04'-08' Windows Customer Experience
Founder HUNTUG.org VSdotNetUG.org HowToVS.NET
INETA.org Mentor for Al/Ms/La