• Dealing with personal opinion in web design

    Luke Canvin

    Design can be a very subjective matter. All of us have our personal likes and dislikes when it comes to the appearance of the products, tools and websites we use, but it’s important for both the designer and client to set those aside when you’re working on a web design project. Websites are designed for their audience, for the users that the owner is hoping will visit and complete some transaction or task. As part of the user-centred design process,[...]

  • Developing apps for the Microsoft Surface tablet

    Luke Canvin

    Microsoft has just announced its entry into the tablet market, the Surface. Designed and manufactured by Microsoft, Surface will launch this Autumn and comes in two models: A more powerful, expensive, thicker & heavier (13.5mm, 903g) one running Windows 8 Pro on an Intel chipset comparable to the latest ultrabooks. This tablet will be able to run demanding desktop applications such as Office, Photoshop and others. An attachable stylus will also be available for handwriting and annotation. A cheaper, more[...]

  • Set up WordPress in the Cloud on Windows Azure

    Luke Canvin

    “The Cloud” is a term that we use to describe a way of hosting and running websites and applications where we ship off our files and databases to whomever we choose and have all the worries of managing the details of hardware, operating systems, networks and datacentres managed for us by them. This way, the specialists at the cloud provider can focus on providing a high quality, scalable platform, and the customer can focus on developing and deploying their website[...]

  • Debugging inside an SQL Trigger

    Luke Canvin

    Debugging inside an SQL Server Trigger can be incredibly difficult, since the data exists only in the scope of that trigger. However, there are a couple of techniques that can help. Raise an error You can output debug data from the Inserted and Deleted tables by converting it to a string via XML as follows: Declare @ErrorInfo varchar(8000) Set @ErrorInfo = Char(13) + 'Inserted: ' + Char(13) + IsNull ((Select * From Inserted FOR XML PATH('')), '') Set @ErrorInfo =[...]

  • ContrOCC User Group Meetings – May 2012

    Laura Walton

    We were delighted to welcome representatives from some 25 Local Authorities to Oxford this May for two more successful and enjoyable User Groups for ContrOCC , our complete contract management and financial assessment solution for social services. The meetings, one for the Children’s system and one for the Adults’, took place just down the road from our offices at Trinity College. Trinity has some of the most beautiful gardens and buildings in Oxford, and it provided us with a stunning backdrop[...]

  • Oxfordshire Young Enterprise County Finals

    Laura Walton

    OCC are very proud to continue our support of Young Enterprise in Oxfordshire. Young Enterprise is the United Kingdom’s largest business and enterprise education charity. Every year they help 250,000 young people learn about business and the world of work in the classroom under the guidance of volunteers from 3,500 companies. This year saw 550 young people aged 15 to 19+ set up 43 teams/companies, from 35 schools and colleges from across the county take part in the Young Enterprise[...]

  • Rank your SQL SELECT results

    Luke Canvin

    The third of a series of posts introducing handy functions built into SQL Server (2005 and above) to help you include interesting metadata about your SELECT statement’s results. Include row numbers in your SQL SELECT results Partition your SQL SELECT results into groups Rank your SQL SELECT results Rank() and Dense_Rank() If you’d like to rank your SQL SELECT result set by one or more factors then you can use Rank() or Dense_Rank(), which are best demonstrated with an example:[...]

  • Include row numbers in your SQL SELECT results

    Luke Canvin

    The first of a series of posts introducing handy functions built into SQL Server (2005 and above) to help you include interesting metadata about your SELECT statement’s results. Row_Number() If you’d like to include the row number of the items as they appear in your SELECT result set then the Row_Number function does exactly that. For example: Select SortName, Row_Number() Over (Order By Forename) As Row From T_Person Where Surname = 'Lawson' Would result in: SortName Row ------------------------- ------ Lawson,[...]

  • Stop serving insecure files over a secure connection

    Luke Canvin

    I’m sure you’ve come across IE7’s warning “This page contains both secure and nonsecure items. Do you want to display the nonsecure items?” Or IE’s more recent warning “Do you want to view only the page content that was delivered securely?” Other browsers have similar messages, which will rightly unnerve cautious internet users. These warnings are the result of the page being secured, delivered over HTTPS, but some of the page’s resources being delivered using HTTP. It’s a simple thing[...]

  • Foreign keys and deletion performance

    Luke Canvin

    Relational databases tend to be furnished with many foreign key constraints. These prevent some types of invalid data from being added to tables – you can think of them as an ASSERT if you’re more familiar with C# and the like. Normally, the performance impact is minimal, based on the following arrangement: The column being referenced by the foreign key will almost always be the primary key of its table. As such it will be indexed so that, when adding[...]

  • TortoiseSVN integrated into Windows 7 Libraries

    Luke Canvin

    TortoiseSVN 1.7 added some Windows integration goodness in the form of integration with Windows 7’s “Libraries” feature. Windows 7 Libraries are a way of giving a name to a group of related folders. You can then search the library, which will look through all the different folders you added to it. The important thing to remember is that all the folders you add to a library will remain in the same physical location. There are a few special, default libraries[...]

  • Display SQL messages instantly, mid-execution

    Luke Canvin

    Sometimes when you are running a long running script or stored procedure it’s nice to know whereabouts it has got to, often we put in print statements for this purpose. The problem is that half the time you won’t see the printed statement until SQL Server decides it can’t buffer anymore and shoves it back to the client (e.g. Management Studio) which may not be until it has finished in some cases. Instead of using print in these situations the[...]

  • International Congress on Telehealth and Telecare

    Laura Walton

    OCC represented Cupid for the International Congress on Telehealth and Telecare at the Kings Fund on 7-8 March. There was a lot of interest in the results from the Whole System Demonstrator which has established the benefits of telemedicine for chronic diseases. The European Commission was directly represented by speakers from the European Innovation Partnership on Active and Healthy Ageing. Cupid built links with two other FP7 projects, Chronious and inCasa.

  • OCC loves CuPiD

    Laura Walton

    Telemedicine is the use of telecommunication and information technologies in order to provide health care at a distance. Here at OCC we are involved in a number of telemedicine projects around Parkinson’s disease and the latest is CuPiD. Part funded by the European Union (FP7/2007-2013), the CuPiD project is developing and field testing home rehabilitation services for the major motor disabilities caused by Parkinson’s disease. OCC is responsible for transforming these services into telemedicine services; available in the home with[...]