We’ve started adding some tutorial videos to our new youtube channel. Check out our first one which introduces you to creating your first video interview assessment.
Sep 11
12
Avancert provides new technology to enable organisations with recruitment, electronic examination, and regulatory and high stakes assessment.
We have recently launched our new Video Assessment tool which is particularly useful for organisations working in the recruitment space. Video assessment is ideal for a number of recruitment activities such as candidate pre-screening and remote interviewing especially where candidates are in a different timezone and “live” interviews are difficult to arrange.
The Video Assessment tool allows you to create questions with set time allocations for answering. When your assessment is ready you email a link to the candidate to sit the assessment, all they need is a web browser, web cam and an internet connection. The candidates responses to each of your questions is recorded and once the assessment is complete an email is sent to you to alert you that the candidate has completed the assessment and you can review at your leisure.
This type of tool can be invaluable especially in the early stages of interviewing where so much time can be wasted conducting personal interviews with candidates with fantastic CV’s that would have been eliminated immediately if you’d had the opportunity to see them in person, Conversely it can also identify potential “diamonds in the rough” who’s CV’s may have not warranted further investigation, but who shine when given the opportunity to present themselves “in person”.
I encountered an issue with an NHibernate mapping today that took me a short while to solve so I thought I’d post here to remind myself in future.
I wanted to map a parent child relationship but only manage the persistence from the parent end. Here’s an example:
Blog -< Post
public class Blog
{
public Blog()
{
}
public virtual int BlogId { get; set; }
public virtual IList<Post> Posts { get; set; }
}
Which might have the following mappings:
The problem I was having was that saving the blog entity was causing a SQL exception complaining that BlogId wasn’t a nullable field on the Post table. In the end the fix was easy - remove the not null constraint!
The reason being that nhibernate likes to save the Post records first, then go back and update the foreign key values once it has saved the Blog entity.
Over the last couple of days I’ve started playing around with the razor view engine that comes with ASP.NET MVC 3. The first thing you notice is how much cleaner your markup pages look. It’s a real pleasure to code your markup without having to pollute it with masses of special code nuggets to demarcate your C# code. If you haven’t seen any examples yet check out Scottgu’s intro to Razor.
The error reporting still looks like it could do with a little work though. For example yesterday I put code very similar to this in my view:
@for(int i = 0; i < 5; i++) {
<p>@i.ToString()</p>
@}
And I got an error message like this:
Humm… “No overload for method ‘Write’ takes 0 arguments” - what does that mean? Well the answer is that the @ symbol before the closing curly brace isn’t needed. So the fix was simply to make the following change:
@for(int i = 0; i < 5; i++) {
<p>@i.ToString()</p>
}
I guess once you’ve used razor for even a short while things like this will become second nature, but it had me stumped for a short time and it’d be nice if the error messages due to view engine parser failures were slightly more helpful in identifiying the exact problem.
Sep 10
19
I’ve just been through the process of reviving my 68332 board that I got quite a few years ago from robominds. I wanted step debugging support and faster download speeds than are possible with the serial port connection so I downloaded the latest file package (m68k-bdm-1.4-pre4) from the bdm sourceforge project. I used the m683xx branch in the latest release as that is the culmination of Pavel Pisa’s work to support the 68332. The kernel driver needed a few minor modifications to support the modern 2.6.32 kernel that my Ubuntu distro is using.
The most modern gdb patch supplied to work with the kernel driver was targeting gdb 5.3 which is pretty old now given that the current release of gdb is 7.2. The challenge came when gdb 5.3 wouldn’t compile with a modern gcc due to gcc using stricter casting rules these days. Patching obstack.h using the same file from gdb 6.1 as an example solved this problem.
So now I have BDM support in GDB and step debug on my 68332 target board - happy days.
My patches needed in addition to those in the m68k-bdm-1.4-pre4 release.
Aug 10
26
A new server, a new look and a return to regular service after a bit of a hiatus from blogging.
I’ve returned to my computer vision project with a vengeance and am close to having the first part working. This includes feature location and tracking between frames, 3D reconstruction and ego motion estimation. The final piece of the puzzle is my old nemesis - Non-linear Least Squares Minimisation. For this I am using the levmar library implementation of the Levenberg-Marquardt algorithm. So far I have a partial solution in that it works well for translations, but not so well for rotations so I need to do a bit more work on that yet. Once that’s sorted the last piece of the puzzle will be implementing a kalman filter to merge the odometry data from the wheel encoders with the ego motion estimation from the vision system.
I’m simultaneously resurrecting AMI (my robotics research platform) and am working on a few upgrades for that. Getting the environment up and running was easy this time only a few hours to get the cross tool chain built and various other tools sorted and I was loading s19 records into the 68332 and seeing “Hello world!”.
I’m off to TechEd next week so that should be interesting!
Mar 09
21
Well, I am now in the closing hours of my last day of work at my current job. It’s been a challenging role and I have learnt a huge amount about the finance industry.
Looking forward to the future fills me with a huge amount of excitement mixed with a little bit of nervousness. It’s not every day you give up a well paying job, pack up your life and move country. I have no doubt that the next year will be full of challenges, but I am really looking forward to it all. I can’t wait to build my business into New Zealands best shopping comparison site.
But first, before anything else, I think it’s time for a holiday!
The internet is rife with misinformation.
As a developer you tend to depend heavily on searching for examples of how to solve a particular problem such as code snippets, and patterns and practices. There is very little ground breaking work and it is almost certain that someone has been there, done that, and blogged the solution to your problem already.
Problems arise when you choose the wrong source to trust. For example, today I was trying to figure out how to get ASP.NET not to render a name attribute for the form element as we are starting to target XHTML 1.1 compliance for BeforeYouBuy. A quick google came up with this.
Certainly the answer that is proposed is “a solution”, but it’s certainly not “the solution”. A slight modification to my search turned up this how to on the msdn site.
It’s really down to knowing where to look.
If you are getting an unexpected “Nested transactions are not supported” exception from your MySql database then you may have hit this bug.
I firstly suspected Spring.NET, then the MySql ADO.NET driver. We scratched our heads for a couple of days on this one before I found that bug report.
To make a long story short, simply commenting out the query_cache_size option in the my.ini file solved it. What effect this will have on performance I haven’t determined yet.