Author: Matt

  • More Swift

    Since Apple announced Swift was going open source and coming to Linux by the end of the year, my interest was peeked again to dive in and start learning it.

    With Swift running on Linux servers the race is on to create a compelling web framework so that it will be possible to write iOS apps and server applications with the same language.  A modern type safe systems language that’s still fast and easy to write is pretty appealing.

    Working through the Swift book and code examples, I’m finding it to be quite a nice language – especially with the new Swift 2.0 improvements.

    Unlike other modern languages Swift still has some short comings:

    • lack of a first class package manager (like pip for python, go get for golang, gems for ruby etc)
    • a comprehensive standard library (Python and Go have tremendous built-ins)

    Swift feels quite new and the team at Apple is still making breaking changes to the language syntax.  I’m hopeful that open sourcing the language and bringing it to Linux will open the door to allow other developers outside of Apple’s ecosystem to start learning it.

  • House work

    This past weekend started with the goal of painting the fence with a fresh coat of paint.  To make it a bit less manual I got a pressure washer to help with scraping off the old paint.

    Things went sideways when we realized that one of the fence posts was rotted and cracked and would need to be pulled out.

    So the entire 30 degree weekend was spent doing exhausting work trying to dig and pull out a pillar of concrete in a 3.5 foot deep hole.

    Having grown up in newfoundland the ability to hand shovel a hole that was nearly 4ft deep without finding any rocks what-so-ever was something of a revelation.  This is what using a shovel is supposed to be like.

    The fence post shenanigans have pushed out the painting work. It’s only 1/2 done now and the back side of the fence looks like a scrapped up mess.  So it’ll be another few hours of work before everything is complete.

  • Why You Should Find Time to Play

    Play is one of the more undervalued activities we can undertake as an adult, yet it is one that differentiates many of the worlds top performers from the rest of us.  Playtime could be considered to be the pinnacle of Maslow’s hierarchy of needs.  When you are intrinsically motivated and enjoy what you’re doing  you might considering it playing.  It’s fun.

    Play is an activitiy which can promote dramatic shifts in learning.  When you are exploring the boundaries of your understanding through play it becomes ok to try and fail, to do thing that might be crazy.  Stretching yourself often enough results in leaps in your skills.

    With physical skills the benefits of play are particularly well appreciated.  We go to the playground and become ever more confident with our balance, strength and co-ordination.  These basics translate into other physical skills with bikes and skateboards, and those of us who continue to play like this through into adulthood can reach a professional level.

    For mental skills the idea of play is a lot more varied.  It could include anything from board games, to trivia nights to personal challenges to building something or just thinking.

    Over the last 227 days I have been committed to writing code every day. Sometimes this is a chore and other times it is one of the highlights of my day.  This daily goal of writing a little bit of code every days is my chance to play with software in a way that I don’t normally get to do with my job.  I have been writing python code for this and as a result of all this play my depth of knowledge has increased dramatically.  It’s code that I enjoy writing and as a result of that fun the positive emotions carry over to my work when I write code there.

    Richard Feynman was one of the foremost physicists of the 20th century.  He never stopped enjoying himself or having fun with the work he did. In the book Surely You’re Joking Mr. Feynman it was quite apparent just how much benefit he got in work and in life from being playful and curious with everything and everyone he interacted with.

    I don’t believe you can be a top performer in your field unless you can find the joy and the play in what you do. As adults we easily lose sight of this aspect of life.  Play is not only a chance to improve ourselves it is also part of the spice in our lives that can make it worth living at all.

  • Investing More

    Amazingly we’ve been living in Calgary for 5 years now.  The time came to renew our mortgage and while I was doing that I started the process of opening a HELOC so that we can use some of the equity in our house to invest.

    With today’s low interest rates it has become pretty attractive to borrow money. I expect it will be relatively easy to get a positive spread between the interest rate and the return on any investments.

    Leverage like this is the only way to become wealthy.  This is dramatically apparent for our house value: since buying a house the slope on our monthly net worth tracking doubled.  Unfortunately in the case of house value that equity is not very liquid and difficult to access.

    The plan for the HELOC funds is to invest most of it in a well diversified portfolio of stocks and bonds.  I’ll withdraw funds each month to pay for the interest on the loan.  By the time the HELOC is paid off we should have made a nice profit.

  • Have a Lab Instead of an Office

    The space to create new innovation is dearly missing from today’s work environments.  Creating a space to really encourage great leaps in innovation requires a few things:

    1. Space and time to think.
    2. Freedom to implement or test an idea quickly
    3. Collaboration to help get over hurdles

    Recently I had the opportunity to work in a lab.  It was a bit of a mess – wires strewn everywhere, breadboards, toolboxes, soldering stations all around and within reach.  The mess actually encourages quick testing of crazy ideas. It creates an environment where there’s no limits and its easy to bend the rules to get something working.  If you want to drill a hole in your desk to attach something, go ahead. Run a wire into the next room – poke a hole in the wall.

    This lab was in stark contrast to the IT management in which PCs were locked down. In the software world computers are our entire space in which to invent and create. Yet within the constraints of corporate IT the freedom to innovate can be severely restricted.  Without the ability to install software, tweak settings, plug in new devices our hands can be tied. Rather than call and IT admin to get a password to install something we avoid the confrontation and continue on with the status quo.

    3507422366_c85fc9b9e2_zIn many ways the modern office is too restrictive to create truly game changing innovation.

    I encourage everyone to strive to turn their office into a lab. Create a space where anything is possible!

     

  • Reading about Solar

    I’ve been reading and doing some math on the feasibility of Solar electricity.

    Turns out that costs have dropped significantly over the last few years due to the scale of production in China that actually is currently over-supplying the demand, and new manufacturing technology that is making it much cheaper.  You can find panels for sale in China for as little as $0.30/watt right now.

    The ROI for solar is getting down to a reasonable timescale and is at a tipping point where it’s a worthwhile investment for many people.

    It’s something that I want to do a lot more research on.  But over the next few years I expect we’ll all be seeing a significant increase in the number of houses with solar panels on them.

  • The Single Most Effective Productivity Tip

    What do you believe is the single most important thing that will affect your productivity?  Time management? Software tools? Calendars? ToDo Lists?  No.  The most important thing that will affect your productivity is your expertise.

    Knowledge is the baseline for almost all work that we do in today’s information economy.  We simply cannot produce good information products without the knowledge to do it. And gaining the knowledge as you go is akin to assembling the tractor before you can use it to plow the field. To be maximally effective you should strive to have the knowledge for how to do what you need to do.

    There are two aspects to knowledge that can be looked at as it pertains to your productivity.

    1. Relevance – The more relevant your knowledge is to the task at hand the more efficient you will be
    2. Competence – how easily you can apply your knowledge.

    When you have relevant knowledge and have competence with it then you have an expertise that allows you to be productive at a much higher rate.

    The four stages of competency will give you a sense of how effective you knowledge is towards your productivity. Simply having the knowledge is not enough to being extremely productive.

    1. Unconscious incompetence – you do not know how to do something and haven’t yet recognized that
    2. Conscious incompetence – you realize that you don’t know something
    3. Conscious competence – you have the knowledge but it requires concentration to execute
    4. Unconscious competence– through extensive practice your skills have become second nature and can be performed without effort

    It has been said that the best programmers are 10,000x more productive than an average programmer. While this claim is outlandish it exemplifies that people with experience hiring programmers see as truth. The right programmer with expertise can implement quickly while the wrong programmer may not even recognize that they don’t have the knowledge required to do so.  In the worst cases incompetence is a liability – incorrect knowledge applied incorrectly can pose a significant threat to your business.

     

  • Book Reports

    For the last couple weeks I have been trying to catch up on my goal for reading 36 books this year.  Progress so far has been good and I have gotten through a decent backlog of books that I have wanted to read.  With the new morning routine of  reading before the day starts I have built some momentum that keeps me interested in finishing the books throughout the day when I have a spare few minutes.

    All this reading has been giving me quite a few new insights.  The bulk of my reading this year has been in entrepreneurship and management areas.

    One new practice that I have started to do with the last 3 books I have finished is to write a book report.  Just a 1-page report of the major impressions from the book, any lessons worth keeping and any other notes I want to have if I need a quick refresh about the book.  It’s like high school. When I think back to books I read just 1 year ago, my memory is fuzzy of anything specific

    One of the things I want to get better at is recalling the title and author of the books I’m reading. Writing the report forces me to learn how to spell the authors name and type out the title of the book. I’m hopeful that that simple thing alone will help me recall the books I’ve read so that I can more quickly talk about them in conversation.

    It seems like a nice habit to have, and I hope it proves worthwhile.

  • How to Maintain Momentum

    The main lesson from a handful of recent books that I have read has been focus on fewer, more important things if you really want to make progress.  Less but better.  And that the best way to maintain the momentum on the projects you do want to take on is to make small steps and celebrate the progress, rather than reaching the end goal.

    Studies have shown that the best way to create engagement in your work is to either experience achievement or recognition of achievement regularly.  This is something you have probably experienced personally.  The best projects are the ones that you can feel like you finished something at the end of every day.  Massive all or nothing projects that drag on each day where you work hard but it’s difficult to see the progress can wear you down very quickly.

    With this in mind, it is important to structure your projects such that there are always pieces where people can feel personal accomplishment or otherwise provide some external recognition of something that cannot easily be sub-divided in to small tasks.

    This works at various different scales too.  Entrepreneurs talk about Minimum Viable Products and “Done not perfect” to describe that initial ship-able product that can be celebrated as a turning point in the business.  At the day-to-day scale the accomplishments might be to implement a button on an app, or finalize financing terms for a business loan, or write a chapter for a book.  When you start off the day knowing the small task that provides a small step towards your end goal, then at the end of the day you can feel that sense of accomplishment when you complete it.

    These small daily accomplishments are THE major factor in maintaining momentum.

    Work each day without the sense of accomplishment is like crossing a bog – slow, tedious and dreadful.

    With the sense of accomplishment it’s like driving a car on smooth paved roads – even if you take your foot off the gas you’ll keep going forward.

    How do you make this concrete and apply it to YOUR goals?

    There are two steps/skills required to control and build your momentum.

    1. Focus
    2. Planning

    Focus is about very specifically knowing what your goal is and using that goal as part of all your decisions.  Develop your goal by taking time to really think about it, make it something measurable, attainable, and time boxed if possible: “lose 10 lbs by summer vacation”, “reach $1M in revenue this year”, “sign up 1000 new clients this month”.  With this goal in hand filter all decisions through it.  “Will X help me accomplish Y faster?” If the answer is No, then put it aside, decline the offer, and continue to use your time on things that will get you to your goal.

    Planning is about taking the time to really think about how you can accomplish your goal.  Figure out how to divide a big goal into smaller daily or weekly goals – something that is actionable. $1M per year in revenue is more difficult to understand than a $4000 per day sales goal.  Then put systems in place to measure and accomplish those smaller goals. Up front planning is important but it is also critical to re-evaluate and adjust the systems as progress is made and you learn or experience roadblocks.

    With a good plan and the ability to maintain focus on your goal you stand the best chance of having the daily accomplishments needed to create momentum.  Slowly but surely these accomplishments compound until massive progress is done, goals are met and success is had.

  • Morning Routine Redux

    Last year I had a morning routing going for a while but after a while I fell back into my old habits of spending the early hours of the day scanning Facebook in bed instead of what I was actually intending to do.

    Last week I got a tip to never leave your phone in your bedroom.  It’s just too tempting. I decided to try it out.

    For the last couple of days I have been putting my phone in the kitchen before bed.  It’s close enough that I can hear the alarm go off, which forces me out of bed.  And once I’m up I’m more likely to stay up.

    My morning routine looks like this now:

    6am: wake up
    immediately have some breakfast
    read or write for at least 30 minutes.

    The hope is that I can keep this up and do some catch up on my reading goal for the year.  By setting aside some quiet time in the morning to read I’m hoping to make a dent in the backlog of books.