Running a small business has a special set of challenges, and if you are not careful, the overhead can quickly consume you. This article is a list of things that I use in my business that work well for me, and help me to be efficient when there is so much to do …
Entire article at: http://bec-systems.com/web/content/view/101/9/
While I can’t say the same for VOIP proiders, the Asterisk PXB is a very solid product. I run it on an ancient 1GHz celeron system, and use it for my office PBX. In combination with a VOIP service, I can:
- handle multiple calls at once
- easily conference multiple callers
- forward calls to my cell phone or other numbers
- provide extensions for associates who are working with me
and all at a very low cost. To mitigate some of the reliability problems I’ve had with VOIP providers, I set the VOIP provider to use my cell phone as a backup if the VOIP link is down. I also use multiple VOIP providers for outgoing calls so that if one is not working, I can usually use the backup. Overall, I really like the features, and for my business the occasional hassle is worth it.
SQL-Ledger is a web based accounting program that is open source. It provides all the features I need to run my business, and offers the following advantages over more traditional programs such as Quickbooks:
- web based so I can access it anywhere, even remotely.
- subcontractors and associates can log time remotely directly in my accounting system.
- granular permissions for different people who need to use it.
- upgrades just work.
- consistent, reliable operation that I expect from an accounting system.
We finally have a low cost, open source JTAG solution that works reasonably well. While there are still issues, it gets the job done for most of my projects, and offers my customers a low cost way to program their systems using JTAG. Often customers are not doing extensive development, and it is nice to be able to provide a solution for the occasional need. One customer fought with a very expensive commercial unit for weeks. I finally shipped them a $50 Olimex unit that did everything they needed. There can’t be enough said for everyone on a team using the same tools, and they only way this can happen easily is if the tools are fairly low cost.
Tracks is a nice web-based task managment tool to help implement the GTD methodology. The user interface is supurb and better than most native applications I’ve used. I use the “starred” items for my “next action” on each project. Very nice!
Printable CEO Emergent Time Tracker
I use David Seah’s handy form for tracking my time during the day. It forces me to use a pen and paper every day which is a pretty rare thing, and is a nice compromise between simplicity and automation.
I’ve written a lot about the benefits of OpenEmbedded. It makes the huge task of creating a build system for Embedded Linux systems very manageable and repeatable. When build systems are fully automated, things are so much easier. As an example, I’ve been working on one project for over two years, and have built 313 releases. We have had almost no image failures due to forgetting to put something in the image, or some other manual step you tend to find in build systems. This is the power of a fully automated build system with _no_ manual steps.
Once I become convinced that Ubuntu could do distro upgrades, I finally quit using Gentoo. Between servers, workstations, and home computers, I now maintain about 10 Ubuntu systems. Over the past several years, I’ve had very few problems using the distro upgrade mechanism. Also, the fact that Ubuntu includes fairly recent Linux technology is a big plus for experimenting with components I use in embedded Linux systems.
Working from a small office where I do not regularly make shipments, it is really convenient to be able to schedule a pickup with shipping companies like DHL and UPS. This can be done over the web in 15 minutes or so, and a shipping label then prints out on your printer. The DHL website will also provide commercial invoices for overseas shipping. This sure beats driving to the local UPS shipping place, filling out paper work with a pen, waiting in line, etc. Just another thing that makes it easier for a small business to run efficiently.
Intel Bare Bones Server
Last year, I was looking for a cost effective 1U rack server. I selected a Intel SR1530 Bare Bones server. I installed it over a year ago and have not touched it since. Last time I checked, the uptime was 254 days.
3-ware Raid Controllers
(I guess it is AMCC now …) They just work with Linux — currently running in two systems.
Doing embedded system development means I get a lot of equipment from customers. As some of the development stretches over several years with occasional ongoing support, its nice to be able to store this equipment and then find it efficiently. I’ve found the “Sandusky Standard Storage Cabinets” from Staples to work very well. They are fairly cheap, yet durable enough for what I need, and keeps everything enclosed which looks neat, and keeps the dust problem under control. And, Staples offers free delivery.
Bob Pease organization system
Bob Pease had an article in Electronic Design some time ago about organizing things in his refrigerator. He used small boxes to group things in his refrigerator. I use the same method in my Sandusky cabinets and it makes it very easy to find something when I need it.
GTD Labeling System
I’ve slowing been adopting some of David Allen’s organization ideas from “Getting Things Done”. One of his best ideas is to get a labeller. I used to use a Brother handheld labeller, but lately, I’ve been using a Dymo LabelWriter 400 left over from a project. The LabelWriter connects to your computer via USB, works well with Linux, and allows me to use my standard keyboard, and OpenOffice to create labels. Note, the labels on the boxes in the above picture. The high contrast black on white makes it much easier to find things versus hand writing notes on cardboard boxes, file folders, etc.
GTD Filing System
I used to use hanging file folders, but no more. David Allen’s suggestion of simply using plain manila file folders with nice labels works very well. Once again the large, high contrast labels makes it easy to find things.
Snaketray Cable Management
I’ve already written about my cable management system. A year later, I still like it and no longer dread digging through cables.
Steelcase Leap Chair
I’ve sat in various chairs over the years — mostly the cheap office store variety that most companies buy. I must be getting old enough now that they no longer cut it. I tried a Herman Miller Aeron for a week as that is what everyone recommends, but I found it too hard. I then tried a Steelcase Leap chair and it works great for me. I no longer even think about the chair I’m sitting in, even after a long day. Expensive, but well worth it if you spend as much time sitting as I do.
Tomboy Notes + gnome-do
Tomboy notes is a Linux desktop note-taking application that is essentially a personal wiki. It automatically tracks links to other pages, links to file locations, etc and organization is done mostly through links instead of hierarchy. It is simply the best note taking system I have ever used. Coupled with gnome-do, I can instantly bring up any note with only a few keystrokes. In this day and age where information abounds, being able to take and recall notes efficiently is critical to being effective.
Being able to easily name the tabs in the KDE console application is very handy as I’ll typically have 5-10 named consoles going at one time.
8-port USB serial expander
As I work with a lot of different devices, it is very handy to have lots of serial ports available. The SerialGear device available from http://www.usbgear.com works out of the box with modern Linux distributions.
I’m starting to really appreciate the benefits of distributed source control systems. For commercial embedded development, it allows me to easily track upstream projects, yet have a local source control system for tracking project changes. Having everything in one version control system makes it much easier to extract patches to push back upstream, etc.
I’ve been a happy trac user for years, but have recently switched to using Redmine for project management. Redmine offers some addition features such as multiple project support, and the user interface is a little more polished. As all of my projects are accomplished with distributed teams, it is very important that there be clear visibility as to what is going on in the project. It also helps to give customers the “Warm Fuzzy Feeling TM” as they have clear visibility into the project, and they can easily verify there is progress being made on the project.