Let the Chips Fall Where They May

November 24th, 2008

INTC Drops

Car Update Acquired!

October 29th, 2008

On February 7, 2004, I bought my 2004 Honda Civic LX sedan from Honda of Hollywood. I put down 3500USD, got a 2.9% APR, and received a total financing cost of 1571.70USD. It was my very first car purchase. I went at it alone, and needless to say, I got slammed hard.

On July 25, 2004, I bought a 2004 Honda Accord EX sedan for my mom and sister from Norm Reeves Honda Super Store. I put nothing down, got a 3.9% APR, and received a total financing cost of 2733.43USD.

On October 22, 2008, I bought a 2008 BMW 335i sedan from Long Beach BMW. I put nothing down, got a 0.9% APR, and received a total financing cost of 1027.31USD.

Let’s just say that BMW Financial Services allowed me, at a considerably lower financing cost, to borrow twice as much money as American Honda Financial Services lent to me for my Honda Civic. I let a 0.9% APR offer from BMW expire on September 2nd, and saw how quickly the APR jumped to 4.9%. I had an idea of how much financing cost me at 2.9% and 3.9% for smaller financed amounts, and I could only imagine how much more significant the financing costs would be for a BMW at a higher rate. I was already planning to purchase a BMW 3-series sometime next year, but when another 0.9% APR offer was made available again in October along with a compelling purchase price from Long Beach BMW, I snapped up the deal.

08 335i E90 A22 KASW ZSP 205 2XA 4AB 6FL

Tighter Controls for Personal Finance

October 13th, 2008

Considering the purchase of a new car while the housing and equities markets plummet requires detailed knowledge of one’s financial position. In my case, I was considering the purchase of a 2008 BMW 335i sedan amidst a rise in foreclosures and a significant downward movement in the stock market. With two existing car loans still in repayment, which necessitates both cars to be fully insured, the addition of a third financed car along with the added insurance costs would bring my budget closer to being balanced. I generally prefer to have a surplus for my personal budget.

BMW rarely, if ever, offers a low interest rate like 0.9% on their vehicles. Assuming that the normal interest rate for my desired car is 4.9%, I calculate that I would save about 5000USD if I took up the 0.9% limited time interest rate offer. The competitive pricing offers, some under invoice, from several BMW dealers were also compelling. I heavily considered the purchase. I thought about the end of repayment in February 2009 for my 2004 Honda Civic and July 2009 for my 2004 Honda Accord. I wanted to believe that by cutting tiny financial excesses in my daily routine, I can create a sizable margin between my cash inflow and outflow while I make payments on three cars simultaneously.

By reviewing just the expenses that are charged on my credit cards, it seemed that the payments on a new car as well as the added insurance cost could easily fit within my budget. Unfortunately, I lose a lot of detail in my budget with all my cash transactions. I give myself a cash allowance, and I repeatedly exceed it, because I sometimes make unexpected yet necessary cash purchases. Not knowing how the cash is applied with the lack of financial controls over my cash spending made it difficult for me to evaluate my financial position and move forward with the car purchase.

I moved on from using Microsoft Excel to GnuCash to manage my accounting. To address the issues that I have with monitoring my cash transactions, I now make use of the “Cash in Wallet” account. I now collect my receipts, post the transactions to my ledger, and reconcile the amount of cash in my wallet with the corresponding account in my accounting software. I do this daily as to not allow the amount of work in maintaining my account from becoming insurmountable.

I now have a better view of my financial position. For example, I am able to see precisely how much I spend at Starbucks by looking up a particular expense account in my ledger. I can see how much of my monthly income is used on lunches and how much I spend on car maintenance over the year. Businesses use accounting practices to measure the health of a business. It seems natural that the same practice be applied to Me, Inc.

gpupdate: Refreshes Group Policies Settings

October 1st, 2008
Posted in Windows | No Comments

Microsoft TechNet elaborates on the description of the program, stating that gpupdate “refreshes local and Active Directory-based Group Policy settings, including security settings.” This command line utility is useful when updating group policies in an Active Directory environment and immediately checking that modification’s effects.

A Sampling of the x86 Bootstrap Process

August 20th, 2008
Posted in - blah - | No Comments

Looking forward to a three day weekend, I thought about what I could do to pretty much relax from work. I have always been curious about the bootstrap process on a PC, but I never had the time or skill to understand the assembly language and process involved in writing one. After having exposure to proprietary assembly languages at work, I decided to revisit the x86 assembly language, which is the first low-level language that I’ve encountered and should know as a software developer who started computing on an “IBM-compatible” machine, and study example bootstrap code.

My first “Hello, World” program toward a functional bootstrap code is VnutZ’s minimalist bootstrap code:

     [BITS 16]
     ORG 0
     int 0x18
     
     TIMES 510-($-$$) DB 0
     DW 0xAA55


The above code is input to the assembler, and the resulting binary file is written out to the first sector of a disk. The BITS directive sets the target processor mode. According to VnutZ, the processor is in 16-bit real mode when processing is handed off to the bootloader. The ORG directive specifies “the origin address which NASM will assume the program begins at when it is loaded into memory.” The x86 assembly instruction, int 0x18, is a BIOS interrupt call to have the BIOS interpret BASIC code in the ROM. The TIMES directive is used to write zeros after the sole assembly instruction up to and including the 510th byte. The value, 0x55, is written for the 511th byte, and 0xAA is written for the 512th byte. This marker value indicates to the BIOS that a valid bootloader application resides in the sector when the BIOS inspects it.

A personal copy of the PC Bootsector Programming Tutorial in ASM for future reference is found here.