Houses, taxes

We had some interesting house adventures last week. I was about to get on a plane from Phoenix to San Francisco when we found a house that we wanted to make an offer on. Cue frantic mortgage approving and docusigning of a bunch of stuff before the flight, followed by more frantic phone calls (after midnight Pittsburgh time) after I landed, followed by more signing.
The house was popular and had 5 offers on it, so the next day was more phone conversations about various contingencies and whether we should relax some of them. and raising the offer. The house was listed at $415k and we ended up making an offer of $425k on it.
The contingency our agent was advocating changing was a $10k reduction in the appraisal (so it would only need to appraise for $415k). In the end, we decided that probably wasn’t a good thing to do (we didn’t like the house so much that we would pay $425k for a house only worth $415k), but we did allow for the first $1k of repairs from the inspection to be covered by us.
We ended up not getting the house in the end, which was just as well. We heard from our agent that the house had sold for $435k with a waived appraisal contingency, and it had only appraised for $411k. So that’s hilarious, and I feel bad for the people whose agent told them to drop the appraisal.

I’ve also finished up my taxes. It seems they get more complicated every year… my federal and state taxes this year are a 100-page PDF (including all supplemental forms and estimated tax payment forms). The thing that particularly annoyed me this year was a change (apparently mandated by the IRS?) on how brokerages reported the cost basis for ESPP sales.
When you gain stock through an ESPP purchase, you get a discount on the purchase of the stock. When you sell the stock, this discounted amount is reported as income on your W-2, while the remainder of the gains (or loss) are taxed normally as capital gains.
The change this year is that the cost basis on your 1099-B (and reported to the IRS) is the discounted price. Which means that, unless you manually correct your reported cost basis, you’ll be paying tax twice on that discount (once as income, included in your W-2, and once as part of capital gains taxes). There’s a good article about it here.

In any event, I guess I understand my taxes well enough to make a statement like this now:

The cost basis reported on your eTrade 1099-B form (and reported to the IRS) is wrong. You must do a manual adjustment (column g) with reason “B” (column f) on your 8949, or you’ll be double-taxed on the ESPP discount amount (included as ordinary income in your W-2, and also included as capital gains on your 1099-B).

which is both hilarious and rather depressing. Taxes should not be this difficult. :\
(I guess the IRS figured I’d had enough time to master the art of reporting my RSU vestings, so they threw a new thing at me.)

If anyone is using Turbo Tax, you have to correct this manually via the “Add more Details” checkbox under each stock sale. Select “I need to add or fix info about this sale”, choose “The form 1099-B shows an incorrect cost basis”, and enter the adjusted cost basis. Also double check that the 8949 form was generated with correct values in columns f and g (“B” and the adjustment amount) before filing the return.

This post has been too much text. Have a panorama.

Phoenix, San Francisco

Work wanted me to make a trip out (as seems to be the norm every February), but since we had Phantom tickets for yesterday, and my coworker could only make a trip out the last week of February, I reversed the usual schedule and went to Phoenix to visit my parents for a week before heading out to SF.

I left on Valentine’s day. It had been snowing a bit all morning, but as soon as the 28X bus hit the freeway, it really started to come down. Visibility was terrible, and the bus was crawling along the freeway at around 10 MPH.

But I get to the airport with plenty of time anyway, and we board the plane on time. Visibility still isn’t great.

Most of the way through boarding, the captain comes on the speaker and says they’re temporarily stopping boarding because the flight is going to be delayed. A bit after that he tells us all to deplane because air traffic control had shut down the runways (due to wind, snow, and lack of no-wind/snow so they can plow the runways) and they didn’t know if they would open again before Monday.
So I sit on hold with Southwest’s customer service number for about 90 minutes, when they announce that the wind has stopped long enough that the airport can plow. So we quickly re-board, get de-iced, and take off only about 2.5 hours late. Not too bad, all things considered.

But anyway, because I was flying Pittsburgh to Phoenix, I went from snowy 0Fs to sunny high-70Fs. So that was interesting.

My parents and I made a trip out to the Amazing Arizona Comic Con (interesting, I suppose, but not really worth admission if you’re not particularly into modern superheroes) and Cirque du Soleil Varekai (amazing). We also ate at 4 all-you-can-eat buffets over the week. So hooray for food.

The following week of work was fairly uneventful. Didn’t get to see as many people as I was hoping, since everyone seems to be super busy with work and life now. But it was good seeing my coworkers face-to-face again, and it reminded me how much I miss it.

More photos from the trip can be found at my photos site.

Life, climbing, work, expenses

My photo journal has been updated to bring it up to today.
After the holidays, life has returned to its usual habit of climbing on Tuesday, board games on Thursday, and climbing (plus food) on Friday. It’s a nice routine, and it means I get out of the house, so that’s good.
Climbing and gaming photos from January have also made it up at photos.

Traverse party!

I made a bad thing at work. During some refactoring for a feature I built for the last release, I apparently failed to notice that the class I was pulling code out of was a singleton, so I added instance variables in the base class. The feature in question was a login feature, so the end result was a concurrency bug where users could get logged in as other users.
Oops.
Lesson learned: Singletons are dangerous. Be careful when using them and probably avoid them for things that don’t want state to be shared (like a global whitelist or something), even if they don’t currently have any state.

I’ve belatedly crunched all my expenses from the past year. As expected, 2014 is the year that breaks my spending trend: I spent $11,664.02 in 2011, $12,356.83 in 2012, $13,698.12 in 2013, and $15,821.38 in 2014 (not including wedding expenses).
The responsibility for this lies almost entirely in food expenditures, up around $1,200 from $3,804.70 to $5,081.34 (or a monthly average of $317.06 to $423.45). I guess I’ve been eating out a lot more or something this past year.
Everything else has remained fairly flat, including my $50/month discretionary budget, which hasn’t changed since 2004. Which is surprising given the four weddings we attended in 2014 (travel expenditures of $1,390.13 in 2013 versus $1,787.94 in 2014).
My share of the wedding expenses so far (save the dates, invitations, deposits, scheduled payments) total $2,953.74, which ultimately puts 2014 expenditures at $18,775.12. Not so bad. That’s still under what I was spending in SF (with an average rent and utilities of $1,200 to $1,600 compared to the current $450 to $500), even though monthly food expenditures have more than doubled since then.

Wedding plans continue. The next big thing, I think, is the honeymoon. We’re currently planning a UK and France trip for that, which should be a lot of fun, but argh long plane flights. Hooray for things?

Invitations Done

101 invitations created, assembled, and sent. Yayz.
Here they are laid out in roughly the right geographic places. We have a lot of invites in California and Ohio. (Local ones are not pictured because we’re delivering those in person, which is why Pennsylvania is underrepresented.)

Here’s what they look like (with the RSVP and information cards on the right). I think they turned out pretty awesome.

I’m glad we took all of last week off of work to finish these up… it ended up taking pretty much the entire week.

In other unrelated news, there was a new year! We had people over for board games. We had the best champagne glasses.

(More documentation of the festivities is here.)

Also, with a new year comes life updates. Both the photo stats site and photo journal have been updated.

It’s only day 3 back at work and I’m already feeling super overwhelmed and stressed out. I don’t know. Sometimes I feel like I’m really not cut out for software, or any job that requires talent and ability. :\
There’s just been so many different things demanding my attention recently (particularly interviews… so many interviews) that I haven’t had a chance to really finish any one thing. And that’s incredibly frustrating.

The week got even better when I went to ship back my old phone today and managed to leave the apartment without my keys, wallet, or phone. That was a fun walk to Squirrel Hill and back in the snow. It’s supposed to be even colder tomorrow though, so I suppose today was a less-bad day to be stuck outside for a while. Blah.

Credit carrdddsss

Argh credit cards. Argh theknot.com.

I placed an order earlier this month online (at theknot.com) for some custom playing cards for our wedding. I used the usual online temporary credit card number stuff I use, because it’s more secure. The preauthorization for the cards went through fine.

Yesterday, the order ships. But due to some temp card number stuff, the charge fails. (Of course, they don’t actually notify me of this… I actually have to call theknot and explicitly inquire about it.) So I call them, and apparently they can’t actually change the credit card information used for an invoice. Which is the most bizarre thing for an online merchant. (Can’t update billing information? Really?)

So I call my bank. They said that the charge is indeed not going through, but while looking at my account, they see some fraudulent charges from Brazil. So card cancelled, new card issued… it’s supposed to arrive next week.

So I call theknot back. Explain the situation to them, and they insist that they can’t change the number and they will keep reattempting the charge. (No idea why they expect it to work after it’s already been rejected, especially since it’s now against a cancelled card.) They say it’s up to me to contact the bank to get the charge to go through.

So I contact the bank, who has no idea what theknot is talking about, because of course the charge should be rejected. So we get on a three-way call, and apparently the person who can make things work is out until Monday.

So that’s where we stand now after about an hour of back-and-forth and being on hold. I just want to pay for these stupid playing cards, dammit. Why do you make this so hard for me? :(

I think the lesson here is just to stop using temp credit card numbers. I’m not liable for fraud anyway, so who cares if my real credit card number is flying around the internet? It’d make things less stupid for me, anyway.