Job – Edinburgh – Developer – C# or C++, SQL, ASP.NET, ASP, OO, XML, XSL, MFC, Office

Company: Pilgrim Systems
Job Title: SOFTWARE DEVELOPER
Description: Are you a real programmer looking for a proper development job? If so, read on. As Joel Spolsky says “The most satisfying careers, if you’re a software developer, are at actual software companies, not doing IT for some bank”.

We’re looking for experienced software developers to assist in the design and development of our new suite of software tools for the legal sector.

Due to the ongoing evolution of our legal software you will be at the forefront of developing the next generation of LawSoft software, utilising the technologies such as .Net, C# and XML. In addition, you will be involved in delivering software enhancements to meet specific client needs.

Your main responsibilities will include:-

· Developing & maintenance of code that adheres to the Company coding standards
· Production of high quality software
· Writing specifications and estimating development project timescales and milestones

Candidates must have 3 years work experience in the following:
· C# or VC++
· SQL
· ASP.NET & ASP
· Object-oriented design

The following skills are desirable:
· XML/XSL
· MFC
· Microsoft Office Development

You must have the following:
· Good interpersonal skills
· Educated to degree or similar qualification
· Ability to communicate well both orally and in writing
· Ability and interest in learning new technologies
· A demonstrable interest in a career in software development
· Team player

Closing Date 23rd July 2007

Negotiable salary and benefits package

If you are interested in the above position and would like to be part of a growing company please email your CV to jobs@pilgrimsystems.com quoting PILG/072.

About Pilgrim Systems

Pilgrim Systems is an Edinburgh based software house developing complete IT solutions for law firms. Founded in 1978 the company has established a dominant position in the Scottish legal market and has become a leading supplier of legal IT systems in England and Wales.

Technorati Tags: , , , , , , , ,

004 – Community Podcast – Barry Carr, Gary Short, Hamish Hughson – North East of Scotland User Group

The first one with the music…and where we say thank you to the backroom folks, the Microsoft events staff, catering staff, security staff, etc. – all the folks that make events happen, but rarely receive any thanks.

In this, the fourth Community podcast, I spend a few minutes chatting to Barry Carr, Gary Short and Hamish Hughson of North East of Scotland .NET user group about the relative merits of “joining an IT-focused user group”. Recorded in The Riverside in Reading, it was raining, there were 40+ folks around – I was lucky to get some time to catch up with these guys as they start out with their user group. I was also able to elicit their thoughts on some of the DDD5 sessions that managed to attend. It was raining, so I had to filter the audio a little…hang in there, it’s still very understandable.

Download the podcast here. If you recognise the lady at the start and end of the podcast, well done, it’s Dave’s wife – she also does the NxtGenUG leader and trailer audio! Transcript to follow.


I have a new podcast feed available too, you can subscribe to it here – and it works with Apple’s iTunes!

Related posts:
Podcasting – great advice
001 – Community Podcast – Dave McMahon, NxtGenUG
002 – Community Podcast – Ravi Nar – VistaSquad
003 – Community Podcast – Guy Smith-Ferrier – DotNetDevNet

Related blogs:
Barry
Gary
Hamish

Technorati Tags: , , , , , , , , , ,

003 – Community Podcast – Guy Smith-Ferrier – DotNetDevNet

In this, the third Community podcast, I spend a few minutes chatting to Guy Smith-Ferrier of DotNetDevNet user group about the relative merits of “joining an IT-focused user group”. Recorded on the day before DDD5, in a car, hence the background noise – I had to filter this a little to get rid of the engine noise, so apologies now for the sound quality. It’s still clear enough to hear everything that’s being discussed!

Download the podcast here. If you recognise the lady at the start and end of the podcast, well done, it’s Dave’s wife – she also does the NxtGenUG leader and trailer audio! Transcript to follow.


I have a new podcast feed available too, you can subscribe to it here – and it works with Apple’s iTunes!

Related posts:
Podcasting – great advice
001 – Community Podcast – Dave McMahon, NxtGenUG
002 – Community Podcast – Ravi Nar – VistaSquad
004 – Community Podcast – Barry Carr, Gary Short, Hamish Hughson – North East of Scotland User Group

Technorati Tags: , , , , , , , , ,

002 – Community Podcast – Ravi Nar – VistaSquad

In this, the second Community podcast, I spend a few minutes chatting to Ravi Nar of Vista Squad about the relative merits of “joining an IT-focused user group”. Recorded on the day before DDD5, we were sitting in a pub in Wargrave which itself sits on the river Thames. It was a great location to being podcasting from!

Download the podcast here. If you recognise the lady at the start and end of the podcast, well done, it’s Dave’s wife – she also does the NxtGenUG leader and trailer audio! Transcript to follow.


I have a new podcast feed available too, you can subscribe to it here – and it works with Apple’s iTunes!

Related posts:
Related posts:
Podcasting – great advice
001 – Community Podcast – Dave McMahon, NxtGenUG
003 – Community Podcast – Guy Smith-Ferrier – DotNetDevNet
004 – Community Podcast – Barry Carr, Gary Short, Hamish Hughson – North East of Scotland User Group

Technorati Tags: , , , , , , , , ,

001 – Community Podcast – Dave McMahon, NxtGenUG

In this podcast, the first of many, I spend a few minutes chatting to Dave McMahon of NxtGenUG about the relative merits of “joining an IT-focused user group”. Recorded on the day before DDD5, we were sitting in a pub in Wargrave which itself sits on the river Thames. It was a great location to being podcasting from!

Download the podcast here. If you recognise the lady at the start and end of the podcast, well done, it’s Dave’s wife – she also does the NxtGenUG leader and trailer audio! Transcript to follow.


I have a new podcast feed available too, you can subscribe to it here – and it works with Apple’s iTunes!

Related posts:
Podcasting – great advice
002 – Community Podcast – Ravi Nar – VistaSquad
003 – Community Podcast – Guy Smith-Ferrier – DotNetDevNet
004 – Community Podcast – Barry Carr, Gary Short, Hamish Hughson – North East of Scotland User Group

Technorati Tags: , , , , , , , ,

.NET – XML and XPath

I have been receiving a few requests for my now elderly Delphi XML/XPath examples to be brought into the world of .NET. Similarly, I have seen a lot of newsgroup posts about using XML and XPath expressions, particularly those XPath expressions that can be used to “query” the XML “database”.

The most popular request seems to have been for my “employee” selector demonstration:

It’s a small application that lets you load some XML (employee data) into an XML document. It then lets you fire a handful of XPath expressions at the XML document via the use of the SelectNode methods. It demonstrates selecting specific employees using a combination of conditions; there’s a mixture of XPath that looks at element values and one that looks at an attribute value. I’ve revamped it slightly, noteably I’ve made a few minor changes to bring it into line with current W3C standard (as enforced by .NET’s SelectNodes method).

[code lang=”XML”]
[XML]



Nelson
Roberto
250
40000


Young
Bruce
233
55500



[/code]

[code lang=”C#”]
[C#]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using System.Xml;

namespace XML
{
public partial class Form1 : Form
{
XmlDocument doc;

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
doc = new XmlDocument();
doc.Load(“employees.xml”);

textBox1.Text = doc.OuterXml;
}

private void handle_xpath(String xPathExpression)
{
XmlNodeList result;
XmlNode root = doc.DocumentElement;

result = root.SelectNodes(xPathExpression);

label1.Text = String.Format(“{0} items returned”, result.Count);

textBox3.Clear();
foreach (XmlNode x in result)
{
textBox3.Text = textBox3.Text + x.OuterXml + Environment.NewLine + Environment.NewLine;
}
}

private void button2_Click(object sender, EventArgs e)
{
handle_xpath(“.//employee”);
}

private void button3_Click(object sender, EventArgs e)
{
handle_xpath(“/employees”);
}

private void button4_Click(object sender, EventArgs e)
{
handle_xpath(“/employees/employee[1]”);
}

private void button5_Click(object sender, EventArgs e)
{
handle_xpath(“/employees/employee[last()]”);
}

private void button6_Click(object sender, EventArgs e)
{
handle_xpath(“/employees/employee[emp_salary>30000 and emp_salary<35000]"); } private void button7_Click(object sender, EventArgs e) { handle_xpath("/employees/employee[emp_salary>30000 and emp_salary<35000 and emp_salary[@currency='UKP']]"); } private void button8_Click(object sender, EventArgs e) { handle_xpath("/employees/employee[emp_salary > 50000]/emp_lastname”);
}

private void button9_Click(object sender, EventArgs e)
{
handle_xpath(textBox2.Text);
}
}
}
[/code]

The source code is available here [60k].

There’s a short 60 second movie of the application in use here [748kb]. Courtesy of TechSmith’s Camtasia.

Technorati Tags: , , , , , , , , ,

Podcasting – great advice

If you’re thinking about getting into podcasting, the chaps over at NxtGenUG have some great advice!

Rich and Dave recorded a podcast live during a recent presentation they gave to a bunch of us IT Community/user group folks here in the UK. It was highly informative and entertaining – I would expect nothing less from Rich and Dave!

One key takeaway that the boys gave us was the need for a transcript for your podcast – this has huge benefits as the major search engines index the transcript text, thus helping people find your podcast! Of course, it’s open to abuse…I don’t know how it happened, but somebody mentioned “Paris Hilton” during the podcast, you can imagine the effect that’s going to have! I wonder what effect it might have on this posting?

The other nugget that I picked up on was the ability to augment RSS content such that Apple’s iTunes software can find your podcast too. I’m not a huge iTunes fan, but there are plenty of folks who are, so it’s a case of learning to target the many rather than the few. It revolves around the iTunes RSS extensions, an example of which you can see below. Apple have written up a spec, but there’s a good overview of the RSS extensions here. Kudos to Rich and Dave for opening my eyes (ii, both of them) to that one.

[code lang=”XML”]


NxtGenUG – PodCast RSS Feed
Dave and Rich on Technology
NxtGenUG
NxtGenUG Podcasts – A UK user group aimed at helping developers stay ahead of the game

Richard Costall
Podcast@NxtGenUG.net




http://www.NxtGenUG.Net Latest Podcasts brought to you by NxtGenUG
(c) 2006 NxtGenUG
5

The One With The Live Audience …
NxtGenUG
The One With The Live Audience …
http://www.nxtgenug.net/Podcasts.aspx?PodcastID=35
This is a first … Well for Rich and Dave anyhow, a round of applause on a podcast introduction! Its the first LIVE podcast, recorded at the Community Leaders Day (CLD) on 29th June 2007. In front of most of the UK key Community Leaders, plus a good crowd of the Microsoft DPE staff, Rich and Dave strut their stuff and talk about how they go about actually making podcasts. With a live audience and questions, this is a podcast with a difference, even by NxtGenUG standards … enjoy! http://www.nxtgenug.net/Podcasts.aspx?PodcastID=35 Thu, 05 Jul 2007 18:16:23 GMT
NxtGenUG, Microsoft, SQL Server, Audacity, Edirol, Podcast, iTunes
34:52



[/code]

Download their podcast here.

Technorati Tags: , , , , , , , , , , , ,

Chris Seary on Securing LINQ to SQL

Security expert, Chris Seary has written a thought-provoking piece about the changing role of the Database Administrator (DBA) now that database querying is becoming a feature in many .NET programming languages, via the use of Language INtegrated Query (LINQ). With developers writing code that effectively reaches into the database, it does present developers and DBAs with a cause for concern, especially where performance might be an issue. Chris discusses this problem and lays down the foundation for what it likely to be considered a future best practice.

On another note, Chris is now an independent consultant. If you need a security expert, give Chris a call. Check out his MSDN articles and slide decks. Chris recently spoke at DDD5 to a full-house, deliverying a good overview of his ‘Ten Top Tips for Securing Web Applications’.

Technorati Tags: , , , ,

DDD5 – another crowd-puller

I was really pleased with the way DDD5 turned out. It attracted the usual array of excellent speakers. The food was excellent (even though I gave my lunch bag away to a speaker!) The ice-cream was the perfect touch, it would have been one bit better had the weather been better!

Anyway, I recorded 11 podcasts, 8 of which will make it to publication – instead of sorting out all of my photos, I plan to get the podcasts ready first. I will post some pictures to this blog and to Flickr later in the month. Follow this link to keep up with what everybody else is saying about DDD5!

So, in the meantime, here are a couple of crowd scenes (the event attracted 300 people):

Technorati Tags: , ,

Microsoft Wireless Notebook Presenter Mouse 8000


Last weekend, I took delivery of a Microsoft Wireless Notebook Presenter 8000 mouse. It’s what I call a compact mouse, it’s only 3.73cm high, 5.63cm wide and 9.35cm long, yet it sports no less than 12 buttons! The mouse itself is based upon earlier designs with a few minor refinements – last year, I gave my boss one of the earlier designs, he said “it’s the best mouse I’ve ever used”.

Of course, it’s a “presenter” mouse, so it uses six of the buttons to cover next slide, previous slide, volume up, volume down. Rather neatly, one of the six buttons activates the embedded laser pointer. If you’re using PowerPoint, one of the buttons can be used to engage/disengage digital ink, which is really quite a time-saver.

But the real gem is the fact this mouse uses Bluetooth for its connectivity. This means that is will work over a greater distance than its regular wireless counterpart. The gem gets brighter when I tell you that the button just below the mouse wheel is used to disable the mouse operation and engage the presenter buttons – this makes it a delight to just pick up and “cruise the room” with it in your hand. Being Bluetooth, you can use the Bluetooth dongle to connect to other devices, such as your mobile telephone.

This is a great mouse, it essentially removes the need for me to carry around a mouse and a wireless presenter device. It comes supplied with a solid transparent carry case (with strap) which is also designed to carry the Bluetooth dongle. Another great feature is the battery low indicator – it has an LED that starts to glow red when the is battery low.

The July 2007 issue of TechNet Magazine has a competition on page 10 – you could win this mouse! Visit http://www.microsoft.com/uk/technetmagazine/hardware_competition for a chance to win!

Technorati Tags: , , , , ,

Craig Murphy: author, blogger, community evangelist, developer, speaker, runner