MXChip Microsoft Azure IoT Developer Kit

I recently ordered a MXChip Microsoft Azure IoT Developer Kit to have a play with.

It looks like this when it arrives:

pic1

The MXChip Dev Kit is an awesome solution designed for prototyping IoT and cloud-based solutions and comes with a heap of functionality and sensors including:

  • WiFi
  • OLED
  • Headphone
  • Microphone
  • Temperature sensor
  • Humidity sensor
  • Motion sensor
  • Programmable buttons
  • Security encryption chip

Lots of goodies to play with without having to order and setup more components and sensors!

Setup
Setup couldn’t be easier and within about 10 minutes I had my dev kit sending data to Azure IoT hub (setup would have been even shorter had I typed in the WiFi password correctly – duh!).

Setup was basically:

  • Create an Azure IoT hub in the Azure portal
  • Plug in the dev kit via USB
  • Download the latest firmware and copy it onto device like you were copying to a USB stick
  • Connect to the MXChips WiFi access point
  • Browse to a setup web page page, enter WiFi and IoT hub connection details
  • You are good to go and the device will then send temperature info to Azure IoT hub

pic3

Development
So how do you create your own applications?

The kit is Arduino compatible and Microsoft has developed a heap of extensions, samples and tutorials for Visual Studio Code aimed at making it easy to develop, debug and deploy your own applications.

Setup was mostly painless although one of the extensions had some trouble installing and I couldn’t get the debug stuff that would allow me to see what the device was sending. I think this may be some USB driver issue and will require further fiddling..

One of the extensions gives you access to several tutorial projects and samples making it easy to explore the devices capabilities further.

I haven’t touched C++ for many years but the sample code was very readable and could easily be tweaked for your own projects.

Overall whilst the MXChip dev board is more expensive than some other options I was really impressed by all the functionality contained on the board, tutorial and sample support and ease of setup with Azure IoT hub.

If you want your own kit I purchased mine for about $90 AUD (American readers will find this considerably cheaper) from Core Electronics (https://core-electronics.com.au/mxchip-microsoft-azure-iot-developer-kit-pre-order.html).

NDC Oslo 2019 – Developing Solutions for Everyone

It was great to have the chance to speak at NDC Oslo 2019 on the subject of developing solutions for everyone.

This was a very personal talk for me and a bit different to the more technical talks I generally focus on.

This is a talk about how we sometimes can exclude, make harder or even harm groups of people to use what we create software and how we can avoid this.

ndcAlexSpeak

I found this one a challenging one to give given the subject matter which touches on everything from discrimination to hate groups.

For those wanting to know more about this area the talk was influenced by Sara Wachter-Boettcher’s book Technically Wrong. I also attended a few other talks at NDC Oslo that talk about this area such as Tess’s “We are the guardians of the future” and Sasha’s “Why our products and communities need our empathy” that i’d highly recommend watching when the videos are released.

The talk video will be available shortly but slides are online in the downloads section of my website/NDC Oslo 2019 folder.

Thoughts on Conference Submissions

The last week I’ve been in Oslo, Norway where I had the pleasure of being on the NDC Sydney 2019 Agenda committee and speaking at the conference.

Whilst I’ve had a fair bit of experience creating agendas via DDD Melbourne and user groups it was very interesting to see how a large commercial (and one of my two fav Australian conferences along with Web Directions) handles putting an agenda together.

Opinions are mine and mine alone
I should probably start of by saying what follows is my opinion and may not reflect that of other agenda committee members or NDC organizers.

The agenda we proposed will also be reviewed by NDC organizers before speakers are informed so is likely to change a bit (and no I wont tell you who got in etc you’ll have to wait until the official emails!).

With that out the way there are a few things I wanted to talk about and things you can do to maximize your chances of getting in.

NDC

Sometimes you may do everything right and not get in
First up don’t be put off if you are declined from a conference.

NDC Sydney 2019 received over 800 submissions and there are a lot less spots. This means many people are not going to be successful and includes some well-known names.

You not getting in isn’t necessarily (but might be!) a reflection of your speaking abilities, how your talks went previously or your topic it is simply impossible to squeeze everyone in.

There was more than enough awesome content to fill multiple conferences.

What can you do to maximize your chance of speaking well I have a few thoughts but the main thing I’d encourage you to do is simply keep submitting!

Commercial conferences need to make money
Whilst it would be wonderful for a conference to be able to support every speaker and topic a commercial conference is significantly different to a community event such as DDD Melbourne and needs to attract customers.

Whilst these are not the only drivers having well known great speakers and interesting topics will likely equal more customers

Have a think about your subject – would you or your colleagues pay to see the talk you are proposing?

If the answer is no then your talk may be better placed in a local user group.

Choose a great title
Major conferences get many submissions and the title is the first thing the agenda committee sees.

A good title is interesting, enough to draw the reader in for a deeper look or makes it obvious what the session is about and I guess in an ideal world all of the above.

Also avoid cliché titles such as Make SAP great again (it’s probably not possible), in the trenches with Silverlight etc as these titles suck.

Write a clear & concise abstract that describes what your session is about
With many sessions to review you want to make the agenda committee’s job easy.

Some session summaries were like mini novels and despite all the text it was still difficult to work out what the presenter wanted to actually talking about!

Writing a good abstract is hard (as is concise writing) and needs practice. Get someone else to read your abstract does it make sense?

Also avoid swearing (many of us enjoy a good swear but this isn’t the place for it) and slang as it may not make sense to the reader.

Tag your session correctly
If a conference asks you what category your session fits in please don’t tag it with every subject.

Most sessions have 1 or 2 primary categories they fit in.

Categories are one way of ensuring a distribution of subjects in a conference and if you tag your session with everything it just makes more work.

Proofread and spelling
Just do it, there’s tools to help and if you are crap at this stuff get a friend or colleague to help.

Review pre-booked speakers at conference
If you can see a conference has a well-known expert, author or contributor to a library, language or framework talking you probably don’t want to be submitting a what’s new in X or introduction to Y talk on the same subject.

Whilst some subjects will warrant multiple talks guess who the general public would rather hear from a) the author of a framework/library or b) an unknown speaker?

Having said this it is certainly not impossible to speak about the same topic as a big name speaker (we accepted sessions that did on popular subjects) but you’ll probably need want something unique to make your session relevant.

Avoid intro level talks unless its something very new
If it’s a subject that has been around for a while and is well understood I think you’d be better avoiding an intro-level talk for a commercial conference.

Attendees will likely be familiar with what you will discuss or can quickly learn about it and it wont draw people to the conference.

Well known speakers can however probably revisit any topic they want as will still draw a crowd but if you are reading this article this probably is not you (yet!).

Consider the conference you are submitting to
NDC has a wide range of development talks with probably a lean towards the Microsoft platform. A talk on very niche subjects of say Perl may be better suited else where.

Consider avoiding personal story/philosophy style talks
Whilst you may have some awesome stuff to say unless you are well known or have a particularly interesting story to tell the general audience we may not be that excited about how your cat gave you a different perspective on Angular (I’d love to hear over a beer however).

Some subjects are going to be a harder sell
Its no surprise that the development world has trends and there are some subjects that just aren’t that popular right now.

Something that is very niche such as run SQL Server on custom Finish Alpine Linux kernel reverse proxy docker container on Google cloud is probably only going to be relevant to a few people so likely wont get in.

Other subjects such as old JavaScript libraries or stuff that has fallen out of favour will also be a harder (but not impossible) sell.

Make it easy for us to find your past talks
You do have past-talks right?

A commercial conference likes to see a speakers history so they have some assurance you will do a good talk.

If you have no history then you are a risk which is a shame as you may be awesome and have lots to say!

There’s an easy way to deal with this and that’s to go and talk at various user groups and meetups and do talks.

Practice is also going to make you a better speaker full stop.

Expecting a commercial conference to take a chance on you if you have no history of speaking is a bit of an ask – but does happen.

We do look in detail into short listed speakers, try and find a quick look at videos of previous talks etc so make them easy to find!

Summary
For those of you that wont be successful this time to NDC Sydney please don’t be put off -keep submitting talks, talk at your local user group & DDD events and try again next year.

I’m really excited about the agenda we have for NDC Sydney 2019 and (I’m biased) but its seriously the best ever!

 

 

Alpaka Gear 7venMessenger Bag

 

My friend Jin of Alpaka gear kindly sent me a prototype of his kickstarter project the 7venMessenger bag.

The 7venMessenger bag describes itself as “the only bag you will need” and aims to be suitable for everyday work & leisure usage and also for a short weekend away.

When I was working for IT consultancies there was a regular discussion around what is the best laptop bag which is very relevant when you are frequently travelling.

I have always favoured Samsonite Backpacks as found them comfortable and hard wearing so was interested to see the 7venMessenger bag and how it compares.

Here’s a picture of my bag – note this is the prototype and Jin tells me there may be a couple of changes coming so the final bag may be slightly different:

IMG_20160816_061929

Well I am probably not the best judge of aesthetics (2 kids soon change your priorities to robustness of any clothing or gear) but the 7venMessenger certainly looks smart & wouldn’t be out of place at the smartest of soirees which er i’d never get invited to. The bag also receives a nod of approval from my wife (who knows a heap more about bags than I do) so this is a good sign.

The bag is constructed out of 1000D Ballistic Nylon – I don’t know what that is and what its bullet protection abilities are but it certainly feels tough, durable and looks smart. The bag is also water proof and easy to clean according to the website.

The bag feels reasonably light although is certainly heavier than some of my other bags. Its pyramid shape also means it stands on its own rather than collapses.

The attention to detail & quality on the bag is impressive. There is a massive amount of pockets, mesh compartments and storage (even on the strap!) which I love as there are always various cable chargers, USB sticks etc that need a storage location.

The bag can be worn in a number of ways such as over the shoulder, as a brief case or backpack – it also has a sleeve for fitting over a case handle that you might use at airports. The bag is very comfortable to carry using its leather handle and I find this is the preferred option standing on the train.

The bag has a magnetic clip on the front that looks like it would be released by pulling it up but is actually opened by sliding it sideways. It did confuse me at first and I spent a couple of minutes puzzled but I do like how the magnet pulls the clip together.

The bag is a decent size and easily holds my Dell XPS 13 inch in a padded section. I understand from Jin & his team that the final bag will hold a Macbook 15 inch comfortably. It does feel a little wider than the average messenger bag and I notice sitting on the train with it on my lap it expands slightly beyond my seat area but it’s not a huge issue.

In conclusion the 7venmessenger bag is an awesome product that I would highly recommend.

You can get this bag at a great price by backing the kick starter project at: https://www.kickstarter.com/projects/alpaka/7ven-messenger-the-only-bag-you-need what are you waiting for?

 

Famous Software Bugs

Despite the best of intentions and processes we all screw up sometimes.

I think pretty much every developer has made a screw up of some kind over their career (and if you haven’t you are either very lucky, unaware you have done so or prob not doing anything interesting!).

I spent some time putting together a list of high profile bugs for an article on gooroo.io.

Some issues are amusing & entertaining, some are downright terrifying & a few tragically resulted in loss of life.

Check out the article here: https://gooroo.io/GoorooTHINK/Article/16833/Famous-Software-Bugs/23477#.V3TtN7h96M8

 

Building Resilient Systems

No one likes using unreliable computer systems.

There can be few things more annoying (in terms of 1st world problems anyway) than having an application freeze and losing a load of work.

Losing work is annoying but what if the system performed a more important function such as managing your bank account or maybe even helping an aircraft navigate?

  • How can we measure resiliency?
  • What are the best ways to ensure our systems are resilient?
  • How do companies such as Netflix approaching this?

Check out my post on this at gooroo.io:
https://gooroo.io/GoorooTHINK/Article/16830/Building-Resilient-Systems/23364#.V2-0Irh96M9