DLS Software Studios Warriors!

DLS Software Studios team at Warrior Dash

DLS Software Studios Warriors

June 19th, 2010 – DLS Software Studios developers participated in an insane, mud-covered, obstacle-filled, five kilometer race.  Yep, we have what it takes…

SVN Branching and Merging

There are many situations in which you would want to create a new code branch in SVN. In this post, we’ll be creating and using a development branch. A development branch is a copy of the main production source code that is used to implement and test new bugfixes and features before releasing those code changes to the main source code.

1. Code any new features and bugfixes against the development branch; 2. Commit to the development branch; 3. Test in the development branch. If bugs are found, fix them and then go back to step 1. Otherwise, go to step 4; 4. Merge the new, fully tested code revisions from the test branch into the trunk; 5. Commit merged code to TRUNK;6. Deploy the changes to production and commit the code to the trunk; As new bug fixes or feature requests come in, go back to step 3 and repeat the cycle.

For the purposes of this article, I’m assuming that your svn project is already created with the following recommended directory structure.

Read the rest of this entry »

Asynchronous Programming with C#

Asynchronous development is both a difficult and a rewarding way to develop applications that have responsive user-interfaces. It can be a headache because objects on different threads cannot contact each other. Instead, data must be marshaled from one thread to the other. In C#, this is usually accomplished by invoking the object.

In this article I will explain how to asynchronously execute a method on a separate thread, raise events from that thread and update a user’s GUI, and return the results of that operation. Although this operation can be easily duplicated using a BackgroundWorker object, understanding the process can help you design objects that provide their own asynchronous support. In addition, asynchronous invocation of methods can be performed multiple times at once, unlike a BackgroundWorker.

Read the rest of this entry »

ASP.NET Drilldown databound gridview

Drilldown ASP.NET Databound Gridview
A drilldown gridview is handy to display information that contains child data while at the same time allowing the data to be collapsed to save space. For as common as the request might seem, I was surprised by the lack of documentation and tutorials on the subject.

Background:
I was looking to create a table listing of products, each product row could optionally contain a child row that could have varying attributes under different stores (i.e. Price, description, promotion). This made a drilldown gridview the perfect choice.

In my example I am using a databound gridview thus an assumption is being made that you have already bound the data.

We must get our hands on the data while it is being bound, therefore a most of the labor will happen in the GridView1_RowDataBound method. This method will be called each time a row is bound to our gridview giving us access to the data as it is being set.

Read the rest of this entry »

Auto-Generate Anti-Aliased Text Images with ASP.NET

The Problem

A little bit ago, one of our clients had us redesign their website.  The new design needed to use a particular font that wasn’t a core web font.  While there are ways to embed fonts in many modern browsers, the traditional way to make sure that a block of text renders perfectly across all browsers, including older browsers like IE 6 and Netscape, is to generate an image using image manipulation software, and use that image instead of text.

Regardless of the inelegance of such a solution, one of the major problems with this approach is that any change in color, size, font, or text for any of those images requires completely recreating the image and any mouseover variations of the image.  Different CSS themes for the same site require generating and deploying completely separate sets of images for each theme.

Wouldn’t it be great if this process could be simplified or automated?

The good news is, it can!

Read the rest of this entry »

Useful CSS Techniques For Your Next Design

The following CSS techniques have been used by DLS Software Studios many times throughout our projects, and we are going to share some of them with you.  Most of these tips are pretty basic, however, they are overlooked most of the time.

Read the rest of this entry »