• Chris’ thoughts on HTML5 Canvas, SignalR and Git

    Chris Griggs

    HTML5 Canvas HTML5 canvas is a powerful little container for graphics which I only used the smallest set of features of. Other features to explore would be changing of line colours/styles, and of drawing shapes. There are also other algorithms for drawing lines (Bezier/Quadratic) that might lead to smoother lines. Problems arose due to different implementations between web-browsers; chrome seemed to fare the worst here, especially when reporting the position of events. Some of the other features of HTML5/CSS3 I[...]

  • Andrew’s thoughts on Git, Xamarin and SignalR

    Andrew Wroe

    My focus for DevCamp was building an Android app that would interact with the presentation web app in realtime. For that we made use of a toolkit called Xamarin, as well as the ASP.NET SignalR library, and Git for source control. Xamarin Xamarin is a toolkit that allows you to use C# to write code for native Android and iOS apps. I had a good experience with this overall. I hit a small bug where changing the namespace caused a[...]

  • Mel’s thoughts on SignalR, AngularJS and TypeScript

    Mel Mason

    I spent most of the DevCamp week working on the client applications: the presentation itself (minus the annotations and the graphs), the secondary screen and the audience view. So the new technologies I spent most of my time on were AngularJS and TypeScript, with a little time spent on SignalR. SignalR I didn’t spend much time delving into SignalR, mostly because I didn’t need to. The code to set up a connection between clients and server is very concise and[...]

  • ContrOCC Hackday III

    Luke Canvin

    We’ve already made it to the third of our successful product hackdays, giving our developers a day to work on tweaks, gripes, improvements, or whole new features of their choosing and then sharing those with the rest of the team. The day’s projects Alan – Test scripting improvements I did some prototype work on a new version of our “TPA” test scripting language. I wanted to store a representation of the test objects and commands in the application’s configuration tables[...]

  • Implementing an HTML5 Canvas screen overlay

    Chris Griggs

    Part of our Dev Camp project this year involves being able to annotate a presentation slide using a mouse, finger or stylus. We instantly looked to the HTML5 Canvas element to provide a bitmap drawing surface. Sizing and scaling the Canvas When first trying to create a canvas that overlaid the screen I discovered that they had two height/width properties. canvas.style.height/width – CSS attributes canvas.height/width – DOM properties The CSS attributes can take percentage values (100% in our case), the[...]

  • Using SignalR in native Android and iOS apps

    Andrew Wroe

    As part of this year’s Dev Camp we’ll be using the ASP.NET SignalR real-time communication library to synchronise between multiple views/clients of an HTML-based presentation. Some of those clients will be Android and iOS apps and so really we want to be able to use the SignalR library within those apps, and whilst we’re thinking about it, it’d be nice to be able to write the bulk of the code for those apps using C#. Not that long ago this[...]

  • .NET control value not pushed to binding source

    Peter Row

    I have just upgraded an old .NET 1.1 WinForms app that uses the CSLA Framework, to .NET 4.0 and a newer version of CSLA. A large part of the reason for doing this was the data binding improvements, for example: being able to update binding on change instead of when validating (losing focus). I have several custom user controls, one of which was a NumberBox. Essentially it’s just a textbox with a few properties such number type, decimal places etc. I exposed[...]

  • Converting C# to JavaScript

    Neil Bevis

    We were recently approached by a client who wanted to create a tablet app that would work offline and yet implement a large, complex C# library that was already being called by their website. For platform flexibility, the decision had been made to build a HTML5 application and therefore our main challenge was in converting the C# library to JavaScript. SharpKit We opted to use SharpKit, which is designed to help C# developers generate JavaScript easily. It is indeed successful[...]

  • Our work experience student – Keith

    Janine Smith

    Keith, from Burford School, just spent a week doing coding for one of our research projects. Here’s what he said about his time here: “I really enjoyed my experience at OCC – I’d done quite a bit of programming before, but never in large projects. Working at OCC, I learnt lots about project control and teamwork in programming, as well as learning about new technologies such as MVC 4 and Razor. When I got a placement, I thought I would[...]

  • Converting code from MATLAB to FORTRAN 95

    Tim Palmer

    Recently, OCC completed a project converting MATLAB code to FORTRAN 95 which presented us with some interesting problems due to their differences in the treatment of variables, functions and matrices. This article describes how we solved those problems. Variables The most noticeable difference between the two languages is that MATLAB is dynamically typed, while all variables in FORTRAN are declared at the top of the scope. In FORTRAN, variables must be declared before use. A major challenge of converting dynamically[...]

  • ContrOCC Hackday II

    Luke Canvin

    After the success of our first ContrOCC hackday, we’ve decided to hold one every four months, to give the team a day to work on things that they think would make ContrOCC a little nicer in some way, for users or developers. The day’s projects Alan upgraded as many of our Visual Studio solutions as possible to VS 2012.   2012 improvements include better support for working with JavaScript, out-of-the-box support for the NuGet package manager, the long-awaited “collapse all” feature[...]

  • NHS Hack Day – Dementia Scrapbook

    Reynold Greenlaw

    Over the last weekend in January I attended the NHS Hack Day at the John Radcliffe Hospital in Oxford, with friends from Step Up Software and Dr Doctor. NHS Hack Days are weekend events that brings together doctors, nurses, developers, designers, and other “geeks who love the NHS” to create disruptive solutions to problems in the health space. Our team worked together on a novel application called the Dementia Scrapbook – a tablet app that allows content to be uploaded[...]

  • ContrOCC Developer’s Hackday

    Luke Canvin

    We recently held the first ContrOCC Developer’s Hackday, which was all about giving the team some time to work on things that would make the product a little nicer for them in some way. For example: A development task or bug that’s getting on their nerves but which isn’t getting scheduled Improving developer tools Experimental development which might or might not work A prototype solution or toy program to demonstrate an interesting idea A spec or mockup for something more[...]

  • Replacing trigger-based validation with foreign keys

    Julian Fletcher

    Several techniques are often deployed in well-designed databases to minimise the amount of invalid data. Common ones include: Check Constraints– checks that can be made on a single row in a single table, for example: StartDate <= EndDate Height > 0 Age < 199 Unique Indexes– to make sure we don’t have duplicate entries in a table, for example: National Insurance Number Car Registration Number Triggers – a last resort for cases where “it’s complicated” or we have to check[...]