Crypto Miner


I recently became interested in learning more about crypto currencies and how  they work.  There is no better way to learn than to build out a miner (aka rig) and try it out myself.  I happen to have an old motherboard, power supply, and hard drive lying around (who doesn’t?) – the only thing I was missing, and most vital component is the GPU (a high-end graphics card). Note, due to the mining craze, the cost of graphics cards has shot up.

I opted for an ‘open air’ build. Literally, I bought some cheap plastic shelving and used zip ties to secure it down.  It’s not pretty, but functional, and also has great heat dispersal.


Once the hardware is build, you will need to load the mining software.  You need to pick a coin – certain coins are better mined with specific graphics cards.  Once you know what you want to mine (you can check, you’ll need a corresponding wallet to deposit currency in to, as well as a pool to join.  Unless you have significant hardware, solo mining isn’t possible, so pool mining allows small rigs to participate in the mining, while making profit from a share of any blocks that are collectively mined.  Once it was up and running, I tuned the hardware (called over clocking) to get the most processing power from my GPU’s.  Now I just sit back and wait..and burn electricity.

There are lots of good videos on YouTube, or websites that can get you going.  I learned a lot from Reddit, in the /Ethermining subreddit. Make sure you read the in-depth guide before posting, as it’s considered bad etiquette to post a question that is already covered.

Keep in mind, now may not be the best time to invest a lot of money in mining, as there are changes coming that may make it much harder for small miners to make any money.  If you still believe the coins will raise in value, you can just buy some coins directly.


While the crypto currency aspect of mining is interesting,  the real exciting game changer is what the crypto currency is based on – blockchain technology.  The blockchain is what it sounds like – a continuously growing list of blocks (chunks of data) that are linked to one another using cryptography.  In more general terms, its also known as a ledger.  Currency is an easy way to understand the model.  Like bank transactions, you can record the movement of value between individuals.  However, unlike a bank, there is not a central authority.  The blockchain is completely distributed, and works with an unknown number of nodes dropping in and out of the network.  In fact, the network is untrusted, and its possible some nodes may behave in a way that is negative.  Once a block is written to the chain, it becomes nearly impossible to go back and alter it.  You would need to alter every subsequent chain (since they are linked by information from the previous block) and the cost and compute power to make this type of change grows exponentially.  The fact that a secure, completely transparent, peer-to-peer system was created is quite mind-blowing.

Now, replace currency transactions with other things, like land ownership records or other contracts and you can start to understand the power of the blockchain.  In fact, one coin, Ethereum was created to allow people to put code in to the blocks and have self executing contracts.  The example I heard was around travel insurance.  If someone has a contract that if the weather disrupts a trip, the contract can self-execute and make a payment based on weather data.  This example just scratches the surface – there are many other uses like providing micro-payments directly from person to person (with low fees, and incredible speed), or potentially could be used for voting.  A more whimsical use is cryptokitties – a virtual  pet that is collectible and breedable.

My next venture is to learn more about the programming language (Solidity) and see how these contracts work. I predict this will be one of the most disruptive technologies to come along – and goes well beyond just making money off of a crypto currency.

Who’s the real MVP? The MVC!


Everyone knows the ‘Most Valuable Player’ acronym, but you may not have heard the term ‘Minimally viable candidate’.  At first, it doesn’t sound too good, but let’s explore.

The Minimally Viable Candidate


I was first introduced to this term a few years ago when I was asked to participate in creating some certification exams.  There was a professional company helping us (the test creators) understand the parameters of how to write good exam questions.  For example, you cannot make up stuff in the answers just to trip someone up – but you could write answers that didn’t apply to the scenario, but where correct (i.e. you can’t make up a PowerShell cmdlet, but you could use a real one that has nothing to do with the scenario).  The goal was to write it to weed out unqualified candidates.

The MVC is the person who is qualified, but just enough to pass the certification.  There has to be some line drawn, and that’s the target for the level of complexity in the exam.  In other words, they are qualified, but barely. This is true in all professional fields – you may have a doctor who just barely made it, but they are still qualified to be a doctor. Of course, we all like to think we’re working with the best and overlook the spectrum of quality that really exists.

Why do I bring this up?  Lately, I’ve been leading design discussions with customers and a have a similar conversation around a ‘minimally viable product’.

Minimally Viable Product

Image result for never settle oneplus logo

Aim for the moon, shoot for the stars, never settle..the list of idioms goes on and on.  I argue that this is great for having a lofty goal..but in reality when you need to get things done, this perfect state often becomes the  paralysis of the perfect.  When I lead design sessions, I often start with a simple framework of understanding current state, and envisioning a perfect end-state, then look at logical transition states.  Understand that we may never get to the perfect end-state, its more of a true north or a sounding board to measure progress.  It may be too costly, or more difficult than originally planned.  Or, as we get to a closer transition state, we re-evaluate the end-state and it may change altogether.

Like the MVC, the concept of a minimally viable product doesn’t always feel good when you first hear it.  We are conditioned to do our best, and planning for less feels like failure.  It is in fact a tool to get started and realize value sooner.  I’ve seen many projects that fail to launch since the scope cannot be locked in, and every detail must be accounted for.

In software projects, this is often the difference between a waterfall model and an agile model.  With waterfall, the envisioning and requirements phases are completed before moving to the next step.  By the time you get to implementation, often the benefits of long development times are lost, or the requirements have changed (or missed as its hard to know everything you want in the beginning).  The agile model seeks to use quick sprints to deliver value quickly, and implement a less than complete solution, using iterations to over time deliver a fully flushed out solution.  This is not just reserved for software project, most of my engagements are infrastructure or business transformation focused.  They also suffer from the same challenges.


I help customers think and plan for what is good enough to go ‘live’ with whatever it is we are working on and overcome the fear of deploying with something that is less than perfect.   I’m suggesting rather than the OnePlus motto of ‘Never Settle’, maybe be more like Nike and ‘Just Do It’.  This approach is useful in many other aspects of life. Looking to hire someone? Consider the MVC rather than waiting for the MVP.