Author: Matt

  • Fill your mind with good things

    As the father of a 18 month old, it’s been fascinating to try and understand how her little mind works.  Currently she is getting quite good at classification: car, cheese, door, dog. Everything she sees is echoed back.

    At this early stage in development it’s easy to see that what you say and do have immediate impacts with what she learns and how she behaves.

    This doesn’t stop just because we get older and become adults.  Our minds are flexible and always changing – forming new memories, changing opinions, learning new things.  All these new growths in the mind are a result of the external and internal stimulus we give it.

    It has been said that reading is the most effective form of mind control.  When you read, the words on the pages leave an impression. The concepts give your mind something to spin on until the books ideas merge with your own.

    On the other hand. Feeding your mind with the wrong stuff can have unfortunate consequences. In an effort to teach Watson (IBMs Jeopardy winning AI) pop culture and slang, they fed it with the content from urbandictionary.com.  Unfortunately it had the effect of turning Watson into a potty mouth.  With an AI they were able to simply undo that.  Human minds don’t have an undo function.

    Do yourself a favour and be picky about the information and ideas that you feed your mind. Be mindful of the internal thought processes that develop your opinions. It will dramatically impact your future.

  • Personal Key Performance Indicator Dashboard

    There are many things that make corporations work well (in well run businesses) that can be applied to a personal level. KPIs (Key Performance Indicators) are something that I’ve been fascinated by for quite a few years now.

    Building dashboards full of statistics has been a part of every one of my personal projects.  The back-end for all my mobile apps/games was focused mostly on collecting and displaying all the various income sources and plotting revenue per day per app so that I could see the trends and identify spikes.

    My most recent app (Persistence) is, in essence, a KPI system for yourself.

    Exploring this idea further I worked on an application for my Raspberry Pi and am using an old monitor to have an always-on dashboard to display my activity against the goals I have.  When falling behind on my reading goal I’ll see a red box highlighting the overdue situation.  If I haven’t written enough code for the day I get an alert box.

    This is what it looks like so far:

    Screenshot from 2015-05-03 21:26:29

    I’ll continue to build it out and try different indicators that I’m interested in tracking and figure out what will provide the best motivation to keep focus on my longer term goals.

    I’m 1 week away from a 200 day streak on Github activity.  Maintaining this streak through the year is one of my New Years resolutions.  I’m also attempting to read one book every 10 days (which is proving difficult), and I have my financial goals for the year.  I’m hoping that having this always on dashboard will keep me focused on the right things, and not on spending too many nights watching TV.

  • Re-invigorating Old Products

    Sometimes you need to go back and look at the things you’ve done in the past to see if anything is due for an update or refresh.  Leaving old products to go stale is a sure way to let your customers know that you don’t care and don’t provide good customer service.

    With that in mind we’re going back through our catalogue of products – stuff that we have spent thousands of hours developing – and seeing if we can apply what we know now to those products to breath new life into them.

    Beyond the easy stuff like bug fixing, graphics tweaks and updating and modernizing the projects it’s a chance to apply entirely new concepts.

    One that I’m particularly keen to experiment further with is Behavioural Dynamic Response.  The idea is to trigger context correct information to users to help push them through the key response indicators.  It may be a notification to get the user to finish the particular level they were on, or to come back to beat their friends score.  When you have sequences defined that you know you want your users to go through you can do whatever is within your power to get them to keep taking that next step.

    Behavioural Dynamic Response is a super powerful technique that is not yet being widely used and shows a lot of potential for improving the user engagement with your products.

    Even without the major overhaul and completely new features.  Just the occasional touchup to your products shows that they are still active and more worth checking out.

  • New Bike and Fractured Rib

    This weekend I picked up a balance bike for Ada to start playing with.

    green_sport_1__83411.1405352731.1280.1280These Strider bikes seem like a good way to get a child used to biking and gaining balance skills.  It sort of takes the place of ever needing to go with a tricycle or a bike with training wheels.  Once they get good at balancing on these they can graduate directly to a regular bike.

    In the process of giving Ada her first lesson and riding around the kitchen table I managed to stub my toe and fall into a doorknob.  I’m fairly sure I fractured a rib 🙁

     

  • Finishing

    There are plenty of hurdles that you have to make in order to be successful.  Perhaps the most critical is taking something all the way to completion.  When you are not working with a team this is a deceptively difficult thing to do.

    It takes determination, momentum and accountability to start a project and see it through to the end and beyond.  Many times you will hit on things that seem insurmountable or mind numbingly tedious.

    When I launched the iPhone apps that I’ve worked on the struggles all add up. All the aspects to each project needs to be completed and to an acceptable standard.

    • Software development
    • Graphics
    • Sound FX and Music
    • business registration
    • iTunes accounts
    • bank accounts
    • certificates, signing, provisioning processes
    • marketing graphics, app descriptions
    • webpages, support forms
    • backend
    • testing and Quality Assurance
    • App Submission
    • ongoing marketing
    • iteration and improvements

    If just one of these presents a hurdle you cannot overcome by either doing the work yourself or delegating to someone who can then your project is likely doomed to fail. Like the links in a chain only one link needs to break for the chain to fail.

    That is why finishing is so hard.

    Projects start with the best of intentions, fantastic ideas and a solid plan and can still be derailed by a hiccup.

    The Agile approach of daily stand up meetings is supposed to prevent stoppages from lasting too long.  Eventually someone says: “I can’t continue until X is complete.” This is an indicator that someone in charge needs to take action quickly to keep the work progressing.

    When you’re working on your own it becomes incredibly difficult to self diagnose these situations and push through.

    That’s why I have tremendous respect for anyone who finishes a project on their own.

  • Interstellar

    I love to support movies that I think support positive visions of the future with a constructive, based in reality perspective.  We just purchased Interstellar. which is probably one of the most intriguing movies I’ve watched in a while.

    Based in a post-war future where the climate of Earth is devolving into a dust bowl and food and survival is in crisis. The movie tells the story of the people who transcend humanity into a future where we have control of space and time.  It’s quite amazing that during the development of the movie they actually published a scientific paper based on the accurate simulation a black hole.

    The solid fact based science behind really made a difference for me.

    So much of current TV seems to devolve as good ideas turn into mass audience crap.  Big Bang Theory started out as a smart show where the content of the show featured actual science — current seasons have turned the show into just another sitcom.  “House of Lies” – another favourite show, started as a cool view into the world of management consulting industry, and turned into preposterous sexual drama.  “Mad Men” was interesting when they focused on advertising, but the current season is all boring office politics.  It seems that the good shows have good writers at the start and then trade out for mediocre ones once the shows get established.

    When there is a good quality content tv or movie, I do what I can to support it.  If you haven’t seen Interstellar yet, it’s fantastic and worth watching.

  • Pycon 2015

    For those of us who can’t take the trip to Montreal this year for Pycon all the talks are on the Pycon 2015 youtube channel.

    To become the best of the best you have to learn from the best and all the most active and knowledgeable Python developers are at Pycon giving amazing talks that will teach you something you didn’t know before.

    This talk from David Beazley about concurrency and socket programming is quite informative. Watching him livecode the entire presentation is extremely impressive – it takes a tremendous amount of knowledge and experience to deliver a talk like this:

    There are so many goodies in the youtube channel. I encourage every python programmer to watch and learn as much as they can.

  • Organizing Priorities

    One of the books I read recently suggested a best practice for a businesses to have a top 5 list and a top 1 of 5 item that is the most important of that list.  Limiting it to 5 makes things seem attainable and having one singled out as the top priority adds just enough focus that you should know what you should be acting on at any time.

    What you put on the list should be determined by your longer term goals, and each top 5 item should be a step in the right direction to get there.

    I’ve started to do this over the last 2 weeks and the results so far have been quite good.

    My office has gotten completely re-organized and everything filed, or purged. The gutters cleaned. garden raked and turned over.  I have written a ton of things over the last few weeks, and started the process of consolidating my mess of banking accounts.

    The technique seems to work better than making a long TODO list that becomes a bit too intimidating and ultimately fails.

  • Eyesight Improving

    Yes, it really is working.  There was a plateau, but with the new lower prescription glasses,

    When I started this process of trying to improve my eyesight I measured my far point at 17cm. Today I measured 24cm. That’s a pretty significant improvement.

    I’ve been wearing my new lower prescription glasses for everything except driving.  So far I’ve been finding them to be more or less a constant reminder to continue to exercise.

    It is definitely the case that my eyes are getting tired from working the muscles extra hard.  The new glasses put my furthest focal point roughly at the distance my monitor usually sits so there is a consistent effort being made to keep things in focus.  I’m hoping to see some quick improvement over the next week as the exercise I’m doing now reaches a new plateau.

  • One Great Developer is better than Three Good Ones

    I saw this said in a book I recently finished reading about company planning and strategy.  For sure when I read it first it caused me to pause.  Could there really be that much difference between good and great?

    The more I thought about it, the more I came to agree that it is a pretty good estimate of the difference in costs to a business.  One great employee will do things better, with fewer errors and without the communication overhead of having to distribute the same work among three people.

    In terms of salary costs that can add up very quickly.  The great employee may demand a 20-30% premium over the good employees but by needing 3 people your total costs skyrocket up 250%

    It’s something to keep in mind if you ever are interviewing or hiring.  It’s usually better to wait for a truly great employee than to settle for someone that you don’t feel is going to bring a tremendous amount of value to your team.

    Stack your company/team with A players and your chances of achieving your big audacious goals multiplies.  Introducing even a few even a few mediocre people can derail a project and create a stressful work environment for everyone.