Tag Archives: AngularJS

A Prime Year

So 2017! Let’s hope you turn out to be a good one.

I guess traditionally I should be using this post to make my predictions about the industry and technologies I’m engaged in to demonstrate thought leadership. The truth is I think I’m going to be arrogant and let the industry catch up a bit first with all of the innovations I have spent the last two years working on. Sure, I have forward looking plans based on what I think will be prevalent trends and requirements in the year ahead but sometimes you have to live in the moment and execute on what is imminent.

My team will be busy through Q1 with the migration of a large part of our operations to Plunet. Then we have the ramping up of a major new account that we were awarded last year.

Development has re-started slowly it has to be said with some small tasks that were started before Christmas taking an annoyingly long time to get finished. Or maybe I’m getting increasingly impatient.

Q1 will almost certainly see an update to Ocelot. We are trying to simplify and expand the configuration of plug-ins and the user interface so that you launch with windows and tools in a state ready to go.

I’ve resumed the Angular 2 and F# learning I started last year. Using Angular I’m writing a web-based string translation editor component which I hope will be simple in operation and blisteringly fast. With F# I started by writing some basic NLP utilities such as string tokenization and n-gram generation. I would like to try and re-write some of my Review Sentinel machine learning algorithms but I’d be surprised if I get all of that done this year.

So I’m going to finish this post by wishing you all and your families a safe, enjoyable, productive, and happy year.

A Busy 4 Months

The last four months have been some of the busiest and productive I’ve known. Achievements relate to Machine Translation, dash-boarding, workflow integration, Ocelot and the FREME Project.

MT, dash-boarding and workflow integration are a widening of our adoption 18 months ago of enterprise integration patterns. Two new strategic hires covering the skill sets of ASP.NET Web API, AngularJS, Java Spring and SOAP services are about to deliver high impact tools and automation.

Ocelot and FREME have also made great progress following my third recent hire.

I finally joined the XLIFF Technical Committee and look forward to contributing to what I believe is a fundamental technology in our industry.

I’ll try to post more about each of these in the near future. Suffice to say the rumors of my demise based on lack of posts are unfounded.

Review Sentinel Document Profile Dashboard

I have been working for the last few weeks on designing a new intuitive way to visualise Review Sentinel conformance data at a document level.

Ideas have culminated in what I’m calling a Document Profile. This is essentially a scatter chart of the individual segment conformance scores sorted by score in ascending numeric (descending conformance) order. This is plotted and labelled with a single overall numeric indicator for the document.

Conformance scores cannot be naively aggregated (summed or averaged) because a document with a large number of good conformance scores and few very poor conformance scores could conceivably give an overall result similar to a document that contains all medium severity conformance scores.

Instead we have identified a threshold score which ideally the vast majority of segment scores would fall below. We can then express the number of segments below this threshold as a percentage of the whole document.

Having prototyped the graphing in Microsoft Excel, we had to find a way of mimicking it on the web. I settled on two relatively new open source JavaScript libraries: D3 and AngularJS.

D3 was easy to come up to speed on. There are masses of sample charts on their web site and as always a good Pluralsight course. I was able to prototype quickly and easily using Plunker, JSFiddle, etc.

It’s a testament to Angular’s clear, concise and modular architecture that I was able to learn everything I needed to without writing practically a line of code. I have few slots of contiguous focus time these days but I was able to pick an Angular concept (scopes, binding, directives) and study it for an hour here and there (on planes, buses and walks). I then did all of the coding practically in a single sitting.

The finished article is small, modular, elegant and very easily enhanced.

I’ll leave a deployment here for a short while for people to play with. The data is for one US English source document machine translated into three languages: Spanish, French and Brazilian Portuguese. Three charts show the conformance of the raw MT output against a human translated reference corpora and the fourth shows the conformance of the Brazilian Portuguese document after post-editing (using directed post-editing effort in Ocelot).

Old Dog, New Languages

I think I’m becoming a fan of JavaScript – or at least some of its facilities and a few frameworks that are built on top of it.

When you get to know about JavaScript’s beginnings it’s not so surprising why it is quirky.

My desire to up-skill for JavaScript is my desire to render Review Sentinel Document Quality Profiles on the web. So I have been reading and watching a lot about D3.js and AngularJs. D3 has nice function chaining but I find some of its constructs tricky despite understanding its underlying enter, update, exit pattern. Angular I love even though I’ve only touched the surface.

My learning was aided by the PluralSight JavaScript for C# Developers, and AngularJS for .NET Developers courses.

Here’s what the current beta version looks like: