Esendex Last Minute Sprint

In a change to normal development activities, this afternoon saw us do a bit of last minute preparation for a triathlon that Esendex is the headline sponsor for. It will, I guess, be business as usual on Sunday too for the Esendex Last Minute Sprint at Southwell with both Adam and Julian leading the way forward in the overall times for the eight staff members who will be competing.

Today we had a visit from Richard Stannard which was very worthwhile. Chatting to a world class althete was not only inspiring but he was full of useful advice. It has made the whole prospect of swimming, cycling and running at Silly-o’Clock on Sunday morning less daunting. I say morning, I think I need to get there just after the milk does, so its more a.s. (Apres Sanity) than a.m.

There have been times at the gym these last few weeks that I did question my own sanity for attempting this but it has been a great goal to aim for.

The motley crew from Sales, Operations and Development are joining in with the semi-professionals and this will be my first triathlon. I think Julian has such a good swim time that he’s starting on Monday (I joke!). Despite gunning for the wooden spoon prize I am just looking to have fun and make it around in one piece. Oh, and I’m also trying to aim to not be overtaken by Adam or Julian 😉

Thanks to Ewan for his kind words of support. I’ll let you all know how I got on (if I have the energy to type!)

The Night before iPhone

Twas the night before Friday, when all through the house, the PC was crashing, couldn’t talk to its mouse.
The taxi was booked for 5:20 with care, with hopes that a 16Gb iPhone soon would be there.
His fiancee was nestled all snug in the bed, while visions of multitouch danced in his head.
And to ensure that the world would hear news bit by bit, he’s set up and using Esendex‘s BlogIt!

Mobile post from the Esendex BlogIt service

The Next Release

The Development Board - under loadNow that the development team at Esendex Towers is growing, so is the pace. Nicholas has just posted the next set of tasks on the board for our next release in a few weeks.

As you can probably see, there’s not much cork left in view! Saying that, I’ve just seen the inch-thick pile of cards that Nicholas has just removed from the current release. Whilst electronic methods of project tracking might offer lots of improvements, there’s something satisfying about hearing the riffle of all our hard work!

Log4View

I just wanted to personally recommend a log view utility I’ve had the luck of finding recently, actually thanks to Ian again. Around October time, Ian contacted the logging.apache.org group asking :

“Does anyone know of an application that is capable of loading a log file that has been written to using the RollingFileAppender?”

He was answered by Ulrich Proeller, author of Log4View, saying that at the time his application didn’t support that but would process XML Formatted log files.

We’re currently using a ConversionPattern with a Rolling File Appender in Log4Net to custom-format the output of the logs. I did try swapping to the XML format briefly on my development machine, but the output logs really are only machine readable after that.

I recently got in touch with Ulrich as I spotted he’d added Pattern support to Log4View along with XML for file based logs. (For those who prefer network logging, there’s also excellent support for UDP and TCP appenders as well.)

Today, he’s sent me a preview beta copy of Log4View with the pattern changes made and I’m pleased to report it is performing very well. He informs me there’s a new version on the cards very soon which will include the changes he sent me today, alongside some other improvements which sound exciting.

For someone who has spent countless hours trawling through the vast amount of logs that our services can produce while we’re testing them, Log4View offers a very slick, well thought out way of exploring live or archive logs. Being able to specify the Log Level you want for each Logger it finds in the log files, supported by smart Filtering rules really allow you to find what you need quickly.

My thanks go to Ulrich for continuing to actively support his application and for the quick turn-around he’s done after I made suggestions.
If you use Log4Net, you should seriously consider both trialling and supporting Ulrich for his efforts in producing a very useful view on your logged data.

Having a Ballmer

“I would love to see all open source innovation happen on top of Windows”

Ballmer: All open source dev should happen on Windows | The Register

Obviously all that flapping up and down screaming “Developers, developers, developers, developers” (see after the break) has starved Steve Ballmer of critical oxygen supply to his brain of late.

He continued with his declaration that he will buy 20 web companies over the next five years. Wired reports a budget of between $50m and $1bn according to TheRegister.

“Those will be good acquisitions, and they’re important to us,” he said. “And they’re of strategic importance.”

Ballmer: I will buy 20 web companies a year | The Register
That just screams “Well you know we’ve got 10s of thousands of developers working for us, just a shame our culture isn’t providing the flexibility to allow them to come up with interesting new ideas, so we’ll just get other people’s ideas instead”.
Continue reading Having a Ballmer

Test Driven Documentation

Esendex fully embraces the idea of test-driven development (TDD), something I was introduced to during my time at Fujitsu-Siemens Computers.
Microsoft have just released a new MSDN site called the Tester Center Home. Whilst I’m sure its got some useful information on it, the matter-of-fact MSDN style doesn’t invite me to delve into it to find helpful hints and tips on TDD, personally speaking.
Continue reading Test Driven Documentation

Episerver and Page Languages

We’ve been doing some work recently using EpiServer, extending it to fit our needs, to support our new website look which is one of many new features coming soon. Having website content in more than one language reflects the international coverage that Esendex has.

We ran into a bug today which initially wasn’t easy to spot where adding a Page Language to an existing page was causing EpiServer to hang as it entered an endless loop of calls to a stored procedure called ‘netPropertySearchStringMeta’.

Continue reading Episerver and Page Languages

Stored procedure error handling in SQL Server 2000

Today, we’re continuing work on our multipart message aggregation upgrade for a future Esendex release.

One part of the investigations this morning has been looking into how we manage the database access as we add parts of an incoming message to it for later processing. As we have multiple servers processing inbound messages, there was the potential for two threads trying to write to the database simultanously with different parts of the same message. Both could look at the database and think there were no existing parts of a multipart message, and decide to try and insert a new multipart message record.

During this work we found out that SQL Server 2000 will still raise an SQLException error despite error handling put in T-SQL.
Continue reading Stored procedure error handling in SQL Server 2000

Credit card regular expressions

Following on from my previous post about credit card authentication with regular expressions, I thought I’d share my other discovery.
The BIN Ranges list I found showed a list of Visa cards which were designated ‘ATMOnly. Figuring these would be a good thing to filter out during validation.
There’s plenty of regular expression help about joining pattern matches with logical OR clauses, but what about wanting to specify patterns which prevent certain things coming through?
Continue reading Credit card regular expressions

Maestro, music please

We’ve been working on a change request to add Maestro to the credit cards that we accept for ecommerce payments. Switch started in 1988 but has now merged with the Maestro network owned by MasterCard in the UK.

Until recently, if you took Switch payments then UK customers who had new Maestro cards would still be ok (as long as you accepted the new 6759 prefix for your payments) however with the merging of the worldwide card base there’s a whole new set of card numbers which need validating.

A quick search on 18-digit Maestro cards that HSBC have been issuing raised a few e-commerce shopping cart forums where people were confused about these new card types. So I thought I’d share my findings:
Continue reading Maestro, music please