Wednesday, November 19, 2014

this wicked world of agile

I have to vent a little, the world of development seems to be as bad as any other industry when it comes to fads.
When I started programming the big thing was Extreme Programming this led to lots or Pair Programming neither of which worked well with the project managers who studied PRINCE2...

Lately we have been beaten over the head with the "Go Agile" it will change your live, which I have been trying to use more and more, with varying success across a number of projects and clients.

I have bought books, read stuff online and even have a set of Planning Poker.
Please note, I am not an Agile guru, far from it, but I think I have seen enough to realise that using it "by the book" is not going to give you the results you are after.
As software developers we are designed (genetically predisposed?) to not follow rules, we are continually solving problems by thinking around the rules in place to create functional useable software (that has to follow user expectations and rules) and bending them to our needs.
Also following a set workflow for everything, 1 then 2 then 3 then 4, back to 2, then 3 etc is not too agile, wouldn't you say?

Meet Erik
I then found this video by Erik Meijer who is bonkers (in a good way) and a well renowned developer, he knows his shizzle.

The video is not going to brainwash you into becoming agile, the complete opposite actually and is well worth a watch over your lunch break (he may utter a few swear words here and there so is NSFW dependent on your colleagues), what it will do is make you reassess how you work and remind you that just because we are told stuff works, it might not.

One Hacker Way - Erik Meijer from Reaktor on Vimeo.

Don't get me wrong I am not against Agile, I personally think the ideas behind it are great, however in the real world it just doesn't work as a whole single idea.

When I started on my path to development enlightenment I was told to fill my virtual toolbox with as many tools as I could fit in there, learn everything new and shiny, stay on top of the latest methodologies and frameworks to ensure enlightenment and a massive paycheck. I was to be a software ninja.
In reality most of us get paid to work on a limited set of platforms at any one time, so knowing that a new 'something exists' is more important then knowing how it works.

We are all going to be 'Cross'
The day that we all realise there is no 'right way' to write code the better, gone are the days where a language can stop you from targeting a particular platform is nearly gone. Cross platform is here to stay, even Microsoft are in the game now partnering with Xamarin and with platforms like MVVM Cross there is no way back to one language one target.
Today we can write in pretty much any language to create applications that will run on multiple operating systems.

Isn't it that how we get to the end result is irrelevant these days?
Waterfall, Agile, Pair programming, Extreme Programming, Javascript, HTML5, C#, VB, Python, TDD, BDD iOS, Android, Windows  - who cares what tools we use and how we do it right?

Just a thought

Thursday, December 12, 2013

7 years and counting

In a moment of reflection, I have decided to look back on the last 7 years of being self-employed and take a look into the future.

Why take on running your own business?

The reasons why any of is take on the task of running our own business (or as people like to say 'being your own boss') is pretty wide.
I guess because my father ran his own business(s) up until a few years ago is probably the biggest factor. I remember there were times that we just didn't see much of him as he was either down at his workshop (he was a panel beater/car restorer) or in the garage at home working on cars, he did this to keep our family fed, clothed and all that stuff.
But after speaking to him I think there was an ulterior motive, and sub consciously its the same reason why I do what I do..... we love what we do.
For my dad it was cars, bikes, anything with a motor in it, he was always tinkering with something, tweaking suspension setups, fuel mixes, there was always something that could be done better.

For me its not;
  • the freedom of working for myself
  • the millions of pounds I haven't made yet (although .....)
  • the easy hours I dreamt about
  • the long holidays between projects
However there is one part that falls into every aspect of what I do, that is I like to solve problems and make things work better.

I left the 9-5 after watching a fairly successful business self implode because of one mans greed(albeit out of the ashes I helped shape the IT for a company that is one hundred times better in every way Visalogic).
I should have seen it coming, at the Christmas party the year before the 'evil' director said of the 'good' director, "well it's been 10 years, if I did it all again, I might do it with ???".
Having a front row seat to this debacle (I am amazed no one went to jail over some of the underhanded crap that happened), gave me an insight and something to aim for and it definitely wasn't to be involved in this sort of thing again.

How to do it?

I was amazingly lucky that my wife understood my dream of starting my own business (we did set some ground rules about how long I had to do it, no use flogging a dead horse and all that).
The day I handed my notice in was possibly the most amazing day of my IT career, I had already lined up a few very small projects (all of them were under priced and not worth my time, but I had something, my idea worked) and a regular retainer at a new visa services company I was set.
With a couple of successful projects out of the way and nearly no money in the bank I started to get more work in through word of mouth and nearly all of these clients I still have today, so I must have done something right.

Fast forward

7 years on and I am ticking along, I haven't found the winning million pound project yet, but it is early days and projects like mylearningworx, wemoot, yomeformo still out there gathering no moss and a some great core clients I am really happy with how it has gone so far, but there is no time to take my foot of the pedal.

Economic crisis?

So far I have been lucky as I have not been directly affected by the economic down turn, I have always tried to not rely on any one client/industry for projects, this I think has been the saving grace for my little company and I feel very fortunate to have been able to keep going.
Saying that I know a lot of other developers in the .Net world who have not been affected either, maybe the surge of technology has saved us the hassle of having to deal with it.
Indirectly the downturn has affected everyone who run s a business, the cost of doing stuff is a lot higher, travel, utilities, etc really has an affect on the bottom line and it does make it difficult to try to negotiate rates etc as every company is affected the same way.

Where to next? 

2013 has been  a big year for me, start-ups like mylearningworx lauching at Learning Technologies in January and then going into the b2b market a month ago (with some pretty amazing possibilities on the horizon I might add) and cool projects like my CTO role at TheGivingLab it has been a year of learning how to mix technology, business and innovation properly.

There are some great ideas flying around for 2014, if any one of them come to fruition it will be a busy year...

Tuesday, November 26, 2013

support for windows XP stopping in 2014 -aarrgghhh what will we do

Q & A - Windows XP support stopping in 2014

In the infamous words of Corporal Jones "Don't Panic"

Q: Our MD has arrived this morning quite worried about the prospect of MS ceasing support for Windows XP next year, so I was surprised to find no previous threads on the subject on UKBL.
Forgive my ignorance, but is it something we should be worried about if we're still on XP, or is it just a ploy to get users buying new kit?

 A: Windows XP support is destined to run out in 2014 (April 14th), but it has lasted a while as it got released back in 2001. That's 12 years ago. (Windows XP - Wikipedia, the free encyclopedia)
By the time they stop supporting it it will be 13 years old!

While its expensive for businesses and can be a pain for the users of those machines it is important for businesses to keep up with technology.
Developers of applications and web applications are getting more aggressive with their hunt to not support older browsers and architecture.

Putting the whole support side of things to one side, I would be more concerned about is the hardware you are running XP on, if (like a number of my customers) you buy your PC and OS together then its possible that the XP computers you are running are sitting on hardware that could be more than 10 years old.
Now I am not saying that you need to replace everything, but do bear in mind that the older a hard drive gets (because really this is the only bit of your PC that you cant replace without grief) the more chance it will one day start making that lovely click-click-clicketty-click noise and fail to boot.
If these PCs die you can't just transfer the XP licence (as its sold with the PC) onto a new box, so a new PC and OS will need to be purchased.

My advice to my customers is to not freak out and replace everything, but do budget for PC death at 1 a month, have a PC in the office that has windows 8 (or whatever you are going to use) on it and install all of your Business critical software, printer drivers etc on it so you know everything works (if you are running an old MS access XP application for example you may find that it access dlls that simply dont exist anymore).
This spare PC can be used for testing and training, so before John in accounts gets his new PC he can have a whizz around and get a feel for where things are.
Do bear in mind that a lot of consumers will be getting forced upgrades on Dec 25th that will probably already have an idea of how windows 8 works.
If you dont want windows 8 there are still copies of Windows 7 available (and windows 8 that will auto downgrade on install).

The bigger problem for SMEs who have server infrastructure, not just from a hardware point of view either, especially if they are running "Small Business Server 2003" as this does not play nice with every aspect of windows 8 (depending on how you use it).

In short
Please if you are running a small business;
  • Don't go and buy a ton of new kit in panic mode
  • Do speak to people/businesses about what they are doing?
  • Do investigate cloud storage/server infrastructure (it may be cheaper than you think)
  • Don't discount Windows 8 because it looks different, it will save you money in the long run
  • Do look into what sorts of devices your staff could use as an alternative to a desktop (table PC, iPad, android tablet, mobile phone, tough book, laptop), giving them the right tools will save you money and make them more efficient
  • Do remember XP is solid and it will keep working for a long time
  • Do run a test PC with your new OS on it with all of your business applications, accounting software etc, get heads of the business to use it as their base PC for a couple of weeks, you need to know it does everything you need it to before you buy new kit
  • Don't expect your 10 year old hard drive to last 10 years more
  • Do research sold sate drives as an option to replace not so old equipment as part of your tech upgrade/refresh

Feel free to contact me via via twitter @chillfire or email etc if you need a hand with any of this, it's better to get fail a load of times (during testing) before you do it right once

Monday, November 04, 2013

Going to the cloud for storage

 Q & A - cloud storage

Q: We are looking very hard at the cloud as it would be very useful to our business particularly with free lance journalists and having more than the one office, but the MD does have reserves about the security aspect.

Many thanks

A: Make sure you look into the data protection requirements for the data you are storing and where it has to be stored.
Sometimes depending on the legal requirements of what you do means you have to store you data within the geographic area it is from (or the people it talks about are from).
I only mention this because if you go 'cloud' with some providers you can specifiy where the data is stored (EU, US, UK, London, etc), but you also have to understand that your data MIGHT be backed in other places as well.

Most decent cloud storage services will have at least 3 copies of your data on hand at any one time, one that you are using which is your closest and fastest datastore, the others will be on different servers probably in different server farms across the globe so if one dies they simply redirect you to the next nearest one until the broken one is replaced.
So if you have regulatory requirements for data storage make sure you check where you data is going to 'be'.
Also make sure that your cloud storage does keep active mirrored copies of your data and has an undo/previous versions option....

Just because it is in the cloud does not mean someone wont delete it

On the security front there are different kinds of security to investigate;
  • Access, who can view/edit/change/delete your data (you should have 100% control over this)
  • Hardware Encryption, how the physical data is stored on the 'disk' (you wont control this but make sure it is in place), this means people cant open the raw data blobs direct from the server even if they have 100% access to the disks
  • Software encryption/locking, users can add passwords to files for an added level of security, but remember that these passwords have to be managed (and not via post-it notes or in a group email for example)

Wednesday, October 23, 2013

Mobile data encryption has been broken, who has our data now?

Reading this article from the BBC - it appears everything we do on our mobiles can be 'seen' by the powers that be.
But to be fair I think this tiny amount of data is the least of our worries.

No one needs to decrypt anything to 'know' you, lets take Google for instance or 'Big Cousin G'.

If you viewing this site from your desktop/laptop, you are 'known' to Google and every click/page view is logged, rough location etc, bring on the cookies!

If you are using chrome to view this page, they know when you last went to the toilet or made a coffee or at least left your desk based on usage stats and your most searched terms.

If you have a Gmail account they probably if you are cheating on your partner because you have a meeting booked on your calendar in London, but have just booked a swish hotel (paid for using Google cart) in Leeds for the same day.

If you are using an Android mobile device to view this page, they also know where you are on the planet to within 20m (even with your GPS/location services turned off) so you cant hide.
Any pictures you take/upload are probably geo-location tagged and scanned using facial recognition software to see who you are really hanging out with. - Google+ Introduces Automatic Face Recognition To Photo Tagging (But It’s Completely Opt-In) | TechCrunch

They can also scan photos to work out where you are based on the background scenery... IARPA's "Finder" Is Like Facial Recognition For Backgrounds | Popular Photography

Using a Chromebook, well you have basically given them the keys to the front door.

Remember Google tell you they are going to do this in the T&C's you all read right to the bottom when you sign up for a new google service. In short it all means "We (Google) will look after every byte of digital data you create every time you login to a Google service or use a website that uses any of our services and we reserve the right to search this data for stuff we think will help us deliver our services back to you and make some cash"
Everything we all do is tracked, have you ever tried to use the internet with cookies turned off?

Based on the above data streams,  Google can work out who you are, your age, sex, marital status, your favourite food/drink/music/hobbies and even what ads to fire your way!
They will be able to profile you based on the data you give them, this is the sort of data that not so many years ago would have been impossible for any one company to have access to.

I honestly think that the data that is encrypted for us across mobile networks is nothing compared to the data we give away freely to the likes of Google, Yahoo, Microsoft, Nokia, Samsung, IBM, Antivirus providers, Facebook, Credit card companies, our Banks, Supermarkets and anyone else we have a digital relationship with.
All the while naively thinking that no one will ever see/use it.

If you want to be a little more scared about what they have on you - The Evil Side of Google? Exploring Google's User Data Collection - Moz

Don't get me started on Facebook, if Google and Facebook ever start a clandestine relationship or got hacked we might as well run around the streets naked wearing a sign 'The end is nigh' as everyone would have dirt on everyone... on a happier note there is only 2 days until the weekend... but Google knew that already.

Friday, August 09, 2013

Still no internet in 17% of UK homes - my solution

Almost a fifth of UK homes are still not online, new figures show, but mobile browsing continues to grow quickly.

Most UK mobile networks run a faster 3g (let alone 4G) connection that the majority of copper based broadband customers...

I can get 14Mb/s over my 3G handset in some part of the UK, my Demon 20Mb business broadband used to get 2.5Mb/s on a good day.... on fibre now though ;-)

With unlimited mobile data, it wont take long for people to realise they are actually paying twice for the same service.
While we sit at home surfing the net on our speedy home dsl, we are paying our mobile network for the priviledge of not using their network?

A better idea would be a docking station in the house that you simply place your mobile phone into, so when you are home the network routes all the house internet traffic through the handset... Dragons Den where are you...

Friday, July 05, 2013

the end of hack days as we know it?

I have been running volunteer hack events under the dev4good banner for a few years, something I feel was needed in the developer community.
As far as I remember when we ran the first dev4good event it was the only dev/charity hack weekend, there was another one lined for later in the year (givecamp) but our 25 strong team may have been the first ever in London.

Fast forward 6 events, a couple of hundred volunteers and even a few launched products the hack day world has changed, just head over to and see for yourselves.
There are hacks all the time, for every subject you can think of, in every location around the UK.
Companies are running them to engage with their customers, developers, prospective clients, local newspapers are running them, everyone is doing it now.

But I am pretty sure every hack event attendee (and organiser) thinks the same thing, wow that was great but what have we actually achieved?
At a base level the events always follow the same structure;
  1. welcome
  2. Speakers intro/outline projects
  3. Coffee
  4. Start work on projects in teams
  5. Lunch
  6. More working
  7. End of day demo of progress
  8. Pizza
If the event is over multiple days the secondary days are +/- minus the same, except the last day where everyone has to pitch their 'finished' idea to the group.
Sometimes we will get a project out the door, live on net in some shape or other, mostly the projects are seeds for bigger ideas or are there to prove that the project is viable.
Do we actually make a difference?

As soon as the event is over, everyone goes away with a feeling they have done something good, learned something and met some cool like minded people.
The euphoria normally lasts until the alarm clock goes off and you have to return to the reality that your actual job beckons.

And this is the big problem with any hack/community based project where people are volunteering their time, what happens after the event when the only time you have to work on it is going to take you away from that elusive thing called 'spare time', especially when you are not going to get paid for it and there may never be an end to it.

I personally think that the hack days as I know them are coming to an end, dont worry we are still going to be running dev4good events, but maybe with a different goal.
In the beginning they were targetted at getting developers out of their comfort zone and into a social environment where they can meet and code with other developers.
I realised after a couple of events, that as nice as that sounds, the sponsors need to see that we are getting something done, so the focus was changed to building a minimal viable product on day one and then add functionality to it in a seriously iterative/agile process so you can 'deploy often'.

The best event we ever ran was the last one which was the Windows Phone 8 hack, Nokia gave us 10 devleoper devices so teams could deploy to a real device to test as they went, although we only got one product to the marketplace, it was a brilliant weekend from a working code point of view and a good way to set the standard of what we need to achieve this each time.

  • Developers
  • Designers
  • Access to the technology they are planning to use
  • Extreme and focused MVP thinking
Now I don't think hack days like this will disappear, but I think they are going to have to change into something either more social, or more focused on getting a product out the door. Any event that sits between this may end up becoming a 'little last season' with people looking to take something home that they can use in their real lives.

So what does that mean for dev4good?
Well that is a good questions, with only one event so far this year and only a handful of months left.... maybe we need something different, feel free to email any ideas you have for us to run, the wackier the better!