Click here to monitor SSC
Michael Sorens

Acceptance Testing with FitNesse: Multiplicities and Comparisons

FitNesse is one of the most popular tools for unit testing since it is designed with a Wiki-style interface that makes it very easy to set up individual tests. Michael Sorens' sixth article in his series delves into the nuances of multiple inputs vs. multiple outputs, multiple rows vs. multiple columns, as well as things that can trip you up when attempting to validate a value. Read more...

Michael Sorens

Acceptance Testing with FitNesse: Symbols, Variables and Code-behind Styles

Although FitNesse can be used as a generic automated testing tool for both applications and databases, it excels at unit testing since it is designed with a Wiki-style interface that makes it very easy to set up tests. In part 5, Michael Sorens explains how to use symbols and variables effectively, and why those terms are themselves rather problematic Read more...

Michael Sorens

Acceptance Testing with FitNesse: Debugging, Control Flow, and Tracing

FitNesse is an automated testing tool for software. based on Ward Cunningham's Framework for Integrated Test. It is designed particularly for acceptance testing and works with both applications and databases. In part 4, Michael Sorens shows you how to debug with Visual Studio, manage control flow and enable tracing. Read more...

Michael Sorens

Acceptance Testing with FitNesse: Naming and Layout

Having dealt with Documentation and Infrastructure in the popular wiki-based acceptance-testing tool Fitnesse, Michael turns his attention to conventions and best-practices for naming and layout, in his continuing series of articles that represent the 'view from the trenches'. Read more...

Michael Sorens

Acceptance Testing with FitNesse: Documentation and Infrastructure

FitNesse is a popular general-purpose wiki-based framework for writing acceptance tests for software systems, including databases. It is intended to be easy for the tester to learn and use. In this article, Michael Sorens gives a 'view from the trenches' of Fitnesse's documentation and infrastructure. Read more...

Michael Sorens

Acceptance Testing With FitNesse, The Overview

FitNesse is an open-source framework for supporting user-acceptance testing. The aim is to make the construction of the individual tests as easy and intuitive as possible. It works with Java, .NET and database applications. It is very useful, but needs a simple 'tips from the trenches' guide to its use. Here is the start of that guide. Read more...

Nick Harrison

T4 - The Insource Code Monkey

T4 usually stays behind the scenes in Visual Studio, but if you find that you have a good reason to write similar code over and over again, or use a lot of copy and paste, then it could be that you have a specific use for T4. There are times when it can be useful for generating code templates but it is versatile to provide a solution for a number of programming headaches. Read more...

Rob Clarke

Prototyping Desktop Deblector

Deblector is an open-source debugging add-in for .NET Reflector; the Reflector team investigated whether they could integrate it into Reflector's desktop application, and updated the source code to introduce compatibilty with the latest version of Reflector before releasing it back into codeplex Read more...

Wesley Steiner

.net SmokeTest for Reflector

With .net SmokeTest, you can take any assembly, construct an instance, call a method, set a property or field of any class Type from a dialog: Then drill-down into the result without ever writing a single line code. Read more...

Michael Sorens

.NET Reflector Through the Looking Glass: The Cheese Course

Part 4 describes how you can extend reflector further by describing how reflector can be used to compare or manage assemblies and exercise the code in front of you or even any arbitrary code on the fly. Read more...

Michael Sorens

.NET Reflector Through the Looking Glass: The Pudding

There a number of ways in which Reflector, either by itself or with an Addin, allows you to analyse and explore assemblies, or even change the disassembly language Read more...

Michael Sorens

.NET Reflector Through the Looking Glass: The Meat and Potatoes

.NET Reflector is most often used for viewing, filtering, navigating, and debugging assemblies to understand it better. Here is how all that is done. Read more...

Michael Sorens

.NET Reflector Through the Looking Glass: The Hors d'Oeuvres

Almost everywhere that .NET applications are developed, there is .NET Reflector. Although there have been some blogs on how to use it, there has never been a documentation. Michael Sorens puts the matter right! Read more...

Damon Armstrong

A Developer's Look at the SharePoint 2013 App Marketplace

Sharepoint has been redesigned to allow independent third-party developers to provide 'apps' that extend SharePoint's functionality, either via client-side execution or by using a separate server. They're available via an 'apps store'. Sounds familiar? Yes, just like a phone, but for SharePoint developers. Read more...

Ben Adderson

Automated Deployments: The Tester’s Tale

Why should an automated deployment process be such an advantage? Once a process is scripted reliably, it can be repeated without human error, and is therefore testable. It also means that it is less tiresome, and is therefore done more often. Problems surface quicker and are caught more easily. That's not all, as Ben the Tester explains. Read more...

Nick Harrison

Understanding Asynchronous Programming with .NET Reflector

When you are working with the .NET framework, it is great to be able to view, and step into, assemblies. The documentation is handy to have, but nothing beats being able to see and debug the code to understand how it works. Suddenly, the new Async features stop being mystical, and start to make practical sense. Read more...

Damon Armstrong

An Overview of SharePoint 2013 App Development Model

Microsoft have put a lot of resources into improving SharePoint. SharePoint 2013 introduces 'SharePoint Apps', which are executed within the browser. This provides a lot of opportunities for extending Sharepoint-based applications to make them fit the customers requirements more closely, and paves the way for cloud-based SharePoint services. Read more...

Michael Sorens

TortoiseSVN and Subversion Cookbook Part 7: Managing Revisions

Here are recipes to manage Subversion source control revisions effectively, such as managing revisions, working out the current revision, whether it is up to date, working with more than one revision at a time, and getting notifications when certain files change. Read more...

Clive Tong

C# Async: What is it, and how does it work?

The biggest new feature in C#5 is Async, and its associated Await (contextual) keyword. Anybody who is faced with creating Metro applications for Windows 8 is having to tackle the very different mindset of Async Programming. Clive explains what is happening under the covers and how one can investigate, using .NET Reflector. Read more...

Matt Wrock

Towards the Perfect Build

An automated build and deployment system is no longer a dream. Now that PowerShell has matured as a product, and since the emergence of new tools such as Psake and Chocolatey, the ambition of the perfect build process has come nearer to reality. Read more...

Richard Morris

No More Disconnected SQL Development in Visual Studio

Some types of development work are much more effectively accomplished if the developer can work directly on SQL Server Databases from Visual Studio, alongside the application code, rather than constantly switching applications to SSMS. Until SQL Connect was created, there was no easy way to do this. Nate Suver had just this requirement, and explains why SQL Connect is so important to him. Read more...

Nick Harrison

Revisiting Hosting Reflector

You can automate .NET Reflector processes, and run .NET Reflector from within a .NET application, from within ASP.NET or even within ASP.NET MVC. What is more you can host a reflector Add-in. This opens up many possibilities as Nick Harrison points out. Read more...

Damon Armstrong

A Complete Guide to Writing Timer Jobs in SharePoint 2010

Sharepoint allows you to run recurring processes in background on a schedule. These are Timer Jobs. It is easy to get confused by the process of writing, scheduling, administering and updating timer jobs. Luckily, Damon has made it his mission to produce a complete guide for the Sharepoint developer. Read more...

Damon Armstrong

Managing ItemUpdating and ItemUpdated Events Firing Twice in a SharePoint Item Event Receiver

Developing a Sharepoint application would have all the fun of a video game, if only you had infinite lives. Dangers lurk hidden out there which, if you run into them, can be a blow to your project and waste a great deal of time. Damon gives just one example of a poisoned dagger in the game of Sharepoint Development: The Item Event Receiver. Read more...

Kevin Boyle

Feature Usage Reporting in Early Access Programs

After doing Web development, you can get very used to the luxury of having basic information about your users' machines and browsers. With their permission, you can also get the same information from an application, and can even get more targeted anonymous information that will tell you how the features are used. Kevin explains how this can be used with early access builds to improve the reliability and usability of applications. Read more...

Michael Sorens

Further Down the Rabbit Hole: PowerShell Modules and Encapsulation

Modules allow you to use standard libraries that extend PowerShell's functionality. They are easier to use than to create, but if you get the hang of creating them, your code will be more easily-maintained and re-usable. Let Michael Sorens once more be your guide through PowerShell's 'Alice in Wonderland' world. Read more...

Michael Sorens

Down the Rabbit Hole- A Study in PowerShell Pipelines, Functions, and Parameters

For an experienced programmer to learn a new language can be a journey quite like Alice's in wonderland. Paradoxes, unexpected twists, blind tangents, bafflements and nice surprises. Michael comes to the rescue of anyone learning PowerShell with an explanation of how to use PowerShell functions. Read more...

Matteo Slaviero

Customize Automated Error Reporting In SmartAssembly

Despite being, for some time, a keen user of SmartAssembly for the .NET components that he produces, Matteo hadn't discovered the Automated Error Reporting feature until recently. As he reports, it has enabled him to be much quicker and more effective in dealing with any problems that one of his users might experience, and it keeps his customers happy too Read more...

Andrew Wang

Performance Optimization in Bastion Using ANTS Performance Profiler

Smooth performance is vital in videogame design. Andrew Wang explains how ANTS Performance Profiler has helped him to track down misbehaving code and optimize performance in Bastion, the debut game from Supergiant Studios. Read more...

Michael Sorens

Harnessing PowerShell's String Comparison and List-Filtering Features

When you are first learning PowerShell, it often seems to be an 'Alice through the looking-glass' world. Just the simple process of comparing and selecting strings can seem strangely obtuse. Michael turns the looking-glass into wonderland with his wall-chart of the PowerShell string-comparison operators and syntax. Read more...

Phil Factor

COM Automation of Office Applications via PowerShell

There need be no shame in using Office by automating it via COM. It was designed to be used that way, and with PowerShell, the various Office applications can be used as glorious output devices for data. Phil Factor uses some practical examples to try to persuade you to take the plunge. Read more...

Bert Jan van der Steeg

Database Management for SharePoint 2010

With each revision, SharePoint becomes more a SQL Server Database application, with everything that implies for planning and deployment. There are advantages to this: SharePoint can make use of mirroring, data-compression and remote BLOB storage. It can employ advanced tools such as data file compression, and object-level restore. DBAs can employ familiar techniques to speed SharePoint applications. Bert explains the way that SharePoint and SQL Server interact. Read more...

Damon Armstrong

SharePoint 2010: Storing Documents on the File System with Remote Blob Storage

Remote BLOB Storage (RBS) is a means of storing the large unstructured data outside of the SharePoint database, by using a BLOB provider. It can provide some very useful options if the size of your SharePoint database is becoming unmanageable, but shouldn't be seen as a general storage panacea. Read more...

Dave McMahon

Using Features and Solutions to Deploy your SharePoint Customizations

When deploying any Sharepoint application, the way to do it is through 'Features and Solutions'. There are two recommended paths of deploying custom functionality into SharePoint: Sandboxed or Farm Solutions. Which should you choose, and in what circumstances? Dave McMahon talks us through a Sharepoint deployment with Sharepoint 2010 and VS 2010 and finds it pretty easy. Read more...

Michael Sorens

Web Testing with Selenium Sushi: A Practical Guide and Toolset

How does one test the user-interface of a web application? Too often, the answer seems to be 'clumsily, slowly, and not very well'. The technology of automated, repeatable, testing of websites is still developing, but it exists; and Michael Sorens is here to describe an even better approach based on Selenium Read more...

Michael Sorens

Taming Sandcastle: A .NET Programmer's Guide to Documenting Your Code

The most effective way to document .NET code so that others can understand it and use it, is to use XML Documentation and SandCastle. It isn't that easy. Michael Sorens produces the easy guide to the process that Microsoft never managed, and introduces several applications that help. Read more...

Jonathan Evans

Optimizing my client and server with ANTS Performance Profiler

It might seem a hopeless task to reduce the time an application takes to do a task from three minutes to a second. However, after getting hold of a tool that showed him precisely what was taking the time, Jonathan Evans gained a renewed fascination with performance that led to him shaving what he terms the “banana seconds” off the execution time down to that last second. Read more...

Andrew Clarke

SmartAssembly: Eating Our Own Dogfood

Quite often at Red Gate, we are some of our own most enthusiastic software-users. SmartAssembly is a case in point. In the words of the current IT cliché, 'we eat our own dogfood'. We sent Andrew Clarke to find out more.... Read more...

Jeremy Jarrell

Multi-Tier Performance Tuning with ANTS Performance Profiler 6

When you are developing a database application that, by its very nature, suffers from I/O bottlenecks, you need to get a complete picture of how all the tiers of your application work together. By quickly determining whether the problem is code-related or part of a database process, you will be well on the way to getting a fix, especially if you can see immediately which stored procedure is taking too long to execute. Science Fiction? No. as Jeremy Jarrell found out when he discovered ANTS Performance Profiler 6. Read more...

Michael Sorens

Creating WPF Prototypes with SketchFlow

Prototyping with Sketchflow transforms what was once a frustrating and time-consuming chore. With SketchFlow, WPF prototypes can be created and changed with amazing ease. SketchFlow is WPF's secret weapon. Well, it was secret until Michael Sorens produced this article. Read more...

Jeremy Jarrell

Mutation Testing

You may have a twinge of doubt when your code passes all its unit tests. They might say that the code is OK, but if the code is definitely incorrect, will the unit tests fail? Mutation Testing is a relatively simple, but ingenious, way of checking that your tests will spot the fact that your code is malfunctioning. It is definitely something that every developer should be aware of. Read more...

Khawar Yunus

Obfuscating Silverlight with SmartAssembly

If you are in the .NET Software business, you have a problem. .NET assemblies can be read, and debugged, by the purchaser with almost the same ease as if you'd distributed the source code. This isn't always what you wanted or intended, so you'll need an application such as Smart Assembly. Khawar explains the simple process of protecting your company's assets. Read more...

Michael Sorens

Essential Tools for the WPF Novice

When Michael sets out to do something, there are no half-measures; So when he set out to learn WPF, we all stand to benefit from the thorough research that he put into the task. He wondered what utility applications could assist programming in WPF. Here are the fruits of all his work. Read more...

Geoffrey Braaf

.NET Reflector Pro to the rescue

Almost all applications have to interface with components or modules written by somebody else, for which you don't have the source code. This is fine until things go wrong, but when you need to refactor your code and you keep getting strange exceptions, you'll start to wish you could place breakpoints in someone else's code and step through it. Now, of course, you can, as Geoffrey Braaf discovered. Read more...

Nick Harrison

Reflector Pro Cometh

Reflector 6 is here. Nick Harrison is a long-time Reflector enthusiast, and has been responsible for writing an add-in. As he'd helped test the new version, Nick asked to review it for Simple-Talk. The team were anxious to know what he thought. They needn't have worried. Read more...

Andrew Clarke

Microsoft Small Basic for .NET

Microsoft Small Basic is intended to be fun to use. It is that, and more besides. It has a great potential as a way of flinging together quick and cheerful applications, just like those happy days of childhood. Tetris anyone? Read more...

Carl Niedner

ANTS Profiler Saves Me From A Sordid Fate

A bit of string concatenation never hurt anybody, right? Think again. Carl Niedner has been designing software since 1983, and was shocked to find his latest and greatest creation suddenly plagued with long loading times. After trying ANTS Profiler, he discovered one tiny line of forgotten concept code was causing his pain. Read more...

Bob Cramblitt

Behind the scenes with the developers of .NET Reflector 6 and .NET Reflector Pro

Lutz Roeder handed over responsibility for development of .NET Reflector to Red Gate nearly eighteen months ago. "What's been happening since then?", one might ask. The answer is "Rather a lot," as we found out when we sent Bob Cramblitt to the .NET team, also known as the "Managed Heap," to find out. Read more...

Matteo Slaviero

{smartassembly} software for code obfuscation

{smartassembly} is a tool for ensuring that the source code your commercial .NET application isn't visible to anyone with .NET Reflector. Matteo, who writes for us about encryption in .NET, asked if he could write a review of {smartassembly} for Simple-Talk. Because we like the product too, and Red Gate Software had recently taken over the product, we were happy to agree. Read more...

Chris Allen

Profiling SharePoint with ANTS Performance Profiler 5.2

Using ANTS Performance Profiler with SharePoint has, previously, been possible, but not easy. Version 5.2 of ANTS Performance Profiler changes all that, and Chris Allen has put together a straight-forward guide to profiling SharePoint, demonstrating just how much easier it has become. Read more...

Charles Lee

How to Create Custom SharePoint Workflows in Visual Studio 2008

Whereas simple workflows are possible using Microsoft Office SharePoint Designer, you will soon reach the point where you will need to use Visual Studio. In the third article in Charles' introduction to Workflows in Sharepoint, he demonstrates how to create a workflow from scratch using Visual Studio, and discusses the relative merits of the two tools for this sort of development work. Read more...

Charles Lee

How to Create Custom Workflows in Windows SharePoint Services 3.0

SharePoint is an incredibly powerful platform when it comes to managing flows of data, and it seems odd that more people don't understand or use that functionality. Charles Lee builds on his explanation of lists in SharePoint for beginners and gives you a clear, straightforward demonstration of how to build a custom workflow to automate some of your more mundane everyday workflow tasks. Read more...

Michael Sorens

A Unified Approach to Multi-DataBase Query Templates

While trying to get the information he needed out of various SQL, MySQL and Oracle environments, Michael finally got tired of endlessly flicking through reference manuals and having to work so hard just to formulate his queries. So he decided to build a cross-platform Query Template solution to make his life easier, and he even went as far as building a .NET control to be integrated into applications. He's been kind enough to share the control, and the theory behind it, with us. Read more...

Bart Read

.NET Reflector FAQ (Frequently Asked Questions)

Bart tackles all the commonly asked questions about .NET Reflector. Each answer is done as a separate blog post so that your comments, contributions and or supplementary questions can be put as comments to the various blog posts. Read more...

Damon Armstrong

Beating up my Code with ANTS Performance Profiler

Ty Anderson assumed that his cryptographic library was perfect until he tried it out with ANTS Performance Profiler. Within twenty minutes, eight and half of which were spent watching a video overview of ANTS Performance Profiler, he was able to make a ten percent performance improvement. Although his ego was slightly bruised by the experience , the fact that his code was even better soon restored his confidence. Read more...

Laila Lotfi

Profiling the Memory Usage of a .NET Application with ANTS Memory Profiler 5

 We were recently taken to task by a reader who felt that the one place he'd expect to find a nice simple introduction to memory profiling with ANTS Memory Profiler™ 5 would be on Simple Talk. Memory profiling has an intimidating reputation, but fortunately Laila Lotfi came up with a simple introduction that even ordinary mortals could appreciate. Read more...

Ben Hall

'Methodist': Make .NET Reflector come alive with IronPython

It is great to be able to inspect the contents of an assembly with .NET Reflector, but to really understand the behaviour of code, it is nice to be able to call methods and see the results immediately within .NET Reflector. Now you can, thanks to the magic of IronPython and the DLR. Ben builds a REPL add-in for .NET Reflector and makes a great tool even more useful. Read more...

Brian Harris

What can Software Designers Learn from Video Games? Part 2

Developers of software that is used in the office need to be aware of what Games Developers are doing to make the learning of games intuitive. Games don't require you to read a manual or engage in training. Maybe Office software should inveigle the users into a gentle pedagogical experience so that they fully exploit the potential of the software without having to read screeds of instructions. The only question is how…. Read more...

Richard Morris

.NET Reflector Saved their Bacon: The Gremlins strike back

Quite often, .NET Reflector is downloaded in an emergency. Whereas most of the users are developers who use it as a routine to explore objects and methods inside Assemblies, the occasional user is getting it because they are in desperate straits. We've always felt that we, and other NET Reflector users, would like to hear more about these real-life emergencies, so we sent Richard Morris to investigate. Read more...

Stephen Chambers

Memory Profiling: Turning the Scarily Complex Into the Ingeniously Simple

There are user interfaces that just seem to work naturally, such as Spreadsheets, email clients, or word processors. Even some development tools have reached a shared maturity. What about memory profilers? How can you represent the way that memory is being used in an application? How can you make it simple to use, yet sophisticated enough to track down complex memory problems? Read more...

Shereen Qumsieh

Working With the ANTS Profiler to Optimize SharePoint

When a page in SharePoint takes 30 seconds to load, it is time for any developer to be concerned. There is much to be gained by taking the obvious steps of removing functionality that is not required, but at some point, you'll need to take a close look at the code to see what parts need optimizing. Shereen Qumsieh describes how she reduced loading time to less than a third of what it had been. Read more...

Geoffrey Braaf

Solving Performance Problems in an ASP.NET application with ANTS Profiler

You have a Data-Access Layer that is generating dynamic SQL, and you haven't the time to understand the implementation of the business layer. Something that is firing unexpected volumes of queries is slowing the code down. What do you do? You can now avoid having to hunt methodically for the cause from the queries up; you can now do it rapidly from the code down. Geoffrey Braaf explains... Read more...

Nick Harrison

Hosting .NET Reflector in your own Application

You can automate .NET Reflector processes, and run .NET Reflector from within IDEs or other applications. You can even use it as a web control within a browser! . Here Nick shows how to develop a web control that accepts metadata for a method, uses .NET Reflector to disassemble the method and displays the decompiled output in a web page. Read more...

Brian Harris

What can Software Designers Learn from Video Games?

Application Developers and designers often seem addicted to playing video games. Is this wasted time? Perhaps not, if they are quick to learn from the game that there must be no blind alleys in software, you must always provide a way of making progress, and that users of tools don't want to use software particularly, they need to get a job done. Read more...

Bob Cramblitt

.NET Reflector Saved their Bacon: Chris Kapilla’s Story

.NET Reflector is not just a handy adjunct to Visual Studio for developers to browse their assemblies and understand classes and methods; Sometimes it can have a vital role. Many developers have told us that, occasionally, it had 'saved their bacon'. We were intrigued and decided to find out more by offering prizes and cash for “.NET Reflector Saved My Bacon” stories. Read more...

Nick Harrison

Using .NET Reflector to Manage Complex Software Dependencies

Tom Carter's Dependency Structure Matrix Plugin for .NET Reflector turns the tool into a means of tracking inter-module dependencies in .NET. Why is this such a powerful way of keeping the complexity of an application in check? How can you benefit from being able to track dependencies between objects? Nick Harrison provides a simple explanation. Read more...

Chris Massey

Has .NET Reflector Saved Your Bacon?

We think Reflector is a fantastic tool, and we know you do too. We'd love to hear about the times you've used it to save the day. What were you working on? What happened? Send us your epic tales of .NET Heroism... Read more...

Nick Harrison

Metric-Driven Refactoring with .NET Reflector

Software Metrics are a great way of suggesting those parts of your code that may need refactoring, if they are treated purely as an aid to judgement. Nick Harrison shows how metrics can be done simply with NET Reflector and Peli's CodeMetrics Addin, and explains some details of the Smelly Metrics that are often used. Read more...

Ben Hall

Annotating Code with .NET Reflector and Review Add-In

Ben Hall takes a look at a simple add-in to .NET Reflector that helps team development work in a number of ways, and show how useful it can be in understanding how an API to a third-party assembly works. Read more...

Stephen Chambers

Software that Crushes your Soul

Stephen confesses his anger at Visio, which he is having to use all day, every day, in order to design software. Unlike the average 'angry blogger', he offers a constructive solution to some of his gripes that you may download. Read more...

Chris Massey

Encouraging .NET Reflector Add-ins

Jason Haley is well-known for the resources he's provided to developers who wish to extend Reflector's usefulness by writing Add-ins, so we decided to sit him down for a chat. Read more...

Andrew Clarke

Using .NET Reflector Add-ins

.NET Reflector by itself is great, but it really comes into its own with the help of some add-ins. Here we provide you with an introduction to the Add-ins, explain briefly what they do, and encourage you to write your own in order to get .NET Reflector to work the way you want it to! Read more...

Jason Crease

First Steps with .NET Reflector

If you are new to using .NET Reflector, or you are wondering whether it would be useful to you, you'll appreciate Jason Crease's quick run through of the basic functionality. This is also available as a video. Read more...

Richard Morris

ANTS Profiler and the Un-Rest Cure

After a while, successful applications can get set in their ways. Bart Read and Andrew Hunter decided to go for a much more radical approach when given the task of bringing ANTS Profiler up to date, and, almost accidentally, they reinvented the way we do Performance Profiling. Read more...

Andrew Clarke

.NET Reflector: Soup to Nuts

.NET Reflector is almost an intrinsic part of the .NET Framework, a free tool for browsing the contents of a .NET assembly. When Lutz Roeder passed responsibility for development of the code to Red Gate, the team preserved the characteristic minimal look, focussing on updates and code improvements. Then they added a free add-in that allowed it to be accessed from within Visual Studio. Reflector Pro is a paid-for extension that allows Visual Studio users to debug code in .NET Reflector. Read more...

Stephen Chambers

Software Tool Design: Remote User Testing

If you are developing a software product, you'll know that the sooner you can get feedback from the users, the better. But, what sort of feedback, which users, and how? If your users have to test your software within their own development environment and workplace, you are presented with a challenge. Stephen explains a practical solution Read more...

Stephen Chambers

Software Tool Design: Design by Sketching

Developers can get so used to relying on computers for everything that they can forget how useful it can be in the design process to elicit and refine ideas whilst working in groups, using a sketchbook, pencils and crayons. Sometimes we all need a jolt to force us to take a different approach to solving software design problems. Read more...

Stephen Chambers

Software Tool design: The Three Rs

To understand the full extent of the requirements of your users when you are redesigning a software tool, you have to talk to them, and observe how they are currently using the package. For this sort of research, there is no established rule-book, but there certainly are pitfalls and rewards. Stephen Chambers offers his advice and tells of some experiences. Read more...

Ben Hall

Testing Times Ahead: Extending NUnit

If you want to get serious with Unit Testing, then you'll need to understand how to extend the NUnit framework in different ways for your own particular test requirements and how to tailor test behaviour. Test Expert Ben Hall, of the SQL Generator team, shows how it is done, with special reference to the art of testing SQL code. Read more...

Andrew Clarke

The Waffle Generator

Sometimes, silly programs have a less obvious useful purpose. Andrew Clarke takes his classic 'Waffle Generator', and provides it in various forms, including a CSS Stylesheet tester, and as a Generator for SQL Data Generator. The Waffle Generator puts text into your test database! Read more...

Tilman Bregler

Extending MSBuild

Because MSbuild underpins the Visual Studio 'build' process, you can use MSBuild to explore and extend the build process to suit your needs. If you are finding the job of building Microsoft .NET applications tedious , the chances are that there is a way that using 'extended MSBuild' for your automated builds will save you time, effort and code. Read more...

William Brewer

Top HAT

If there is one thing that developers and users always seem to disagree on, it is the relative importance of documentation. We take a look at the whole technology of producing Help and Documentation for tools and applications, and then review one particular product; EC Software's Help & Manual Read more...

Simple Talk

An Interview with James Moore

James Moore on why he insists that his devleopers use the appropiate third party tools in their work, the problems with Visual Studio, and what's happening in Red Gate's new .NET tools division. Read more...

Damon Armstrong

Customizing the Login Page in SharePoint 2007

Damon shows how a few simple steps lead you to being able to include the login form in a consistent look and feel to your customer-facing Sharepoint applications Read more...

John Papa

Gathering RSS Feeds using Visual Studio and RSS.NET

If you would like to learn how to build and customize your very own Windows service to retrieve posts from multiple RSS feeds, and then store those posts in a SQL Server database, let John Papa guide you through his tutorial. Read more...

Steven R. McCabe

Exploring LINQ, SQLMetal and SqlTac

If you're a .NET developer, working with or without a database on the back-end, your world is about to change. The emergence of LINQ and SQLMetal technologies will mark a fundamental change to your development approach to collections, and provide a simpler, more consistent way of accessing your database. Steven McCabe provides what you need to get started. Read more...

Ty Anderson

Creating Excel and Word reports for .NET applications using OfficeWriter

OfficeWriter is a reporting tool from Softartisans, which allows you to execute and generate business reports in familiar Excel and Word formats. Here, Ty Anderson, an independent consultant, provides an overview of the tool's capabilities and provides the code you need to start generating Excel reports from your ASP.NET applications. Read more...

Mike Bloise

Tracing memory leaks in .NET applications with ANTS Profiler

With only 24 hrs to go to the release of his brand new C# 2005 CRM application, Mike Bloise encountered severe memory leak issues. This case study describes how he solved them using ANTS Profiler. Read more...

Phil Wilson

Using BITS to Upload Files with .NET

Although FTP is commonly used to transfer files over the Internet, it's somewhat unfriendly to firewalls. Phil Wilson shows you how to create a BITS upload program using C#, which will transfer files over browser ports. Read more...

Simon Galbraith

The cost of poor website performance

The business impact of varying page download time has not, until now, been defined. This article provides data that allows website owners to understand the business impact of their web application performance. Read more...

Simon Galbraith

What's ROI got to do with it?

If you want to be taken seriously when proposing IT investments, calculate the ROI for your organization. Read more...

Most Viewed

A Complete URL Rewriting Solution for ASP.NET 2.0
 Ever wondered whether it's possible to create neater URLS, free of bulky Query String parameters?... Read more...

Visual Studio Setup - projects and custom actions
 This article describes the kinds of custom actions that can be used in your Visual Studio setup project. Read more...

.NET Application Architecture: the Data Access Layer
 Find out how to design a robust data access layer for your .NET applications. Read more...

Calling Cross Domain Web Services in AJAX
 The latest craze for mashups involves making cross-domain calls to Web Services from APIs made publicly... Read more...

Web Parts in ASP.NET 2.0
 Most Web Parts implementations allow users to create a single portal page where they can personalize... Read more...

Why Join

Over 400,000 Microsoft professionals subscribe to the Simple-Talk technical journal. Join today, it's fast, simple, free and secure.