Hibri Marzook Musings on technology and systems thinking

Performance testing guidance for web applications released

The latest addition to patterns and practices

http://www.codeplex.com/PerfTestingGuide/Release/ProjectReleases.aspx?ReleaseId=4479

Searchable list of all Calvin and Hobbes comics

http://www.transmogrifier.org/ch/comics/list.cgi

New features in IIS 7.0

Scott blogs about the new features in IIS 7.0 server version coming out later this year. One set of features that I think is really really amazing :

“The web farm support in particular is really cool, and will allow you to deploy your web applications on a file-share that contains all of the code, configuration, content, and encryption keys needed to run a server.  You can then add any number of stateless and configuration-less web-servers into a web farm and just point them at the file-server to dynamically load their configuration settings (including bindings, virtual directories, app pool settings, etc) and application content.  This makes it trivial to scale out applications across machines, and avoid having to use replication schemes for configuration and application deployment (just copy over the files on the file-share and all of the machines in the web farm will immediately pick up the changes). “

I already use source control to deploy files to the web farm so replication is not a big issue, but it is a pain to configure sites for the first time on each server.

More on this

HOWTO Get the size of a file as a formatted string

Quick and dirty function to return the size of a file in a properly formatted string in KB, MB or GB. There has to be an easier way than this …..

 

private const double KByte = 1024;
    private const double MByte = KByte * 1024;
    private const double GByte = MByte * 1024;

public static string GetFileSizeString(int bytes) {
        if ((bytes / GByte) < 1) {
            if ((bytes / MByte) < 1) {
                if ((bytes / KByte) < 1) {
                    return String.Format("{0} B", bytes);
                }
                else {
                    return String.Format("{0} KB", Math.Round((bytes / KByte), 2));
                }
            }
            else {
                return String.Format("{0} MB", Math.Round((bytes / MByte), 2));
            }
        }
        else {
            return String.Format("{0} GB", Math.Round((bytes / GByte), 2));
        }
        
    }

WPF development with Visual Studio and Expression Blend

Started work on a small personal project using WPF and ClickOnce today. I’m using Expression Blend (RC) to design the interface and VS for the code. I can open the same VS project in Expression Blend, both environments detect file changes but with that popup message. Blend makes it easier to add controls and set properties, but it lacks intellisense, tag completion and code formatting that the VS XAML editor has. I hope this is added in the final version.

Here are a few reasons why I think WPF/E is better than Flash, though I think it won’t be a Flash killer yet.

  1. Data binding: Flash does not come with any of this out of the box, it has to be done using Action script. WPF has extensive support for data binding. Binding to an XML data source is done easily in XAML using declarative code. This makes it easier for the designer types to add data integration without having to rely on an action script developer for the task.
    Update : WPF/E however does not have databinding in the current CTP build. See point 3, which makes it not so bad.