Monday, December 31, 2018

How to create a LetsEncrypt certificate manually using certbot

Expired Certificate
If you use certbot to update your SSL certificate you may have noticed some issues over time. Unless you're very good at figuring out Apache and your .htaccess file you might spend several hours searching StackOverflow for a solution and not get anywhere. To add to the complexity, I use a a single hosting account to host several domains all as subdomains of the main host. This means that when I load certbot I have a list of about 60 domains to choose from and for some reason they all act differently with different issues. 

My most recent error was caused because certbot couldn't find the verification file that it placed on the server. I know this was caused by one of my rewrite rules in .htaccess but I really don't want to waste the time each month figuring this stuff out. It has become easier (for me anyway) to run certbot manually and just get it over with. It takes only 5 minutes and I no longer have to deal with random errors that take several hours to debug. So here's how I did it:

I first go to the directory where certbot is installed and run the certbot command with the manual directive as shown:

 ./certbot-auto certonly --manual

Certbot will now ask for the domain name like so:

Please enter in your domain name(s) (comma and/or space separated)  (Enter 'c'
to cancel): xxx.example.com

You then get a notification that "the IP of this machine will be publicly logged as having requested this certificate." I answered Yes to this.

You now have to do the big manual step, which is super easy:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Create a file containing just this data:

FF-rvRhkGtfLbJIMPfFkkGtDprhPNoKUqHSk4CE.wgSrF1jAzY6T0ve4sdhUZZELm73swjwh

And make it available on your web server at this URL:

http://xxx.example.com/.well-known/acme-challenge/FF-KcrvRhGtfLbJIMfFkvCkGtDDIejijdiuef8

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The easiest way to do this is to create the text file manually on your local machine and ftp it to the correct location on the server. Make sure your filename doesn't have any extensions. So in the case of the above the file name should be:

FF-KcrvRhGtfLbJIMfFkvCkGtDDIejijdiuef8

and it should only contain the string:

FF-rvRhkGtfLbJIMPfFkkGtDprhPNoKUqHSk4CE.wgSrF1jAzY6T0ve4sdhUZZELm73swjwh

(I have used a fake name and string above, but you will have your own generated by certbot, don't use the above ;) )

You should get a message that contains the following phrase:

- Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/xxx.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/xxx.nogalis.com/privkey.pem

I had to wait about 10 minutes for some reason for Chrome to show the certificate was updated. 

I know the point of certbot is to automate all this, but when you're having issues and you're in a rush to update the cert this should come in handy.















Wednesday, October 11, 2017

How I prevent sinus infections consistently

I have been getting several sinus infections each year for around 15 years now. If you suffer from chronic sinusitis you already know how miserable it can be. My infections would usually start with just a mild congestion, develop over time into a full sinus infection, my throat would often times get infected too and the only course of action I would have is a full course of antibiotics. Several  times in recent years it got so bad that I had to have several different types of antibiotics before I got rid of the infection in its entirety. Antibiotics have always done a number of my digestive system and I was determined to figure out a way out of this cycle.

Over the years I started to keep track of when my infections would start. I began entering them as recurring entries into my calendar with a one week reminder so I could anticipate them. Nothing seemed to help for years. But this year I took on a regimen that has been working well so far.

The trouble always starts around allergy season when I get a little stuffed up. My sinuses swell up. I get a bit of nasal backdrop and overnight I'm in hell. So the logical path was to prevent the allergic reaction first. For that I started taking Claritin but I quickly found that if I missed a single day or caught it a day late I would end up in the same trouble. I would then need some way to keep my sinuses draining. Claritin D helped but night times were not easy to deal with. That's when I started adding a night time spray. I use Afrin but I don't recommend using it more than a few nights as apparently it is very habit forming. I should stop here and say that I am NOT a doctor and have absolutely no medical background so none of what you read in this post is a recommendation, just my experience. Anyway, my symptoms were still not fully gone so I had to add DayQuil twice a day. I don't like NyQuil because it makes me drowsy and I don't feel like I am getting a restful sleep. Also, with all my symptoms gone I don't need to be knocked out like that. So this year my routine has been:

  1. One Clartin D daily
  2. Two doses of Dayquil, one in the morning one at night. (Two pills per dose)
  3. Salt water gargle and/or neti pot
  4. One spray of Afrin in each nostril before bed each night for three nights. I never exceed 3 nights for fear of the habit forming qualities. Look it up!
  5. Frequent hot showers and hot sauna if I can get it
  6. A mixed herbal rubbing oil that helps with breathing at night
  7. I also make it a point to get a 1 hour workout each morning and get a good sweat going


I know this seems drastic, but using this routine I can beat an oncoming infection in 2-4 days. Otherwise I would be dealing with it for weeks and that would mean taking more antibiotics and tons more drugs to recover. If you have been dealing with severe chronic infections you know exactly what I mean. This is a relatively simple routine and I really believe all the components are necessary as I have tried tweaking it with less than optimal results. 

Wednesday, May 3, 2017

Why is my iPhone backup so large?

This is the very question that has been bugging me for a few months now. iCould keeps telling me that my backups have failed because I don't have enough space and I have literally turned off every back feature but still have this problem. My backup size is 3.8GB while it should technically be less than 1/2 GB. So what gives? Even the geniuses at the Apple Store were stumped. 

Well, I figured it out. I took a full backup of my iPhone using iTunes. Then I used iBackupBot to view my backup and see if could see what condition my condition was in. Well, if you do the same, you'll see the following file structure:

It's all exactly what it sounds like. 
  • The System Files folder has your settings and databases and keychains and so on
  • The User App Files folder has all the files for each of your apps
  • The other three folders are not so obvious so I dug in and saw this in the "App Group Files" folder:


As you can see, I have sorted by size and for some reason Spark (my email application) is taking up 3.3 GB of space. As it turns out, the iCloud backup really backs up this whole folder and you have no choice over that even if you choose NOT to backup the Spark App.

Well so I dug in one more layer:


As you can clearly see, Spark has a pretty nasty cache file and also saves all your search history. That's pretty ridiculous given that this is taking up valuable iCloud storage. So I deleted the app and my backup went from 3.8GB to 338 MB!!! Victory!!!

If you're having issues with your iCloud file size being too large, Spark might be the culprit. If not, use iBackupBot to figure out what is the biggest space hog in the "App Group Files" folder and then delete the app. 

Comment below and subscribe for more rants :)

T














Tuesday, June 7, 2016

How to cut consulting costs by up to 30%

Those of you who know me also know that I've been a business application consultant for the past 16+ years. In that time, I've helped over 400 companies manage their business applications and have logged over 50,000 hours of billable time to clients. As much as I try to be a good steward of my client's project budget, I can't help them when they don't want to be helped. Over the years I have seen so much time go wasted and many projects go over budget, all of which could have been prevented by taking a few measures early on. I thought I would put together some points to help the people in charge avoid some of the pitfalls and take advantage of my years of experience seeing first-hand how projects can be wasteful.

I'm going to list these points in no particular order below:

  1. Travel vs. Remote: Do you really need your consultants to be on site? Do you conceive that somehow there's a difference between him being in the same building or several hundred miles away? Travel is not only expensive from a hard cost perspective but also from a time perspective. The hard cost of travel for most of the guys I have managed over the years is around $2000/week. That's Over $100k per year per consultant. You can hire a fulltime employee for that much. Not only that, travel time eats into project time and cuts down on productivity tremendously. The average traveling consultant is on the road 12-16 hours per week (between booking, driving, airport time, air travel time, hotel...). That's 12-16 hours they could be spending on the project to get it done faster. That's over 800 hours per year just wasted. Not to mention they're now less happy to work for you because they're away from their family, their warm bed, their home, and have to spend several hours a week dealing with travel related stress. The true cost of a traveling consultant is several times the actual travel cost. So if you can help it, arrange for your consultants to work remotely.
  2. VPN: Working via a remote connection has gotten so much easier over the past decade. Nowadays I can work on any customer's private network with a quick click. But there are several dozen flavors of VPN software and they all vary from place to place. Some make life easier and some make life miserable for your consultants resulting in several of hours of wasted time each week. Here are some of the common ones I have to use each week and how I feel about them:
    1. VMware Horizon View Client - I absolutely love this method. I basically get a VM on the client's network that I can access with a click of an icon. From there I can jump to whatever machine I want and get my work done. What I love about it is it doesn't mess with my local internet connection at all and I can be logged into several different clients at once with this client.
    2. Citrix Receiver - This is one of my least favorite things to use. Not only is it typically painfully slow, it's also very confusing and it requires several bits and pieces to be installed. And I'm sure you can set good user/password policies but most of the time it seems I have to reset my credentials way too often, resulting in support calls and several hours can be burned this way. I'm being generous with 2 stars. 
    3. Cisco AnyConnect - I don't really like client VPNs in general but the Cisco AnyConnect VPN works really well. If set up correctly on the server side, it can be really solid and never drops off. Only problem with client VPN software like this is you can only log onto one client at a time which is pretty badly limiting when you have multiple accounts to maintain. 
    4. GlobalProtect (by Palo Alto Networks) - This one seems to be okay but somewhat finicky. For some reason I can't connect to it using my Wi-Fi and I have to be hardwired to get it to work. Although I'm confident this is just an issue on my side, I haven't had that problem with others software so ... And again, having to install a local client prevents me from logging into other client's which is a negative.
    5. SecureLink - This thing has wasted so much of my time over the years. I hate it for so many reasons. For one it's Java based and super confusing and picky. I can only get it to work from Internet Explorer and even then I can't seem to control the resolution of the RDP session or the login credentials leading to several issues. I give this one 2 of 5 stars. 
    6. F5 Networks SSL VPN - This is a pretty good way to go and it seems to work well until it doesn't. But overall no issues. Really nice because there's nothing to install client side and it's SSL only which leaves me intact to work on other stuff. 
    7. Juniper Networks SSL VPN - Another relatively nice VPN application that allows me to log in and get work done relatively quickly but the fact that it requires a local install and several versions makes it difficult to work with and get right. But overall it works well so I'm giving it 3 stars.
  3. Security - This is a touchy subject. Most companies these days would rather err on the side of caution and throw money into a proverbial furnace rather than open up security any wider than the minimum allowable to let you get your work done. That's all fine and good until it starts to be wasteful. Case in point, the ability to do ftp. One of the first things we typically have to do as a part of an install of Lawson is download a few GB of software. Well, most of the sites we download from use FTP as their transfer protocol. If the customer has the ftp port completely shut off then we have to download several GB into a local machine first, and then upload it to the server over a super slow VPN connection. What should take an hour can now take days to complete. This is just one example of security measures that don't make much sense. FTP on its face is no more unsecure than HTTP but security consultants are quick to recommend the port be blocked. Mind you, we're not talking about transferring sensitive information, this is just software downloads. In my experience, unnecessary security measures can hinder progress and efficiency by as much as 30-40% depending on the project and the restrictions. 
  4. Project management and issue tracking software - I have spent a lot of time with every software and every methodology on the market. In the past 16+ years the best methodology for actually getting work done has turned out to be Agile Scrum. There are several dozen applications that can help with managing a project and they all work well if you use them well. But please use them well and hold everyone accountable. Invest in something like Pivotal Tracker, Asana, Trello or Jira and just stick to it and make sure everyone is using it correctly. There is no need to ask me for a status report when these tools are being used, That's a huge waste of time that no one ever reads. Keeping track of issues, features, and bugs any other way in today's world should be punishable by termination. We use a combination of JIRA and Trello at Nogalis depending on whether the project requires client interaction or not. We love both tools equally. 
  5. A solid single point of contact - More than everything else I've mentioned above, this one has probably saved the most amount of time. When clients appoint someone to work as my single point of contact, things just move a lot faster. This is important when dealing with access issues, change control decisions, user testing, documentation, getting consensus from upper management. When there's a single point of contact we can interface with who knows the organization well, we don't have to email a group of people or get on the phone for hours trying to figure out how to get a 5-minute task done. So assign a competent single point of contact to work with your consultants and make sure he/she has a bit of autonomy to make easy decisions. The companion point here is about putting too many people in charge. If I have to answer to more than one person, then I have to explain everything to two people, and ask permission from two people, and get feedback from two people. That's double the time for half the productivity. 
  6. Access - A lot of my time is wasted because I don't have access. I would easily sign whatever document you want me to sign and give you whatever guarantees you need that I won't do what I'm not supposed to. The way I see it, if you don't trust me, you shouldn't have hired me. When I don't have proper access, I have to come up with alternative ways to get things done. That means making calls, getting others involved, sending emails, and talking to your support line or just compromising and doing things the unintended way. Just give me the access I asked for to get the job done and then remove it when I'm done with the job. You'll save yourself a ton of money that way.
  7. Tools of the trade - If you're dealing with consultants, chances are you're paying $100-$300/hour for the work being done. It may be a good idea to find out what tools they prefer to work with and purchase the tools ahead of time for them. I use a text editor called EditPlus. It's like $30. But it can save me easily two hours of work each day vs an editor I don't have experience with. You do the math. (Also, give me enough admin privileges to install it)
  8. A clear SOW - Before starting any substantial project, your first goal should be to determine exactly what everyone is working on. Taking the time to define roles and responsibilities well ahead of time can save you tremendous amount of wasted time. I recall my first project as an independent consultant. I showed up at the client site in New Hampshire eager to work, but no one knew what I was supposed to work on for the first two weeks. So I just sat around and bugged people for a response. This was before Facebook ;). Some of the PM tools I mentioned above can ensure you never waste your resources this way and be prepared for them when then start.
There are probably dozens of other tips I could give you to help save thousands of dollars a year on your consulting costs but the above should be a good start. If you have other suggestions please feel free to leave them in the comment section below.

























Tuesday, August 25, 2015

How to backup your Bluehost backups (or any other) to AWS and save on storage costs

Seems like no matter how much space you have, there is never enough for the giant backup files. On one of my VPS accounts I have this issue nearly ever week where I have to clean up. 
So without getting into too much detail this is basically what I did today:

1) I stopped all weekly backups from the WHM "Backup Configuration" page.
2) I deleted all weekly and monthly backup files from the server by SSHing in and going to the /backup/cpbackup/weekly directory ... And deleting the big tar file.
3) In the bottom of that same WHM "Backup Configuration" page I checked the "/scripts/postcpbackup" option and wrote the contents of that script. Which you'll find below:

#!/usr/bin/perl

$directory='/backup/cpbackup/daily/';
$filename='mybackup.tar';

$awsDir='/home4/myuser/phpbackupdir/';
$awsScriptPath='/home4/myuser/phpbackupdir/s3_backup.php';

chdir $directory;
`gzip -f $directory . $filename`;

chdir $awsDir;
`php5 $awsScriptPath`;



The above code basically compresses the file after it's been created. This alone will save you a huge amount of space.

Then it calls a php script that I downloaded from this site which uploads the resulting compressed file to Amazon S3. Admittedly I hacked that script a bit to comment out all the archiving since my bluehost account already does that for me. 

What I love about this is the postcpbackup script will automatically run after the backup is complete so I don't have to actually call that using a cron job.

I also added a mandrill bit to all this to send me an email when it's done. 

So what do I get with all this?
Well, I get to not only remove my monthly and weekly backups from the server saving me about 10GB, I also get to compress the daily file from about 5GB to 1.8GB which frees up another 3GB.

Not only that, I get to keep 30 days of backups on AWS (so like 60GB) and anytime I need to I can access that regardless of Bluehost being up or not.

What really surprised me was how fast the 1.8GB compressed file was transferred to AWS. I took about 2-3 minutes which is amazing speed. That must mean that Bluehost is basically hosted on AWS or they have a very big pipe for that transfer.

Either way, this 2 hour project is now going to save me $15/mo and provide me with 30 days of continuous full backups. 

You can figure out the hacks for yourself in the 33_backup.php script. If you need help, leave a comment below and I can help you figure it out.

Tuesday, June 30, 2015

The ridiculous cost of real estate transactions and a possible solution

Most people don't know this, but I have my real estate broker's license. About ten or so years ago I put in the time to get my license because I noticed that I was paying a 2-3% premium on everything I purchased or sold. I figured if I can save myself that 2-3% and perhaps my friends and family, then I would come out way ahead of the cost of maintaining the license. 

Since then I've done dozens of transactions for family and friends in addition to those that I've done for myself. It goes without saying that I contribute a good portion of my commission to their closing costs since they're friends. Lately though I've been noticing that with real estate costs as high as they are, my commission checks are disproportionately larger than the effort I have to put it. Don't get me wrong. I put in the necessary time for anyone I represent. I make sure I help them research the properties, I negotiate everything for them and help them avoid any costly mistakes associated with escrow, title, and lenders. I go above and beyond what anyone else would ever do for them because I want to make sure they're getting a good deal. But even then, even after all the hours, I still feel like the commission is disproportionately large compared to the effort. On rare occasions when the deal  becomes extremely complicated and requires several hundred hours of research, work, and negotiation, it might be somewhat feasible to get paid more than 1.5% of the total sales price, but otherwise ...

Here's an example of a typical deal in Southern California. A couple I recently work with had a purchase budget of $800,000. I spent a few hours talking to them to really understand what their needs were. I then did some research on the neighborhoods they were interested in and learned the streets where I thought they would want to live. I drove by a few properties, previewed all the good ones and worked out all the numbers for them. So far I was about 12 hours in. I then met with them on three separate occasions to look at homes. Having previewed everything and done all the numbers saves us all time so we only had to look at about 10 homes total. They went back to the same house over and over again and eventually we ended up making an offer well below asking price. After about 3 days of back and forth our offer was accepted and with about 25 total hours of work put in, my work was nearly done. Over the next 45 days I made sure that all the paperwork was getting signed by the right people and any inspections were getting done on time. We're talking maybe a total of 10 more hours for a total of 35 hours. 

The commission on this deal was 2.5% so I stood to make $20,000 for my 35 hours of work. That's $571/hour. I contributed a substantial portion of that towards my buyer's closing costs but even then I walked away with more than $10k. I know what most agents would say at this point: "What about all the hours you had to spent finding the customer and doing marketing and ...". To them I say: "That's true with every other business also".


A lot of agents/brokers earn their commission. They negotiate hard on behalf of their client and they look out for their best interests. But the majority of agents basically list a property on the MLS (about 8 hours of work including photos), then they sit back and wait for their commission check to arrive. That's total BS. It used to be they had to do a lot more work for the 2-3%. But with technology as good as it is, it's really a click-next wizard and you're done. How does that make sense that when you sell your hard earned asset through an agent, that somehow for less than 40 hours of work, he/she gets to keep 3% of your hard earned money?! It's ridiculous. Ridiculous considering that most agents won't even put a penny into advertising your place or even hold a proper open house for you.

I know I'm going to get attacked by a lot of agents for this. But it's time for reform. Everyone should have to earn what they keep. In a perfect world, you'd pay an agent a fixed fee regardless of the price of sale and a commission for every dollar over a certain threshold. For example, if your house comps for $800k, your agents would get $4k upon sale, and 10% of every dollar over $750k. That way, if your property sold for $740, you would only pay the agent $4k. But if it sold for $800, then you'd pay him $9k. Or some sliding scale like that.

Personally, I'm not in this business to make my living. I just do it to help friends and family. And I do believe in each agent's right to make a good living if they're willing to work hard for their clients. But in an environment like Irvine where the average house sells for over $1M, and the seller has to fork over $50K in commissions (2.5% to each agent), I think there is room for a disruption and the time has come. 

Thursday, June 11, 2015

How to encrypt an existing MySql database

One thing I want you to keep in mind as you're reading this, is that this is a very basic guide to quickly get some encryption on your data. It is by no means a failsafe enterprise-level chinese-hacker-proof way of encrypting your data. Furthermore, aside from just encrypting some of your data I recommend at least the following:

  • Encrypt the entire disk volume that your database resides on
  • Encrypt the entire database instance
  • Create firewalls at every levels of your infrastructure
  • Use the highest level of encryption that fits the limits of your performance window
  • Get a chastity belt and a few Assa Abloy padlocks to protect your server
Now with that said, here's a super simple way of encrypting your stuff.

Let's say you have a table called user that looks like this:


As you can see, nothing in this table is encrypted, because you can obviously read it. Don't worry this is all fake data ;)

Anyway, you probably want to encrypt that email column so if someone gets into your db they can't just steal all your email addresses. Here's the quick and easy way:


UPDATE user SET EMAIL = AES_ENCRYPT(EMAIL, 'password');

The 'password' should probably be a nice long string that you're going to guard with your life going forward. What this does is it encrypts the EMAIL field with the key 'password' and updates it in the database. So now what your result set looks like is this:


Hard to guess what those emails are now.

By now you're probably a bit impressed, but asking yourself, okay great, but how the heck do I use data that looks like this in my own application? Well, I'm glad you asked. Here's how:


SELECT FIRST,LAST,CAST(AES_DECRYPT(EMAIL,'password') AS CHAR) AS EMAIL, WHEN_CREATED FROM user



Hint: If you don't user the CAST( ... AS CHAR), you'll get a blob returned in MySQL which is probably not what you want. MySql needs to know how to interpret the encrypted data once it has decrypted it. Also, If you don't say "AS EMAIL" after the casting, you'll get the whole formula as your column name and it will be pretty nasty, so this is cleaner.

Some more very important stuff to consider:

  1. You should consider changing your data type to binary since this is no longer being stored as a varchar
  2. You should definitely consider increasing the size of the encrypted (now binary) column because it now takes up more room and you don't want crazy errors you can't debug later.
  3. Storing the key in a safe place goes without saying, but try to come up with a pretty cryptic string like 'HDIEdygygde783juinifiaaoeygyqyegyYYHGEYD' and just use that within your application to decrypt. The downside of doing this is that if you lose this key, then you are essentially screwed.
Happy encrypting

Saturday, April 18, 2015

How to upgrade your old laptop cheap and in less than an hour

Let me start by saying that my laptop is my entire business. Without it I'm basically out of work. My biggest problem is that buying a new laptop is a huge time investment. I have nearly 100 programs installed on my current laptop and I love the way it's setup. I don't even have the original install files for these programs and even if I did, it would take days or maybe weeks to configure everything and install every component just so I could get my work done right. Not to mention the 40+ VPN connections I have setup for my clients that I would need to figure out again. We're talking weeks and weeks on work. Which is exactly why, my new Lenovo T430 is still in the box two years after purchase and I never stopped using my T420 which I bought nearly 5 or 6 years ago.

When I bought my T420, it was the best money could buy. It had the latest i5 processor, 8GB of Ram and a 128GB SSD (Solid State Drive). I absolutely love my T420. It's still extremely fast; the 9-cell battery lasts about 8 hours of continuous use, and combined with the docking station, gives me exactly what I need in a professional machine. I should add that I also have a 500GB SATA drive in the bay for files, so my 128GB drive is for program installs and the OS only.

So last week, as the used capacity of my 128GB drive was coming to the 95% mark, I ordered a new, bigger SSD drive ($84) and a drive cloning device ($40)





Kingston Digital 240GB SSDNow V300 SATA 3 2.5-Inch Solid State Drive with Adapter (SV300S37A/240G)

Sabrent USB 3.0 to SATA Dual Bay External Hard Drive Docking Station for 2.5 or 3.5in HDD, SSD with Hard Drive Duplicator/Cloner Function [4TB Support] (EC-HDD2)


I simply cloned my smaller 128GB drive into the new 240GB drive using this drive copier in less than 15 minutes. But to my surprise, the new drive is 3.5 times faster than my old drive. The fact that it's also double the capacity for just about $90 is a really great bargain. Especially since this exact byte for byte clone functions exactly as my old drive with all my old programs and settings intact. While I was at it, I upgraded to 12GB of RAM and now my old T420 is screaming fast again with a new lease on life and double the drive space. The cloning device was only $40 and I can use it to make backups of my entire drive each month so I am never at risk of losing my business again. Keep in mind, having backups of my data is not really as relevant for me as having backups of my installed programs and VPN connections so a simple backup drive solution wouldn't work well for me. 

The entire project took me less than 1 hour (after the parts arrived) and cost me about $160 total, $40 of which is the copier device that I can continue to use for backups. Sure beats having to buy a new laptop for $1500+ and spending weeks getting it up to snuff. 

It's worth mentioning that I ran into some issues with partitioning the new drive which I was able to fix with AOMEI Partition Assistant:

http://download.cnet.com/AOMEI-Partition-Assistant-Standard-Edition/3000-2248_4-75118871.html

Also, when I plugged the drive into the old PC alongside the same drive (so both clones were on the same machine) I got a conflict which I resolved by following this video:

https://www.youtube.com/watch?v=-1mQIJJp-bE


Thursday, February 12, 2015

The single most important quality of a successful entrepreneur

Some of us are good at playing music, other at sports, or math, or cooking, or ... the list goes on. There's something about us that makes us very good at one or two things in life. It's quite obvious to me that regardless of how much I practice every day, I won't be able to compete against Usain Bolt in the 100 meter dash. He's just naturally better at running fast than I am, and that's a fact. But somehow when it comes to entrepreneurship, we don't think of one person being inherently better at it than another. Perhaps because we have seen successful entrepreneurs from all walks of life. Some short, some tall, some fat, some skinny, some with crazy wavy hair, some bald, some extroverts, some shy and introverted. But what do they all have in common? 

Running a business is a constantly evolving game and as an entrepreneur you have to act, and react faster than your competitors in order to survive. For every successful business there are hundreds of failures. Ask any entrepreneur how they feel about running a business and they are likely to not have a pleasant portrait of what it takes. Elon Musk has said numerous times that (and I paraphrase) entrepreneurship is like staring into the abyss and eating glass. I know exactly how it feels. My analogy for years had been that it's like climbing a mountain with a maze on it's surface. In recent years I have realized that it's more like climbing a mountain with a maze on it's surface while pushing a stone block. You get good at it, but it never gets easy. So what is it that makes one entrepreneur better than another? In the case of Usain it's his incredible physique, and his mental control over his facilities. I believe I have found the one factor that sets one entrepreneur apart from the rest. What makes Bill Gates, Elon Musk, Donald Trump, Steve Jobs, Larry Ellison, Richard Branson, Mark Zuckerberg, Jack Ma, Jeff Bezos, Ted Turner, Warren Buffett, and countless other successful multi-billionaires so different?


What single quality could be responsible for their incredible rise to the top? Ready? 

It's the ability to decide what to tackle next. 

Let me explain.

As a business owner, your mind is overflowing with thousands of great ideas of what to do for your business. There are countless decisions to be made and an enormous list of todos. What sets the super-star entrepreneur apart is knowing which of these thousands of things to tackle first. Execution of the task at hand is obviously important too but being able to prioritize the endless list of todos and picking the most strategic one is by far what sets the winners apart from the rest. Imagine the todo list on Elon's planner as he started SpaceX. What do you do first? Ask yourself that question. What would you do FIRST (not top ten, first) if you wanted to start your own commercial space craft company? See what I mean? It's probably akin to rocket science itself. How in the world do you decide which is the thing to do next when there are countless things to do? It's those early decisions we make as entrepreneurs that set the wheels in motion. It's the methodical way about climbing the maze to the top that sets them apart from the rest who are trying every avenue in hopes of finding the right path by accident.

So can this trait be learned? I can't be sure. How do you go about learning how to make the best next move consistently? I'm not saying all of these people make the best next decision every time, but they have a great track record for doing so. Failing quickly is a big key. If you are going down the wrong path, knowing when to stop and start over is definitely a big part of making good next decisions. I have found though that the majority of entrepreneurs I meet are very impulsive. They run with the first idea without enough pause to let the organic deduction process guide them. This is sometimes a good trait because that do-first, ask questions later attitude is also a big part of the risk-taking nature of good entrepreneurs. As with everything, practice might help. Perhaps taking 30 minutes to think things through before making final decisions is the best way to start. As simple as that proposition sounds, most entrepreneurs I've met would struggle with a 30 minute delay to taking action. I am convinced however that although practice may help, this innate ability to pick the next best move is rooted deep in the DNA of the super-star entrepreneur. Do you have it? Only one way to find out.


Tuesday, November 18, 2014

Things I take for granted part 2 : Washing machines

It's Saturday. You roll up your sleeves, gather all the sheets, clothes, rags and towels and bundle them up in a big batch. You mount the bundle on top of your head, grab your washboard, your
pack of lye, your bristle brush and prepare for the 6 mile walk to the river bed to put in a good 8 hour day of work washing it all. In much of the world that's still the way housewives clean the family's garb each week. It's back-breaking labor and almost none of us in the modern world have ever experienced it. 

I even left out the wringer used to wring out the water, and then having to carry all the wet clothes back home to hang on lines and waiting for a good day of sunlight so they can dry. Not to mention that if it rains or snows you have to start the process over again. It's quite ridiculous to a westerner that this is even a reality anywhere in the world. What's funny is that it's likely that your parents or perhaps grandparents can remember a time where they had to do something similar. Most likely though they had plumbing inside the house and they filled up a few tubs with warm water and saved themselves the walk to the river. 

Knowing this, it's incredible that we complain about having to do laundry. I literally have to walk about 8 feet and dump everything into the machine, hit a couple of buttons, and then watch 30 minutes of TV while millions of scrubbing bubbles magically and gently wash the grime out of my clothes and magically soften the fabric.

So next time you have to do laundry, pour your self a glass of wine and give a big hug to that massive white box that does all the work. And for the love of god, stop bitching about having to do your laundry.