Click here to monitor SSC

Phil Factor


Phil Factor

String Comparisons in SQL: The Longest Common Subsequence

0 comments

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

0 comments

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

3 comments

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.

6 comments

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
Phil Factor

A Better Way of Installing and Updating Windows Packages

6 comments

A guest editorial for Simple-Talk. One of the most obvious drawbacks to Windows is the application update mechanism, or rather the lack of it. This is very likely to be remedied very soon. What is unusual about this is that Windows is likely to adopt a de-facto standard developed by the community, and based on […]

6 November 2014 7:40 pm by
Phil Factor

You Can’t Crowdsource Good Design

9 comments

More and more frequently, the chore of installing a new application is interrupted by the application asking you to allow anonymized data about your use of it to be sent to the application’s publisher. In the ‘startup’ culture, there seems to be an increasing acceptance that an application just needs to capture a particular business […]

26 September 2014 10:16 am by
Phil Factor

Calculating Public Holidays based on the Day of the Week

1 comment

Occasionally, I like updating old articles that I’ve written on Simple-Talk. Since I used to help Robyn Page with hers, I now and then do the same for her articles as well, with the kind permission of Simple-Talk’s editor. I was rather amused by this DateTime function, that was just derived from one of her […]

11 September 2014 5:41 pm by
Phil Factor

On Identifying the Real Stakeholders

14 comments

When it is appropriate, I’m sold on the idea of evolutionary development and delivery based on iterative and incremental phases as one’s understanding of the business domain increases. Even when we had plenty of trained systems analysts, and only primitive ‘waterfall’ methodologies, the requirements were all still vague and full of hand-waving generalities at the […]

17 July 2014 10:18 am by
Phil Factor

On Managing and Doing Stuff

8 comments

The titans of industry that founded the modern age didn’t just sit around sending each other emails (we called them Memos then), but they did stuff. This didn’t often merely involve talking loudly and waving their hands about, but really doing things. I’m a keen local historian and have read through many accounts, and even […]

3 July 2014 9:52 am by
Phil Factor

Developing a SQL Server Function in a Test-Harness.

0 comments

/* Many times, it is a lot quicker to take some pain up-front and make a proper development/test harness for a routine (function or procedure) rather than think ‘I’m feeling lucky today!’. Then, you keep code and harness together from then on. Every time you run the build script, it runs the test harness too.  […]

4 June 2014 5:51 pm by
Older posts