| Subscribe via RSS

How to Build Your Very Own VOIP Telecommunication Platform

January 4th, 2008 | 1 Comment | Posted in C#, Telecommunications, VOIP

I thought Christmas was over, but it obviously isn’t. Some hardware arrived in the office this week – but not just any old hardware. 04012008172For the price of a decent size family car, my employers ( the mighty Qire ) have bought me and the team everything we need to build our very own VOIP/ SIP/ IVR / VXML / CCXML telco!!!!

The kit is a development environment to enable us to build the worlds biggest and best Voice 2.0 telecommunication platform. It’s a reference architecture for us to get to grips with the finer points of SIP call initiation and interaction.

04012008171If you want to do the same, all you need is a handful of top flight super fast servers, some expensive text to speech, speech recognition licenses, a friendly SIP provider and some high spec military grade DSP boards.

04012008173It’s all powered by a custom build high performance C# management and delivery system that we have put together.

Once it is all working together, we will have a system that will give our clients access to the planets most advanced unified communications platform!

Exciting stuff I’m sure you will agree! Stay posted and I’ll keep the blog updated with our progress.

End of 2007 Roundup

December 31st, 2007 | Comments Off | Posted in ASP.NET

Well it’s been a fantastic year for me and mine so I’m just going to welcome a new year ( Liverpool Capital of Culture 2008 no less )  in with a bit of a recap and a few 2007 highlights.

Books of the Year
Programming WCF Services is the most authoritative textbook on Microsoft’s latest communication methodology. A great resource book that I have returned to again and again.

Non-Tech Books of the Year
Lexicon Devil: The Short Life and Fast Times of Darby Crash and the Germs is a fantastic word of mouth recount of the early days of the LA punk scene.
House of Leaves: Spooky shape shifting architecture story told in experimental prose. Most innovative book I’ve read for years.

Album of the Year
Panda Bear – Person Pitch is hands down winner. Super tight Beach Boys style harmonies over clever loops makes for a seductive mix. No hiphop in my end of year list. It’s been the worst year EVER for rap in my mind – even the new Wu, or Big Doe Rehab just don’t make the grade.

Booze of the Year
Both Makers Mark and Knob Creek have been well received around my way!

Event of the Year
The arrival of my daughter Kitty has been the most life affirming thing I have ever experienced. She is so clever and surprises me with new stuff every day. I’m so proud!

Next Year
I work with some pretty cool and clever people at Qire, it’s a great environment to make software in. We are doing cutting edge IVR stuff and gaining more prestigious clients every day. Next year we have some pretty tough targets to meet, but I’m going to do my damndest to make sure we get there. Also, I’m going to get right into VS 2008 and attempt to pass a couple more Microsoft certs.

That’s it! Have a happy new year!

Microsoft Exam 70-547 : Passed!

December 17th, 2007 | 2 Comments | Posted in ASP.NET

I took the Microsoft 70-547 Designing & Developing Web-Based Applications Using the Microsoft .Net Framework examination today and passed with a score of 900 out of 1000. I’m pretty chuffed to be honest. This is the first MS cert I’ve taken, but it has given me the bug to take a few more. I would recommend it to anyone.
If you are googling this page and want some tips on how to pass this exam, I would say that the MCTS training kit from Microsoft is a must: the entire content of the exam was explained in this book. I studied for a month, about 2 hours a day, and cleared the exam in about 20 minutes.
It’s my birthday later on in the week, and Christmas is just around the corner. Passing the exam has put me in a celebratory mood!

Unit Test Checklist

November 26th, 2007 | Comments Off | Posted in TDD

One of the things that always is an issue for people who are new to unit testing is what kind of tests should be written in order to fully exercise a method. So here is a handy checklist that you can use as a guide while writing tests.

Baseline Tests
Write a few test that use the code in the manner it should be used ie in a way that you expect to work and returns the kind of data you are expecting.

Error Tests
The opposite of Baseline tests are test that expect a particular error to be thrown based on incorrect input. Write a test that expects the different kinds of errors that can be thrown by your method.

Null Tests
Do you know what happens to the logic in your method if you pass in some or all parameters as null? Now is the time to find out by writing tests to this end, and making sure your method responds in the way you expect.

Boundary Tests
Write test to test the upper and lower limits of parameters that can be passed in. Test passing in numbers as negatives, or dates outside of the ranges you expect.

Parameter Variation Tests
Make sure you have a few tests that provide parameter variations to give the internal workings of your method a good stretch and to try and find any areas and conditions under which your method fails to return an expected result.

There’s no doubting the power that a good set of unit tests gives you, but I understand that getting started with testing is sometimes difficult for developers not used to test-first coding. My best advice is to stick with it – it just takes a little while to click, but once it does, the benefits are worth waiting for.

Software Design as an Artform

November 7th, 2007 | Comments Off | Posted in Uncategorized

Is it too late to say I love jQuery too?

November 5th, 2007 | Comments Off | Posted in ASP.NET, Ajax

jQuery is lightweight javascript framework with lots of support on the net and a big library of plug ins. Given the amount of client side content that is going to be knocking around in Visual studio 2008, I’d say it’s a good time to brush up on your jscript skills. While you are at it, make sure you check out this library to give you a leg up. Communication between jQuery and ASP.NET is a breeze and as a quick example, this is what you need to get inline editing going with very little effort at all.

You will need:
jQuery
jEditable

First the .aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">
<title>Untitled Page</title> 
<script src="jquery.js" type="text/javascript"></script> 
<script src="jeditable.js" type="text/javascript"></script> 
<script type="text/javascript">$(document).ready(
function(){ $("p").editable( "http://localhost:3684/test/handler.ashx", { type: 'textarea',cancel: 'Cancel',indicator:"test.jpg", submit:'ok'});
});</script>
 </head>
<body>
<form id="form1" runat="server">
<div>
</div>
<p>yes you are now rocking with the best</p>
</form>
</body>
</html>

 

and you will need a httphandler to save the edits. For this example, I’m just writing the data back out without storing it.

<%@ WebHandler Language=“C#” Class=“handler” %> using System;using System.Web; public class Echo : IHttpHandler {public void ProcessRequest (HttpContext context) {context.Response.ContentType = “text/plain”;context.Response.Write(context.Request.Params["Value"]);}public bool IsReusable {get {return false;}} }

 

And that’s it. Inline editing with jQuery and ASP.NET. Simple!

PS if you want to know why there has not been much action on the blog this month, blame this.

What an awesome idea!

October 3rd, 2007 | Comments Off | Posted in C#, Productivity

Like most developers I’ve written a hell of a lot of code in my time: including lots of little utility classes to do things like send emails, validate bits and bobs, format currency etc. Well this enterprising chap has gathered together 5 years worth of his utility classes into 1 handy little library that he is sharing here. Thoroughly recommended!

Also, as a side note on cool little libraries, I’ve been messing about with the free version of FusionCharts. They are great for little ‘dashboard’ style reports where you don’t want to use a large reporting framework. Again, another addition to the toolkit that I’m happy to recommend.

C# 3 Conversion Extension Method Library 1.0

September 19th, 2007 | 10 Comments | Posted in C#

If you have had a chance to muck around with the new language features of C# 3 in the latest beta of Orcas, I’m sure you will be as much of a fan of extension methods as I am. The ability to package little ‘lumps’ of functionality and add them onto objects that I use every day is a lot of fun.

I use the .ToString() method habitually so I thought I’d build a little library to perform some other .ToWhatever methods on some of the basic datatypes. So for example, the String datatype has .ToBool, .ToInt32, . ToDecimal etc. extended into it. The int32 datatype has .ToChar, .ToFloat etc. etc. It’s a nice little utility class that I hope you will find of some use. Download it and have a little dig around to see what the library is capable of.

Also, I’ve added in a couple of string manipulations as extensions too.

To reverse a string we have string.Reverse, to proper case a string we have string.ProperCase ( so for example, “jon davies” becomes “Jon Davies” ). I’ve also added string.Left and string.Right extensions, just because VB has them and C# doesn’t!! string.Left(3) returns the first 3 characters in a string, string.Right(3) returns the last 3.

Anyway, it was a lot of fun writing this – I’m going to keep adding new useful extensions to the library, so don’t forget to bookmark this site and keep an eye out for updates.

Edit: I’ve changed the name of the article thanks to the advice of posters on DotNetKicks and James to be 3.0 centric not 3.5. Apparently there is a bit of confusion as to the naming of the new updates, so it’s the .NET framework 3.5 and C# 3. Thanks for the tip off!

[download#1#image]
kick it on DotNetKicks.com

Get up to speed with Visual Studio 2008

September 18th, 2007 | Comments Off | Posted in Framework, Productivity

The Visual Studio 2008 sessions at Mix 07 UK were really exciting events. There is lots of great new functionality built in, and it’s useful too! Unfortunately, ‘new’ and ‘useful’ don’t always go hand in hand when it comes to software, but elements like spilt view editing, enhanced CSS support, LINQ, the new ListView control etc. are things that I know I will be using on a a daily basis.

Here is the link to the Microsoft training videos that are already up – there are plenty more to come too.

Mix 07 UK – All the free swag I mooched

September 13th, 2007 | Comments Off | Posted in Mix07

I was going to write an insightful and perceptive review of the entire Mix 07 UK conference, but work commitments meant I was a bit late to the party, and loads of other people have done a more than decent job here, here and here.
So instead, I thought I’d take you on a pictorial journey through the free stuff I managed to blag! So here it is, listed in order of complete and utter awesomeness!!

1. A plastic bag with msdn written on the side.
13092007025
Ok Ok calm down – nothing special I know, but look what’s next – it’s….

2. A paper bag with Mix Uk written on the side
13092007026
W00t!! We are cooking now! Look at the graphics!! It’s like the total embodiment of Silverlight rendered in green ink!

3. A plastic pen with msdn written on the side
13092007022
I haven’t tested it yet, but I’m confident that it will come up to the high standard of engineering we have come to expect from all Microsoft products!!

4. Random DVD
13092007019
I don’t know what is on this DVD….I’d like to think that Halo 3 is on it, but it’s probably VB 6.

5. Sweets for Dummies
13092007021
Try and imagine what corpse vomit tastes like and you are not far from the flavour that these jelly treats disperse.

6. Microsoft socks
13092007020 
For keeping your feet warm obviously

7. A stopwatch with msdn written on it
13092007024
This is actually a decent bit of kit. Maybe I can use it to time how long it takes for Visual Studio to boot up or switch from design to HTML view! Arf!!

8. A small wooden box with some note paper in it.
13092007012
Hey, I could use this in conjunction with the pen to write Scott Guthrie fan letters! There was a developer panel called ‘Client versus Cloud’ on day 1 of the conference. I imagine ‘Cloud’ refers to the gang of nerds that surrounds The Guth between each session.

9. A 1Gig USB keychain with Conchango written on the side.
13092007023
I wonder what Conchango means? Is it spanish for ‘fill it full of data and then lose it down the back of the couch’?

10. A full version of Windows Vista Ultimate
13092007018
Hoorah! Top of the range OS goodness!!

11. A full version of Expression Studio
13092007017
I’m actually genuinely made up with this -  it looked absolutely awesome at the conference and I’d deffo recommend it as an essential purchase for all ASP.NET developers.
kick it on DotNetKicks.com

  • Cloud

    Ajax AmpliFeeder ASP.NET Blabnote C# Cloud Design EntityFramework Framework JavaScript JQuery LINQ Live Mesh MicroBlog Mix07 Mobile Productivity Rails Remix08 SDS Silverlight2 SQL SSDS TDD Telecommunications Uncategorized VOIP WCF Web 2.0 Webcast

  • @jonpauldavies