Author: Matt

  • Soft Launching

    Last week I did a soft launch of the revamped Blockagram platform that I’ve been working on for the last while.

    Blockagram is a service that allows you to send messages to people for marketing purposes with a small amount of Bitcoin to incentivize them to both subscribe to your marketing list, and act on the messages they get.

    Ultimately, I hope to build it out to expand the number of services that businesses could make use of to spend Bitcoin, and that consumers could earn bitcoin from. It’s a missing part of the bitcoin economy that is preventing faster adoption. If businesses have opportunities to spend bitcoin on things that would drive more business then they would have an incentive to accept bitcoin for payments.

    It is a small step towards something bigger, and is the start of what has been the hardest part for me (historically) of shifting from exclusively development work to working on finding customers and operating the business.

  • Applying AI to Human Learning

    Last night I was attempting to learn a little bit of Chinese after being inspired from a series of documentaries and travel vlogs (ChopStick Travel) that I’ve been taking in over the last 3-4 weeks.


    Anyway, I opened up DuoLingo and was quickly disappointed. Then I tried Memrise, which was slightly better, but it suffered from the same issues.

    Most critically, these apps fail because they have no variability. Every time you hear the recording of “nĭ hăo” it is the exact same one. Every time you see the script written “你好” it uses the same font.

    Deep learning is a mathematical approximation of how the neuron’s in our brains work. At least when you compare to very simple brains like those in worms, current AI tech is a reasonably good simulation. I think it’s reasonable to assume that we can gain insight into the human brain from things we learn developing AIs.

    When we build these simulated neural networks how they are trained is critically important to how they perform. For instance: training a computer to understand spoken language requires an immense number of audio samples (Mozilla’s open data set is currently at 12GB of compressed audio). When training an AI to do visual character recognition it takes thousands of samples to get a good working model. Elon Musk has said they need 1 billion miles of recorded driving to get a reasonable self driving model. AIs need a LOT of data to train on.

    Granted the human brain is vastly better at learning than current Deep Learning AI algorithms, but we are not so much better that we can learn new words with a single sample. Hearing a word said in one way, recorded on a sound stage will do very little to help recognition when you hear it in person outside at a loud food market, or with a different accent, even a cadence change might throw off your comprehension.

    If you came to an AI expert to get a voice recognition system trained and you had spent $50,000 at a sound studio getting one perfect example of each word to use as your training data. You’d be laughed at for wasting so much money on something so useless. It is preposterous to train AI on single sample sizes, but that seems to be what we expect to happen with people.

    I wish there was a language learning platform that took the approach of compiling a minimum of 100 samples of each word (at least at the beginning levels) ideally taken in-context with video so you can see the facial movements and pick up on body language. It could initially seed the library of data with clips from YouTube or movies. Over time it could ask users to contribute snapchat style short clips of them saying words/phrases in their native language to help others on the platform. A particularly memorable clip might be the one that cements the word in your memory, and hearing all the variations will help train your ear to recognise the word. It could use image recognition AI training sets avoid learning a mental translation process that slows down fluency.

    Using the same kind of data we use to train a Deep Learning algorithm but use it to train humans would be super interesting. It might unlock insights in psychology, education and computer science.

    As an endeavour it would be awesome to have 10 new people try the app every month and do a 1 hour session on-site with a new language. Then see how much they get through a conversation with a native speaker afterwards. Optimise the app over time for real improvement with comprehension and perhaps conversation. Language learning is an ideal case for testing the limits of how quickly humans can learn something new.

    Perhaps a billion dollar idea if only I had the capacity to pursue it. (the amount of user contributed data could be a gold-mine if it worked)

  • New Blockchains

    Over the last week I ran into a difficult problem to solve with my B

    lockagram application that I have been working on for the last few months. It required some deep thinking.

    I spent three days with some sensory deprivation to really focus my thoughts and avoid even the slightest distractions. An eye mask and hearing protection while lying down on the floor of my office. Strange but effective.

    After all this, I think I have had a real breakthrough for a way to create an innovative new proof of work algorithm geared towards a block chain for identity. Unlike Proof of Work used by Bitcoin this will require no wasted computer cycles and so it will be very power efficient.

    Yesterday I started to work on a white paper to describe how this new block chain application will work and have started to develop out the proof of concept with code. Hopefully there are not too many roadblocks to develop it.

    Amazing that this kind of thing just wouldn’t be doable in a job setting yet can be super productive. Finding solutions to really difficult problems can require a lot of thinking, and deep thinking is hard to do on a timeline.

    This whole thing is a bit of a tangent from my main application. Trying to find a way to avoid having spoofed accounts, and fraudulent users led me down this rabbit hole. It’s a luxury that I can take the time to see how far the rabbit hole goes

  • Media Distractions

    “Are you distracted by breaking news? Then take some leisure time to learn something good, and stop bouncing around.” – Marcus Aurelius

    It can be difficult to block the media from your view. Over the last year or more I have been trying to limit my access.

    Several years ago, I was having a conversation with someone at work about the situation in the Ukraine and made me realize how limited my knowledge is in that region of the world. I decided at the time to get a magazine subscription to The Economist, and follow current events a little more closely.

    However, over time I have become more disillusioned. And have been swinging to the other end of being more selective in reading news.

    I removed Facebook from my phone, reviewed and turned off notifications for news items. I stopped visiting news websites for things that are not immediately important to me (ex: housing market info while looking at buying a house).

    Instead I have been turning attention toward books more and engineering shows/documentaries. The nature of the publishing business is that it takes much more time and investment to author a book and as a result there is more thought and research to going deep into the ideas. I love learning about engineering ideas because they are usually so positive and constructive – how did they overcome this problem, why is it designed that way, etc.

    With the news, I attempt to ask myself 2 questions to ascertain it’s value.

    1. Is this something that will affect the actions I take in the near future
    2. Is it an opportunity to learn about new ideas or be educational

    So I have become ignorant to things that are happening, yet at the same time it is impossible to eliminate exposure to all the news. Trump tweets, shootings or pipeline approvals are passionate discussions that are high on fear and angst but low in value. Somehow despite aggressively limiting my news intake I still hear about these things.

    Limiting news is an ongoing effort to be selective about the information and ideas that go into my brain. Reading, as they say, is the closest thing there is to mind control. We can be in control of the reading we do, and thus control to a certain extent and with some strategy a direction we would like our thoughts to take us.

  • Creating Structure

    Leaving my job and subsequently taking a month long vacation to visit family and reset was quite disruptive to my usual routines. Focusing again on my entrepreneurial adventures is very different now that I’m back. 

    On the one hand it is amazing to be fully in control of my schedule, I can allocate time between family, projects and health with freedom. But on the other hand I’m only accountable to myself to get things done.

    I’m glad that I am the type of person that doesn’t procrastinate. Otherwise this whole venture would be non-productive.

    Perhaps the most important thing is the need to create my own structures for allocating my time. Closing the office door and asserting the importance of dedicated and uninterrupted time away from distractions is critical for making progress. It’s a lot harder to do without the social pressure that comes with having a job and a team that depend on each other.

    My Journal is such a critical piece of my daily routine, now more than ever it is helping to maintain focus on daily, weekly and monthly goals. Without which I would be going in 10 directions at the same time and get nowhere.

    This disruption is giving me a chance to re-evaluate my morning routine as well. My morning is in flux right now. I’m hoping to create a regular practice of exercise to jump start the day, and am starting to try more bike rides and strength exercises to find something sustainable.

    I’m still super excited to get this project I’m working on to a beta release in the near future. So much good stuff on the plan to accomplish.

  • Work in progress Beer Fermentation Cabinet

    After thinking about how to make better beer at home last week and a successfully brewed cerveza I wanted to up my game and build a fermentation box to lager. The number one objective is to make the brewing process with the least amount of effort – no lifting heavy things, transferring fluids around as little as possible is the goal.

    So I built an insulated cabinet. Fermentation happens at the top so that once it is filled with wort it stays there until I gravity feed it straight into a keg after fermentation is complete.

    The space on the bottom is useful to store equipment, so most of the beer making tools all stay together and organized.

    One last functional piece to this build is to get an air conditioner that will control the lagering temperature. After that I will do the finishing touches to pretty it up.

    I’m looking forward to trying to make a proper Pilsner at home.

  • Brewing Beer Again

    It’s been a while since I last did any homebrew beer but for some reason I had the motivation to put on a new brew when I got back from vacation.  Nothing fancy, just a simple kit.

    The one new piece of equipment I got was a conical fermenter.  The Fermentasaurus is a pretty neat bit of kit and makes things much easier.

    With this I can avoid a full re-rack step. It’ll cut the amount of cleaning and number of steps in half compared to the way I was doing it before.

    If things turn out OK, I might try to build another little project to help me avoid needing to move things at all. Ideally I’d like to get a good fermentation chamber built in the garage and perfect a lager recipe. Minimizing as much of the hassle as possible.

  • Driving from Ottawa to St. John’s

    Over the last week I have been driving 3000km across Quebec, New Brunswick, Nova Scotia and Newfoundland to kick off a summer vacation.  We took the opportunity to stop and see a few things along the way.

    So many things to see in this country.

    Quebec City was a particular surprise. It was a beautiful city in general, and the old downtown and historic district was much more impressive and bigger than expected. I could have spent much more time wandering the back alleys and enjoying cafes.

    We managed to spend a day in Monteal, two in Quebec city, an evening in Fredricton and Antigonish, a couple nights camping in Gros Morne National park after taking the ferry from North Sydney, then booting it across the island to St. John’s.

    The night in Antigonish was a game day decision due to torrential rain that made it dangerous to drive – we didn’t make it as far as we wanted to that day.

  • Trying Windows

    Time for me to get a new Laptop and for the last couple of months I have been delaying on the purchase.

    I’ve been a Mac user for the last 12 years and used Linux before that. The last time I actively used a Windows PC was around the year 1999. So a switch to windows would be difficult and take time to learn how it works.

    After getting overly confused by the options with PC manufacturers I eventually decided to take a risk on trying Windows and purchased an Open-box discount item from BestBuy. It was actually 50% the cost of a comparable Mac. The Dell XPS 13″ is at the high end of laptops, it’s made with aluminium and carbon fibre, and feels light yet solid.

    Right off the bat though it has a power issue. Perhaps the reason why it was returned. It’s something I’ll be able to deal with for a while.

    Windows though is a conundrum. It’s a steeper learning curve than I expected.

    There’s WAY too many disruptions and noise. I’m not sure how, but facebook notifications got integrated at the OS level and everything from slack and email to security updates, and dell updates are visually disturbing. The windows menu boggles my mind with the rotating squares tempting me to play video games. It’ll take some time to find out how to tone down all these productivity killing distractions.

    Installing software is far more confusing than I remembered. Perhaps I’ve been spoiled by how easy it is on Mac and Linux, Mac is usually drag and drop into the Applications folder, and most development specific command line tools are a simple homebrew command away. Linux puts 99% of available software in the same place and easily installable. Installing MySQL on Windows was absolutely confusing – search the internet for a download link, a complex installation wizard that prompts for choosing between options I never knew existed, there were some random errors with sub-packages that failed to install. Trying to find other software to install often had me downloading files from sketchy websites. On Mac you don’t even have to look for it: `brew install mysql` and it’s up and running. On Linux is similarly easy: `apt-get install mysql-server`.

    I miss sudo. Opening a separate command prompt with admin rights to do admin things is annoying and a security problem. I’m tempted to work with an admin prompt all the time just in case I need to do something that requires it, but that means anything I run that was compromised would have admin access as well. Temporarily raising access rights only on the commands that need it – and asking for your password to do so – is much much better model.

    Thankfully, I found Chocolately, a package management system for windows. Other than still being tied to an administrator command line, it is actually quite impressive. The wide library of packages they have indexed will basically install any windows software available.

    Windows is not great at playing along in my mixed environment at home. I have Macs, Linux and FreeBSD running on different computers. Windows introduces a new lowest common denominator for some things. It didn’t support the file server shares I had, so required adding a new service, it couldn’t read the portable hard drive and required work arounds for copying files. I hope the new direction Microsoft is taking eventually expands on support of non-windows technology.

    I installed the Windows Subsystem for Linux and then installed Ubuntu. It’s great to be able to run all my familiar tools: bash, zsh, grep, ssh etc. And for the most part those simple things work as expected. It is possible to run MySQL through Ubuntu on windows as well, but there’s a gotcha. It’s not running all the operating services you’d get with a real installation. So you need to start services from the shell. Also I’ve found a bunch of software that gets confused by the OS description and fails to install.

    The learning curve is bigger than I thought. I’m still adjusting and learning. Windows is better than it used to be, but so far I’m finding lots of things that are confusing.

  • More Exercise Needed

    Since I stopped running due to ankle pain several years ago nothing has really filled the void of regular exercise to keep me fit and healthy. Every now and then I do use percussion massage guns to ease my back pain, but the pain due to no exercise just comes back. For several months now I’ve been more conscious of the aches and pains and generally feeling kind of gross.

    So as I start to shift into a new daily pattern of running my own business a ritual of exercise will have to be a more important aspect of my lifestyle which is why I have already begun going through the articles such as how to swim faster? And what to do about back pain? All available on HealthWriting website written by the fitness professionals of the world. Starting with a morning run or bike ride, and followed by some body weight exercises – pull-ups, pushups, dips, etc.

    I’ve been working from home for over 2 years and slowly the act of sleeping in has destroyed my mornings so I’m starting to take them back. And dedicate that time to getting a workout done before the heat of the day arrives.

    My best advice for having a good morning:

    • No phones or tablets in the bedroom – If I can’t tell the time it makes me unsettled and I’ll be more likely to get up to check
    • Leave the phone & alarm in another room. Generally I wake up before the alarm anyway, this forces me to get up and go find my phone
    • Have things I need for morning exercise ready the night before – especially important in the winter when it’s dark out and annoying to fumble around finding things
    • Go to bed early