Archive | Education RSS for this section

Arduino Altimeter

This is a revisit to the CanSat project to share some tips on how to use a simple MPX4115A pressure sensor as an altimeter.  In a previous post I shared how to set up the sensor to detect ambient pressure, so now that we have that data, how do we estimate our altitude?

Read More…


Testing SD Cards with Linux

While on holiday recently, my wife bought a 32GB micro-SD card, which she intended to use in her tablet.  Since then, it has been giving various errors, so I thought I should take it and verify its quality.

In order to test the card, we’re going to run three tests:

  1. Access Speed, to assess the card Speed Class.
  2. Drive Size, to assess if the reported size matches the actual size.
  3. Data durability. to assess that data written can be read back reliably.

Read More…

Manage Passwords and Keep Your Sanity

In life, I wear many hats.

I am a Software Engineer, so I know what leaps we have to go through to keep your data safe, when it’s on our servers.  We do our best to keep things simple for you, but we can’t do it all.  As such, having a good password is what we expect of you.  Doing this keeps us, and you safe(er) from data breaches.

But, it would seem you’re not keeping your end of the bargain:

So what makes a good password?  Longer is better.  Multiple types of characters (letters, digits, special characters, etc.) are better. Not based on a dictionary word. So on, and so forth.  What are you left with.  Phrases that are unrecognizable as ‘human’.

I am also a consumer.  Setting different passwords for each account is also recommended, as a breach on one won’t lead to a breach of another.  But who has time to generate (and remember) these complex password for every site one visits?

I feel the pain on both sides of the equation.  Passwords suck!

I am also an open-source advocate (some might even say zealot).  So until the boffins in the lab come up with something better than passwords, I can heartily recommend KeePass Password Safe.  This is a nifty bit of open-source software that will help you manage your passwords.  You can run it pretty much everywhere you can run software.  It saves your passwords to an encrypted file, and helps you generate strong, complex passwords.  When you need to use them, just copy-paste them from the KeePass application to your browser or other application.

Go forth and continue to enjoy your computing experience, but help keep us all safe by using strong passwords.  Using KeePass will help you keep them strong and unique and best of all, maintain your sanity.  Just don’t lose that password file!

Store Files on your Android Phone with Linux

Take your files on the go with Android and Linux.  In this howto, I’ll show you how to easily attach your phone or tablet to your Linux PC and transfer files.

Read More…

Weekend Project: Open Source Media Centre

Open Source Media Centre
I’ve been running a Raspberry Pi connected to my TV for a while now, and I’ve been using Rasbmc, a version of Kodi (formerly XBMC) quite happily.  I decided since I had a spare Raspberry Pi, I should do the same to my second TV in the lounge.  Setting this up and pointing it to my media files from the office shared drive, means I can now watch Game of Thrones while my wife catches up on her soaps.

Using this setup can get you a cheap media centre (small enough to hide behind the TV). Read on for setup instructions …

Read More…

How to Innovate

The Change Masters: Corporate Entrepreneurs at Work by Rosabeth Moss Kanter (1983), is perhaps one of the seminal guidebooks on innovation.  Within its pages, Kanter leads us through several American Corporations of the age discussing the relative merits (or not) of their various business structures as they relate to innovation.

To begin, Kanter defines innovation as:

Innovation refers to the process of bringing any new, problem solving idea into use.  Ideas for reorganising, cutting costs, putting in new budgeting systems, improving communication, or assembling products in teams are also innovations.  Innovation is the generation, acceptance and implementation of new ideas, processes, products and services.  It can thus occur in any part of a corporation, and it can involve creative use as well as original invention.  Application and implementation are central to this definition; it involves the capacity to change or adapt.

As such innovation is a central aspect of most modern businesses.  There are very few businesses which can continue to do the day job unchanged as the years pass.  Every business will eventually be faced with new challenges which will require it to innovate new strategies, management methodologies, or products to aid its survival.  That said, innovation doesn’t happen every day, as the majority of the time, the work of the business will still continue along routinised jobs within siloed departments.

As discussed by Kanter, creating an environment to allow innovation to flourish is possible, but difficult.  Non-innovating business tend to run along siloed departments or lines of business where problems in one line are solved by the same line, with little opportunity for sharing problems and solutions across lines.  This results in a rather segmentalist organisation which fails to capitalise on shared solutions for shared problems, and in some cases can have different teams arrive at different solutions for the same problem.

By breaking down the barriers between lines, a more integrative approach can realise benefits of a multidisciplinary approach.  Different skills of employees from different departments can analyse and propose solutions to shared problems which cross the business.

When it comes to creating an environment to allow innovation, Kanter suggest the following as a minimum set of requirements:

Encouragement of a culture of pride.  Highlight the achievements of the company’s own people, through visible awards, through applying an innovation from one area to the problems of another – and letting the experienced innovators serve as “consultants”.

Enlarged access to power tools for innovative problem solving.  Provide vehicles (a council? and R&D committee? direct access to the steering committee?) for supporting proposals for experiments and innovations – especially those involving teams or collaborators across areas.

Improvement of lateral communication. Bring departments together. Encourage cross-fertilization through exchange of people, mobility across areas.  Create cross-functional links, and perhaps even overlaps.  Bring together teams of people from different areas who share responsibility for some aspect of the same end product.

Reduction of unnecessary layers of hierarchy.  Eliminate barriers to resource access.  Make it possible for people to go directly after what they need.  Push decisional authority downward.  Create “diagonal” slices cutting across the hierarchy to share information, provide quick intelligence about external and internal affairs.

Increased – and earlier – information about company plans.  Where possible, reduce secretiveness.  Avoid surprises.  Increase security by making future plans known in advance, making it possible, in turn, for those below to make their plans.  Give people at lower levels a chance to contribute to the shape of change before decisions are made at the top.  Empower and involve them at an earlier point – e.g. through task forces and problem-solving groups or through more open-ended, change-oriented assignments, with more room left for the person to define the approach.

Before these kinds of organisational changes can be made, of course, corporate leaders must make a personal commitment to do what is needed to support innovation.  They must believe that times are different, understand that transforming nature of our era requires a different set of responses.  They need a sense of sufficient power themselves that they can be expansive about sharing it.  They need a commitment to longer-term objectives and longer-term measures.  And they as individuals must think in integrative rather than segmentalist ways, making connections between problems, pulling together ideas across disciplines, viewing issues from many perspectives.  In short, top executives need at leas some of the qualities of corporate entrepreneurs in order to support this capacity at lower levels in the organisation.

Creating an environment for innovation, is itself an innovation, almost requiring an inversion of the typical management hierarchy.  Top level managers must support the innovation environment while allowing the solutions to be driven from the bottom up.  The power to affect change must be pushed down the hierarchy so those closest to the effects of the business problem are given the opportunity to propose their solutions, and once an acceptable solution is found, then it must be fixed in place by process and organisational change.

Software Testing: How much is enough?

At a recent job interview, a colleague of mine posed the following hypothetical for the candidate. If a software bug was only reproducible five percent of the time, how many tests would be required to prove it was fixed?

Having just recently read Nate Silver’s “The Signal and the Noise“, I recognised this as a problem that Bayes’ Theorem could be used to provide some insight. As a result I decided to analyse the issue.

Read More…

%d bloggers like this: