C#, Selenium & NUnit

This trio provides a quick and easy way to set up UI-driven tests with Selenium webdriver, and Visual Studio, C# and NUnit to create and initiate the tests.  Here is a step by step guide, using the customary google search scenario as example (fast becoming the “Hello World!” of testing). Continue reading

First WordPress plugin

I released my first WordPress plugin today. I have have been trawling through custom code I have coded over years, and found some that are ideal to turn into plugins. The first is a simple on that adds an address field on the post form, and allows user to add a googlemap identifying location, with a customisable widget. Will be adding a proximity search and multiple map marker display in future releases.  Will also be creating a user guide to demontsrate how to create plugins, and how this particular one was made. Continue reading

Are we there yet?

You Are My Bot

Since when did programming language become a fashionable label? I mean, its all code and approach; no magic wands.

With all the meetups and new course the development world is buzzing with activity. But something strangely familiar and stagnant about it already. Meetups preaching largely to the converted, numerous testing and development courses that attempt to each sell themselves as THE course, older school who don’t want to move forward themselves but latch onto modern thinking as a sales and money-generating tool. The early-birds, which save you little except committing to something you may not even be able to make. Oh yes, mix with the higher echelons of technology and define your future. Though you are not defining yours, you are defining theirs. And you think the web 2.0 mentality has gone – “how can I make you make me money?”. Whether Google+ or a well-meaning group set up for enthusiasts of a particular area of technology – ultimately the individual will pay the price for a small section of people’s success, because the entire model of professional networking is wrong.

You Are My BotFinally, I am moving jaffamonkey away from simply a contractor company, and starting a “hub” of my own focused on my two areas of Quality Assurance and WordPress. Though I have to be cautious about labels such as “fashion-free” and “no Nathan Barleys”, as it is easy to slip into an ironic kudos area. But this is very much what I want from it. Take a look at Shoreditch, home to the beautiful people of technology, where Google has set up a base. There is nothing special here – people with ideas are everywhere, but because of the vacuous recent movements in technology (putting it in the realms for those who wish to affiliate rather than integrate), there are many very weak ventures of little use to anyone except those who benefit from short-term gains. Sounding familiar? Are newer generations simply getting trapped in same patterns as those they purport to rebel against? Of course they are.

When things move into a fashion zone, they automatically become part of something that is ultimately disposable. The fashion-ability determines its duration. Little consideration is made of the technology or approaches, and rarely shared. What underpins software is code, and code has evolved slowly in comparison with everything else and with good reason. It ultimately has to work, and lessons learnt over the decades have evolved to the point we are now. But now, people carry their programming language(s) like some kind of fashion badge. When it’s irrelevant. Instead of nodding towards vacuous networking, pro-actively mix with other people. You can always find an audience who will agree with anything you say. But finding a vibrant audience with questions, opinions and disagreements is far more valuable. The new “hub” will be open soon, and focus on enabling and connecting people. Not all ideas may succeed. but they can all help with our education in an atmosphere of mutual support and communication. Watch the blog …

Semantic pants

Pants

I should add here, that this is based on a description a non-techie friend gave me,  on how google searching worked.

The semantic web. Take the word pants.

User 1: Has a dog and looks up symptoms (possible search string – “dog pants too much”)
User 2: Buys a lot of pants (possible search string – “bargain pants sale”)
User 3: Enjoys photos of soiled pants – hey, it takes all sorts to make a world (possible search string – “dirty mens pants
User 4: From generation who uses word pants to describe something that’s not very good. (possible search string – “what political party is the most pants“)
User 5: Combination of users 1-4

Using the search string to identify a user from the list, “soiled pants” could only User 3; but there is also User 6, who has diarrhoea. It won’t make them feel any better if their search returns photos of pants that have seen a lot of action and not much washing. Now of course in some countries, “pants” actually means “trousers”, so you have to account for different meanings depending on location. Which the search engine can usually pick up on. They get that right most of the time. So now we have User 7 – an American who likes to buy his pants online.  Yes, at least a search engine can assume user is after male pants.  So take the search string “bargain pants” from a UK location.  The search engine picks up of “bargain” is is reliably associated with shopping related search string .  Could be a man or woman buying for a man.  Or maybe a woman feels more comfortable in pants, or turned on by wearing mens pants.  You can see how complex it can get very quickly.  It’s people’s little perversions and quirks that will really throw search engines off the track.  If only us annoying users would use the word “Y-Fronts” instead of “pants“, it would make search engines lives a little easier.  But you can see how implementing a semantic approach to web searching can quickly get complex.

From this rudimentary approach to a semantic web, search engines can start building up profiles. Not logged in? No problem – they record your IP and surfing history anyway. What, you think they need permission? User 5 is why it still doesn’t work very well yet. No-one is so simple and straight-forward enough to pigeon-hole so easily. So it’s on it’s way, and as long as search engines like Google can stop falling over themselves telling us what we want, rather than trying to work it out, we will get there. In the meantime be careful out there, or you may end up with a profile you can’t shake off 😉

Interesting note – when I search “pants” on Google UK, the images are 99% trousers. #fail

Colossus

Colossus Forbin Project

What we’re missing now, on another level, is not just biology, but cosmology. People treat the digital universe as some sort of metaphor, just a cute word for all these products. The universe of Apple, the universe of Google, the universe of Facebook, that these collectively constitute the digital universe, and we can only see it in human terms and what does this do for us?
A Universe of Self-replicating Code

How very true – human beings invented the digital universe, yet struggle to process it’s fundamental concepts. It is very much part of the human condition that we humanise everything – from our pets, to our cars, to our computers. So are we missing the point? Well, largely we are – the digital world is firmly dominated by capitalist tools of subterfuge and money-making. One the the most common comparisons with computers, is our own brain. But our brains do not work on digital principles, and the evolution of computers was through desire perform computational tasks much faster and more accurately than our own brains could cope with. Right from the start, we were attempting to superseded our own brains. This led to the pervasive paranoia that computers are replacing people. Before I even start, I can see where our perceptions of technology go askew.

Colossus Forbin Project

Colossus: Forbin Project (1970)

Human beings are not beyond punishing ourselves – the prevalent obsessions with paranoia and conspiracy theories belies all our innate desires to believe in the unknown and the unfathomable. Colussus, the computer built to break Nazi coded transmissions, had an estimated 5.8 MHz processor, and no RAM. And inspired a book and a film of the same name, about how such a computer could take over the world with sentient Artificial Intelligence. As soon as computers became more in public consciousness, the more fear it inspired (however improbable it was). And it’s natural – our fear of the unknown, the perceptions of good and evil we will readily transpose onto anything. Even easier with something you don’t understand. Science-fiction nightmares are based on our irrational fears of the unknown. This fear is compounded by the emotion-free way computer make decisions. As a ruler, a computer would be unintentionally ruthless.

So, we imagine more than is actually there (and it’s fun too). What is the web? It is not really much more than a very large bulletin board – nothing happens without our intervention or contribution. I use Pinterest, which I like – but what is it really doing? Collecting images from URLs I enter, or images I upload. Oh, and I can share them … and that’s it. Now replicate as many times as you can be bothered, on other sites. These sites may or may not have facility to hook into each other. For what purpose? well, as well as content you have added, those sites can now get content you have added on other sites. So you are now aggregated – all the information you have entered is now shared between different sites (and by default, people). Those people may or may not choose to communicate with you, based on your content. Can you see where this is going? Nowhere. Colossus-style nightmare, it isn’t. A colossal administration nightmare, it is.

It is worth remembering the web was around 17 years old before Facebook took off, and 10 years old before Google did. And computing networking in general is decades old. It is easy trap to see the web in terms of these websites and others, but the web ran on before these sites, and will be there after they are gone – and still evolving, including the infrastructure behind it. And far more exciting things are ahead, than 2-dimensional social networking sites – I hope!

(Normal “I love the web” mode resuming soon)

Should you trust any testing company with “test” in their company name?

I have to say a no – why? The mere fact that someone decides to put “test” or “testing” in their company name just rings alarm bells to me. Putting asides agencies that rebranded themselves as test consultancies, there is also a ramp of companies in general, purporting to provide testing services. Each claim to be a leader in their fields (usually every type of testing you can name), and very few actually provide a service, simply bodies – testers, maybe test manager, but largely people who test.
Continue reading

Useful website audit tool

These tools never replace thorough checks, but this one (SortSite by Powermapper) does a very good job of a quick passthrough of a site checking for:-

  • Accessibility – check against W3C WCAG1, WCAG2 and Section 508 guidelines
  • Compatibility – check for browser specific code, script and image formats
  • Compliance – check for compliance with EU and US law
  • Broken Links – check for broken links and other errors
  • Search Engine Optimization – check Google, Yahoo and Bing webmaster guidelines
  • Web Standards – validate HTML, XHTML and CSS
  • Usability – check against Usability.gov guidelines
  • Continue reading

Agency speak (or when to put the phone down)


I saw your CV on [Jobserve/Jobsite/Monster/Linkedin etc] ….

I am bored, and trying to fill my day by searching cv’s, and contacting people in vague hope I will get a lead, or at the very least polish up my sales talk.

So what is [Enter technology/buzzword/acronym here] ….

I am too lazy to use google, and frankly have no expertise in area I am hiring for.   Hence why I try to pronounce SQL as “Squirrel” and  Agile as “Aggile”.

We have a number of roles we are recruiting for in [enter location/sector relevant to cv in front of agent]

We, along with every other agency, have a number of roles to fill at any one time, but we need some decent cv’s to get a look in.

Oh, I know a few people from people there – who did you work with?  Do you know [enter made-up name here]? No?  Then who did you work with down there?

I am not interested in finding you work, I just lied about the opportunity that was available.  I just want to get some easy access to people in your previous companies, and in doing so annoy your previous employers.

We will need a reference before we can put your forward for this [fantasy] position

As above …

We pay on monthly invoices and you will be paid within 1-2 weeks after that.

We dont have enough float to pay you in decent time frame, even though we are earning commission from you.   We have no hope of paying you on time, unless the company we are resourcing for pays us on time.

We don’t give out our commission rate

We take too much, and also ignorant of the law.