Skip Navigation

Blog

A year ago, I wrote about things I wanted to achieve in an effort to make myself more organised and reduce my guilt at having so many unfinished projects floating around. I think it was one of the best decisions I made last year - it gave me back my motivation. So here's the updated version for the next year!

Read the rest of this post »

I've done poorly at updating these last few months ... still moving the site to a new server but work is relentless at the moment and leaving me with little enthusiasm to carry on with more of the same when I get home!

Fortunately, I have friends and colleagues who are not so similarly burdened at the moment, and one of these is Allan Wenham, .NET developer extrordinaire. He has put together a guest post - a short guide to non-permitted actions in XBAPs. Over to you, Al:

So you're going to make an XBAP application, lucky you. First thing you should consider is the limitations imposed by the security model and importantly the framework itself.

Rule 0: You must have at least framework 3.0 to run an XBAP, 3.5 SP1 is highly recommended.

Rule 1: You can't run an XBAP on any other browser then IE in with .net framework 3.0. 3.5 SP1 of the .Net framework supports Mozilla Firefox; sadly no other browsers are supported at this time.

Rule 2: There are many things you cannot do with your XBAP in partial trust mode. Here I will provide what I hope is a fairly comprehensive list of non-permitted actions that will give you the dreaded "Trust not Granted" error. Main because as the time of writing I couldn't find such a list!

  • Opening up a new browser window
  • Directly connecting with a database
  • Any File IO
  • Talking to a WCF services that is not on the same hosting server
  • Talking to a WCF service that has any other binding apart from BasicHTTPBinding
  • Most standard dialogs (as well as input box)
  • OS driven Drag and Drop
  • Bitmap Effects- although these are deprecated in .NET 3.5 SP1
  • Shader Effects

Al works for Venture Finance PLC doing .Net Programming. When he's not building websites, he's writing about Turkish Delight (Fry's specifically). You can email him with questions at wenhamton@gmail.com or leave comments below. Thanks, Al!

The second article in the "Improve Your Website Conversion Rate" series. Learned the lessons of part 1? Here are nine more ways to improve your conversion rate.

Read the rest of this post »

Python Cheat Sheet


22 January 2009   |   42 comments

The Python Cheat Sheet, a quick reference guide for the Python programming language.

Read the rest of this post »

Introducing TriviBot


18 January 2009   |   14 comments

Many years ago, I used to be a regular in the #quiz chat room on DALnet. That's on IRC, for you whippersnappers who don't know what DALnet is. If you don't know what IRC is ... then get off our interland, youngster.

The #quiz channel was great fun. A bot, powered by MoxQuizz, would ask a question. First to get the answer right got a point. First to 30 won the game. Hours flew by and were forever lost.

I was looking for a small project to while away a morning and wanted to play with Twitter's API, so decided to write a basic quizbot for Twitter along similar lines to MoxQuizz. After a couple of hours behind the keyboard, I am pleased to be able to introduce you to @TriviBot.

The idea is pretty simple - answer a question first to get a point. First to 10 (at the moment) wins the game. Leaderboards and all-time high score tables will be put up shortly.

In all honesty, I have no idea how well or badly this kind of idea will translate to Twitter. Twitter is, after all, not a chat room network like IRC. However, I've enjoyed writing the thing and testing it has been good fun.

LetMeGoogleThatForYou Bookmarklet


22 November 2008   |   26 comments   |   bookmarklet

I'm sure someone must have already done this and I'm just incapable of finding it (despite Googling it myself) but I figured that the only thing missing from the brilliant LetMeGoogleThatForYou was a bookmarklet, so I made one: LetMeGoogleThatForYou. Highlight text, click bookmarklet and voila - patronisation on demand.

The fourth part of the Writing Secure PHP series, covering cross-site scripting, cross-site request forgery and character encoding security issues.

Read the rest of this post »

XSS Alarm Userscript


11 September 2008   |   10 comments

A user script for Opera, Firefox and Chrome that notifies you when a site is loading scripts from unrecognised third parties to help you spot potential XSS attacks more easily.

Read the rest of this post »

Personal Development: To Do


21 August 2008   |   22 comments

On Hacker News, ambition posted a to-do list inspired by / taken from this excellent bit of advice from Chris Wanstrath. Which got me thinking about what I want to work on and with in my spare time.

I've been meaning to organise my side-projects better. Like everyone else, I have lots of ideas and little time to make anything of them. I have a folder packed with projects at 95% completion, sitting there unloved because I got distracted, or found something better to use.

The problem with that is that taking projects to 95% is ultimately demotivating. It breeds guilt, and that's not helpful. And a project at 95% doesn't pay you back for the time you put in to it. You eventually need to release something if you don't want to end up looking back and seeing missed opportunities and wasted time.

In addition to a collection of projects on the go and ideas, there are technical skills I want to develop. I'm learning Python, and Linux server administration. I'm interested in looking into Objective-C and Cocoa. jQuery is great but I need more time with it. My "Dave! Play with PostgreSQL!" post-it is faded it's been on my wall for so long. And I need to stay sharp with the languages and technologies I use day-to-day.

Some fat needs to be trimmed.

I need to leave time for new things, too. Stuff I've not heard of yet. I'm always going to be distracted by shiny new technology. I think that's a good thing. But I want time to experiment and to tinker. If I earmark all my time for projects, I'm not going to suddenly lose interest in web technologies and tools. No, I'd start cutting into time I've promised to other things. Voila - the guilt's back and the schedule's shot. Back to square one.

So I've spent some time thinking about what I really want to get out of the time I spend on personal projects, and come up with a to-do list. I expect this to change over time, and while I don't expect for a second that you, the reader, will have the same goals or that this list itself will be useful to you, I hope if you're in a similar position it helps you to get a handle on things and get back to spending your time doing what you enjoy.

  • Keep on blogging!
  • Keep on making cheat sheets!
  • Move AddedBytes (set up server).
  • Thin out project folder and pick 2 to work on until finished.
  • Write a web service.
  • Write SVN Statistics app in Python (learn Python).
  • Rewrite site management VB app in Python (learn Python).
  • Learn Objective-C and Cocoa by writing a Useful Small Mac App (decide on what app!).
  • Learn a new PHP framework.
  • Get involved in an open source project.
  • Update and release more code from AddedBytes.com under open source license.

That should keep me going for a while. Next, I need to flesh out some of those ideas and work out how much time I can put into them.

Subversion Cheat Sheet


7 August 2008   |   25 comments

The Subversion Cheat Sheet, a quick reference guide for command line Subversion.

Read the rest of this post »