Tuesday, August 31, 2010
Another in the series of recordings that I have done for INETA Live.
Speakers:
User Group/Event: Dallas ASP.NET UG (9)
Recorded On: 8/24/2010
Abstract: In this code focused talk (no slides, really!), you will learn how Silverlight 4 can take an application beyond the typical RIA experience of animations, impressive visuals and high end multimedia experiences. Features like signed & trusted out of browser installation, local file system access, peripheral device access, and drag & drop support are just a few of the necessary features you will learn about that an enterprise class application needs. Add to that mix a robust and secure data access story with RIA Services, and you will have a hard time arguing against Silverlight as the choice for your development needs. Get the demo code at: http://users.infragistics.com/jasonb/codedemos-silverlight4.zip
Video Topics:
Video Parts:
Monday, August 30, 2010
I don’t normally rant about a product, but I feel my experiences with Mozy warrant a bit of public humiliation (for them). . .
Last weekend I was having an issue with their software. Being a software developer I understand that all software has bugs, and I would think that I am more willing then most to help debug an issue. I hopped on there support chat line and got one of there staffers. He requested control of my computer and then attempted to install the software a few times. During that process a message box came up saying that the software created a log file. After the tech disappeared for a few min, I took control of the computer back and started reading the log file. A few minutes later when the tech came back he told me that he knew what was wrong and quickly closed the log file. (How dare I read the log file!) He then attempted to reinstall the software a few more times, after witch he opened the registry changed (but did not save) a key. When I had the audacity to tell him that he did not save the changes to the registry he again told me that he knew what he was doing and everything would be fixed in a few minutes. A few minutes later he triggered something in the Mozy uninstaller that caused my computer to reboot. However since he failed to tell me that he was going to reboot my computer I had lost a few hours of work, ARGG! When the computer came backup I logged back into the chat where the same tech found me again and did another install of there software. After about an hour of this, I was getting a bit frustrated. When the tech proceed to tell me, and I quote, "Sorry software broke" and "All I do is fix computers. Computers break that is a fact of life." "I fixed your issue. Sorry you hate me for it." When I asked to speak to a supervisor, somehow I got disconnected from the chat (hmm). To say the least, I was annoyed. I called up Mozy sales and told them that I had an issue with there tech support and would need to cancel my service. Without pause the operator turned my service off and told me how to get a full refund. I was taken aback, she did not even attempt to “save” my account or even ask me what the problem I had with tech support was about. I emailed the Mozy sales department telling them all of this and they sent me a stock letter back saying that I will receive a full refund in 7 to 10 business days.
I don’t know how you run your business, but if my customers have an issue, at a minimum I ask Why and try to resolve the issue. Sometimes nothing can be done and we have to go our separate ways, but the folks at Mozy don’t seem to care. I guess they have more then enough business. Long story short, in my experience, the best part about Mozy is there ability to process a cancellation.
BTW now I am trying out Carbonite, lets see how that goes. . .
Thursday, August 26, 2010
I was asked this morning how to implement something similar to the conditional formatting feature of Excel in Silverlight and thought I would throw together a quick and dirty sample.
The basic idea is that we get a number, lets say a grade in a course, and a grade higher then 60 is passing and we want to turn the background of the text box green, otherwise if the grade is less then 60 lets turn the background red.
The first step is to create a control to be the source of our grade, probably in the real application this would be coming from the database and bounded to the view, however to make things simpler I am just going to bind to the value property of a slider control. So now that I have a source of my number, lets bind it to a normal text block so we can see the slider work.
<TextBlock Name="textBlock1" Text="{Binding ElementName=sldGrade, Path=Value}" />
<Slider Name="sldGrade" Maximum="100" />
Ok, so now lets implement the ValueConverter. What is a ValueConverter you ask. . . MSDN says a ValueConverter “Provides a way to apply custom logic to a binding.” (http://msdn.microsoft.com/en-us/library/system.windows.data.ivalueconverter.aspx) Great that is exactly what we want to do. Provide some logic that can convert our number to a Brush we can apply to the background color of our TextBox.
public class GradeValueConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
double grade = 0;
Brush brush = new SolidColorBrush(Colors.Green);
if (double.TryParse(value.ToString(), out grade) && grade < 60)
brush = new SolidColorBrush(Colors.Red);
brush.Opacity = .6;
return brush;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return null;
}
}
Nothing really earth shattering there. We don’t need to implement the ConvertBack method since we are only going to set the background color. The convert method takes in the value, convert it to a double, then we just test the value and return a brush. Great, now lets try to use it, to do that we need to make some changes to our XAML. First lets add our namespace to our control:
<UserControl x:Class="ColorStyles.MainPage"
xmlns:conv="clr-namespace:ColorStyles"
Now lets add a resource for our value converter.
<UserControl.Resources>
<conv:GradeValueConverter x:Name="gradeValueConverter"/>
</UserControl.Resources>
Great now we are ready to setup our text box.
<TextBox Name="txtGrade" Text="{Binding Path=Value, Mode=TwoWay, ElementName=sldGrade}"
Background="{Binding Converter={StaticResource gradeValueConverter}, RelativeSource={RelativeSource Self}, Path=Text}" Grid.Row="1" />
Now when we run this guy and push the slider to the right, wammo the background color changes. Nice! But lets kick it up a bit, lets use a gradient.
public class GradientGradeValueConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
double grade = 0;
GradientBrush gb = parameter as GradientBrush;
if (double.TryParse(value.ToString(), out grade) && gb != null)
{
gb.GradientStops[1].Offset = grade / 100;
}
return gb;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return null;
}
}
In this converter we are passing in the brush as a parameter, this brush has 3 GradientStops (Green, Black, Red) and by moving the offset of the middle gradient stop we give it the desired effect. Here is what the brush looks like in XAML.
<UserControl.Resources>
<conv:GradientGradeValueConverter x:Name="gradeValueConverter2"/>
<LinearGradientBrush x:Name="gradeBrush" Opacity="0.6">
<GradientStop Color="Green" Offset="0" />
<GradientStop Color="Black" Offset="0.5" />
<GradientStop Color="Red" Offset="1" />
</LinearGradientBrush>
</UserControl.Resources>
The binding to the text box is a bit more complex since we now need to send in the brush as a parameter:
<TextBox Name="txtGrade2" Text="{Binding Path=Value, Mode=TwoWay, ElementName=sldGrade}"
Background="{Binding Converter={StaticResource gradeValueConverter2}, RelativeSource={RelativeSource Self}, Path=Text,ConverterParameter={StaticResource gradeBrush} }" Grid.Row="2" />
and just like that we can build an affect similar to the one we get in Excel. . .
I got some inspiration for my post from Jay’s post here:
http://www.analysts.com/Community/Blogs/archive/2009/05/15/silverlight-value-converters.aspx
Last week I commented on my thoughts on why a DBA should support Azure after hearing some worries at a SQL Server UG. Well while not directly addressing the role of the DBA Microsoft has commented with a list of 13 “Myths” they are “debunking”. One of them specifically addresses the idea of “Job Security” and another addresses the “Data Control” issue.
Take a look at my original post here:
http://www.drowningintechnicaldebt.com/ShawnWeisfeld/archive/2010/08/18/quotwhy-should-dbas-support-azurequot.aspx
Take a look at the Microsoft article here:
http://technet.microsoft.com/en-us/ff934854.aspx
Wednesday, August 25, 2010
Another in the series of recordings that I have done for INETA Live.
In this talk Chance Coble will introduce several features of F# and show the language's ability to express intelligent, and even predictive software. F# is a new language shipping with Visual Studio 2010 that is based on functional programming, a paradigm that has been largely a tool for academics and researchers until recent years. Changes in computing architectures, compiler optimization and the growing interest in concise and flexible software have catalyzed functional programming into the mainstream. Of particular interest is F#'s ability to facilitate more complex, smarter and technically rigorous software. This talk will be a fundamental introduction to F#, assuming no background in functional programming.
Chance Coble is Chief Scientist at Blacklight Solutions, LLC where he uses his skills in functional programming to solve real world problems for clients of all sizes. His interest in functional programming started with Haskell a decade ago and he has been developing F# solutions for enterprise problems over the last four years. He frequently writes and speaks on F# and applying functional programming in the real world. Over the past decade he has worked on bringing ideas from scientific research into enterprise development solutions, including state of the art technologies for the Iraqi police force, high performance predictive ad-targeting systems, pattern recognition in medical data, financial analysis and biometric systems.
http://www.inetachamps.com/Live/Presentation/ViewVideo/128
Tuesday, August 24, 2010
Another in the series of talks I have recorded for INETA Live, but this one I actually gave also!
In this talk Shawn will cover the basics on how to install and setup SQL Server 2008 on a Developer machine.
Shawn Weisfeld (shawn@shawnweisfeld.com) is a Staff Developer at a fortune 100 company, currently located at Dallas TX facility. There he specializes in intranet & smart client development for internal line of business applications. Besides his day job Shawn also is an Adjunct Professor at The Florida Institute of Technology (http://www.fit.edu). He also does freelance software development work for local small businesses and training. In his free time he volunteers with INETA NorAm (http://www.ineta.org) and is a member of the Board of Directors and Mentor for North Texas. Shawn started his career at his family business in Port St. Lucie FL while working on his undergraduate degree in Business Administration at the University of Central Florida and after a year off Shawn moved back to Orlando to pursue a Masters degree in Management Information Systems at The University of Central Florida and has since earned a second Masters degree in Computer Information Systems from Florida Institute of Technology. Shawn was awarded the Microsoft C# Most Valuable Professional award for 2007 - 2010. Shawn is an avid technology presenter and since July of 2005 Shawn has presented at many user group events, and even got to speak at the launch of Visual Studio. Shawn has served as the President of the Orlando .NET UG (http://www.onetug.org) from 2006 – 2008, and started the Developer Round Table UG (http://www.developerroundtable.com) in 2009. Shawn regularly attends, and records for INETA LIVE (http://live.ineta.org), many of the local user groups in the D/FW metroplex, including; D/FW Connected Systems UG, Dallas .NET UG, Dallas ASP.NET UG, Dallas C# Programming Sig, Dallas VSTS UG, North Dallas .NET UG, North Texas PC UG, UT Dallas .NET UG. So be sure to say hello if you see him.
http://www.inetachamps.com/Live/Presentation/ViewVideo/127
PPT: http://cid-80ce78240aa8df49.office.live.com/view.aspx/.Public/SQL2008Install.pptx
Another in the series of recordings I have done for INETA Live.
The .NET Framework and C#
http://www.inetachamps.com/Live/Presentation/ViewVideo/126
Another in the series of recordings that I have done for INETA Live.
Data Binding in Silverlight is much more than just binding to data in a database. You will learn various methods of using data binding including control to control, how to bind to properties in your classes, then data binding to your back end database. You will be guided step-by-step through building a WCF Service to retrieve data from a SQL Server database. You will then a real world example of an Add, Edit, Delete screen in Silverlight using a WCF Service and Entity classes.
Paul D. Sheriff is a recognized leader in the Visual Basic development community and the Microsoft Regional Director for Southern California. Paul is a frequent speaker at Microsoft Developer Days, Microsoft Tech Ed, Microsoft "MSDN Presents", Access/VBA Advisor Developer Conferences, and user groups across the country. Paul is a contributing editor to Access/VBA Advisor magazine. You can also see Paul teaching .NET on Microsoft WebCasts and with Blast Through Learning videos (www.blastthroughlearning.com). Check out Paul's book "ASP.NET Developer's Jumpstart" with co-author Ken Getz.
http://www.inetachamps.com/Live/Presentation/ViewVideo/125
Another in the series of recordings I have done for INETA Live.
Leblanc Meneses will go over the fundamentals of MSBuild. The talk will cover semantics and syntax of an MSBuild project and developing and debugging custom tasks.
Leblanc is a .NET Silverlight and WCF consultant with Robust Haven Inc.
http://www.inetachamps.com/Live/Presentation/ViewVideo/124
Another in the series of recordings that I have done for INETA Live.
In this talk Vince will review some samples to give more insight into the powerful XAML-based technologies of WPF & Silverlight. We started with the PresentationCore and PresentationLayers that exist by asking the question, what's the difference between a Label and a Textblock. We moved into the importance of dependency properties. We covered two examples of the ICommand implementation then coded a new Silverlight app using ICommand with a very simple MVVM layer.
http://www.inetachamps.com/Live/Presentation/ViewVideo/110