Friday, June 21, 2013

Kids vs Clients - who wins you decide

I spent the day with my 2 kids yesterday (4yrs and 2yrs) and had an awesome if not tiring day with them.
What I realised after looking back on the day was that I think anyone ho wants to run their own business should start by managing young kids for a day, they make the best on the job training money can buy.

My oldest is quite happy to sit and play on her own with her princess castle and entertain herself in short 15-30 minute bursts before deciding it is time to do something different.
She will then come and find me asking for a different toy or if she can watch TV etc, once setup with this new mini project we get 30 minutes of clear time before the next project needs to be found and started. Projects rarely get finished, movies are always half watched etc.
If she does something embarrassing and it is noticed (a trip up over the corner of a rug for example), all hell breaks loose and all projects are put on hold, or dropped from the master

My son is the complete opposite, he likes to follow you around checking up on you, closing cupboard doors you have left open to make putting the dishes away possible, luckily he announces the closure by pointing, yelling 'door' and slamming it closed while you aren't looking.
He like to change the rules constantly, after picking his sandwich ingredients and watching it be made, he decides one or two or all of the ingredients are not up to spec and removes them to be eaten or dropped on the floor.

And I guess anyone who freelances will see some similarities in this behavior in some of their clients, well I can in some of mine and this is not a bad thing.
As someone who tries to build software/web to model business processes for a living, I need to understand how the people who are going to use the software think and deal with all aspects of what is built.
Yes I know it can be a pain to have a client looking over your should while you work and there can be a lot of 'hold your tongue' moments, but in the long run I think they have to be (hopefully) happier with the end result as they have been there every step of the way.
Obviously this is not always the case....

Customers who give you a brief spec and say good luck, then disappear until they come up with the next idea are great for developers as we can get on with the project and just build it. At lest until the customer comes back with the next best idea they have ever had and ask for it to be added...

Both have good and bad points, there is no such thing as a perfect customer and at least most of the time time they door drop to their stomachs and starting kicking and thumping the floor while wailing.... well .....

Wednesday, June 19, 2013

Happy Hosting gone wild

Rule 1 of the IT world, never say in public 'it is all working'....


The site mentioned in the previous post http://chillfire.blogspot.co.uk/2013/06/between-rock-and-hosting-company.html is offline now and guess what I am on the phone to the Happy Host team...

I am guessing thier system sattus notice does not cover this server:

Last modified: June 18, 2013 @ 9:08 am
All systems and services are operating as normal.

Oddly enough the site was online at 908am... Dave, Dave, Dave put down the screwdriver...
I wonder if they have caller ID, I would have thought that being no.2 in the queue would have been a good thing...

Support member on phone, he has gone off to check...

He is back (5 minutes later), "oh yeah that box is definitely off, we will turn it back on and see whay it happened, probably be back up in an hour or so"

AAAAAAAAAARRRRRRRRGGGGGGGGGHHHHHHHHHH

Tuesday, June 18, 2013

Between a rock and a hosting company

I have been in this IT racket for a number of years now and the story that unfolded last week for one of my clients is the exact reason why I started my own IT company....

I have decided to not shame the company that created this mess, but the names of the staff are all real, so lets call the hosting company 'happy hosting' (just hint of irony there) or HH for short.
Only because I have clients still on them and don't need a repeat disaster.....


So My client calls to say they have noticed a load of traffic across the site in their HH stats package, this traffic is not being picked up on Google analytics.

After some hunting and scratching of heads we find all of the traffic was on 2 pages;
  • /rayban.asp
  • mulberry.asp
Both had  spam HTML content, images all relating to their own brand and links to where you can buy said products.
Both pages were being indexed by google from pages like this one http://www.bizzybassrecordings.co.uk/index.php/component/kunena/2-general-forums/5076-vtpvvlmhttpwwwidropoitray-banasp?Itemid=0

Now being a up market publishing company these sorts of products wouldn't normally get mentioned anywhere on their site...

So the firefighting started, anyone who found a bad page was told to delete it via the CMS, because the CMS had root access.
No one at the client was creating these pages, so as the alarm bells started their ominous ringing in my head, we raised a support ticket at mysupport.HH.com ...

24 hours later with no response to HH (my client spends around £1000 a year with HH) I did some invetigation online and found that it appeared we had been hacked by something similar to china chopper 
Notes added to the ticket...

Finally we get a response, "it's not us it's your site", "or it could be someone else on your server as you are on a shared server", " we patch  our servers etc etc"

The server we were being hosted on was a Server 2003 box, running .Net 2.0 (thanks to http://browserspy.dk/webserver.php for some help with this)
I asked them to check the security settings on the site as if it was china chopper then it would need to get in somehow,

- "it's not us it's you"
"right thanks, can you send over any IIS logs for us to work out where the access is coming from"
- "we don't do logs for shared hosting"
"thanks again Dave, can you check IIS for me to see if there are any noticeable alteration to security settings on our site then?"

This is when it all went wrong, 3 hours later I get a call from the client, "the site is yellow and white and says "error" - bugger

So it is 530 on a Thursday evening and the support lines are open 24x7.... ring ring ring.... ring ring ring....
New support ticket added as this is not the same as the first problem, obviously something has happened at a server level as its completely dead returning a 500 error mentioning security privileges.
Wake up the the same error and no support updates, you have to love the HH support team dedication to the meaning of "24x7"

We start on the phone, support are in but the guy we need 'Jim' or 'James' to his friends is not in until 930, he will call you.
11'o'clock and all is quiet, site has blipped a few different errors so we assume Jim is rebooting the server (if all else fails!).
We call Jim, he is unavailable but the best guy to fix the problem , he will call you back
1pm, the site error now says .Net 4.0, so they have failed to fix the problem and are hoping that patching the server and upgrading the .Net framework will fix the problem.

Another call, this time I offer some advice "Can we move the site to a new server while we wait for you to fix the current one?"
- "no, well maybe, or what if we do restore a backup of the site from last week?"
"Dave that sounds like a good idea, you should get a medal, no really, mate you are a genius, wonder why no one thought of that earlier, I am going to recomend you for a promotion" (I did not say any of that to Dave, if I had been close enough I would have driven over there and...

So they restore the site at 430pm on a friday night, my client has been without their site (or what I like to call their only form of income) for going on 40 hours, the nooses are removed from the rafters and everyone goes home, leaving me to pick up the pieces because the CMS they have is not compatible with .net 4.0 and although HH have restored the site they have not restored IIS to its former glory.
There are still weird errors all over the place, the home page doesn't work, the stats package doesn't work, the backend bespoke admin system doesn't work.

A week later and it is all held together with sticky tape and number 8 wire, no one wants to tell HH about any of their services that don't work in case they try and fix them.

The support team were crap (or are under resourced and cant be bothered), HH are crap, they were one of the best in the UK until they were bought out by iomart and are now part of easyspace


 This is what I think happened when Dave went off to look at the IIS settings;
  • Dave restarted IIS - fail
  • Dave tried a reboot -fail
  • Dave tried to patch the server - fail
  • Dave upgraded the 2003/IIS6 server . net 4.0 - fail
  • Dave then did more updates and left to go home at 5 - fail
  • Something broke on the upgrade, or a window on the console 'click to continue' was left?
  • Dave came in the next day and made sure no-one else noticed the ticket and hoped it would all go away - fail
  • The shit hit the fan
  • My client lost thousands - fail
  • I have to fix it - fail
  • HH are still in business - fail
  • I am moving all of my client sites hosted on HH to a new host, proabbaly only cost HH a few grand, but hey a - success

There is a lot to be said for good customer service, if my client who have zero technical staff had had to deal with HH directly the problem would not have been solved (or may be it would have).
My client lost valuable sales and business because someone decided to fiddle with IIS6 (not for the faint hearted) without telling us that it might break and not hanging around to check it.

Most importantly there has never been any mention of compensation (I know 2 days is under the 99.9 SLA but come on) or anything to say how it happened or that they will make sure it soesn't again.

All in all I would never use HH again, make sure when you select a web host you do some research on them, the most expensive are not always the best.

And we never did get to the bottom of china chopper

Thursday, May 02, 2013

coffee - it is over rated

Now anyone who has worked with me or met me at a hack will have probably noticed I LOVE coffee and the caffeine it has in it.
I am normally not too far from a can of energy drink or stameing cup of coffee, however last week I was struck down with a horrendous stomach bug which kept me out of action for 4 days.

During this time I was unable to eat and was left to drink water and/or flat ginger beer (the non-alcoholic version).

When I came to the end of the week and was finally able to eat food again and had the option of a hot coffee, I said no.
I have no idea why, but I didn't have that craving that is normally in the back of my head, the one that sits hunched over in the darkest recess of my brain saying 'one more hit'.

It will be nearly 2 weeks tomorrow since I had any caffeine and I feel pretty good, I am sleeping better than I have in years (I have 2 kids under 5 and I know about sleep deprivation).
I wouldn't say I feel like I could run a marathon or play the violin or anything, but I feel pretty good.

How long this will last I don't know, but if you work long hours and rely on caffeine to get through a day, my advice is to go through the coffee tremors/headaches and all that horrible stuff for a day or so and then give a coffee free life a go for a few days.

It is amazing to try and go about your normal day while trying to stay out of your normal routine, I really think 70% of my coffee addiction was down to some bizarre repetitive syndrome that made me want a coffee because I had one yesterday at the same time...

Anyway if you give it a go, good luck breaking the habit of a lifetime, I am about to shave my beard buy a suit and leave the world of software development to become a insurance salesman.... not

Thursday, April 18, 2013

speed reading for business - great course from mylearningworx

As part of the quality testing team at www.mylearningworx.com I get to test some of the courses that are created by the community, the goods ones go live the not so good ones get help and advice form our worxsmith team to make them good.

And every once and awhile a course comes along that I think is awesome, quite tough as we are getting some pretty slick courses being created at the moment.

The one that I just finished testing is "Speed reading for business" by Alex Garcez (@alexgarcez) the speed reading coach, I liked it so much I made it course of the week!

I must admit I was a little skeptical about this as I have always thought I could read pretty fast, take in and then retain information as I read. But after finishing the 2 hour course I realised I had been missing a key part of it all, the techniques that Alex teaches are simple and for me they worked nearly instantly, like a light bulb being turned on.

And no I wont give away any of the techniques here, all I can say is it will be £27 well spent.

I now read in excess of double the speed I used to and I guess this will only get faster as I hone my skills.
It does mean I may be getting through a few more books on holiday though, so much for packing lite.

If you need to read and retain information on a day to day basis, I cannot recommend this course enough www.mylearningworx.com/app/take/course/760/speed-reading-for-business



crowd sourcing, where do we start


Whenever any mentions crowd sourcing, don't ask me why, I think of the immortal Monty Python scene outside Brian's mothers apartment and the scene in the sewers under the castle where the 2 groups of 'terrorists' meet and end up fighting over who came up with the plan first.


DEADLY DIRK: Campaign for Free Galilee.
FRANCIS: Oh. Uh, People's Front of Judea. Officials.
DEADLY DIRK: Oh.
FRANCIS: What's your group doing here?
DEADLY DIRK: We're going to kidnap Pilate's wife, take her back, issue demands.
FRANCIS: So are we.
DEADLY DIRK: What?
FRANCIS: That's our plan!
DEADLY DIRK: We were here first!
FRANCIS: What do you mean?!
DEADLY DIRK: We thought of it first!
WARRIS: Oh, yeah?
DEADLY DIRK: Yes, a couple of years ago!
P.F.J.: Ha. Heh. Ha ha.
DEADLY DIRK: We did!
FRANCIS: Okay, c-- co-- come on. You got all your demands worked out, then?
DEADLY DIRK: 'Course we have.
FRANCIS: What are they?
DEADLY DIRK: Well, I'm not telling you.
P.F.J.: Aghhh...
FRANCIS: Oh, come on. Pull the other one.
P.F.J.: Shh!
DEADLY DIRK: That's not the point! We thought of it before you!
WARRIS: Did not.
DEADLY DIRK: We did!
FRANCIS: You didn't.
C.F.G.: We bloody did!
BRIAN: Shhhh!
P.F.J.: Shhhhh! Shh.
DEADLY DIRK: You bastards! We've been planning this for months.
FRANCIS: Well, tough titty for you, Fish Face. Oh! Oh.
RANDOM: All right.
WARRIS: Clever. You sly...
BRIAN: Brothers! Brothers! We should be struggling together!
FRANCIS: We are! Ohh.
BRIAN: We mustn't fight each other! Surely we should be united against the common enemy!
EVERYONE: The Judean People's Front?!
BRIAN: No, no! The Romans!
EVERYONE: Oh, yeah. Yeah. Yeah. Yes.

Both scenes are a great fun poking exercise into how we think and act when in a crowd, the power of the people and all those other cliches come to mind as well.
The sewer scene is a good reminder that sometimes we need to make sure we are all working on the same problem in the same direction, fighting the common enemy.

Crowds can go bad
This is where crowd sourcing could fall apart, I mean if everyone who joins the 'crowd' is in it for different reasons, or the same end goal but have different motives for getting there, it would be easy for the crowd to get steered away from the original goal.

Personally I love the idea of crowd sourcing, the dev4good events and every other hack event around the planet are in essence crowd sourcing events. People who are interested in an idea, come together to work on it with other people with different skills.
So maybe 'skill pooling' is more apt name but not one that would ever take off I guess?
The difference to these hack events to the sewer scene (other than it being in a sewer and under a palace) is it is an open forum for discussion, debate. No one person has control over any part of the group, if people in the group don't like the 'plan' they are encouraged to start their own group (and yes we do call these people 'splitters') and see what happens.
Sometimes this works, other times it doesn't, that is part of the game.


The online training system I am co-founding (www.mylearningworx.com) is at its heart a place for people interested in learning and/or teaching to meet and share their knowledge (and in the process make some money if they want to).

The way I see it everybody is an expert in their own world, shed, castle, boat, whatever. Most of us never part with this knowledge and will take it with us when we leave. When we look around skills, languages, cultures are being lost because people simply don't share like they used. Before the advent of TV and the internet, people spent more time together talking, passing on information. Nowadays, this happens less as people 'interact' more in a virtual way and the conversations have gone from 'Dad how do you change a washer?' to 'Nom eating dinna'.

What we have tried to do with the My learning worx platform is to make it as easy as possible for anyone with some information to share it (and make money if they want).
This knowledge transfer can take place anywhere, anytime and just about on any device, meaning there is no reason why we cannot do it.

Feel free to take a look around the new platform and let me know what you think!














Wednesday, November 28, 2012

dev4good holiday hack

On 24th November 2012, possibly the most productive single hack event started.... I may be biased

After a few years of organising hack events, I was beginning to get a bit annoyed by the fact that we can bring together some super smart people with amazing skills and ideas, but not get around to pushing these ideas out to market. Maybe we were doing something wrong, targeting the wrong charities?

To prove to myself that you could build an MVP project in a weekend I built a dev4good windows 8 app in around 30 hours, so I knew it would be possible as long as you kept it as a simple a product, it could be pushed to market. With knowledge I had some mental leverage (not the crazy kind) to show people what could be done.

This time around we decided to bypass the charities altogether, instead we invited developers designers, marketers, ideas people and anyone who was interested to join us at Google Campus for the weekend. In the end we had 40 people, a few familiar faces, a few crazy ideas and a load of passionate volunteers looking to make a difference.

Our holiday hack mantra for the weekend: MVP MVP MVP (keep your eye on the Minimum Viable Product) Along with things like "you are not at work, if it is wrong tell your team, they cant fire you", "hey crazy boy, no we are not adding that to the project", it will all come together shortly"
The only rules were each team must be made up of different skills, a team of developers would never get finished and a team of designers might look good but wouldn't get out of Photoshop, it was all about co-operation and finding the right people with the right skills when you needed them.

With an initial intro from Heidi (our co-organiser from The Giving lab), Amy (the dev4good design/UX guru), myself and Jas (API architect from the Giving lab) we started everyone off with ta simple question. Think up new ways for people to give to charity, you have 10 minutes....

20 minutes later (scope creep can start at anytime), the groups came together and pitched their initial ideas to the masses. This (for me anyway) is where the magic happens at these events and if it doesn't happen you might as well head for the hills, people just start working in teams. It reminds me of those 60s horror films with each idea (the blob) just moving about consuming people, spitting them out until it finds the right group of people to start hacking.

Throw in some coffee, pasta, work tables, beanbags, sweets and the whole place was alive with people sketching ideas, writing code (and in one case launching their project before 1pm on the first day http://www.shevember.org .
At 4pm we had a quick meetup with everyone to see where they were or what they needed to get things done.

Other than Shevember ho were onto making their site work better and trying to arm twist people to donate through their site, the other teams were all at different points of their build. But the Shevember roject really highlighted the fact that keeping it simple makes sense and most importantly means you can push ideas out to the internet very quickly. Which I think spurred the other teams on, there is nothing like a constant reminder of 'hey my site is live, how is yours' to make any developer grit their teeth and weep a little.

Unfortunately I wasn't on site for the Sunday, but when I left on Saturday night I was stoked and very very proud of the work everyone had done. These people had given up their weekend to come along to a building with absolutely no idea what was going to happen or what they would achieve. And the fact that we were looking at 3 maybe four projects being ready to go live, I was a happy organiser.

All in all we had 5 or so products live by the end of the weekend, with a couple more close to going live and one in the iTunes store being authorised..... A massive achievement by anyone's standards and as far as I know (I could be wrong) the most 'to market' projects ever written during a hack weekend (imagine if we were allowed to stay overnight)

As for 2013, there are a lot of plans for new events, bigger events and even more products to market! If you have an idea that could help a charity or a community in general, send it to ask@dev4good.net you never know we could build it in a weekend.

Massive thanks to everyone who came along to work with us, even bigger thanks to Heidi, Amy, Jas, Dom and all those who made it possible, see you all next time!


Thursday, November 15, 2012

My Learning worx, turning the corner in e-learning

A few months ago I joined forces with a team of people with an idea to try and change the way people teach and learn online.
Our goal is to ultimately change the world, nothing big there then.

At the moment there are a large number of sites around that allow people to take courses, mostly based on SCORM which is the industry standard for e-learning. If you have taken any courses at work for Office, Health & Safety etc it was proabably a SCORM based package.
The problem with SCORM is you need to buy software and know how to use it before you start.
Making a course is relatively easy, but you then need to host it somehow, or run it locally on your own PC, which could make it difficult for others to use.

What we want to achieve is to give the power of authoring to anyone with an internet connection, without the need for a training course on how to build a training course.
My learning worx allows anyone with a basic knowledge of the internet the ability to create a course,  promote it and then sell it (or give it away for free).

The better your course and the more sales you make, the more money you can make.

So if you have an itch to teach or want to learn the easy way, we would like you to check out the site and give us feedback - but most of all to try your hand at authoring some courses.

We will be looking for developers to help me build a Windows 8 (& phone) app for the platform in the near future, so keep an eye out if you are interested in e-learning.

We're giving prizes of Amazon Kindle Fires to the best courses published before Christmas.
Course authoring is really easy, all you need is an idea on what you want to teach people.

To read the blog and get more information go to: My Learning Worx Blog
Or signup and start making courses - http://www.mylearningworx.com

Wednesday, August 22, 2012

Is windows 8 that bad - I dont think so

This is a reposnse to www.pcgamesn.com/article/why-i-m-uninstalling-windows-8

I started writing it as a comment to the looooong 'uninstalling windows 8' post, but it got a bit out of hand so here it is instead;

Dear Tim,

A few things, I have had windows 8 running for ages and yes it is 'different' to other windows experiences and yes some of it works better on touch devices, but I dont think uninstalling it is really the answer. The more feedback we can get out for others to comment on the better, good/bad or otherwise.
 Microsoft needs to see and use this feedback to make it better and to be fair they have listened to some of the feedback with regards to the new Visual Studio, maybe this will herald a new beginning for the application life-cycle of MS products?

I really don't think Windows 8 is that bad, its not 'Oh my god, the best OS in the world' but none of the current ones are either, they all have their quirks.
They are built by humans, I mean we aren't perfect and creating an OS that keeps every single user happy is impossible.

There are a few keys that you have missed off your comments that I think may help you with some of your usability issues.

The windows key will always take you to 'home' (this being the tiled metro homepage)
Using windows key combinations you imitate touch gestures;
Windows + Z, Windows + X, Windows + C all bring up different menus while inside an app or 'home'
Windows + D still works to take you back to the old faithful desktop
Windows + Tab & Alt + Tab still shuffles you through the active windows
Windows + R still brings up the run command

The full list of old and new key combinations is here - http://www.pcworld.com/article/251022/windows_8_consumer_preview_keyboard_shortcuts.html 

Yes I realise that we shouldn't have to use the keyboard, but it is one of the 2 most used input devices we have.

Okay there is no start button (start scary horror soundtrack music), but to be fair most consumers  and remember Windows 8 is designed for the general public who are consumers of information, not geeks like most of the people who read this who are pro-sumers - that is we make stuff. They will use a dozen or so 'apps' on a day to day basis and don't care if they cant see the 'control panel' menu or most of the other options under the start button as they everything they need will be visible on 'home'.
So as long as they see their main app tiles they wont care either way.

I think if you are a geek or gamer you will feel unjustly forced down the 'app' centric route, it took me a long time to come to like iPad because of this. For a long time I wanted to get into the nitty-gritty and play with the folders hidden inside the OS. I even bought an android pad to do this... waste of time and money. Anything with a 10" screen is NOT designed for inputting large amounts of data.
You take a picture upload it to face book, send 140 character message to a friend, tell the world what you are eating for dinner, check whats on TV, watch a TV show,find a recipe, listen to a song, job done - it is nearly always consuming data.

I was also a bit confused with the whole home vs desktop idea. I am a dektop man, we all are I guess, everything gets dumped on the desktop first (or in the downloads folder) to be used whenever we need it and then left to clutter up the view, I used fences for ages to help clear this up.
But in windows 8 there is this clean (and easily read) blocked out 'home' interface that just allows me to see the top 20 or so tiles that link to the apps I use the most, not 4 screens (I have  a lot of desktop space) of random files, links and shortcut, I mean really how on earth could that be easier and more productive? (sarcasm)

Windows 8 has made me do things differently, much the same way Mac users do things differently to windows folk. I now store nearly everything on skydrive and dropbox, very little is stored locally.
My laptop only gets the files I need to use, then they are stored or deleted, I just don't need them.
It has forced me to be more organised, I have not installed anything that I dont really need and do install a lot of crap that just hangs around, but if a tile stares at me long enough and I don't use it I remove the app, as the old meerkats say 'Simplesss'.

I will be lining up to buy a Microsoft Surface (not the old surface or pixelsense as it's called now, the new tablet one) when it launches in the UK. Why you may ask, well its really because android and I just don not see eye to eye and I am still not convinced the iPad is for me. Don't get me wrong it is a great platform with an awesome design/UX, however it just does things I don't like and I want to see if a Windows 8 touch device feels better and this is the big thing for me.

This is the crux of the whole mobile device OS issue. The difference between one OS and another is not how it works or what it looks like or if it crashes every 2 seconds, but how it 'feels' when I am using it; is it tactile?, does it make sense when I am doing a task?, does it allow me to access something in a way that feels right? can I use it how I want to use it?

I might be biased towards Windows 8 as I have a windows 7.5 phone, an Xbox 360 and rely on Microsoft stack and it's technologies to help pay my mortgage, but I personally think that Windows 8 is going to make people stop and think about how they work and what they 'really' use their PC/tablet/mobile device for.
And from a financial point of view, even if only half all current windows users move to Windows 8 that is still a shed-load of consumers who will be in the market for new shiny apps and that can't be a bad thing for us developers/designers.

One last thing, when reviewing an OS we shouldn't really focus on the apps that it runs, I know the mail client is pretty basic (although not that bad really), it is Outlook express at the end of the day and is not Outlook.
In general the apps are written outside of the OS, so shouldn't we review them in their own context?



regards,
Craig








Tuesday, July 31, 2012

Dev4good 2012 deconstructed - part 2

Please, please, please listen! I've got one or two things to say. 

I have been writing code of some description since 2000 and would consider myself fairly knowledgeable when it comes to UI design, user interactions etc. I am realistic and know that I couldn't design my way out of a paper bag and that there are always better ways to do things...
And I guess most developers think the same, we all code our systems to be designed around the functions we build and the specifications we are given...

My way of thinking was about to be beaten with a stick (probably with a few rusty nails stuck in it).

Stwike him, Centuwion. Stwike him vewy wuffly!

Picture the setting (this isn't me), its 230am on a Sunday morning, you have been coding a project since 11am the previous morning and you turn the developer across the table and say 'something just isn't right'. The UX consultant who has been trying to tell everyone in the team about something called 'stakeholder', behavior, touch points for the last 15 hours turns and says "Boys I have an idea".
Queue 3 mini coopers, a bus going over the alps, or at least - 3 developers a super smart UX consultant and a whiteboard....

As I mentioned, I wasn't actually in the scene above (a lot of literary licence was used), I called in right towards the end (heading for what would turn out to be an incredibly uncomfortable bean bag) just to say goodnight, only to be told "Craig, Amy has just told us we don't need an IT solution for the Gaza project". Bearing in mind the gaza team had already split and it was nearly 3am, I thought what the hell this could be interesting.
Amy went through her presentation and I went from being completely shattered to being completely awake, everything she was talking about made sense. It appeared we had all missed the 'human' aspect of the problem and looking at the problem from a different angle (not the developer 'must write code' angle) meant the solution was extremely simple - we need somewhere for people to meet and share information.
This was where I dropped a bombshell, 'why dont you just do a mashup?'. Use the data feeds from all of the other projects, plus blogs etc and create a place for people to see the information they need to see.
The Gaza1 team came in as well to say they had realised that their solution was not going to work, mainly for technical reasons. They had framework issues and were stuck, everyone discussed options and they headed back to try some new options.

After an hour of discussing the different approaches of developer and designers I went to bed, feeling enlightened.

I've been here five years, they only hung me the right way up yesterday.

It will probably sound very cheesy, but the early morning lesson really struck home. I am reading the Nail it, then scale it book at the moment and there is a lot of talk about doing the minimum right first. You build a minimum feature set first and seeing what people think/need before adding more to it, this is exactly what the teams should be doing (lightbulb moment), thinking as a developer you always build to the end specification and would never (rarely) remove functionality just to get a build/release.
However thinking about the human problems and behaviours of the stakeholders you very quickly realise that actually most of the functionality in the spec is down to what you (or they) think they need not what they need.

This would prove to be a valuable lesson that I think nearly everyone learnt over the weekend, all for different reasons

Two days to dismantle the entire apparatus of the Roman Imperialist State

I digress, the morning started slowly, actually I think it was more like Saturday, just became Sunday so there was no real start and everyone just got up and carried on.
More coffee, monster energy, coca-cola was drank while the teams started on the home straight.



Wednesday, July 11, 2012

Dev4good 2012 deconstructed - part 1


Life of Dev4good 2012 - part 1

I have to admit there are a few grey spots from the dev4good weekend, I think the lack of sleep and overdoses of caffeine, taurine and sugar are probably the reason or a middle aged brain or a bit of both, anyway here is my dev4good, deconstructed.


I sometimes hang awake at night dreaming of...

On the 7th of July at 8am I wandered up from Charing Cross station to 101 St Martins Lane (mozSpace London) to begin dev4good 2012. As ever when I run events I like to get there really early, more out of a weird recurring dream that I sleep in and missed my own event, than anything else.
I am always apprehensive about how many people actually turn up, I had 57 registered but with 4 other hack events within a 20 mile radius it was a busy weekend for developers.
I had everything organised, from badges indicating the skills of the wearer (developer, designer, other) to chilled beer and energy drinks. 

But what had I forgotten?
This when the fear (F**k Everything And Run) kicks in, the nervous energy and adrenalin start pumping….
Thankfully people started to arrive, massive relief and more adrenalin (wuick flash back to Waynes World - if you book them they will come). John from Mozilla let us in and the fun began.

The early starters were given jobs while I headed to Tesco to pick up breakfast. All I had to pick up was 80 pastries to go with the Lavazza coffee we had been given. However the staff at Tesco had an issue with this and kept asking me how I was going to carry 80 pastries, “in a bag” I kept saying but they still couldn’t comprehend the purchase.
Anyway after much packing of pastries I got back to mozSpace to find a few more people getting ready to go drinking the freshly brewed coffee. Still not the 50 or so people I was expecting, but by this stage I had forgot the numbers problem, we had enough for 1 solid team and that’s all you need for a good hack.
We waited for a bit longer than I had wanted to, but everyone was happily chatting and meeting the other geeks, just on 30 people had turned up - stoked!


Welease the dewelopers

After Intros from me, the Givey Team (Dave and Nick), Mozilla (John) and Iyas who runs Hope and Play, plus a quick cameo from the naked guy out of friends at the window across the courtyard kicked the weekend off.

As you will see only one charity had a representative, this might be down to me not communicating the importance of this as well as I should (note to try harder next year) and to be honest it was something I was initially concerned about. This worry was quickly dispelled while listening to Iyas talk about his recent trip to Gaza, how bad it really is on the ground and what we could to do help. 
I remembered that we are working on problems ‘seeded’ by charities and the more input the charities have in front of the teams the bigger the chance our projects will come to solving the ‘real’ problems, more on this later.
I have to admit some of things I used in my opening speech may have had a bigger impact on the weekend than I had anticipated (in a good a way I hope).
Things that come to mind “if you are in a team and are not doing anything constructive, leave and join a team that needs you”, “last year teams wasted a lot time on trying to make an existing platform do something that it wasn’t designed to do, it might be quicker make it from scratch than to rebuild existing code” or “use the skills you have already, focus on your strengths and use them, learn where you can and teach where you can, but remember time is limited”...


What have the Developers ever done for us?

The goal for each team was to produce and demo a mvp (minimal viable product) in front of everyone else, sounds simple enough doesn’t it?
Queue the mission impossible theme tune.
So project intros were complete and now the scariest part of any hack event…. Will the people do anything when the gun goes off?

Another fear moment (probably a recurring dream about this too), everyone has heard the pitches and then decide to not take part and leave.  However I forgot I had a room full of some seriously smart and passionate people and after running around, trying to find the man size post-it notes, I came back to find the organic process of a group of individuals turning into teams.


Popular people front - splitters

This is a process that if you haven’t seen is quite cool to watch, it’s hard to explain but is a bit like the opposite of the Big Bang or like kids playing with play dough.

You start with a few people talking and others walking past overhear something interesting and get pulled in, if the conversation isn’t what they want they head off on a different trajectory. The bigger the group the more gravitational pull they seem to have on others, then all of a sudden the group will disband and people start to wander off again.
This continues until the groups stop disbanding and regrouping…. A very weird herd/pack thing I guess.
This happened last year as well, so there must be an anthropological reason for how/why this happens, whatever it is, it is very cool to watch.
The teams then headed off and started the first stint before food arrived, time for me to put on the “client” or “devil’s advocate” hat on. For the next couple of hours I bounced in and out of projects when asked to (or not) listen to their ideas, pitches and try and help them to keep their ideas within the rough specs we have. I think I was helping out but it is hard to tell this early on in the day, I am sure I pissed a few people off. My goal of the weekend was to make sure everyone built something that worked end-to-end, I think people enjoy to complete something and show it off.


Otters noses, badgers spleens

Food arrived at 12 on the dot, there was enough food to feed a small army.  The herds snuck out from the safety of their territories (air conditioned in some cases) to eat at the watering hole then moved back to continue working. There was a serious buzz around the place and nearly everyone seemed to be locked in to whatever they had been tasked with.


More splitters, the developers front of tower.js

This is where the fun began, there had been much talk about platforms, frameworks etc, with some very strong ideas about which is best for this and that. One of the teams had already split in 2 by this time, so we had Gaza1 and Gaza2, this was down to platform/framework choice I think.
I have to admit there had been murmurings from some, those mumbles of wrong framework, bad ideas etc and a few people had moved out of teams to help elsewhere.
Something I really liked (it took some balls to drop out of a team) and not something people can do at their day job - “Sorry boss I don’t like the database structure we are using and I am going to head off and work in the canteen this afternoon, ok, thanks, bye

One of the best quotes of the weekend has to have come from one of these particular incidents - “They all went for a cigarette, but never came back”.


The aliens/ufo scene

Between lunch and dinner there is a large grey spot in my memory, I do remember bouncing in and out of scrum meetings, making fresh pots of coffee, but not much a lot of detail. There seemed to be a lot of work going on and a lot of people sitting at their laptops with headphones on, just getting on with it.

Solidarity brothers, solidarity

Pizza arrived and this is where the teams had their first proper long break of the day, everyone came together for a some chill out time before heading back to the keyboards - dedication!

It was about this stage that I realised what I had asked everyone to do, last year the goal was to have  a good weekend hacking and have some fun. This year they had to build something that worked, then show it off and as any developer knows #failure is not an option when it comes to a live demo (Win95 and a USB device anyone).
I also had a chance to check out the project whiteboards and reflect on what had been planned by each team, they all had pretty big ideas and were way above what I thought was possible (proof of the skills and knowledge of the teams taking part).

I'm not the Messiah! Will you please listen?

There was a lot of coffee, monster energy drank over the next 12 hours, plus a tiny piece of sleep and in the early hours of Sunday morning, something close to a geek revelation took place for 2 developers (and me).


Crucifixion party, one cross each, by the left, wait for it...

big thanks to

Thursday, April 19, 2012

Dev4good, Mozilla Foundation and a lesson learnt

I have learnt a lot while running the dev4good events (registration is open for 2012 – http://dev4good.eventbrite.com) and sometimes you learn something that makes you stop and think.
Last week I was left speechless, which doesn’t happen very often, I was up in London meeting Desigan Chinniah (@cyberdees) who is a firestarter at Mozilla (possibly the coolest job title ever) to talk to him about the Mozilla foundation and if there was anything they could help me with for this year’s dev4good event.

I arrived early so did the normal thing in that everyone who has time to kill in London does and found the nearest US-style branded coffee shop. Grabbed myself a coffee and wasted a 45 minutes thinking about how I could have arrived a little later.
At a few minutes before the appointment I headed into the unassuming building and was met by a burly security guard, after the generic, who/what/where conversation I was issued a visitor badge and escorted to the lift and swiped in….
I arrived up to the Mozilla reception on the 3rd floor and waited a bit as there was no one there, then signed myself in and emailed Dees to say I was here but there was no one on the desk.

A few minutes later Dees wandered through to the reception, my preconceptions of Mozilla were about to be blown apart.

I have been to a number of tech offices in the past and there is always the feeling that you shouldn’t be there, you are just a visitor, you are a small dude in a big fish tank etc.
Mozilla have been around for ages, since Netscape released their source code and I always assumed they were just another big tech company with loads of staff cubicled up tapping away at their keyboards, powering the corporate engine.
I honestly thought I would be filtered off into a meeting room hidden amongst the cubicles to talk shop, get a few obligatory t-shirts and asked kindly to leave, oh how wrong could I have been.

To start with Dees arrived without any shoes on and let me know there wasn’t a receptionist and to make myself at home, I kind of liked the approach that silicon valley chilled feel.
We went through to the main space where Dees explained how the Mozilla foundation works and what a mozspace was
  

“So, let me get this straight, this place is free to use and anyone can come and use the space at any time?” – ‘yep
Pause, while I took this all in, “And I can use this for dev4good?” – ‘yes your event fits in with what we are trying to achieve here

In 5 mins I had just wiped over £2000 off the setup costs for dev4good… stunned, more pausing for thought…

MozSpace?
Mozspace is a new concept here in the UK, there are other spaces all over the world that work really well, but it will interesting to see what the uptake will be. As it is a new venture there is still a lot to work out like a scheduling system (I think we can help out with this at dev4good 2012), written fair use policy, access out of hours etc. The Mozilla community is pretty strong (a lot stronger than I imagined) here in the UK so I can’t see this being a problem as the mozSpace grows in use, it is really up to the people using it now to build the framework for the venue.

I personally think the mozSpace idea could really be a game changer for other places in London that offer this sort of environment at the normal London short term rates.
Places like http://www.centralworking.com/ were a fantastic idea until I found out about mozSpace, even if your average coffee shop is becoming a little more lenient when it comes to people with laptops hanging out for extended periods of time.
Even with the advent of the new centralworking space at google campus, which as a sceptical entrepreneur I can see being an interesting place for google to find new tech while its cheap. The mozSpace has no corporate buy out feel to it, yes they expect the people using the space to hopefully take part in the Mozilla community, some will some wont and it is a gamble for them.

This is when I started to realise this simple idea of allowing anyone to use a free space could seriously change the way people like me (freelancers of no real fixed abode) work and run their businesses, not just IT freelancers either, architects, designers, musicians anyone!
I now had the opportunity to use my time in London better, any time that would normally be wasted drinking coffee, being made to feel like a trespasser (some coffee shops are hopeless) could be used to my benefit in an awesome environment with like minded people.


Community space
This kind of concept is also a big reminder/kick in the pants to the other tech companies/organisations who want to have their own active community – (speculate to accumulate?) you really need to give back before you get anything in return.

I remember when the .Net framework was launched and Microsoft was spending a fortune on the MSDN road shows every year and other big developer events, they needed a UK community of people to be passionate about their products.
There was rich pickings (freebies, swag, networking etc) for any developer happy to go along or join the community and use their tools, maybe we pillaged too much all those years ago?
These days the MS developer community is really run by the community leaders, there is very little in comparison coming from Microsoft to what we used to get, please don’t get me wrong Microsoft are still 100% behind the community. It’s just the offers and availaibity of those perks we used to get are no longer there. To be honest this probably isn’t a bad thing, it has forced MS developers and MS themselves to take on different avenues to ‘be good at what they do’

I realise Mozilla and Microsoft run completely different business models and Mozilla is a web thinking company, however there are still a lot of things Microsoft, Google and Yahoo can learn from this open work/community space concept, I mean if a non-profit organisation can rent a space like this and then make it available to everyone, is there any reason larger corporates can’t do this as well?
If you were a big corporate and you had office space in London that what going to waste, the idea of inviting Joe Blogs and his mates in to use the internet would be scary. But what if Joe was a great software developer and was able to help us out with a tricky problem, do you think Joe would charge you for his all of his time if he had been using your office for free? – interesting position to be in….

More on mozSpace London
Basically the entire floor of the building is the mozSpace, which the Mozilla Foundation are using as part office for their staff and part ‘open working environment’ for anyone else who wants to use it. The mozillians (as they like to be called) hang out and work where they want, the rest of us just fit in wherever we can (and there is a lot of options).
Along with the main space there are 3 big board rooms and from memory 5 smaller rooms, plus a couple of smaller breakout rooms as well.
The main space will have a full AV setup, plus if you run events you might be able to stream live to the web and/or record video too.

Whoever turns up can meet/interact with the Mozilla staff and with anyone else using the space. A fair use policy is in place (community enforced), that is if you think you are going to turn up every day and run your startup/business from this space you should probably find somewhere else before you get a tap on the shoulder.

To use the space I think everyone needs to remember a few things;
-          It’s a free environment, don’t abuse it
-          Respect the people who are there already
-          Use it as much as you want, but not too much
-          Tell people about the space, but use it yourself first so you can pass the right info on to them
-          You never know who you will meet there, be good
-          Treat the place like your parent house, just without the keg party (well….)

I am not a mozillian, not yet anyway, but I can see why their community is a strong one and why it will continue to grow, they engage young people (I met
Everything is centralised around a single idea ‘keep the web open’ and now they have a central space to call home I can see their numbers growing fast (they have a new community member, me at least).


If you are in London and want to check it out, mozSpace is on St Martins Lane, you can miss it if you are looking for a big sign that says ‘Here’; 101 St. Martins Lane,Suite 300,London,WC2 United Kingdom  
Next time you need a space to run an event in London, don’t hesitate get a hold of them MOZSPACES@MOZILLA.COM if it fits with what they are doing, or if they like the idea you could be the next event on their calendar

All in all I am very impressed with what Mozilla are doing, who knows how it will go in London, if it is not abused I really think we could be seeing some awesome community event take place and projects developed all because of the free open space they are making available to us all.



The next dev4good event is on the 7/8th of July, if you can write code, design stuff or know your way around a database – we need you!

Friday, October 28, 2011

Silverlight 4– MVVM – binding & dependency property injection

 

I am not going to try and explain MVVM in depth, there are loads of post about what it is and how it works In essence its splitting the code and UI into separate (and testable) layers within your application while trying to keep the business logic out of the UI.

What I thought I should do is a simple example of one way you could bind your data.

One of this problems I hit very early on, was how do I use MVVM and allow data to be passed through from parent to child UserControls (these have to be generic - one for the address, one for a single phone number, etc) that are coded to validate themselves without having to understand the data context they are being used in. The big plan is to use them across multiple projects without having to rewrite/create each from scratch every time.

I started by dumping everything into one massive view model, this was the wrong way – it was nearly impossible to manage the code and with each control only needing the field(s) to do its single job it proved tough.

I looked at all the MVVM frameworks around, all are great, but none do all of the tasks I seemed to need. I also wanted to understand how MVVM worked in the background and using a framework would hide this from me.

No framework this time, I just coded my own simple modelBase to manage the standard bits and bobs.

What I ended up doing with the databinding is an MVVM application that uses dependency properties in the control code behind to manage data binding to some UI elements while still using MVVM to do the logic and control data storage.

I am building a Silverlight control to manage/create new customers so they can be vetted/contracts created etc for a telecoms company.

I have broken the form up into a number UserControls to try and make development easier and hopefully make each UserControl useable in other parts of the application.

The control forms a part of a larger control/view that manages an entire customer account, so being able to access the same customer data across (possibly) multiple Views is important.

How I did it (this time)

I am using web services to build the objects/classes/observable collections, these are all stored in a set of static classes that are all run before the application loads the UI, I had issues with loading everything asynchronously as if the customer loaded before the list of categories for example it would crash (there is probably a work around for that).

The main page holds all user UserControls , each UserControl is populated with static data before I load the customer view and ViewModel which will set the selectedvalue on any databound controls or text property for text etc.

Injection into user control code behind;

I am adding a binding my Customer ViewModel object to the LayoutRoot grid’s DataContextProperty, however you could add this to any property on any control. Or you could add a single field from the DataContext as well to any UI property.

My child UserControl code behind =

namespace Project.Controls.Customer
{
    public partial class ContractDetails : UserControl
    {
        public ContractDetails()
        {
            InitializeComponent();
            LayoutRoot.SetBinding(Grid.DataContextProperty,
                  new System.Windows.Data.Binding
                  {
                      Source = this,
                      Path = new PropertyPath("PropName"),
                      Mode = System.Windows.Data.BindingMode.TwoWay  
                  });

        }

        public static DependencyProperty DataProperty =
                DependencyProperty.Register("PropName", typeof(GenericDataService.queueCustomer), typeof(ContractDetails), null);

        public GenericDataService.queueCustomer PropName
        {
            get { return (GenericDataService.queueCustomer)GetValue(DataProperty); }
            set
            {
                SetValue(DataProperty, value);
            }
        }
    }
}

I hva set the Mode to TwoWay, you could set this to OneWay, OneTime or change this at runtime depending who who is logged to force the binding to be readonly.

I then pass the data into the child UserControl above in the xaml of the parent control;

   <my:ContractDetails  PropName="{Binding TheData }" x:Name="contractDetails1" />

One last step is to set the text property of the textbox that is on the child UserControl , in this case it is the phone number, I use a text filter command to only allow numbers and there will be some UK phone number validation as well.

    <TextBox Text="{Binding ElementName=LayoutRoot, Path=DataContext.PhoneNumber, Mode=TwoWay}" />

<TextBox Text="{Binding ElementName=LayoutRoot, Path=DataContext.Fax, Mode=TwoWay}" />

<ComboBox Height="23"  Name="CBContractDuration" Width="120" Grid.Column="2"

ItemsSource="{Binding Path=ContractDuration, Source={StaticResource StaticData}, Mode=TwoWay}" 

DisplayMemberPath="Name"  
SelectedValuePath="id" 

SelectedValue="{Binding ElementName=LayoutRoot, Path=DataContext.ContractDuration, Mode=TwoWay}" 

/>

From the ComboBox sample above you can see the control is filled with data form my Static data class, however the selected item is set by the Customer ViewModel data passed in through the dependency property up in the first example,

(I have tried to show the linking between the three steps by colouring the keywords, sorry if this is confusing for anyone)

It is important to remember that even in Xaml the binding keys are case sensitive  so in the above example PropName="{Binding TheData }"  is okay, but PropName="{Binding Thedata }"  will not work.

The above works well, but there are instances where you end up doing the validation on the control within the ChildUserControl in the code behind rather than the ViewModel, this is not perfect MVVM, but it works, so is good enough for me – at least until I work out how to do it all in the view model.

Summary

From what I have seen so far, its only been a few months of a steep learning curve (decided to move form VB to C# at the same time – glad I did), but there is no limit to what you can do in MVVM/Silverlight/Xaml, its really down to working around the eccentricities of the framework to make it do what you want it to.
Databinding is one of them, which I hope the above example explains - at least one way to do it.
Please note this may not be the best way, however in the rough and tumble of agile development, it works and it has shipped.

Thursday, August 11, 2011

Silverlight 4 – error in FrameworkElementMetaData

Booted up my PC and opened the latest project only to find when I try and view any of the silverlight VStudio just gives me this error: The type initializer for 'Microsoft.Expression.Platform.Silverlight.SilverlightCommonDesignTimeProperties' threw an exception.   - Nice and helpful.

There was only 1 result on google that sent me to https://connect.microsoft.com/VisualStudio/feedback/details/669751/the-type-initializer-for-microsoft-expression-platform-silverlight-silverlightcommondesigntimeproperties-threw-an-exception#

Thanks to dgcaron for his workaround;

I had this very same issue when i installed the WP7.1 templates from the MVVM light toolkit. i was able to build and use my projects after i :
- removed the system.windows.interactivity.dll reference
- cleaned my sln
- readded the reference

 

Tuesday, August 09, 2011

Activity.log – visual studio 2010?

Every now and then I have a pop up saying that something went wrong in visual studio and it is probably an add-on component that did it and I should run visual studio in  /log  mode to see what is happening in the activity.log

After a little playing in the command line trying to get this so work, I found this; http://blogs.msdn.com/b/visualstudio/archive/2010/02/24/troubleshooting-with-the-activity-log.aspx by Bill Weinberger

A great post, explaining how to do it and what to look for!

Now to work out what is happening.

Tuesday, August 02, 2011

Identity theft how simple is it

Armed with a few spare minutes and nothing but a mobile number for an eBay seller I was picking some kit up of I wondered how much I could find out about this person?

Step 1 – Asked Google

Google gave me a few spammy hits plus a link to a page on Facebook called "I have lost my phone, please tell me your mobile number again", I mean come on people. There were about 90 mobile phone numbers alongside this persons ‘friends’ names.

Step 2 – Facebook

Following through to the person profile for my ebay seller, a quick skim through their wall showed a load of birthday wishes a few months back, whilst their profile details mentioned they graduated from XXX university in 2002.
He also had a picture of his pride and joy, a beat up VW polo with its number plate visible in the photo.
So some simple maths gave me their date of birth +/- a year.

Step 3 – some more public sites

A quick scout of Linkedin gave me a few more clues on where they worked and adding this to the Facebook data a rough idea of where they lived too.

Twitter had no results, so they weren’t a geek (he works in a hotel btw)

Via BT, whitepages and 123people, using name and rough location I got a hit on an address, same surname but different initials (maybe lived with parents?)

 

So in half an hour I had;

1. Full name
2. Date of Birth
3. Postal Address
4. List of friends,mobile numbers (and all their names too, possibly DOBs)
5. Current employer and their address
6. Car number plate, although not sure what I could use it for?

This is probably enough to do bad stuff with, or at least cause some havoc.
I really don’t think people understand how easy it is now to piece together a full identity of just about anyone.

Yes there are bad people on the net that look for this stuff, but we really need to make it hard for them don’t we?

 

Prelude

I picked up my eBay purchase (from the address I found above it happens – strike 1), from the sellers father (strike 2), when I asked how his son was getting on at his new job (maybe pushing it a bit far with this), he said good but then looked at me a little bemused.

But I had already paid for the items so all is fair in identity theft and eBay purchases.

Keep it locked away

Its a dirt internet, keep it clean and hide the data you don’t want people to know about. You wouldn’t write your PC password on a post-it note and stick it to your screen would you?

Tuesday, July 05, 2011

Running a developer event – sponsors

They may not come through when you think they will and even if they say they will, others though will come out of the wood work. But they will never find you first.

But don’t let that put you off!

There are a few or companies who support the UK MS development community that you could say will be guaranteed to help out in some way, make contact with these guys as early as possible as they always run their sponsorships on a first come (with the best idea) first served. And they take the longest to get money signed off and paid.

Now its the hard(er) bit, start sending emails out to every business contact you know, anyone could be a sponsor. I didn’t go for the give us cash or forget it, it was important for me to get ‘stuff’ that could keep the costs down and I never said no to a sponsorship offer.
The email that went out was heavily focused on what I was trying to do, not on how much cash I needed, actually for most first contact emails I never asked for cash. If there was a positive email, then I would send a gracious thanks and mentioning cash needed.

My initial thoughts were to ask for small amounts (trying to avoid a ‘no’), after speaking to someone who knows about running and organising a lot of successful events (Simon Sabin from SQLBits), I realised that I should be asking for the full amount from everyone and seeing what happens… First try on this was surprisingly effective.

Don’t stop looking for sponsors, you cannot be certain of anything until the cash arrives.

Be prepared to cover some(or all) of the costs for the event yourself, hopefully it wont come to that. But you do need to bear this in mind, this will also keep you focussed on finding both sponsorship and the right venue.

Phase1 – the people you know
Phase 2 – the people you know through people
Phase 3 – random companies that you have seen advertising in the magazines you read, who may or may not have any link to the event
Phase 4 – repeat 1,2,3

It takes balls (not literally) to run an event, if you approach people confidently and know what you want to achieve you will get a better response. If you know what the sponsors can get out of the event, you will get a better response.

My initial emails were basically crap, it took me awhile to get my story of what I was trying to achieve straight.

Once you have your sponsors, do keep them in the loop, now this is not something I did on the run up to dev4good, but I will be sending a thanks and summary to them all within a few days of the event finishing.
While the event is on, make sure every attendee knows who the sponsors are and what they paid for, I did a lot of this on day1, but forgot about this on day 2.

And most importantly don’t lie to sponsors, ie this is our 5th year, we have 200 people registered, your closest rival has given us £xxx etc It will only get you bad press when the truth comes out and you will find it very hard if not impossible to get these people to ever take you seriously.

Well that’s a few bits on sponsors, don’t hesitate to contact me if you want to find out more, tweet me @chillfire

Running a developer event - venue

My biggest piece of advice to anyone looking to run ANY event
Get your venue sorted FIRST

That’s about it really, except a few other things to consider;

suitable for the Event

Make sure you focus on venues that fit your event, there is no use chasing a venue that is not suitable, if you can go to the venue before you say yes or put cash down, expect to out a deposit down well in advance of the big day, to secure the booking.
Keep in contact with the venue, make sure you know what they need from you and that they know exactly what you are expecting them to do.
When you go to the venue, try and imagine how the event will run in your head, ask about everything you may need and make sure anything verbally agreed is also bounced around in emails too.

Location

This will set your cost per person straight off.
In London its going to be a lot more than in the sticks, saying that you wont get as many people travelling to somewhere that doesn’t have a train for example.

Infrastructure

Public transport is a must, if it’s out of range to walk, then is their parking?

Accommodation

If you plan to run the event over night or not, people may want to stay the night before to save an early trip. I used a hostel as an option for anyone who didn’t want to kip on the floor. Saying that a few said they would have crashed on the floor if they had to. Also I could have saved a lot of cash by booking beds rather than dorm rooms that were not full due to last minute drop outs.
I was very lucky when I found www.hammersmithriverside.co.uk, this was all down to an opportune email. They allowed me to use the venue overnight (this was the biggest hurdle for dev4good, I wanted people to be able to work through the night if they had to (or sleep for free). I spoke to a few businesses and insurance was the problem, so was security. I tried real estate agents as well, looking for empty buildings, but again insurance and security were the problem.
I also looked into YHA hostels, as the initial event idea was for it to be a code retreat, but there are very few that have an internet connection (even 3G) and even fewer that are close to civilisation – they are a very cheap option though.

Services

Can you get the internet, is their 3G, how many people are you planning to have on site?
We had 25 people using 2 wifi points on the same Adsl and we crashed this quite regularly. One team ended up in the pub next door using theirs for a few hours. If you are using a corporate venue this probably wont be an issue, but do go wandering around your venue and make note of any ‘public’ wifi spots, cafes etc

Food

After the venue itself this is the second biggest cost, at dev4good I covered all food costs + coffee/tea/biscuits through the venue’s kitchen. We ordered pizza in on day 2 as it is a pre-requisite for any coder event.

backup

I didn’t have one, but its always worth having a backup in mind, especially if you are booking a long way in advance, don’t stop looking for other venues, you never know hen you might need them.
If you have any questions, tweet @chillfire and I will see what I can help with

Saturday, July 02, 2011

dev4good day 1

Day one has been a great day for learning!

The 3 charities all came to us with completely different problems.

Hope and Play (www.hopeandplay.org) were looking for a way to locate and manage resources. And allow other charities or people to do the same.

The Ministry of Stories (www.ministryofstories.org) are looking for a way to get more young people writing stories and publishing these to the world. All while helping to generate a little more cash along the way.

The Design and Craft Council (www.craftanddesigncouncil.org.uk) want to be able to automate their awards processes

For me one of the big worries about the event was how to get the teams to work on all the projects.

Fortunately after much post it noting and milling about, the teams magically built themselves!

Then came much discussion and planning

Then the internet and wireless connections started to fail our multi user downloading of updates/platforms/frameworks. So much so that one of the teams retired to the pub next door to use their wireless (well that’s their story anyway)

More pics from day 1

http://www.flickr.com/photos/64749203@N03

Its been a great day and there will be more code and frivolity tomorrow.

Wednesday, June 22, 2011

These are not the mind waves you are looking for

A few weeks ago I was watching the ‘Best if the Gadget Show’ and one of the task they showed was how they controlled a gantry crane with nothing but the power of their minds.

This was in my mind something straight out of the Sci-Fi shows I watched (and still do) as a kid.

This coincided with me trying to find some cool kit for the volunteers coming to dev4good (www.dev4good.net), we had the Kinect, we had the MS Surface, mind control was definitely on the cards.

Two days ago my Neruosky Mindwave arrived, queue the Star Trek theme tune.

Out of the box

inbox

Un Boxing the toy was easy, getting the sticker off their USB dongle was tricky. Unboxed there is not much to the system.
A weird headset similar to the one used in universal soldier (maybe there is a hint of irony here) and the aforementioned USB dongle.

That it I thought, this is all I need to control the world?

I did need a single AAA battery though.

There was also a CD, installing this gave me the option to install the latest software which was 400mb…

The headset is fairly lightweight and feels fairly solid, although not sure about letting the kids use (as the pictures on the box show).
When its on your head, it feels a little odd at first, its not something I would wear in public, at least until I can get my Jedi mind tricks working to make people forget they saw it.

I am guessing the positioning of the main contact and the forehead pad is important, but it does feel weird.

Install

Simple, just agree to the Licence and its off, took about a minute and half to extract.
Plug in the dongle when told, 30 secs later and MindWave manager opens and asks you to add put a fresh battery into the headset.
Once on it auto searches and pairs itself to the headset and tells you the serial number.

Up and running

Once installed the ‘App Central’ application kicks off image

and the mindset becomes active.image

Using mind control in the real world

Okay its all a little more grey than I thought, there is a great set of free apps/games installed by default. But while playing them you never really know if its you actually doing anything. This I think because you are not interacting with things in the same way.

When I type on a keyboard, I can feel what is happening, I am thinking a millions times faster than my fingers can type – but I know that its me that is doing it.

Sounds strange, but the mindset reads you brainwave and there are you you use for most of the games

- Alpha waves for relaxation
- Beta waves for focus.

But as I don't know how to control them, its a ll a bit hit and miss.
I guess the more you use the hardware and apps the more you understand how your own brain functions.

Now all I need to do is find an application I can use this for!

 

good place to start for developing against the mindset

- http://developer.neurosky.com/
- http://thinkgearnet.codeplex.com/

 

more to follow as I start to code my world domination platform up"!