Click here to monitor SSC

Jason Crease

Jason Crease

Database Continuous Integration with SQL CI and Jenkins


DATABASE LIFECYCLE MANAGEMENT PATTERNS & PRACTICES LIBRARY Continuous Integration Continuous integration (CI) is the process of ensuring that all code and related resources in a development project are integrated regularly and tested by an automated build system. Code changes are checked into source control, triggering an automated build with unit tests and providing early feedback […]

24 November 2015 2:55 pm by
Jason Crease

How to Create Ten 200GB Test Databases in 60 Seconds


In a recent survey run on community site SQL Server Central, 58% of respondents admitted that their test database is an exact copy of their production database. Many of these respondents concede that they should be removing sensitive data, but aren’t. It seems that the desire to have realistic data will for many trump the […]

14 October 2015 1:27 pm by
Jason Crease

The Brian Keller VM – Try out Microsoft’s ALM stack easily


Why do I need this? Microsoft sells a range of tools to support a project from ideation to release and beyond. In Microsoft’s ALM (Application Lifecycle Management) vision: you create work items (requirements, user stories, bugs) in Team Foundation Server (TFS), write your code in Visual Studio, commit to Team Foundation Version Control, build it […]

8 May 2015 10:17 am by
Jason Crease

Metrics – A little knowledge can be a dangerous thing (or ‘Why you’re not clever enough to interpret metrics data’)


At RedGate Software, I work on a .NET obfuscator  called SmartAssembly.  Various features of it use a database to store various things (exception reports, name-mappings, etc.) The user is given the option of using either a SQL-Server database (which requires them to have Microsoft SQL Server), or a Microsoft Access MDB file (which requires nothing). […]

3 May 2012 3:23 pm by
Jason Crease

SmartAssembly Error Reporting: with the bug-finding power of more than 20 testers


At Red Gate, we use the SmartAssembly automated-error reporting system in the applications we sell.  When an error or exception occurs ‘in-the-wild’, it is reported back to Red Gate HQ, along with details about the error (stack trace, deployment environment, local variables, and more). Using the ‘SmartAssembly Sync for JIRA’ system, these errors are then […]

8 September 2011 2:22 pm by
Jason Crease

New spreadsheet accompanying SmartAssembly 6.0 provides statistics for prioritizing bug fixes


One problem developers face is how to prioritize the many voices providing input into software bugs. If there is something wrong with a function that is the darling of a particular user, he or she tends to want action – now! The developer’s dilemma is how to ascertain that the problem is major or minor, […]

18 March 2011 12:06 pm by
Jason Crease

Breaking through the class sealing


Do you understand ‘sealing’ in C#?  Somewhat?  Anyway, here’s the lowdown. I’ve done this article from a C# perspective, but I’ve occasionally referenced .NET when appropriate. What is sealing a class? By sealing a class in C#, you ensure that you ensure that no class can be derived from that class.  You do this by […]

26 April 2010 8:58 am by
Jason Crease

How big is a string in .NET?


How big is a string in .NET? Typically the size of an object is 8 bytes for the object header plus the sum of the fields.  Consider this simple object:     class ThreeFields    {        double d;        object o;        int i;    } The size of a ThreeFields object is 8 bytes (for header) + 8 bytes […]

16 January 2009 10:32 am by
Jason Crease

Scrum: Keeping Kosher doesn’t make you Jewish

1 comment

Our development team has started using Scrum.  We’re only 4 weeks in, so it would be premature to make a judgement on whether it’s working for us.  I’ve investigated how it’s practised elsewhere, and there seems to be a worrying trend…   Let’s say I want to become a Christian.  I could go to church […]

8 December 2008 10:10 am by
Jason Crease

Nullable Structs – An interesting ‘Gotcha’


One of the interesting new features in C# 2.0 was nullable valuetypes.  Using these, you can set valuetypes to a value, or null.  Their usage is entirely straightforward.  For instance, to use a nullable int simply declare a variable of type int?, and then set it to a value or null.   Behind the scenes, […]

26 November 2008 11:11 am by
Older posts

Blog archive