Thursday, August 30, 2007

A New DUNS Number

Tonight, I finally got around to applying for a D.U.N.S. number, a unique nine digit identification number, for each physical location of your business. The D.U.N.S. (Data Universal Number System) number is linked to your business's credit profile. Requesting the number is free will start a credit profile on your business. It is also required by the Government if you want to do business with them.

More than likely, someone will be calling me up tomorrow and asking me pointed questions about my corporate finances, what my company does, etc., all for the 9 digit code. You can opt not to disclose financial data.

Next, they will probably try to sell me the outrageously expensive get-your-credit-established “Credit Builder” package. I've been through the drill before -- The fee for the program will change from the $700 range to the $200 range and everywhere in-between. $399 was the soft spot where it settled last time I went through the process. The truth is that you don't need it; companies report automatically, and soon you will have a credit score.

The first goal for a small business is simply to establish a Paydex score, which ranges from 0 to a high of 100. More specifically, my goal is 80, which equates roughly to a personal FICO score of 700+. In general 5 companies are required to report to get a Paydex score.

Building Corporate Credit


The basic advise espoused on building business credit is the same as with building a personal credit score – find someone willing to extend you credit (establish trade lines), and pay your bills on time. Finding companies to report is fairly simple. Start with the basic office supply companies like staples, office max, and office depot. They give easy credit to just about anyone and report. Wait roughly 45 days for these companies to report.

Next, move up to the Home Depot, Lowes, and Dell level. Again, wait the requisite 45-60 days for all these companies to report before moving up to the next level: general use credit cards. Of course, getting a general use, regular credit card is much harder. Many credit companies look at both your personal and business credit scores, although some may only need to glance at your business scores to get an approval.

TIP: A DUNS number will normally be given to you in 30 days after registration. However, if you are a perspective government contractor, vendor, or grant applicant, you will receive it in one day. Some “credit councilors” charge for this quick turn around. Don't fall for it. Just click on the government contractor button and get the DUNS number in one day.


Powered by ScribeFire.

Labels:

Sunday, August 26, 2007

[YouTube] Mindstorms Autofabrik

Interesting and nerdy application of Lego Mindstorms to produce a lego car factory:

Labels:

Friday, August 24, 2007

Roll Your Own Firewall, Part II

The 12U rack arrived this week and I assembled it in about 15 minutes, and due to the small size, it rack will fit under most desks. I hesitated on pulling the trigger on the purchase of the 1GHz VIA 1U bare bones system. I wanted to look for a cheaper/"better" solution. I even looked at FPGA development kits, but quickly concluded that anything I chose would only be cost effective in large quantities. After some serious research, it appears that the quiet, passively cooled VIA processor is exactly what I want. The 1GHz via combo is is powered by a passively cooled x86 processors that use just 7W at clock speeds up to 1GHz. The chips also feature hardware-based AES encryption and dual Random Number Generators (RNGs). With a powered disk drive, the entire unit can pull less than 50 W -- that is less than most light bulbs. Additionally, I believe I will have enough CPU left over there to make the server a Asterisk/VOIP server as well. So, the evil plan is now:
  • Purchase the 1U/1Ghz via server
  • install Linux from scratch
  • install/setup SmoothWall
  • install/setup Asterisk

Labels: , ,

Thursday, August 23, 2007

Ah the enchanting life of a consultant.

Today, I find myself at a client site. I am sandwiched in between a contractor from one of the "big five" Indian outsourcing firms, and relatively quiet, yet efficient Chinese-born electrical engineer from Canada. The EE on my right is quiet, professional, and works relentlessly. The contractor in the cubicle to my left spends an excessively severe amount of his day on the phone talking in a breezy Indian dialect to his coworkers. When he has no one to talk to, he hums. But most of the time, he has no problem finding anyone to talk to. He will talk just about anything. Recent topics include: Progressive car insurance, transferring his H1B visa to another company, car maintenance, buying and selling cars, and interviewing for .NET positions, DVD players, laptop components, and shopping. My brain focuses on the foreign language trying to make sense out of the garbled chatter. Even when I try to actively tune it out, my brain will process the sounds until an English word pops up in the conversation, like “.NET” and my brain will fire an event telling my consciousness to pay attention. It is extremely annoying and at the same time fascinating. I personally find his behavior fascinating. I abhor long meetings or phone calls. I sometimes turn off my phone just so I can concentrate without distractions. Yet, Mr. X. has no problem talking on a phone for well over an hour. I’m not kidding. Well over an hour. Additionally, there is a set of steel double doors are behind me, which lead out to a smoking area and the other building. As a result, I continuously hear scuffing feet hurrying for a meeting or nicotine fix. The steel doors close with loud kerthunk. Kerthunk. All of this takes place within a universe of about five feet. The enchanting life of a consultant.

Powered by ScribeFire.

Labels:

Tuesday, August 21, 2007

Health Savings Accounts

I'm in the process of setting up an HSA for me and my wife. If you are relatively healthy, they can be a great deal, especially for startups.

However, they are virtually unknown by the mainstream. It will take roughly three weeks to apply for the High Deductible Insurance Plan.

Health Savings Accounts (HSA) allow you to put away pre-tax dollars to fund future medical expenses. Any money you do not use can be rolled over to the next year. That roll-over money can be used for any medical expenses over time or eventually, retirement.

PROS:

  • Any money you put into the HSA becomes an "above the line" tax deduction. You don't have to worry about your adjusted gross income, it comes right off the top.
  • Just like a 401k, any money you put in is yours, for life. You can take it with you.
  • You can put away up to $2700 in 2006 for an individual and $5450 for a family. Tax free. This is a big savings. Example, if you have a Roth for you and your wife ($4k contribution limit each) plus a $5000 deductible HSA, you can sock away $13,000 pretax savings.
  • You can invest your HAS in a variety of different options (depending on the HSA provider)
  • You can go to any doctor you want.


CONS:

  • You must have a High Deductible Health Insurance in order to open or contribute to an HSA.
  • There are not a lot of choices out there for HSA providers.
  • Getting the accounts setup is confusing.
  • If you are covered under group insurance (even through your spouse) you are not eligible.
  • If you own more than 2% of a S Corporation, there are special rules.


High deductible plan

You can only use an HSA with a high-deductible insurance plan. Let's say your deductible is $5000 -- that means you pay for ALL medical expenses come out of your own pocket up to $5000 for the year. Anything beyond that is paid for by your insurance firm.

To setup the insurance plan it will take roughly three weeks while the insurance company vets the application. You can sign up at ehealthinsurance.com, or any number of online brokers. Once you have your insurance cards, you can open up the savings account.

Be sure to get one with a debit card. If you are like me, you don’t have a lot of medical expenses. But when you do, you want a convenient way to spend the money. With the debit card, you just swipe the card to charge your doctor, dentist, optometrist, or pharmacy.

HDHP/HSA SHOPPING TIPS

Look for a "portable" HDHP. Once you cross state lines you must cancel the old plan and get a new one, unless the health insurance plan is "portable." Humana has one, but doesn't offer it in Minnesota (where I am currently). Considering that there is an 18 month wait for maternity benefits... the clock starts over when you move state to state unless the policy is "portable."

Avoid Well's Fargo HSA
. The local branch didn't know anything about their HSA, and a little research showed that the HSAs are offered out of a small entity in California. Getting money in and out is highly manual. Conversely, I've heard excellent things online (so take it with a grain of salt) about HSA Bank.

Powered by ScribeFire.

Labels: ,

Roll Your Own Firewall, Part I

Now that my rack is ordered and on the way, I pondered the value of rolling my own dedicated 1U firewall/VPN appliance. Given how fragile the Linksys and Netgear firewall/VPN routers I have used, I decided I wanted my own, dedicated perimeter firewall, with the following requirements:
  • Cost. The entire solution must be under $500. My expense policy is that anything under $500 can be expensed, rather than depreciating it on a schedule.
  • Heat. Currently my computers are clustered together in my home office, which lacks a separate air conditioner. Adding a stack of 350 watt servers is not an option I would look forward to. If at all possible, I would like it to be a nice, quiet embedded server.
  • Linux. As a Microsoft Partner, I would love to have used ISA server – and written a step by step guide to doing it. However, it wasn't included in my stack of DVDs, and the thought of installing Windows 2003 headless was a little daunting. As a result, I chose to go with Linux. ISA server can be used here as well.
Firewall Hardware Requirements The only reasonable article available that I could find about right sizing the hardware requirements, relates the minimum tested requirements for implementing Microsoft ISA server. Given my experience, the Linux requirements should be about the same, if not more lenient. My own network is currently connected to the Internet via a 6MBits interface (DSL or Cable). Given a throughput in the range of 3 Mbps to 44Mbps, the minimum requirements are (drum roll please) -- one computer, Pentium III, 550 MHz processor. This should satisfy a T3 connection to the Internet. You do remember the Pentium III computers right? Well, translated in layman's terms, almost anything will do. Since I want a low power, quiet embedded computer that leaves quiet a few choices. After much searching I have narrowed the field down to the Halcom 1U Rackmount VIA 1Ghz Nehemiah Padlock 3-LAN Firewall/VPN/VoIP Platform. It is a 1U case which contains a VIA C3 running at 1GHZ. In addition there are 3 LAN ports onboard. So far it is on the top of my list, while I continue to search for a cheaper solution.

Powered by ScribeFire.

Labels: ,

Monday, August 20, 2007

Rack'em Stack'em

I spent most of the weekend cleaning out my home office. After I installed a brand spanking new six foot bookshelf ($29.95 from Target), I cast a critical eye at my current computing setup: several networked machines, printers, modems, routers and switches perched on plastic shelving.

Since I will be bulking up my network in the weeks to come (adding a voip lab, firewall, and multiple servers), I decided that it was high time to go for a rack for my computer gear.

Build vs. Buy

Unfortunately for me, I am not blessed with unlimited means; I am cheap. Therefore the question is do I build it or buy it? With some time and sweat, you can build your own rack from scratch.

I thought about building a rack myself, like these projects:

A light weight rack made out of a Kitchen Rack (from Target). The rack was constructed from a metal rack, and the holes were drilled and tapped.

A rack made out of $70 worth of furniture purchased at Ikea.

Also, basic plans for an audio rack can be found HERE. The dimensions are the same for the standard computer rack.

Ultimately, I decided to purchase a MDF rack from Smart Home. When assembled, it is basically an open box with rails screwed into it.

Powered by ScribeFire.

Labels:

Thursday, August 16, 2007

Installing Subversion on legacy Red Hat distros

Upgrading subversion on legacy Red Hat machines is painful because of the interdependent RPMs. If you attempt to install the rpms from your distribution you will quickly find that the apr or apr-util versions are simply too old. You quickly become mired in rpm hell.

The best option is to go for source and upgrade manually. However, when building from source you will quickly get errors because of missing apr and apr-utils. You will fight errors and compiler failures until you discover the magic sequence of events (or just follow along below).

Subversion the Easy Way

Installing subversion is easy if you know how. First, we will do a working install in our $HOME directory, then we will move on to wiping out the older install, and finally we will build and install to the system directories.

You will need to download the latest subversion source tarball, the latest apr and apr-util source tarballs. Depending on your distribution you might need to get libexpat.

First, the Test Build

First, lets build it in our home directory under a simple account. No sense in messing up the system directories just yet (or getting trapped with a non-working subversion client while your users are stomping their feet at your desk like two year old children).

1. Build and Install apr

This will create and populate a $HOME/lib directory with the apr binaries.

tar -xzf apr-1.2.8.tar.gz
cd apr-1.2.8
./configure --prefix=$HOME
make
make install


2. Build and Install apr-util

This will build and add more executables to the $HOME/lib directory.

tar -xzf apr-1.2.8.tar.gz
cd apr-1.2.8
./configure --prefix=$HOME --with-apr=$HOME
make
make install


3. Build and Install Subversion

tar -xjf subversionr-1.4.3.tar.bz2
cd subversion-1.4.3
./configure --prefix=$HOME --without-berkely-db --with-zlib --with-ssl --with-apr=$HOME --with-apr-util=$HOME
make
make install

If the build breaks referencing expat (XML library) quickly check to see if you have it installed in /usr/lib/ instead of /usr/local/lib. If this is the case you can cheat (becase the --with-expat configure parameter didn't work on my build) with:
 
ln -s /usr/lib/libexpat.la /usr/local/lib/libexpat.la
ln -s /usr/lib/libexpat.so /usr/local/lib/libexpat.so

You should now have the subversion client installed.

Installing for Real.

(Optional) You can see if you have any rpms installed and wipe them out.

# rpm -qa | grep svn
# rpm -e svn-x.x.x

Next, follow the installation procedure above but substitute $HOME for /usr. That will make the configure script generate make files that will install subversion in /usr/bin and /usr/lib and not the default /usr/local/xxx directories.

Good Luck.

Powered by ScribeFire.

Labels: , ,

Wednesday, August 15, 2007

MySQL inches towards closed source

I was a little taken off guard by MySQL's decision to end free community access to the latest source code for its popular database in an attempt to snag paying customers. In a nutshell, they have restricted the distribution of the source tarball only to paying subscribers. However, non-tarballed source code will continue to be available through the MySQL BitKeeper repository under the GPL. Of course, BitKeeper is a commercial application that I don't have, and won't purchase. MySQL has a tremendous market share (50 percent among developers) and is virtually synomymous with Web 2.0 and the LAMP (Linux Apache MySQL PHP) stack.

Powered by ScribeFire.

Labels: , ,

Orbitz TLC

Am I the only person who is annoyed with the new Orbits TLC messages? The "service" is being promoted heavily on TV. The last flight I took from ATL to MSP via STL generated no less than seven phone calls and/or voice messages to my cell phone. Yes. Seven. I personally find it incredibly annoying to wade through my voice mail to expecting to hear a client's voice mail only to hear, "Hello.. this is Orbitz...blah blah blah". I am no longer using Orbitz and have switched to Expedia or the airline websites.

Powered by ScribeFire.

Labels:

Monday, August 13, 2007

Microsoft ISA server and Linux

While trying to get buildroot to work (which relies heavily on wget), I discovered the secret to happiness to making my Linux development play nicely with Microsoft ISA server. Since it might be useful for others, other there, here is a super brief how-to.

Download NTLMaps


Go to: http://ntlmaps.sourceforge.net/ and download the NTLM Authorization Proxy Server. You will need to unpack the files and edit server.cfg.

Edit the server.cfg file, and add the following settings (substitute xxx.xxx.xxx.xxx for your Microsoft ISA server). You can get this information from browser settings on a properly configured windows box:

PARENT_PROXY: xxx.xxx.xxx.xxx 
PARENT_PROXY_PORT:80
NT_DOMAIN: YOUR_NT_DOMAIN
USER: your windows="" username=""
#PASSWORD:your_nt_password


Start NTLMaps (as root)

[root@localhost ntlmaps-0.9.9]# ./main.py

NTLM authorization Proxy Server v0.9.9

Copyright (C) 2001-2004 by Dmitry Rozmanov and others.

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

Your NT password to be used: (enter your windows password)

Now listening at localhost.localdomain on port 5865


Configure wget to use NTLMaps


Next, we need to tell the wget utility to use our proxy to the proxy. To do this, we can export some environment variables or create a .wgetrc file in your home directory. I will opt for the second:
$ vi ~/.wgetrc

Next, add the following to the newly created file:
http_proxy=http://localhost:5865/
ftp_proxy=http://localhost:5865/
use_proxy=on
wait=15

Next, try to issue a wget of a known webpage, like www.yahoo.com:
$ wget www.yahoo.com

-- 15:50:43—http://www.yahoo.com/index.html.1

Resolving localhost… 127.0.0.1

Connecting to localhost | 127.0.0.1|:5865… connected.

Proxy request sent, awaiting response… 200 OK

Length: unspecified [text/html]



[ ==== ] 106,746 76.40K/s

15:50:45 (76.34 KB/s) – ‘index.html.1’ saved [106746]

Success!







Powered by ScribeFire.

Labels:

Thursday, August 9, 2007

Control multiple computers with a single keyboard and mouse

Synergy (synergy2.sourceforge.net) is an amazing little operating system agnostic open source project that will allow you to control multiple computers with a single mouse and keyboard. I now have two computers (one Windows XP, one Linux) and sometimes a laptop (Fedora 7) which all share a Logitech wireless keyboard and mouse. When I scroll the mouse to the right edge of the Windows XP display, the mouse and keyboard will pop over to the Linux display. If my desktop replacement laptop is running, the mouse will smoothly scroll onto it as well. Perhaps the best feature is that you can cut and paste across operating systems. I can highlight and copy text from a Linux system log, and paste it into an Outlook email. While it won't totally replace a KVM (Keyboard Video Monitor) switch, it is a very worthwhile addition to a consultant's tool chest.

Powered by ScribeFire.

Labels:

Tuesday, August 7, 2007

Is the party over for Indian Outsourcers?

I usually ignore the hyperbole when it comes to Indian outsourcing. Articles about outsourcing generally fall into one of two categories: 1) business articles that exaggerate the benefits of outsourcing to with little factual data, or 2) visceral anti-outsourcing propaganda. However, Business Week has produced an interesting snapshot of the challenges faced by Indian Outsourcers: a falling US dollar, increased competition, lack of innovation, limits on the H1B Visas, and a severe shortage of technical labor. Perhaps most shocking is the admission that Tata is taking general science/math grads and putting them through a "7 month" program and then making them coders. Paradoxically, someone with seven months of training is billed at the same cost as a senior developer.

Powered by ScribeFire.

Labels: ,