Click here to monitor SSC

Phil Factor

Phil Factor

Can Code Review Be Automated?


I was scanning the API of DacFx, the ‘engine’ of SSDT, and became interested in the facility it contains for automating SQL code reviews. DacFx allows you to parse the SQL code sufficiently to do static code analysis, to scan for heresies, deprecated code and code that doesn’t ‘conform to corporate policy’. Dave Ballantyne has […]

17 July 2015 11:38 am by
Phil Factor

UWP: The Platform Formerly Known as Metro


Three years ago, I listened to a keynote at a developer conference. The man from Microsoft beamed confidently at the vast auditorium and said “I can tell you confidently that in a year’s time, you will all be writing Metro applications for a huge marketplace”. We clapped, but as the keynote proceeded and we saw […]

21 May 2015 12:46 pm by
Phil Factor

Spinach and Database Development

1 comment

A little while ago Phil got to thinking about his garden, and the myths and misinformation that forced inferior food down the gullets of children. This was an example of bad data, and Phil wants it gone. Below is a video (and transcript) that Phil gave as the keynote of SQL Saturday Exeter. The Transcript […]

14 May 2015 4:16 pm by
Phil Factor

The Database Neighbours From Hell


In the Windows environment, there seems little safer for application design than a rather staid single-tiered architecture making ODBC/JDBC calls to the RDBMS. I can say this with years of experience in developing applications ranging from the dull but worthy, to the esoteric. However there is an interesting long-term cost to taking the easy route […]

9 April 2015 5:16 pm by
Phil Factor

Converting XML files to YAML or PSON


The other day, I needed to convert a whole stack of XML files to YAML.  Actually , I would have settled for a conversion to JSON, but for some reason, the built-in cmdlet wouldn’t do it. I was trying to figure out a way of doing the YAML conversion when I suddenly remembered I’d actually […]

13 March 2015 2:37 pm by
Phil Factor

For the Love of Stored Procedures


It is an exaggeration to say that I like stored procedures. They are an essential if somewhat dangerous part of the Sybase and SQL Server landscape, rather like a volcano, bog or swamp. If you use a stored procedure in the same way as a procedure in any other language, you soon end up in […]

27 February 2015 11:14 am by
Phil Factor

String Comparisons in SQL: The Longest Common Subsequence


Relational databases aren’t really designed to deal easily with arbitrary sequence, though this is improving with the window functions. Strings and text are sequences. Lists are often sequenced.  If you hear people describe an entity such as an invoice in terms of its ordinal sequence ‘the first invoice’ or  ‘the fourth invoice’, then you know […]

9 January 2015 3:02 pm by
Phil Factor

String Comparisons in SQL: Edit Distance and the Levenshtein algorithm


Sometimes you need to know how similar words are, rather than whether they are identical. To get a general measure of similarity is tricky, impossible probably, because similarity is so strongly determined by culture. The Soundex algorithm can come up with some matches but insists that, for example, ‘voluptuousness’ and ‘velvet’ are similar. Family genealogists […]

5 January 2015 5:57 pm by
Phil Factor

The Eight Fallacies of Distributed Computing


There are eight fallacies about distributed computing, common misconceptions that were first identified at Sun Microsystems in the 1990s, but well-known even before then: With the passage of time, awareness of  these fallacies may have faded amongst IT people, so I’d like to remind you of them. They are: The network is reliable. Latency is […]

30 December 2014 7:01 pm by
Phil Factor

String Comparisons in SQL: The Longest Common Substring.


I’ve always wanted a SQL function that tells me the longest substring shared between two strings. As a present to myself, I’ve written one. I hope someone else finds it useful. SQL isn’t particularly good at searching for strings within text. If you prepare things properly by creating inversion tables (inverted indexes), suffix trees  or […]

20 December 2014 11:04 am by
Older posts