Tuesday, June 30, 2009

Screen Utility (and my .screenrc)

Screen is a fantastic utility which is best described as a terminal multiplexer.  It comes standard in most modern Unix-based operating systems (e.g. Linux, MacOS X, BSD).  Simply stated it is one of the most useful utilities I have discovered and is a powerful tool in the hands of a console warrior.

In a nutshell: you can run any number of console-based applications within a single terminal.  I usually fire up one terminal and then ssh to various hosts.  But one of the best features is the ability to decouple the terminal emulator from the running programs.  This means you can log out or loose your session accidentally and you can come right back to where you are.

This if fantastic for embedded development.  I ssh to a workstation (Linux) attached to the embedded console over a USB serial port.  This is running 24 hours a day monitoring the embedded system.  I ssh to the workstation and use screen to reattach to the running serial console. I wrote about this HERE.

Basic screen commands

Control-A Control-C will create a new session/shell.

Control-A Control-n (where n is the session number, 0-n) will switch you to that shell.

Control-A Control-D will detach.

My .screenrc

The only draw back is that the standard .screenrc configuration file is blank which leaves you with no visual indication of whether or not screen is running.

Here is the contents of my ~/.screenrc file which will setup a caption at the bottom of the terminal session which will tell you the host, time, and other session information.

   1: termcapinfo xterm|xterms|xs|rxvt ti@:te@
   2: caption always "%H %c | %x-w%{=}%n-%t%{-}w"
   3: shell -/bin/bash

Labels: ,

Back to Zero.

Whenever I tell anyone that I have liquidated our savings to pay off debt I get the same response: why?  I mean, in a risky recessionary environment why would you take accumulated savings and pay down unsecured debt?  To become debt free, that's why.

In April, I publicly declared that my financial goal was to become debt free this year, and wipe away the debt that we accumulated when my wife went back to get her second degree and thousands of dollars worth of diagnostic medical tests (only to find out that I am entirely 100% healthy). 

On the plus side, after the X-rays, being shot up with radioactive iodine, and fed into a spinning, clacking CT scanner, I've decided that I will never set foot into a hospital again, unless it is to watch my child being born.  

So here I am, three months later, our medical debt is entirely paid off, we now own our vehicles free-and-clear, and I'm down to two credit cards.  And not a moment too soon.

Crazy, huh?  Even financial guru Suze Orman has shifted her financial advice to do exactly opposite of what I am trying to accomplish -- her advice now is to pay the minimum payments on all your credit cards and pile up cash, because of the uncertain future.  But soon people who follow her advice will be facing loan-shark interest rates, enhanced fees, and higher minimum payments.

This week, I have received not one, but three letters from financial companies informing me that for a variety of reasons, my credit card rates are being increased.  Rate-jacking is now rampant and even "good" customers are getting slammed with arbitrary fees. 

Two of my business cards were preemptively closed by their issuers; one was never activated and the other was my OfficeMax corporate card (HSBC closed them all).  I received a $15 coupon (off $50 purchase) from OfficeMax as a consolidation prize.

Personally, I have bank fee fatigue; I have developed a permanent aversion to credit.  I'm in the process of closing every charge and credit card I can.   Credit score be damned.  Never again.  

Baby Steps

So, I'm three months into the process and our first ever budget was a disaster.  This was expected.  It takes a few  months to get enough practice to make a decent budget.

Check.  Before the recession, I had been shopping for a Cessna 172 and got pre-approved for a loan.  Now, I will have to save up enough to pay cash.  Someday...   

  • Step 1:  build up a $1,000 cash emergency reserve fund.

Check. This was easy since we already had some savings. 

  • Step 2: Aggressively pay off debt with the "debt snowball" method. 

Step 2 involves listing your (non-mortgage) debts from smallest to largest, and aggressively paying each debt off in order.  I hate to admit it, but I was stunned when I added up all of our debts -- out of sight, out of mind as they say. 

  1. I paid off and canceled my American Express ONE card and closed the attached savings account.
  2. I had one card because it offered the best foreign currency conversion rate (not any more, now they are charging a conversion fee plus a 3%).  They are also now charging foreign currency conversion fees on transactions handled in U.S. currency and in the United States for foreign companies.  Paid off and canceled.
  3. Another gave two frequent flier miles per dollar.  Now the rate is 1 mile per dollar and they refused to waive the $85 annual fee.  I canceled my personal and business cards.

The goal is the pay off your debt as fast as possible:

  • If you have stocks or savings, liquidate them and use that money to pay off the debt; and
  • If you are making contributions for IRAs, 401ks, 529s, or other savings, you stop and use that money to pay off debt; and
  • Find additional streams of income to help pay off the debts.

The first smallest debt gets paid first and all other debts get the minimum payment. 

  • Step 3: build up a 3-6 month emergency fund.    

This would be next.

Miscellaneous Financial Tips

  • Quicken Online (free) sucks. It is without a doubt one of the worst financial web sites ever created.  It is a feature limited service (probably) designed to get you to purchase Intuit's other products.  However, after a few days it would not interface with my bank.  Now all the transactions are duplicated.  The balance appears right but the transactions below are all duplicated.  Void checks disappear from the system.  Seriously, use mint if you are looking for a free online service (and have no problems with divulging your intimate personal details to a company).
  • My wife and I now share a single checkbook.  We used to have separate checkbooks, but not any longer.  It makes reconciling the accounts so much easier. 
  • No more online statements.  Financial companies save tons of money by not sending you statements in the mail, but pass none of those savings on to you.  In fact, if you are anything like me, I'm willing to bet that you've lost one or more of those precious emails saying "your statement is ready," and have gotten hit with a late charge.  I guess that is your bonus for "helping the environment."  Been there, done that, got the T-shirt.  Not anymore, I always request a paper statement.
  • I now pay bills the old fashioned way -- with a pen, checks, envelopes and stamps, usually on a Saturday morning.  It forces us to go over the bills deliberately and it is a painful enough that it helps renew our commitment to being debt (and bill) free as soon as possible.

Labels:

Sunday, April 26, 2009

Spammers are forging e-mail to appear from this domain

A spammer is sending spam with forged headers to appear as if the email originated from user accounts at this domain.  

As of three minutes ago, I am receiving bounced messages from a variety of e-mail addresses.  Looking at the bounced e-mail headers, these messages are originating from the following IP address: 122.46.104.49.  That IP address is located in Seoul, Republic of Korea (Powercomm ISP).

Thankfully, the flood of e-mail bounces have stopped. 

If you have received any of these e-mails, they did not originate from our servers, nor did they pass through our e-mail servers.

Labels:

Wednesday, April 8, 2009

How to recursively delete files and directories (*.svn) with find and xargs

Every once in a while, I want to delete some files from a set of directories.  Under windows you do a file search, select everything with CTRL-A and delete.  It is every bit as simple under Linux and OS X. 

For example, let's say you want to tar up or merge directories that are checked out of a subversion repository.  If you just tar up the files, you will have extra copies of every single file making the tarball needlessly large.  Not good.  Or maybe you want to delete those .DS_Store files that OS X craps all over your hard drives.

Here's how to do it.  Use the find command to find the .svn directories and pipe the output to the xargs utilities to merge the output into something the rm command can use.  This can be used to quickly delete other files patterns, but be very careful (for obvious reasons):

   1: rm -rf `find . -name "*.svn" | xargs`

Simple.

Labels: ,

Monday, April 6, 2009

My Financial Goal for 2009: 100% Debt Free (forever)

Tonight while reconciling bank statements and pulling together the documents necessary to file my taxes, I decided to cut up my credit cards and work towards the weighty goal of being debt free, forever. 

I often listen to Dave Ramsey's podcast via iTunes.

On the podcast (which is a syndication of his on-air radio show), Dave Ramsey espouses dead simple advice and counsels live callers who range for jubilant (newly debt free) to destitute and fearful. His roadmap to financial prosperity is shockingly simple: cut up your credit cards, budget, live within your means, ignore your FICO score, pay off your mortgage and save like Scrooge McDuck.

At first, I found his plain talking advice to be fanatical, but it was the callers who were facing horrible financial woes that kept me listening -- the human financial train wrecks.  And they piled up every day, asking for advice on how to sort out their lives. 

I listened to stunned and grieving widows ask for basic financial advice and children swindled out of their inheritance by step parents who left multigenerational family businesses to their children (cutting out the rightful and intended heirs).  I paid attention to the poor trusting souls who cosigned loans for their irresponsible children or friends, only to find themselves harassed by bill collectors.  I also snorted at the callers who bought houses and cars they could never afford, ran up massive credit card debt, and they asked if they should file bankruptcy.   It was always there: job losses, death, unforeseen medical crises, divorce, greed, financial gluttony, avarice, family infighting, and the ultimate reckoning.

And as I continued to listen, he started to make more sense.

Pay off your mortgage?  Bah, what about the tax deduction?  Oh... the calculator agrees with Ramsey.  You will save more money by paying off your mortgage in interest than you will by deducting the interest on your tax return.  Why are all the other financial "gurus" lying?

But what about my FICO score?  Since I'm a small business owner and derive all of my income from my Sub-S Corp, I will have to go through manual underwriting for a mortgage or major purchase anyway.  

But what about the credit card rewards?  I've already been burned by Capital One who modified their "no hassle" rewards program after I accrued the points, making the reward program nearly worthless.  American Express dutifully deposited my 1% cash rebate into my savings account, but then cut the savings interest rate, lowered my limit, and jacked up my interest rate.  CitiBank notified me this week that they are decreasing the mileage earned per dollar spent on my card, at the same time the airline is making it more difficult to redeem free tickets.

And so on... until each of my objections and rationalizations were killed by rational thought over time.  Slowly, I came to realize that cash was the way to go, especially in these turbulent times.

So, my financial goal for this year is simple -- through financial self depravation, pay off all of our debt and forever leave credit cards behind in my personal and business life.

Labels: ,

Sunday, April 5, 2009

Apple and Stanford to offer free iPhone development courses

It was announced this week that Stanford would offer a free developer course through iTunes U.  More specifically, Stanford will offer the video and course materials from Stanford's undergraduate iPhone app development course.  The course was created through a partnership between Apple and Stanford.

The first video was uploaded to iTunes on Friday.

Labels:

Tuesday, March 31, 2009

16,906 miles, 4 cities, and 2 more passport stamps

I can honestly say that it is good to be back home, especially after a tortuous eleven hour long-haul economy flight from Tokyo to Chicago.   The end result of my last trip: 16,905 miles, 4 cities, and two new passport stamps.  I now have banked a total of 213,207 frequent flier miles and am on track to earn gold elite status on American Airlines this year (the "hard" way).

This trip, I switched out my T-Mobile SIM for a foreign SIM and left the laptop at home.  For one week, I didn't even check my email and or voicemail.  It was relaxing to say the least.

My iPod saved my sanity.  I assumed that since the Japan Airlines flight segments were in a 747-400, that the video/entertainment system was going to be horrible and it was.  If I had to watch James Bond Quantum of Solace one more times I would poke my eyes out with chopsticks. 

Before I left, I purchased the first season of Stargate SG-1, a rental movie, and a book with the Amazon Kindle application.  I don't know if I would have made it without those distractions. 

Dead tired tired, I crashed early and woke up at 1 am.  I've been up ever since trying working through my inbox, paying bills and responding to emails (I've jumped on the GTD bandwagon).  My shredder has been noisily chewing up the never ending stream of credit card solicitations, and mail. 

I'm now ready to go back to work and will be in very early, a rarity for me. 

  • My schedule was changed to include a stopover in Tokyo.  Next time, I'm going avoid a stop over in Tokyo and try to fly straight through.  Tokyo is just too expensive and too difficult to get around in without knowing some Japanese.
  • The Hilton Narita (Tokyo) charges 11000 yen (online reservation) for a room.  Wait and reserve at the airport hotel desk, and the price is only 7900 yen.  Free shuttle to/from the airport.  A taxi to the local mall is expensive -- $20 each way. 
  • American Airlines Double EQM (Elite Qualifying Miles).  Registration code: DBEQM.  Register and fly between March 18 through July 15, 2009 and elite qualifying miles are doubled.  Considering that I already have racked up 17k EQMs so far this year, this puts me on track to earn Gold elite status on American Airlines this year (without any mileage runs). 
  • I bough an iPod tip for my iGo battery charger (consumes AA batteries).  The eleven hour flight required four AA batteries.  This is now part of my essential travel gear.

Labels: