Categories
Miscellaneous Musings

Process

I contacted Apple to update the address associated with my developer account. They asked me to prove my new address by providing –

  • A photocopy of your valid (not expired) government-issued identification showing the new address
  • A recent change-of-address document filed with your local postal service
  • A document from your local registration office showing the new address
  • A recent utility bill, bank statement, or a letter from a government agency that shows the developers name and new address

I deleted the email. I wonder how many incorrect addresses, phone numbers and emails they have.

Categories
Miscellaneous Musings

Enochlophobia – the Fear of Crowds

So much for germaphobia.

I wonder what’s next.

Categories
Geek Speak

Updating WordPress on AWS Elastic Beanstalk

If you have gone through the bother of building WordPress on AWS Elastic Beanstalk and EFS, you probably are not looking forward to the next WordPress update. The simple answer is to do things backwards. Update your server then use the update to update your repo then use your updated repo to update your server. Simple

  1. Login to the wp-admin page for your site
  2. Update WordPress
  3. Update Your Plugins
  4. Update Your Theme
  5. Clean Up Any Lint in Your WordPress
  6. Make a tar of your WordPress directory
  7. scp the tar to Your Workstation
  8. Uncompress it to a temporary directory
  9. Delete All of the Files in Your Update from Your CodeCommit Repo
  10. Copy Everything in Your Update to Your Repo
  11. git add –all
  12. git commit -am “wordpress update”
  13. git push
  14. eb deploy

I wrote a script to do this and put it in the repo so I would always have it. My script looks like this:

# !/bin/bash
# this file is present in the local document root, it must be run from that location
# get the server name from AWS
myserver=$(aws ec2 describe-instances –region us-east-1 –profile MYPROFILE | grep -m 1 PublicDns | awk ‘{print $2}’ | sed -e ‘s/\”//g’ -e’s/\,//’)

# run a command on the server to bundle up the Elastic Beanstalk document root
ssh -i ~/.ssh/MYCERT.pem ec2-user@$myserver -t ‘tar -czvf ~/wp-new.tar.gz -C /var/app/current/ .’

# copy the bundle from the server to the local workstation
scp -i ~/.ssh/MYCERT.pem ec2-user@$myserver:wp-new.tar.gz ~/Downloads

# decompress the image in the Downloads directory
mkdir ~/Downloads/wp-new
tar -C ~/Downloads/wp-new -xvzf ~/Downloads/wp-new.tar.gz

# delete all of the files found in the extract from the local repository
ls -1 ~/Downloads/wp-new | xargs /bin/rm -rf

# copy the server document root into the local repository
cp -R ~/Downloads/wp-new/ .

# remove the upload directory to keep the deploy from failing
rm -f wp-content/update

# the following lines are only needed for Code Commit implementations
ts=/bin/date +%Y%m%d%H%M
git add –all
git commit -am “wordpress update $ts”

#clean up
rm -rf ~/Downloads/wp-new
rm -f ~/Downloads/wp-new.tar.gz

# the following line pushes the update to the elastic beanstalk instance
eb deploy

Categories
Start-Ups

Building a Financial Model

  1. Spend Some Time to Get Familiar with Excel
    1. Constants, Parameters, etc.
    2. Equations
    3. Formatting
  2. Characterize Your Prospective Clients, What They Will Buy, and When
  3. Build an Arrival Model based on Advertising, Sales Staff or Whatever Drives Your Sales
  4. Model Your Cost of Sales
  5. Add in Your Fixed Costs
  6. Model Your Cashflow
  7. Calculate Funding Requirements to Cashflow Break Even
  8. Calculate Time to Cashflow Break Even

It is best to break things out on to separate sheets once you master equations with values on other sheets.

It may seem like overkill but use months as your unit of time, it is what everyone is used to seeings and how everyone thinks.

Be realistic on how long it takes to sell. The time to close is proportional to the price.

Be realistic about how long it takes to raise money. It ALWAYS takes longer than you think.

Categories
Start-Ups

A Lazy Man’s Success Criteria

My success criteria for a startup are as follows –

  1. No Invention Required
    I am not as patient as Edison was in inventing the lightbulb.
  2. The Market Exists
    It is much simpler to address an existing need than to create a need, pet rocks excepted.
  3. Channel Sales and Self-Service Sales
    Direct selling is hard work.
  4. Sales and Marketing Driven
    Geeks make products for geeks not the masses.
  5. Recurring Revenues/Subscriptions
    Sell once, collect many.
  6. Let the Customer Tell You What They Will Pay For
    Let them pay you to build it for them.

Categories
Start-Ups

Business Plan Outline

A good business plan is approximately twelve slides, not thirty-two.  Less is more here.  The average funding meeting is forty useful minutes in length.  Twelve slides can cover the topic and leave time for discussion.  The following is my business plan outline.  It is not the only one on the Internet but I think it tells a story.

  1. Cover – Company Name, Presentation Date, Presenter Name(s), Company URL, Contact Email
  2. Company Background – from idea to now in ONE slide
  3. Problem Addressed – include market size
  4. Solution – Product/Service Overview (up to three slides)
    1. What is it
    2. What it does
  5. Differentiation – Competition (think Consumer Reports here)
  6. Financials Summary (not the Financial Model, up to three slides)
    1. Market Size, Penrtration
    2. Sales Funnel
    3. Pricing – for B2B must map to target clients’ pricing/revenues
    4. Time to Close
    5. Total Lifetime Value or TTL
    6. Costs
  7. Product Roadmap (think timeline here)
  8. Five-Year, High-Level Financial Summary – Cash need for each proof point (prototype, pilot, production, first revenue, market validation, CFBE)
  9. Biographies of Founders (keep it to two or three slides)
  10. Next Steps – Contact Information

It is very important to listen during a funding meeting.  Many founders get so focused on getting their message across that they forget that they are in a room filled with free expert advice that is actually worth something.  If it becomes clear that there is not a fit, try to get leads for other investors, advice on the product/company, and feedback on the pitch.

Categories
Start-Ups

How to Kill a Great Idea

If you are like me you have a life changing idea every few minutes. When one comes along worth pursuing, here is a list of tried and true ways to guarantee failure:

  1. Value the idea over execution.
    This is easy to spot, it usually arrives wearing NDAs, non-competes, and stealth-mode.
  2. Make it your hobby not your passion.
    Anything worth doing is worth betting the farm on. If you don’t know it will deliver don’t bother trying.
  3. Optimize the future value for you.
    If you are worried about making a billion dollars, you will never make the first dollar.
  4. Overvalue your contribution.
    Any great idea comes with a great team that can evolve with the market.
  5. Run before you walk.
    A nation-wide pilot is a great way to spend large sums of money while getting no smarter.
  6. Over promise and under deliver.
    Talk about the ten things you can do while not doing the one thing needed right now.
  7. Let the money take care of itself.
    If you can’t build a bottom up model that makes sense and makes money, you can’t actually make money.
  8. Hire people who recognize how brilliant you are.
    People who tell you you’re right are just the thing to balance a big ego.
  9. Set prices based on the value to you rather than the value to your customers.
    Prospective clients are always willing to overpay for products to make their vendors rich.
  10. Chase the big deals while ignoring your current customers.
    Your market is so big, so what if you lose some hard won clients.
Categories
Miscellaneous Musings

COVID-19 + 1

Been spending my anti-social isolation learning Swift 5 and SwiftUI. I am about ten test apps in. Everything is just a little bit more convoluted than it should be. Having fun.

Categories
Miscellaneous Musings

COVID-19

As many smart and talented people work from home for the first time, please be aware that there are people out there trying to exploit our new circumstances to compromise systems and data.

Please update your home anti-virus software and definitions. Make certain your operating system and applications are current.

Be particularly suspect of emails from unknown parties, from partners and co-workers that are out of the norm. Do not send data or funds without the same checks that exist when working from at your office.

Do not bring proprietary information on to you home system that you do not need. Delete any company data that you no longer need.

Remember, if something does not seem right, stop and think before you act. When in doubt ask.