Hello...

and welcome to my blog, feel free to leave a comment!

Search My Site:-
Loading
...


Friday, 7 November 2008

Useful Tools

Here are my five most useful tools

Live Mesh

A great tool that you probably all know about. Lets you keep files and folders sync'd across platforms (PC, Mac and smartphone at the moment). What I love most about mesh is the direction its heading, the sync bit is pretty cool (but foldershare was sorta doing that anyway) as James blog shows there will be four types of 'things' which can interact with the mesh.

  1. Creators - These are things like digital cameras (even standard digital cameras using eye-fi could use this! how cool).
  2. Consumers - devices like mp3 players and digital picture frames
  3. Rich end points - Pcs and Macs are the main things here, but may also include printers as shown below - this I REALLY like!Devices_34E10B8F
  4. Processors - These are more applications that run on the mesh, things like backup to another cloud app.

You can watch the recent PDC talk here: http://channel9.msdn.com/pdc2008/BB35/ on it.

You can also use this to remotely control your pcs from anywhere - its great as it traverses firewalls really well, much more secure than opening your pc remote desktop port to the world!

This is wild speculation but I wonder how long before microsoft's Office Live (http://www.liveside.net/main/archive/2008/10/31/office-in-the-cloud.aspx) will be integrated into your mesh live desktop, and you could print to your home printer which is also in your mesh... very exciting Im sure you will agree!

IDrive

I love this tool. It is essentially an online backup tool which just works. You get 2GB for free or 150gb for $50 (annoyingly the set up recurring billing, and they didn't email me to remind me it would be coming out - even though they swear they did!). The backup and restore speeds are pretty decent, and the "continues backup" mode is a life saver - the first time you recover a file you deleted by accident you know it was worth the £30 ish quid!

IDrive also supports a history mode allowing you to roll back to a previously version - very handy (and this also doesnt come out of your space allowance). Im very impressed with the security, and cant recommend this tool enough!

Acronis True image

This tool is similar to Norton ghost but a lot more user friendly and cheap! For those who dont know Norton Ghost this allows you to take and restore an image of your pc. If you do this once a month your machine will run very quick.

This help prevent issues with activating software multiple times (starting to become more essential with the DRM included in just about everything).

If you use this with Live mesh then after you restore your pc, live mesh will automatically sync your latest files to your pc from the cloud - ideal!

Google Reader

Keep yourself up to date with all your favourite web sites everywhere you go (you can read it on your mobile to!)

My Sip Switch

Im just starting to get into using VOIP at home, and I have loads to learn still, but My Sip Switch is proving to be a very good starting place. I aim to go into a lot more detail soon, but currently Im able to use my sip switch for the following setup:-

I have two numbers from Sipgate, My Sip Switch is registered with both of them. One of the numbers (my personal number) will ring the house phone automatically, the second number will only ring the house phone during allowed hours(I will use this number for companies I dont trust!).

Sipgate Also provides a voicemail service, which get email to you. I am going to use the following tool to be alerted when I get an email:-

usbwebmailnotifier

maybe a bit tacky, but its very useful to know when you have an email!

My sip gate also allows you to notify of calls via Google Talk, so I can tell when the house phone has called (and who called) when Im at work!

Using Fring I can also receive and make the voip calls via my smartphone, and Phonerlite to get the calls via my PC. For my home Im looking at a few different possible solutions for my home phone including a SPA3102 and a SPA1001. Both cost under £50.

Still havent quite decided how Im going to use for outbound calls, but the great thing is about My Sip Switch is that you are not tied into a particular provider. You can pick which provider you use for which calls, whether you sent your Caller ID or not, and implement redundancy (if one provider fails to call out then you can fail over to another).

Finally you dont need to worry about emergency calls anymore, Sipgate allows you to make 999 calls after you set a home location.

Hope you find some of these tools useful - if you do let me know!

Thursday, 11 September 2008

Patterns of Enterprise Application Architecture

I have just started reading this book and was fascinated. What I loved most about was that I could start identifying patterns I was already using - just didn't know what they were called.

The book starts of as a conversation about the different types of patterns (but always gives a page number where you can get more information) as you get towards the end of the book each pattern is discussed in much more detail (including examples in mostly Java and sometimes .net)

Unfortunately Jave appears to be Martin Fowlers language of choice - the Table Data Gateway pattern has this bit of code:-

public void LoadWhere(String whereClause){
String commandString=
String.Format("select * from {0} where {1}", TableName,WhereClause);
Holder.FillData(commandString, TableName);
}

Now I suspect most people reading this will spot the issue with the above instantly, but if not read up on SQL injection!!! (if you are unsure how devastating a sql injection attack can be then watch this video from TechEd - scary! http://www.microsoft.com/emea/spotlight/sessionh.aspx?videoid=989)

Perhaps I'm being picky, this is definitely only sample code - but it worries me how many people might just use this code and not notice the potential issue.

Anyway - the book is very good and I do recommend reading it - as Martin Fowler him self says

"Since patterns are common solutions to recurring problems, there's a good chance that you have already come across some of them... I'm not claiming to present anything new in this book. Indeed, I claim the opposite, this is a book of (for our industry) old ideas.... An important part of patterns is trying to build a common vocabulary, so you can say that this class is a Remote Facade and other designers will know what you mean"

The common vocabulary is exactly what I have found most useful about this book.

You can find the book on amazon here:

http://tinyurl.com/3ntvlm (ISBN: 0-32101274200)

Friday, 5 September 2008

Getting ASP.NET menus to work with Chrome

The asp.net menu does a check to see if the browser the client uses can support JavaScript or not. But the check is not a very good one!

You can force the menu to work by overwrite the Page_PreInit method on the page and telling the page that the client target is a modern “uplevel” browser:-

protected void Page_PreInit(object sender, EventArgs e) 
{
if (Page.Request.ServerVariables["http_user_agent"].ToLower().Contains("safari"))
{
Page.ClientTarget = "uplevel";
}
}



Please note that you have to do this in the page class file, and not in the master page class file. Obviously this means you have to do it for every page – which is not ideal.



To get round this limitation simply make a class which inherits from System.Web.UI.Page, and change all your pages to inherit from this class instead (a find and replace is ideal here!).

Thursday, 26 June 2008

RegisterDataItem can only be called during an async postback Error

I received the above error whilst using a ajax popup extender. Originally the popup extender was within an update panel and worked fine, the second I removed the update panel I started to get the issue.

The problem turned out to be this line:-

PopupStatusImage.Cancel();

which basically tells the popup extender to hide. You can only call .Cancel() or .Commit() if your popup extender is within an update panel!

You can simply check the Script manager to see if its a partial post back if you need to keep the cancel in for some pages etc.

Hope this helps someone.