04 June 2015
04 June 2015

Test Driving Your Database

In any engineering project, you can’t avoid testing your product against reality. A friend who once worked at a car design center told me that throughout each development cycle, in adding to a component-testing program with test-rigs and simulations, they would drive each newly-designed automobile down “Dunmore Lane”. This local road was infamous for its … Read more
07 May 2015
07 May 2015

The Art of the Author

When tidying out an old cupboard a few weeks ago, one after another I casually tossed outdated, dusty technical books into a recycling box. I paused however, when I reached one particular book, on “ASP for Databases” with which I’d had some editorial involvement. At the time, it had seemed just another book, albeit a … Read more
24 April 2015
24 April 2015

Taming Transaction Logzilla

A transaction log, if sized sensibly, is like a ring buffer. It will stay the same size however much data it holds, up to a point. It is when something goes wrong that the log can turn into a disk-space-devouring monster, and my heart sinks whenever I stumble across a forum or Q&A post advocating … Read more
13 March 2015
13 March 2015

One Man’s Panacea is another Man’s Poison

It can be dispiriting when we see the IT Industry take genuine attempts to solve problems, and turn them into vacuous marketing opportunities, or ways of disguising IT cuts on essential services. If a codified set of practices gets a name, and visibility, troubled organizations often clutch it as a panacea for deeper problems of … Read more
15 January 2015
15 January 2015

Prettier, But Less Usable

When the original window-based user-interface was first being developed by Palo Alto, the team was driven by the idea that applications must be easy to use, consistent and accessible to all of humanity. This is why every window that opened in all subsequent windowing operating systems, had a rather standard design, with a set of … Read more
20 November 2014
20 November 2014

Please sp_help My System Stored Procedure

SQL Server provides a large number of built-in stored procedures that can tell us all sorts of useful information about what’s going on in our SQL Server databases. For example, the sp_help* set of system stored procedures allow us to return information regarding the structure of our databases, or any of the objects within that … Read more
05 November 2014
05 November 2014

PASS Summit 14 Dispatches: Azure Machine Learning

PASS Summit 14 Day 1 keynote and Joseph Sirosh and Sanjay Somi demo’d Azure Machine Learning (ML) and the drive to ‘democratize’ predictive analytics. The basic idea behind ML is computers learning through “training” how to look for patterns and relationships in complex data, without being explicitly programmed to find a particular “answer”. Through iteration, … Read more
05 November 2014
05 November 2014

PASS Summit 14 Dispatches: DocumentDB

During the PASS Summit 14 keynote, TK “Ranga” Rengarajan mentioned briefly Microsoft’s DocumentDB, a new NoSQL database. I was hoping to hear more. It’s an Azure-hosted JSON document data store and seems to be an attempt to marry the schema ‘flexibility’ and easy scalability that developers crave from their databases with the transactional capabilities of … Read more
23 October 2014
23 October 2014

To PASS Summit and Beyond

In his recent, successful bid to win election to the PASS board, Grant Fritchey (@GFritchey) opened his campaign statement as follows: The PASS organization changed my life for the better. He goes on to explain how, as a result, he’d now like to help extend the benefits he’s experienced to as many other people as … Read more
10 October 2014
10 October 2014

Source Code isn't sacred

A recent, short article on O’Reilly.com, Before You Refactor suggests that if you think you need to rewrite code, you must proceed with caution, do cost-benefit analysis and so on. If you’re still convinced then, at the very least, make the changes in small increments, reusing as much of the existing code, and tests, as … Read more
11 September 2014
11 September 2014

Locating business logic in applications

One of the most pernicious and pervasive myths in business-application development is that all business logic must be kept from the relational database and contained in a separate ‘business layer’. In the most fundamentalist forms of this idea, it’s just about OK to call a stored procedure to delete a customer, for example, but any … Read more
31 July 2014
31 July 2014

Interviews: Going Beyond the Technical Quiz

All developers will be familiar with the basic format of a technical interview. After a bout of CV-trawling to gauge basic experience, strengths and weaknesses, the interview turns technical. The whiteboard takes center stage and the challenge is set to design a function or query, or solve what on the face of it might seem … Read more
06 June 2014
06 June 2014

We have our standards, and we need them

The presenter suddenly broke off. He was midway through his section on how to apply to the relational database the Continuous Delivery techniques that allowed for rapid-fire rounds of development and refactoring, while always retaining a “production-ready” state. He sighed deeply and then launched into an astonishing diatribe against Database Administrators, much of his frustration … Read more
25 April 2014
25 April 2014

The Body in the Trunk

When one considers that the primary purpose of a modern Source Control system is to allow branches and subsequent merges, with all the freedom that allows to development teams, it seems odd to see it suggested that it is best practice to avoid the very features that distinguish a source control system from a Wiki. … Read more
28 March 2014
28 March 2014

D.R.Y. with SQL Scripts

Developers strive to write well-tested, reusable code with well-defined interfaces so that when they need to update the functionality, they need do so in one place only. It is the principle of ‘Don’t Repeat Yourself’ (D.R.Y.). However, it is common for developers to be poor at applying D.R.Y. to their own past work. When it … Read more
14 March 2014
14 March 2014

Build, Buy or Rent?

In the pioneering years of the PC industry, people mainly created for themselves whatever tools they needed, because there wasn’t much of an option. I’ve lost count of the number of developers who claim to have invented their own text editor. These days, we simply buy the product or editing module that best suits our … Read more
14 February 2014
14 February 2014

DevOps Dilemma

The term ‘DevOps’ has been widely misunderstood because the different teams within any really substantial development project understand the work of the other teams so poorly. There will be several teams, including business analysts, technical architects (maybe), UX specialists, designers, testers, and developers. No development specialists, however, have until recently had the production environment firmly … Read more
17 January 2014
17 January 2014

Should IT Managers Code?

In one of his first ever Simple-talk articles, Phil Factor tells the story of a freelance Sybase programmer who created a reporting system using exquisitely complex dynamically compiled stored procedures, and then promptly departed when he failed to secure a doubling of his contract rate. As Phil struggled to make sense of the code, with … Read more
22 November 2013
22 November 2013

Cloud Insecurity

Often, one sees the views of those raising reasoned doubts about cloud security dismissed as fogeyish and cloud-phobic. Of course, it’s a persuasive argument that cloud security is actually a non-issue, since under-investment means that the on-premise infrastructure of many organizations is a less secure environment for their applications than the cloud. The ClimateGate evidence, … Read more