Wednesday, 18 October 2017

Event: Burkhard Kloss on The Ethics of Software & Panel: Talking to the clouds


Event: Burkhard Kloss on The Ethics of Software & Panel: Talking to the clouds

When: 6 November 2017 @ 6.30pm

Where: Whitespace, 2nd Floor, St James Mill, Whitefriars, Norwich, NR3 1TN

RSVP: https://www.meetup.com/preview/Norfolk-Developers-NorDev/events/239616865

The Ethics of Software - some practical considerations
Burkhard Kloss
@georgebernhard

As Uncle Bob pointed out, software is everywhere, and without software, nothing works.

That gives us great power, and – as we all know – with great power comes great responsibility.

We have to make choices every day that affect others, sometimes in subtle and non-intuitive ways. To mention just a few:

  • What logs should we capture?
  • How does that change if we have to hand them over to the government?
  • Are our hiring practices fair? Are we sure about that?
  • Is there bias in our algorithms that unfairly disadvantages some groups of people?
  • Is the core function of our software ethical? How about if it’s deliberately misused?

I hope to raise a few of these questions, not to provide answers – I don’t have any – but to stimulate debate.

Burhard Kloss

I only came to England to walk the Pennine Way… 25 years later I still haven’t done it. I did, though, get round to starting an AI company (spectacularly unsuccessful), joining another startup long before it was cool, learning C++, and spending a lot of time on trading floors building systems for complex derivatives. Sometimes hands on, sometimes managing people. Somewhere along the way I realised you can do cool stuff quickly in Python, and I’ve never lost my fascination with making machines smarter.


Panel Discussion: Talking to the clouds

Conversational computing, the ability to talk to, an interact with a computer via voice, is becoming more and more prevalent. Most of us now have access to an intelligent assistant like Siri or Alexa, and how we interact with the devices is being defined. But are we going in the right direction. Should we be treating these devices as just "dumb computers", or should we speak to them as we do to other people?

Our panel of experts will discuss this topic with input from the audience as we look at one of the many areas where the question is not "can we?", but "should we?".

Tuesday, 3 October 2017

A review: nor(DEV):biz October 2017

The idea “Networking” strikes fear into the heart of many techies, but Norfolk Developers Business or nor(DEV):biz is different. The idea behind the monthly meetings over dinner at the Library Restaurant is to get tech companies in Norwich and Norfolk talking to each other and referring business between themselves and from external parties. It’s not just about tech companies though, we also invite people from academia (City College Norwich was represented tonight and the UEA attended the very first event), those running complementary business (such as accountants, lawyers, recruiters, etc), those looking to engage software companies and even those looking to be employed by them.

"It was relaxed and much like having a good dinner with a selection of your wittiest and most worldly wise friends !"
- Chris Sargisson, CEO Norfolk Chamber

Norwich has networking events coming out of its ears. nor(DEV):biz is different, not just because of the tech focus, but also because of the people who attend. Over the years Norfolk Developers has attracted the biggest personalities in the community (that’s you Dom Davis!) including many senior tech business owners. Yes, everyone has their one minute to speak to the group about who they are, what they do and what they’re looking for, but there’s no bell when your time is up and there’s humour, passion and interaction from the entire group. This isn’t just networking, this is building, bonding and rapport with people you may well work with in the future. It’s more than that, this is fun and raucous and entertaining. It’s a night out with friends rather than a pressure cooker for sales.

“Great event .Who would have thought that by having dinner with a bunch of techies I would learn that tomato ketchup is the best thing for smelly dog issues.. it just shows, never judge a book by its cover.” 
- Chris Marsh, AT&A BUSINESS INSURANCE BROKERS

At each nor(DEV):biz a member has the opportunity, not the obligation, to do a 15 minute spotlight. This is beyond their one minuter and the opportunity to give a more indepth overview of their business or something they are passionate about.

"Great evening arranged by Paul Grenyer and Dom Davis for the Norfolk Developers group. My highlight was Nikki and Tom Bool integrating the basics of Dog Training skills with leading a team in the workplace!"
- Anthony Pryke, Barclays 

For this, the fourth nor(DEV):biz, the spotlight was given by Nikki and Tom Bool. Nikki is a puppy trainer, while Tom runs a language services business, specialising in helping businesses market themselves and grow internationally. Nikki explained how to use positive reinforcement to encourage the right behavior in puppies, with some hilarious anecdotes. Tom went on to describe how similar techniques can be used to help foster the desired behavior in the people you work with. The spotlight fulfilled my favorite criteria by being both informative and entertaining.

"What a smashing group of people and thoroughly enjoyable puppy behaviours reflection on office management. "
 - Mike Peters, Evoke Systems

You know you’re onto a winner when you have to encourage people to leave and the conversation has moved from the table to a huddle by the doorway.  I’m already looking forward to the next nor(DEV):biz in November where we’re hoping to hear from Laura Flood and Anietie Ukpabio of City College, Norwich, about the young people they’re training to be software engineers.

If you’d like to attend nor(DEV):biz, please drop Paul an email on paul@norfolkdevelopers.com.


Monday, 25 September 2017

Norfolk Developers Magazine: AI

The first issue of the Norfolk Developers magazine (outside  of a conference) is out now and free to download!

This issue focuses on A.I., a topic we thought a good one to kick off with as everyone has an opinion about Artificial Intelligence, it affects our daily lives (see Dom Davis’ column about arguments with Alexa) and it gave us an excuse to use the awesome robot image on the front cover too.

It is because of people like you that we have  such a thriving tech community in Norwich and Norfolk, a community that has turned our Fine City into a Tech City. Without this passionate and dedicated community, there would be no reason for writers to contribute to this magazine, there would be no market for local companies to place adverts for, there would be no events to report from. Mainly, there would be no one to read it so thank you

Thursday, 24 August 2017

How much will my software cost?


The question we get asked the second most when speaking to clients and potential clients is “how much will my bespoke software cost to build?” This is extremely difficult to answer without lots of detail and even then the complexities of software development, the complexity of client requirements and clients changing needs over the course of a project make an accurate estimate challenging.

For this reason, most software development companies shy away from including prices on their website. In fact we checked the websites of a number of our competitors and the closest we found was one who offers a range of fee options from fixed price to a daily rate and a couple who ask for your budget when contacting them for more information. As a client, until you get that first email response, phone call or face-to-face meeting you’re no closer to understanding how much your software will cost. Even then it may be some time before you are any the wiser.

We can’t help you understand how much your project will cost until we speak to you. What we can tell you is how much projects have cost our existing clients. We’ve broken the figures down into the types of services we provide, the minimum project cost, the maximum project cost, the average project costs and where in the range most of the projects sit:

* All values are approximate, exclude VAT and are correct as of August 2017

To start investigating how your business problem could be solved with a bespoke application, please contact us for a chat

Monday, 21 August 2017

My Fantasy Gig: Polish Death Metal



It’s no secret that I like death metal. Three of my favorite death metal bands are all from Poland. I’ve been lucky enough to see all of them at least twice individually, but never together. I’ve often wondered why they haven’t all toured together. I’ve never been to Poland either so I’d settle for seeing them all together in their home country.

Decapitated

Opening the show I’d have Decapitated a technical death metal band. Their style, as you would expect, is heavy and progressive. While currently the smaller and less well know of the three bands on this bill, Decapitated are growing in popularity and are poised to step into the shoes of metal titans such as Lamb of God.

After getting into Vader and Behemoth I was really excited to read about another Polish death metal band and I wasn’t disappointed, especially as I also have a soft spot for progressive metal. Often with metal bands who have been around a while, their back catalogue is noisy and unpalatable. Not the case with Decapitated. They’re tight, aggressive and heavy from the first album through to the more recent ones. I’ve seen them play three times now (once even in Norwich) and their live performance demonstrates their skill as musicians.

Behemoth

I’d have Behemoth second on the bill. By far the biggest of the three bands, Behemoth are one of the best metal bands around at the moment. Currently (summer 2017) they are touring the US with Lamb of God and Slayer. I’ve seen them play three times. Once to about 10 people at a club in Bradford and twice to thousands at Bloodstock.

Their singer is often in the press, in Poland and around the world. He famously burned a bible on stage in Poland and was promptly arrested. Later he was diagnosed with and beat cancer.

In the early days Behemoth’s style of ‘blackened death metal’ was heavily influenced by US death metal giants Morbid Angel, but much more palatable. That said they’ve improved on almost every album. Their 2013 album the Satanist is a masterpiece of modern metal. Probably their least heavy album to date, but still crushing.

Vader

Headlining I’d have Vader. I’d describe them as the godfathers of Polish death metal. While not as popular or well selling as Behemoth, they belong at the top. Vader play more traditional death metal, sometimes with trashy tinges. I really struggled to get into their back catalogue. I just wasn’t ready, but every album is superb.

I’ve seen them twice, both times in small clubs. Their sound wasn’t the best, but being a huge fan I put that down to the PA in the clubs. I am sure that atop such a fine bill, they would shine and show what they can really do.

Of course the final encore would comprise of all three bands playing a metal classic together.

Monday, 14 August 2017

A Review: Express in Action

Express in Action: Node applications with Express and its companion tools

By Evan Hahn
ISBN: 978-1617292422

This is another excellent JavaScript book from Manning. It contains a great introduction to Express.js and I wish I’d read it sooner as it explains a lot of things about Express.js and how to use it, as well as the tools surrounding it and Node.js, which I had previously worked out for myself. If you’re thinking of writing a web application, especially one in JavaScript, I recommend you read this book first.

The book is far from perfect. It could have been a lot shorter. There is a fair amount of repetition and the chatty style makes it overly verbose and irritating in many places.  The author tries to cover too much and goes beyond Express.js unnecessarily in a few places. However, given that, it’s still not a huge book and quite easy to read.

Sunday, 13 August 2017

A review: JavaScript the Good Parts

By Douglas Crockford
ISBN: 978-0596517748

Every JavaScript developer with a pre-existing working knowledge of JavaScript should read this book. JavaScript is a powerful and varied language, but it was developed in a hurry and there’s plenty wrong with it. This book outlines the good bits of the language and highlights the bad bits and the bits you should just avoid. There’s also a fair amount about the author’s JSLint project in the appendices.

This book was written in 2008 and probably needs updating. It’s hard going in places and the diagrams did little to nothing to help my understanding. I’ve come away still wondering about new and constructors, but I know I just need to review them again when I need them and it’ll get clearer.  I’m still not sure which function declaration syntax is best, but I’m not sure it matters too much.


Friday, 11 August 2017

Getting to the route of the problem

In 2016, Venkat Subramaniam wrote an incredible book called ‘Test-Driving JavaScript Applications’ which, along with JavaScript tools such as Mocha, Istanbul, Prettier and Eslint, have made me fall in love with JavaScript and Node.js (well for UI development anyway). JavaScript isn’t a proper language, right? For a long time I argued not, because the tools weren’t available to develop software with unit tests, static analysis and code coverage. This has changed and now I’m starting to take JavaScript seriously, even beyond jazzing up a web based UI. I’m almost over the lack of static typing.

I’m currently using Express.js, a web framework for Node.js, a lot and Venkat includes a section on testing Express.js routes in his book. They’re a bit like controllers in the Modal View Controllers pattern:

router.get('/', function(req, res, next) {
task.all(function(err, tasks) {
res.send(tasks);
});
});

Venkat’s example test looks like this:

it('should register uri / for get', function(done) {
    // ...        

    var registeredCallback = router.get.firstCall.args[1];
    registeredCallback(req, res);
});

I’ve left out some mocking and other boilerplate for brevity and so that we can concentrate on the one bit I don’t like. Venkat describes the test in full detail in his book.  Take another look at this line:

    var registeredCallback = router.get.firstCall.args[1];

What it does is get the second argument for the first get route declared with the router. That’s what is returned by firstCall, the first declared route. So if there is more than one get route declared with the router and at some point you change the order in which they are declared or you declare another get route in-between, the test will break. It’s brittle.

In fact it’s worse. To get the second get route you’d use secondCall and so on. So although it’s probably a very large number, there are a finite number of get routes you can get from the router with this method. For me this rang alarm bells.
Google suggested this is the way that everyone is doing it. It appears to be the standard practice. It doesn’t sit at all well with me. I’d much rather be able to look up route in the router by its path. After a while printing all sorts of things to the console to find out the data structures, I was able to develop this:

var rh = {
    findGet: function(router, path) {
        for (var i = 0; i < router.get.args.length; i++)
            if (router.get.args[i][0] === path)
                return router.get.args[i];

        return null;
    },

   // ..
};

module.exports = {
    execGet: function(router, path, req, res) {
        var get = rh.findGet(router, path);
        if (get != null) get[1](req, res);
    },

    // ..
};

The findGet function takes a router and the path to test and returns all of the arguments declared for that route or null if it’s not found.  The execGet function uses those arguments to execute the route, meaning that the test now becomes:

it('should register uri / for get', function(done) {
        // ...

        execGet(router, '/', req, res);
    });

Which is not only far more expressive, but less brittle and less code per test. It means that the declaration order of the routes for the router no longer matters. Of course similar functions can be added to facilitate testing post, put and delete.

I wanted to write this up as I couldn’t find any other solution with Google. Hopefully it will encourage developers to write more tests for Express routes as they become easier and less brittle.


NorDev: JavaScript Starter Kit – Beginners Full Day Workshop


Date: 9:00 am to 4:45 pm, Thursday 5th October 2017

Location: The King’s Centre, King Street, Norwich, NR1 1PH

Price: £50.00 per person

Level: Beginner

Prerequisites: Laptop with wifi, modern browser, text editor

RSVP: https://www.meetup.com/Norfolk-Developers-NorDev/events/242461849/

JavaScript is amazing.

It is a powerful, simple, infuriating, elegant and sometimes irrational programming language which was born in a hurry and can now do almost anything you can imagine. It can make whizzy websites, speak to databases, and draw maps, it can fly drones, make games, and build apps. You can run it on your watch or on your phone, on any web page or on hundreds of virtual servers.

And if you’re reading this you’re probably contemplating learning it.

This day-long workshop aims to cover enough ground to give you a broad base from which to start your quest. We’ll use plenty of practical exercises to explore the language. We’ll cover some of the tricky parts which often mystify people – especially handling asynchronous code, which is one of the language’s great strengths. We’ll spend most of our time in the browser, but we’ll also play around with node.js, JavaScript’s foremost server-side environment. There’ll be time to survey some of the different tools and frameworks which are popular with JavaScripters at the moment. As well as all this we’ll explore JavaScript’s history, its culture and community, and the factors behind its explosive growth. Perhaps most importantly we’ll introduce a set of resources which’ll help you continue your learning independently.

You’ll need to come equipped with a laptop, and you should have a modern browser installed, along with a text editor you’re comfortable using. You don’t need to have a lot of knowledge or experience to join in, though any familiarity with another programming language will help a lot.

There’s a lot to get into one day, so please bring lunch and Neontribe will be buying the first round in the pub straight after the workshop.

Rupert Redington

Rupert ran away from the theatre to become a web developer at the turn of the century. Since then he’s been making mistakes at Neontribe as fast as he can, learning from a reasonable percentage of them. Recently he’s been using Javascript to help teenagers talk to doctors, Americans to buy airline tickets and everybody to find their way to the loo.

“Rupert did a fine job of making this an entertaining subject and his enthusiasm for js was infectious.” – Matthew Shorten

“Thoroughly enjoyed it! Presenter was excellent. Would be interested in any other JS courses that he runs.” -Stephen Pengilley

“I’d certainly sign up for other courses Rupert hosts in a flash. This was an introduction and as such it was perfectly positioned (in my humble…), but if ever there’s an “intermediate” course which goes into more depth with core principles & real-world use of loops, arrays, functions & objects that would be great.” – Steve Harman

Thursday, 20 July 2017

Vacancy: Executive PA / Office Manager


Naked Element are a software development company based in Norwich looking to recruit a self motivated, outgoing, well organised person looking for variety in a small, yet progressive tech company. There is opportunity for the right person to grow into a more specialised role, based on your strengths, as the company grows.

Salary: £18-20,000 per annum salary (depending on experience)

Hours: 37.5 hours per week

Location: New Patricks Yard, 2 Recorder Road, Norwich, Norfolk, NR1 1NR

Application Deadline: 28th July 2017

Essential skills and qualities:

  • Good client and communication skills
  • Exceptional organisation
  • Self motivated
  • You thrive in a fast-paced office environment
  • Competent user of email systems, document creation and management software packages
  • Ability to prioritise

Desirable skills and qualities:

  • An Interest in Software, Technology, Development, or any wider part of the ICT industry
  • Previous Administration and Office Management experience 
  • A Level 3 qualification or equal in Administration or Business Management

Main Responsibilities:

Office Management

  • Running the office on a day-to-day basis depending on the needs of the business, it’s directors and employees
  • Purchasing stationery and equipment
  • Liaising with suppliers
  • Answering the phone
  • Preparing agendas, documents and contracts

Company Administration

  • Book keeping
  • Managing finances
  • Financial forecasting/producing reports
  • Paying and raising invoices
  • Paying bills
  • General administration
  • Payroll

Social Media & Marketing Assistant

  • Assisting the commercial director in all elements of marketing as required
  • Setting up daily social media
  • Preparing and sending marketing material
  • Attending networking events
  • Exhibiting at events

Sales Assistant

  • Assisting the commercial director in all elements of sales as required
  • Prospecting
  • Warm calling
  • Meeting prospects & clients
  • Sandler training provided

Account & Project Management

  • Day to day running of projects
  • Project reporting
  • Liaising with all stakeholders during projects
  • Regular client reviews & other account management as necessary

 Executive PA

  • Managing diaries for both the Commercial Director & CEO
  • Booking events & meetings
  • Booking travel

Benefits

  • Pension after 3 months
  • 6 Month probationary period
  • A lovely, air-conditioned working environment in the centre of Norwich
  • Flexible working hours

This is the perfect opportunity for those looking for an interesting, never the same each day role to grow their skills. You will benefit from the guidance of staff with over 20 years experience in Business, Finance and Project Management. This is also a chance to gain an in depth insight into the software development industry.

If you would like to apply for this opportunity, please send CV’s to emma@nakedelement.co.uk