Archive for June, 2009
Writing a Business Plan
by Matt on Jun.20, 2009, under Business
Notes on Writing a Business Plan
3 Main functions of a business plan:
1. A communications tool which conveys your ideas, research and plans to others.
2. A basis on which to manage your business.
3. A yardstick by which you may measure progress and evaluate changes.
Essential Elements:
1. Your business concept: Most important page. Presents a summary of your business idea. It tells why you think it will work, how it fits into the marketplace, what the future should hold. All based on your best research.
2. Your product or service: provide a complete description of what you plan to sell or rent. If possible, include an 8×10 photograph. Emphasize the basic product or service that will provide the bulk of your income. Explain advantages and benefits and anything about your products or services that will help “sell” your business concept to a complete stranger. If your product is still on the drawing board, explain when it will be available, including any test data you have.
3. Your market: Explain the big picture first. What is the total universe of your market? Is the industry growing or declining? Is anything happening now or expected to happen in the future that will impact your business? Who are your competitors? How successful are they, and why? Do they have any weaknesses? If so, will your business fill a need created by their weakness? Who will your customers be? Why will they buy your product or service?
4. Your marketing strategy: Describe how your product or service will be sold. Include pricing strategy, estimated sales and market share for each of the first three years. Add your advertising and public relations plans, plus your service and warranty policies.
5. Your production plans. Cover all the specifics, such as how, where and whom your product will be produced. What is the raw material? Is it readily available? What is the manufacturing process? What is your anticipated rate of production? Will you use union or non-union labor?
6. Your personnel: Will yours be a sole proprietorship? A partnership? Corporation? If so, include an organizational chart. How many people are involved, and what are their skills? How well are they qualified? At what points in time will you add personnel? If you’re running a one-man show, explain convincingly how you have the necessary skills and talent to achieve your goals.
7. Your financial plans: If yours is a new business, you won’t have the benefit of past history. As a bare minimum, you will need a personal financial statement. If your business is already established, include a financial statement for the business. Demonstrate how you plan to elevate existing figures from point A to point B. Ideally, you will be totally familiar with all of the financial details of your business, and will be able to consider line by line how you arrived at each figure.
Hotspots not working… Figured it out!
by Matt on Jun.18, 2009, under OS X - Macbook Pro
If you want to know how, just skip to the bottom
So I have been having issues where my macbook pro running Mac OSX 10.5 would not connect to hotspots at coffee shops, hotels and the like! Very frustrating because it used to work and I could not figure out why it wouldn’t work all of the sudden. I could connect to the router and I received an IP Address but when I opened Firefox or Safari the landing page for that hotspot, you know: the page where you either enter a hotspot login or just click go, well, it never loaded. It would time out
I am at a hotel in Penn State hoping to do some blogging and searching and a little research / unplugagoogling and really wanted to get this internet thing to work. Luckily I had my iPhone and could browse with the 3G network and I had the patience (rare in times of needing internet). So I browsed on my iphone while applied changes to my macbook pro.
The odd thing was that I could send / receive emails, login to my chat clients, load my dashboard data. I could ping but not browse in firefox or safari. Yuck!
Looking at the logs in console didn’t help, I removed my Cisco VPN Client because I read a few things about that client installing a kernal module that breaks that functionality, I opened up my firewall and all of this did not solve the issue.
Solution
Finally, I realized I installed Peer Guardian, which is a great application, but it was blocking all access for that landing page (I could see it blocking from the peer guardian log output). So I disabled the Peer Guardian filters and refreshed google and vualah! it worked
… now to figure out how to add this situation to the allow / exception list, a task for another day.
This may not be the solution for you, if it didn’t work then hopefully it’s at the very least some direction to get you moving toward the solution.
Be fast with Bash Aliases
by Matt on Jun.12, 2009, under Bash
How to use bash alias commands to your advantage
Using command line tools saves a developer an unbelievable amount of time. The question is how do you save more time and increase your efficiency even more?
One of my favorite ways is one I’ve used a long time, by using bash aliases. This post is directed to Mac OS X but may work with some linux distros as well, files are named differently.
How can this help you? Lets say everytime you open a shell window you have to cd into a generally deep project directory like:
/Users/mattsimpson/Clients/My\ Client/Web/Email\ Dispatch\ App/branches/0_8_0_1_ccd_migration
This can be tedious and annoying very easily, especially if you like to keep your folder names standard english format like “My Client” rather than cammal case “MyClient” or “my_client”, etc.
With Aliases we turn this:
[msimpson@dakota ~]$ cd /Users/mattsimpson/Clients/My\ Client/Web/Email\ Dispatch\ App/branches/0_8_0_1_ccd_migration
Into this
[msimpson@dakota ~]$ email_dispatch_app
which you can tab out after emai → [tab], that’s jimmy johns fast.
How do I get there?
First, Open a terminal window and edit your .bash_login file (.bashrc for linux) with your favorite text editor:
[msimpson@dakota ~]$ vi ~/.bash_login
And Insert the following near the end of the file:
# Alias definitions. # You may want to put all your additions into a separate file like # ~/.bash_aliases, instead of adding them here directly. # See /usr/share/doc/bash-doc/examples in the bash-doc package. if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi
Save and close.
Create a new file, let’s name it .bash_aliases in your home directory:
[msimpson@dakota ~]$ vi ~/.bash_aliases
and insert the following into the first line of the newly created file, but replace the alias name (email_dispatch_app) with your desired command alias name and the command path (/Users/mattsimpson/Clients/My Client/Web/Email Dispatch App/branches/0_8_0_1_ccd_migration) with your desired command path…
alias email_dispatch_app='cd /Users/mattsimpson/Clients/My\ Client/Web/Email\ Dispatch\ App/branches/0_8_0_1_ccd_migration'
Save and close.
Execute the following command to reset your bash session:
[msimpson@dakota ~]$ . ~/.bash_login
You are now able to execute your command (email_dispatch_app) and it’s tab completable! Go ahead and try it and see below for my list of aliases I have collected through the past couple years.
[msimpson@dakota ~]$ email_dispatch_app
Obviously you can see how this can speed up your development and allow you to focus on the things that matter, not on where you need to change directories, or that super long command that you always have to type in over and over.
Here is the list of aliases I have, feel free to contribute your aliases, I’d love to see how others are using aliases.
my .bash_aliases file:
# General Use Aliases
alias l=’ls -lh’
alias c=’clear’
alias cx=’chmod +x’
alias tree=”find . -print | sed -e ‘s;[^/]*/;|____;g;s;____|; |;g’”# Ruby / Ruby on Rails Aliases
alias cons=’./script/console’
alias gen=’./script/generate’
alias spec=’./script/spec’
alias srv=’./script/server -u’
function import_email { email_dispatch && ./script/runner “IncomingEmailHandler.direct_mail(STDIN.read, ‘$1′)”; }# Project Directory Shortcuts
# …
# a bunch of directory shortcuts
alias email_dispatch_app=’cd /Users/mattsimpson/Clients/My\ Client/Web/Email\ Dispatch\ App/branches/0_8_0_1_ccd_migration’
# …# SSH Shortcuts
# …
# a bunch of ssh commands so i don’t have to remember users and ip addresses like:
alias sshenvion=’ssh msimpson@xx.xx.xx.xxx’
# …# Services
alias mysqlservice=’sudo /Library/StartupItems/MySQLCOM/MySQLCOM’
alias recover_scanner=”cd /var/www/projects/cdops2/current/ && sudo ./script/runner -e production “IncomingEmailHandler.recovery_scanner”"
function mksvn { ssh msimpson@trogdor setupsvn.sh $1; }
# instead of
# $ svn checkout -m ‘some svn message’
# you do
# $ svc some svn message
function svc { svn commit -m “‘$*’”; }
function checkout { svn checkout svn+ssh://trogdor/var/svnroot/$1; }
My favorite is by far the srv and the svc commands. Enjoy