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
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
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
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
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
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
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
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
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
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
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
It is useful to know that a SQL Query is slow, but it is even better to know why. To do this, we need to see how SQL Server’s Query Optimizer has translated the query into something that it can execute, and what happened at each stage of execution, and for this we need to … Read more
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
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
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
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
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
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
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
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