Wednesday, October 28, 2009

Depths of plumbing

Our house has plumbing problems. They're not related in any way, but over the last couple months I've had to figure out how to fix toilet problems, bathtub problems, bathroom sink problems, and finally kitchen sink/disposal problems.

Look out Mario, I'm moving up.

Bread

Last night I dreamed about bread. But this wasn't just any bread, it was delicious, airy-light French bread, crackly on the outside and soft, smooth, and almost sweet on the inside. It was amazing.

Maybe it was because we were looking at wheat grinders and talking about making bread the night before.

Monday, October 26, 2009

Amazon oops!

This morning Amazon started a promotion, selling the new Tran-Siberian Orchestra album "Night Castle" for cheap. I bought it using the credit card number Amazon had thoughtfully (and un-asked for, as far as I can remember) remembered from the last time I bought something, then I downloaded the MP3s.

A couple hours later, I got a notice saying that the credit card I had used was invalid and my order was being canceled. I went and checked my Amazon account, and sure enough the credit card was an old one. However, I've already downloaded the MP3s.

Do I call them up and say, "Hey, I need to give you money!" Do I just re-buy the album using a valid credit card even though I don't need to download it again? Why didn't they run the credit card before allowing me to download the album in the first place?

Thursday, October 22, 2009

Crackers for all!

Yesterday, Child and I visited the animal shelter to show off Ash. We visited a couple weeks ago but missed a couple friends so we visited again. Pat had made a beautiful blanket with cat faces on it for Ash.



Faster! Faster!

There's a deer doing laps in the empty field across from my window. Seriously, he's sprinting across it, turning around, and sprinting back. He's already done it like three times.

Tuesday, October 20, 2009

Rights, and not so rights

Last night and this morning I read an extremely interesting talk by Elder Dallin H. Oaks about religious freedom, and how it was under attack.

It got me thinking about "rights." Rights are what are at the center of the "gay marriage" debate, but I think a large part of the disconnect between those for and against comes down to differing beliefs about rights.

Every right is not created equal. There are basic human rights, some of which are outlined in the U. S. Bill of Rights and all of which are granted by God/the universe/existance/whatever metaphysical concept you choose to accept. Other rights are those defined and granted by political bodies, such as speed limits, the drinking age, the voting age, municipal waste dumping laws, etc.

The tricky part here is that political bodies have stepped in and blurred the line. They've taken the basic human right of a religious union and wrapped it with a vast collection of government-granted privileges. This gray area causes confusion to arise. What exactly does the government have the right to do when it comes to marriage, and what supersedes its rights? Inevitably, because of the confusion and the nature of government, it overstepped its bounds.

And what were the opposing camps supposed to do? The religionists saw a cherished human right as being under attack and tried to protect it by codifying it into a form the government understood (a constitutional amendment), while the pro-gay-marriage activists understandably in turn saw that as an attack on their attempt to gain political privileges similar to those enjoyed by married couples, and fought back.

Result? Instant divide.

Unfortunately, there's no easy fix. Religionists will always think that pro-gay-marriage activists are contributing to the erosion of the foundation of society. Religionists won't like giving special privileges to a demographic that they see as defining themselves by a sexual deviancy. On the other hand, same-sex couples will always think they are being marginalized until they have the exact same privileges as heterosexual couples.

However, those irreconcilable differences were no excuse for the behavior that occurred before and after the Proposition 8 vote. If I understand him correctly, that was Elder Oaks' point. The Proposition 8 vote was all about political privileges to gay marriage advocates, yet they simultaneously attempted to deny other voters their political privilege of voting, by using intimidation.

Granted: neither side was blameless in every aspect. However, voter intimidation is pretty serious. I'm not aware of anything the pro-Prop-8 crowd did that approached that level.

I think both camps need to start by coming to a better understand the opposing camp's point of view. Religionists would see that same-sex marriage advocates aren't deliberately fighting against marriage, but for similar priviliges to those enjoyed by heterosexual marriages. And same-sex marriage advocates would benefit by understanding that this is a bigger issue to religionists than just hospital visitation and death benefits.

Monday, October 19, 2009

The truth is out there

Knowledge leads to understanding and happiness.

Half-truths, outright lies, and even facts taken out of context lead to confusion and unhappiness.

Go with your gut on this one.

Thursday, October 15, 2009

Worst Nightmare

It's official. I had to add Internet Explorer 8 to my list of browsers to support. Curse you, IE 8!!!

How come every version of Internet Explorer that comes out insists on rendering a webpage slightly different from all its earlier incarnations? I look at the same webpage in IE 6, 7 and 8 and one has a weird gap between two elements, one thinks it's Picasso and skews an image, and the third one decides to get creative positioning an element.

I know it's possible to be consistent; Firefox has managed to do it right the past three or four versions I've used. In Firefox, I've only seen one problem that occurred from upgrading to a new version, and that was a fairly esoteric mouse dragging issue.

dIE.

Health Savings Account (HSA) Research

I've been doing comparison of various health savings account (HSA) providers, and there's a lot of variety. Here's my findings so far:

UMB
Setup fee: $0 for partnered health insurance providers
Monthly fee: $2.50

Debit Account:
Interest paid:
$0 – $999.99: 0.50%
$1,000.00 – $4,999.99: 0.75%
$5,000.00 – $14,999.99: 1.00%
$15,000.00+: 2.02%

Investing Account:
Monthly fee: $1.50
Transaction fee: $14.95
Options: 7 major mutual funds

Impression: It was hard for their agents to get their fees straight. Three calls resulted in three different sets of fees, although each fee bounced around between two values. The fourth time I called (to see if I'd get yet another quote) I got a guy I had gotten before so I couldn't see if I'd get yet another. Anyway, I took the value for the fees that was quoted two out of three times in each case.

They had a nice selection of mutual funds from seven major companies (including American Funds and Fidelity), but no Vanguard, which I was hoping to find.

HealthSavings Administrators
Setup fee: $20
Monthly fee: $3.25

Debit Account:
Monthly fee: $2.00 (for balances below $2,500)

Interest paid:
$0.00 – $99.99: 0.00%
$100.00 – $999.99: 0.15%
$1,000.00 – $4,999.99: 0.50%
$5,000.00 – $14,999.99: 1.00%
$15,000.00+: 1.50%

Investing Account:
Quarterly fee: 0.0008 * account balance, max $16 per mutual fund
Options: 22 Vanguard mutual funds

Impression: The reason I found this company was because I was looking for a company that offered Vanguard mutual funds, which they did. One of the few, apparently. On the downside, you're limited to 22 pre-selected Vanguard mutual funds.

An even bigger downside: you can't have both a debit account and an investing account. You have to choose one or the other. This means if you want to invest your money (and you do) then you don't have a handy debit card to make your purchases/payments with. You'd have to submit a reimbursment request for each transaction (or perhaps you can submit them all at once at the end of the year?).

On the plus side, they don't charge transaction fees to move money into or out of their 22 Vanguard mutual funds.

Chase
This one's tricky. Apparently Humana (who we're getting our high-deductible health plan through) negotiated their own rates with Chase, so these numbers might not apply perfectly to everyone. I imagine they're close though.

Setup fee: $0 for partnered health insurance providers
Monthly fee: $3.00 ($2.50 if you use a non-partnered health insurance provider)

Debit Account:
Interest paid: 1.01%, no matter the account balance (0.50% for non-partnered plans)

Investing Account:
Monthly fee: $2.50
No transaction fees.
Options: JPMorgan and American Century mutual funds only.

Impression: limited investing choices. The fees you're charged and interest you get may vary depending on who your insurance provider is (this is probably the case with a lot of companies). In short, the limited investing choices is the biggest con, and the 1.01% interest rate is the biggest pro.

First Horizon Msaver:
Setup fee: $0 for partnered health insurance providers
Monthly fee: $2.50

Debit Account:
Interest paid:
$0 - $499.99: 0.10%
$500 - $3,499.99: 0.20%
$3,500 - $4,999.99: 0.50%
$5,000 - $9,999.99: 0.75%
$10,000+: 1.00%

Investing Account:
Monthly fee: $2.50 if you only stick to 8 selected Goldmann Sachs mutual funds, $0 if you go their full brokerage account route.
Transaction fees: $29.95+ if you go their full brokerage account route.
Options: Potentially anything

Impression: I like their website. I like the fact that you can open a brokerage account that gives you access to whatever stocks or mutual funds (Vanguard!) you want, but the transaction fees are really high.

Fifth Third Bank
Setup fee: $0 for partnered health insurance providers
Monthly fee: $2.00

Debit Account:
Interest paid:
$0.01 - $2,999.99: 0.50%
$3,000.00– $4,999.99: 1.00%
$5,000.00+: 1.50%

Investment Account:
Monthly fee: $2.00
Transaction fees: $0
Options: 25 funds from a variety of companies

Impression: Uses a MasterCard debit card. I seem to notice that a lot of places don't accept MasterCard. Is that really the case?

HSA Bank
Setup fee: $18.00
Monthly fee: $2.25

Debit Account:
Interest paid:
Below $500: 0.25%
$500 - $2,499.99: 0.65%
$2,500 - $4,999.99: 1.00%
$5,000 - $14,999.99: 1.50%
$15,000+: 2.05%

Investment Account:
Everything is done through TD Ameritrade.
Transaction fee for stock: $10
Transaction fee for no-load mutual funds: $50 (high!)
Investment options: anything

Impression:
It doesn't appear like Ameritrade has very good customer reviews, and the fee for a no-load mutual fund is really high, but the benefit is that you can invest in anything you want.

HealthEquity (IntermountainHealthCare's preferred HSA vendor, based in Draper, UT) gets a dishonorable mention and no link because they refuse to disclose their interest rates until you actually sign up. Seriously?! What type of bank (or ANY financial institution) doesn't tell you their interest rates up front? I'll tell you what type: the type that have poor and uncompetitive interest rates. I'd be interested in talking to anyone who uses them to see if that's the case.

Wednesday, October 14, 2009

Health Savings Account (HSA)

Child and I have been looking into health insurance options. With a new baby, our rates are about to go up, and it's hard paying all the money we do when all of us are healthy as far as we can tell.

The option we've decided on is a Health Savings Account (HSA).

The idea is that instead of paying full premiums for regular health insurance, you pay a smaller premium for health insurance with a high deductible (high-deductible health plan, or HDHP). Along with that, you open a special health savings account (HSA) where you can deposit money (such as the money you saved by paying smaller premiums). This money is used to pay for any medical expenses.

There's a few pros and cons.

Pros:
If nothing ever happens to you, you're not out the money as you would have been if you'd spent it on insurance premiums. It just builds in your savings account.

Any money you put into the savings account is untaxed if you eventually use it for qualified medical expenses.

"Qualified medical expenses" are defined very broadly. Things like acupuncture, chiropractors, even lasik eye surgery are acceptable, as well as the more usual things like medications. You're still paying for the chiropractor, but if you'd be paying anyway, it's better to pay with untaxed money.

After age 65, you can take the money out for non-medical expenses without penalty, although it will still be income taxed if used for non-medical expenses. (In other words, it will be tax-deferred.)

Cons:
You have a very high deductible; usually $3,000 to $10,000. This means that if something big happens, you have a very large out-of-pocket expense before insurance kicks in.

This also means that for smaller things like doctor visits and prescription medications, you'll be paying for everything since it's doubtful you'll reach your deductible.

Any money you put in the savings account is supposed to be used for medical expenses only. Before age 65, if you take it out for something other than medical expenses, the government hits you with a 10% penalty plus income tax.

Monday, October 12, 2009

A Star (A*) path/route finding Javascript code

For a little side project I was working on, I needed a Javascript implementation of the A Star (A*) path finding algorithm. I couldn't find a good/simple one online, so I coded my own. I'm posting it here in case anyone else is interested in using it. Example map:  
Example path:  
The usage is simple. Make a single function call, passing in the start and destination x/y locations as arrays (e.g. [1, 2]), the board as a two-dimensional array (where 0 means a spot is open), and the number of rows and columns in your board. A final parameter indicates whether diagonal movement should be allowed.
  
<script>
path = a_star(start, destination, board, rows, columns, allow_diagonals);
</script>
 

The function will return an array of nodes from start to destination with the shortest path. The x/y values of each node can be accessed like so: path[0].x or path[0].y.  

<script>
for (var i = 0; i < path.length; i++)
    alert("X/Y of path node: "+path[i].x+"/"+path[i].y);
</script>
 

Download the A Star Javascript code.

Example implementation:
<html>
    <body>
        <script src="a_star.js"></script>
        <script>
        //Set the number of rows and columns for the board
        var rows = 10;
        var columns = 10;

        //Create the board, setting random squares to be obstacles
        var board = [];
        for (var x = 0; x < columns; x++)
        {
            board[x] = [];

            for (var y = 0; y < rows; y++)
            {
                //Give each square a 25% chance of being an obstacle
                var square = Math.floor(Math.random()*4);

                //0 = open, 1 = obstacle
                if (square == 0)
                    board[x][y] = 1;
                else
                    board[x][y] = 0;
            }
        }
    
        //Set the start and destination squares (and guarantee they're not an obstacle)
        var start = [1, 1];
        board[1][1] = 0;

        var destination = [8, 8];
        board[8][8] = 0;


          //Indicate whether we should do cardinal directions only (N, E, S, W) or diagonal directions as well
         var allow_diagonals = true;
 

        //Use A* to see if there's a path between them
        var path = a_star(start, destination, board, rows, columns, allow_diagonals);

        //Draw the board
        for (var y = 0; y < rows; y++)
        {
            document.write("<div>");

            for (var x = 0; x < columns; x++)        
            {
                document.write("<div id='board_"+x+"_"+y+"' style='"
                    + "float: left;"
                    + " width: 20; height: 20;"
                    + " border: thin solid black;"
                    + " background-color: "+(board[x][y] == 0 ? "white" : "black")
                    + "'></div>");
            }

            document.write("<div style='clear: both;'></div>");
            document.write("</div>");
        }


         //Mark the start and end nodes a special border color
        document.getElementById("board_" + start[0] + "_" + start[1]).style.borderColor = "yellow";
        document.getElementById("board_" + destination[0] + "_" + destination[1]).style.borderColor = "yellow";


         //Highlight the path
        for (var i = 0; i < path.length; i++)
            document.getElementById("board_" + path[i].x + "_" + path[i].y).style.backgroundColor = "red";
        </script>
    </body>
</html>

Thursday, October 08, 2009

Choice Quotes

"Although we're using the term 'radiation' it is nothing like radioactive radiation."
- Found while looking for reviews of the ultraviolet SteriPEN.

September Snow

September refused to go without a final hurrah. This pictures is a little late, from the last day of September, but I wanted to post it anyway.

We had our first taste of snow on the mountains. You can tell from the picture that it didn't make it down to the valley, but it was enough to let us know winter is coming. I always enjoy the changing of the seasons.

Of course, right now our relatives in Wyoming and Idaho have REAL snow. I don't think I envy them yet, not in the beginning of October.

Halloween I

Child had a great idea for a Halloween decoration:


After we did that, I added this to our door:


(The misspelling is...um...pirate spelling.)