Bloggin in the UK RSS 2.0
 Monday, March 08, 2010



We have been using nServiceBus in production for over 6 months now, we have had a very positive experience, so I wanted to show how we have been using it with some real world examples. One implementation we have just released handles inbound SMS messages and checks the sender's number to see if they are an existing or new customer then reacts accordingly.




1) Our SMS provider calls our http handler (hosted in IIS) each time an inbound SMS is recieved.
2) The http handler calls the SmsGateway via a WCF service, which in turn publishes an InboundSmsMessage to the bus.
3) The Subscriber receives the InboundSmsMessage it interrogates the database to see if this is an exising customer or not.
4) Finally is sends a command to the worker service depending on whether this is an existing customer or not.
5) If the SMS is not from an existing customer then the worker initiates a call between the number and a CS agent.

Benefits of this approach

If their is a sudden surge in inbound Sms messages due to a successful advertising campaign we can control processing to avoid degrading overall system performance. We could further isolate our message processing from the core system by creating a cache on the Subscriber of all existing customer's mobile numbers. This cache could be kept up to date by the publishing new customer messages.

If other services need to know about inbound SMS message say for invoice reconcilliation or just marketing reports they can subscribe to the messages and aggregate them. This can be done in realtime to allow the marketing team access to a dashboard that provides feedback on the effectiveness of their campaigns.

The most obvious benefit is that the Sms Gateway is autonomous, and the services that subscribe to the inbound messages need no understanding of what an SMS message is or it's semantics.




Monday, March 08, 2010 4:08:52 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] -
nServiceBus
 Saturday, February 27, 2010

These are listed best first, if the app is only relavent to UK users like myself it will have #UK after


Ebay

The Ebay iphone app is awesome, with only 480x320 pixies Ebay have managed to create a user experience that blows away it's own website. Admitedly the the Ebay website does not set the bar very high. The UI is clean and functional search is easy and it remembers your searchs. Once you have found the item you wish to bid on or buy it takes only 3 clicks to enter your bid and one more to confirm. For me this is the app that all other shopping app's should aspire to.

Tube Map - #UK

A great tool to help you navigate Londons Underground

Ping

Great tool for techies allows you ping, tracerout and telnet.

Twitterific

One of several twitter clients available very handy for catching up on twitter.

Facebook

No explanation necessary

Saturday, February 27, 2010 3:18:39 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] -

 Wednesday, February 24, 2010
OS: Windows 7 64bit Home Premium
VPN Client: Shrew Soft

Updates installed:
Definition Update for Windows Defender - KB915597 (Definition 1.75.1050.0)
Security Update for Windows 7 for x64-based Systems (KB971468)
Cumulative Security Update for ActiveX Killbits for Windows 7 for x64-based Systems (KB978262)
Security Update for Windows 7 for x64-based Systems (KB975560)
Windows Malicious Software Removal Tool x64 - February 2010 (KB890830)
Update for Rights Management Services Client for Windows 7 for x64-based Systems (KB979099)
Security Update for Windows 7 for x64-based Systems (KB978251)

Solution:
Turned off firewall for internal / private networks

Wednesday, February 24, 2010 9:15:42 AM (GMT Standard Time, UTC+00:00)  #    Comments [0] -

 Sunday, January 24, 2010
We have been recruiting lately and so I have been interviewing lots of developers. We need a good all rounder someone who has a good grasp of building public websites in an OO style and is comfortable with TSql, Unit Testing, Web Services etc.

Most of the candidates interviewed have been technically strong enough as the skills required are fairly common. The other key part to this role is to act as a sounding board for brainstorming the options on how a new piece of functionality could be implemented e.g. how long it is likely to take and the options available. To do this a good high level understanding of the structure of the application and the object hierarchy would need to be developed first so were looking for a candidate who can quickly get to grips with the existing codebase. Finally we need someone who can work closely with the product manager with the specs and can interpret the specifications and fill in the blanks.

So on the face of it, not to demanding a job spec, but on top of this the position calls for some great interpersonal skills and professionalism. These are my own thoughts on what constitutes a 'professional' developer.

  • Does not rush code into production.
  • Knows when code is ready to be deployed to staging.
  • Understands the importance of system security
  • Understands why writing code that is testable is important.
  • Knows how to write useful unit tests.
  • Assumes newly written code will fail until this has been proven not to be the case by testing it.
  • Understands why a development team needs coding standards.
  • Understands why logging is important and what to log.
  • Makes life easy for those who must deploy the application
  • Understands the importance of documentation and how to write and maintain useful documentation.
  • Makes code as readable and understandable as possible.
  • Develops a good understanding of the business in which they work.
  • Is open to new ideas and enjoys debate.
  • Adopts a realistic & optimistic attitude to new business ideas.
  • Enjoys solving problems and working together with others.
  • Understands the value of prototyping and production experiments.
  • Offers support to co-workers
  • Is passionate about writing software
  • Continuously strives to improve their own skill set.
  • Is constantly evaluating new tools and technologies.
  • Has an opinion.
  • Admits when they do not know something or are weak in a particular area.
  • Admits when they make a mistake and identifies ways of not repeating the same mistake.
  • Can evaluate the risks of a particular approach.
  • Is fun to work with and enjoys their job.
  • Takes responsibility for solving a problem regardless of whether they caused it or not.
  • Communicates when a project is falling behind and takes action to remedy the situation.
  • Is enthusiastic.
  • Is proactive at suggesting new / better ways of doing things.

Sunday, January 24, 2010 10:06:04 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] -

 Tuesday, January 05, 2010
Well Santa very kindly got me a new laptop for christmas, I will record my user experience here.



Firstly let me clarify which version of this machine I have and it's spec, Acer have not marketed this product and it's cousins very well.

Spec:
  • Screen 13.3" 16:9 - Max Res: 1366 x 768
  • Weight 1.6 Kg
  • No Optical Drive
  • Battery 5600 mha - claimed life 8 hrs
  • CPU dual core ULV 1.3 Ghz U4100
  • RAM 4GB
  • OS Windows 7 Home Premium 64bit
  • HD 250GB
  • Built in Webcam
  • PSU 65w
Cost ~£500 can be found cheaper on a few sites.

First Impressions

It is light and feels well put together. The keyboard is very different from my old dell x300, it has mac style flat keys which I am starting to prefer. I will be using it mainly for development in visual studio and Sql server 2008. Installing these applications took some time but not too long.

I removed most of the software that came bundled with the machine I find this a nuisance but I'm sure it allows manufacturers to reduce prices. Windows 7 is a breath of fresh air but as I have never used vista there is a steeper learning curve. The first thing I did was setup a quick launch toolbar. It is starting to become clear the quick launch bar is redundant now you can pin programs to the task bar.

Second Impressions

I have been using this laptop for just over a month now so have some feedback. Generally I am enjoying one annoyance is the single button pivoted mouse buttons. The main problem is the action of the button require too much pressure and you cannot feel if you are ove the left or right click. Other than this one annoyance it has been a very positive first month, I think most of this is down to moving from XP => Win7. Battery life is impressive on light duties 8 hours is achievable with constant use 5 hours no problem.

How to create a factory default disc

Acer do not supply a recovery disc, instead they supply software to allow you to create your own discs. If you have an external DVD burner and three blank DVD's you'll have no problem. If not you can download the demo version of Virtual CD v10 (google it) this will allow you to create a virtual DVD burner and create three ISO files that should be kept somewhere safe or burned to DVD using another PC. Should you need to recover your machine you will probably have to go and purchase an external DVD drive to perform the recovery process.

Cisco VPN on Windows 7 64bit

This is probably an edge case but I could not get my hands on a version of a Cisco VPN client that would run under my OS. Our IT guy pointed me to the Shrew Soft Vpn (google it) Client. If you have .pcf files for your VPN connections these can be imported. I have only just tested it and I have just had a BSOD so watch this space to see how I get on. One negative point is that you have to type in your username + pwd each time you connect. In the Cisco client it remembered your username.


Tuesday, January 05, 2010 9:19:14 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] -

 Wednesday, December 16, 2009
http://monty-says.blogspot.com/2009/12/help-saving-mysql.html

Sun acquired MySql now Oracle are trying to acquire Sun, this could be bad for companies that use MySql. It seems likely Oracle will kill off MySQL by starving it of resource in order to protect it's current database products.

So if you are using Microsoft Sql Server and have a big smug smile on your face I would urge you to think about what Microsoft's reaction to the death of MySql will be. Ask yourself would they be offering all the free / low cost versions of Sql Server if MySql had not been around as a viable alternative?

It looks like the only hope is the EC who are worried about the effect Oracle buying Sun will have on competitivness in the market place, if this effects you read the blog post linked to at the top of this post it advises you what you can do about this.

Wednesday, December 16, 2009 9:48:10 PM (GMT Standard Time, UTC+00:00)  #    Comments [6] -

 Tuesday, November 03, 2009
We have started using xStarter to automate tasks, here are some notes on how we have set it up. These notes are for our own record but may be of some use.

To download a trial copy of the software visit: http://www.xstarter.com/

OS: Windows 2008 Server
Version of xStarter: 1.9.3.85

Pre-Requisites

We have found that unless UAC is disabled for the account that the xStarter Service account runs under that it's scheduled jobs will not start. Note to change this go to Control Panel > User Account > Turn UAC on or off. You should be aware for changes to take affect the server must be restarted so this should be done before the server is put into production if restarting will be an issue.

Installation

If you plan to run the xStarter Service under a domain account not your own windows login then log on to the server with the chosen account and install xStarter.
Select a large disk preferably not the OS drive, xstarter will use this drive during large FTP operations so plenty of space will be needed.
Select "Create Start Menu for All Users" during setup.
This final dialog should look similar to this:

After running the setup program go to Start > Programs and select 'Install xStarter NT Service'. Then create a shortcut to the xStarter Configuration utility on the quick launch.


Configuration

When you run xStarter for the first time complete the following tasks.
- Preferences > Run as NT Service
- Help > Registration - Enter the licence key

Trial Version

The trial version is functional for 30 days after installation but will remind you to register each time you start the configuration tool.

Veridict so Far

We really like the FTP Sync feature that allows a local folder to be sync'd with a remote FTP folder or the other way round, this saved us a lot of time and made our download processes more robust.

We are not particularly fond of the scheduler UI but it is functional and flexible.

Updates

I will post more as we become aware of the god the bad and the ugly.



Tuesday, November 03, 2009 11:28:49 PM (GMT Standard Time, UTC+00:00)  #    Comments [1] -
xStarter
 Monday, September 14, 2009

If like me you listen to spotify at work on speakers and would like to allow your workmates to be able to select tracks then you can use the collaborative playlist feature.

One person in the office needs to create a new playlist, call it somthing like 'Office' then right click on the playlist and check 'Collaborative playlist'. Then right click again and select 'Copy Spotify URI' then simply paste the link into an email and send it to your work colleagues. They have to paste it into their spotify and they will be able to see the playlist, add to it and re-order it. They cannot pause or skip the track though. When the last track in the playlist has finished the music stops.

When we started using this feature we discovered some of the team had eclectic taste so you might want to be selective about who you send the link to. If you use this in conjunction with the spotify remote tool that I blogged about a few weeks ago, your colleagues can have complete control.
Monday, September 14, 2009 6:42:57 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] -

Archive
<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2010
Charlie Barker
Sign In
Statistics
Total Posts: 163
This Year: 5
This Month: 1
This Week: 1
Comments: 76
Themes
Pick a theme:
All Content © 2010, Charlie Barker
DasBlog theme 'Business' created by Christoph De Baene (delarou)