Tuesday, October 23, 2012

October 2012


October's been a fun and busy month.

I ran my first half marathon.  I signed up and ran with coworkers in Central Park last week.  This was my first long run and I tried it using a new pair of minimalist shoes.  We were all pretty casual about the whole thing; we chatted during the run and I even had to stop to pee.  All in all, we did pretty well and I averaged 10:01 minutes per mile.





A friend and I went to the NYC Comic Con.  It wasn't as big as the San Diego Comic Con, but it was just as much fun.  I love seeing how creative people can get.  You can tell people's passion through the level of detail in costumes.  For example, here's a Ghostbusters costume with blinking LEDs.











I also applied to graduate school.  It's a long shot, especially since I only applied to one school.  I figured if I don't get into the program I want, I shouldn't settle for a second choice.  That said, the new program is for a Masters of Science in Business Analytics at NYU Stern School of Business.  It'll be an inaugural class that'll be limited to 60 students.  (Big thanks to Sherry Patheal and Marshall Ellis for the recommendations)  Fingers crossed!

Even if I don't get into graduate school, I've been getting the itch to experiment with more data projects.  I've been attending a lot of data meetups and it's neat to see how data analytics is changing.  It's funny seeing articles that mention data being the next big thing as if no one's ever mined or used data to influence business decisions.  People have done this for years.

As an analyst, it is interesting to see that we're capturing so much more information, but it's also interesting that the technical infrastructure is changing.
  • I'm so used to data being structured into a relational database management system (i.e. this table holds these fields in these columns).  This has the advantages of linking tables/fields, but it requires so much data cleaning and doesn't scale well for large amounts of data.  If you're trying to store big data (think petabytes, as in 1 million gigabytes) with varying data sets, this system is outdated.
  • With technology catching up we have new noSQL systems like Apache Hadoop and MongoDB that allow horizontal scaling for more clusters, which means more data storage (as opposed to vertical scaling, say having a more powerful single server).  We also have Amazon's EC2 service (that allows for more computing power) and S3 service (that allows for more storage), both of which scales for as little or as much as you could possibly need.  To sort information (since there's no relational tables), there's tags /non-visible metadata (data that tells you about the data).
Anyways, it'll be neat to see what people do with these new tools and how it affects current systems.

Wednesday, September 12, 2012

At Google

One of the things that I love about New York City is that you can really find your niche.  With a population density of over 27,000 people per square mile, you're bound to find others who share your interests.

Tonight, I went to an Android meetup hosted at the Google office above Chelsea Market.  It's not my first meetup there, but it was interesting because the guest speaker was Mark Murphy.  I read his Android development books a year ago and was quite impressed.  When you purchase his books, you have access to an updated online version for a year after purchase.  Plus his Four-To-Free Guarantee business model was neat (after four years or 4,000 published copies, a book edition is released under the Creative Commons license for free non-commercial distribution)

Anyways, the topic covered was "App Integration Strategies and Tactics".  It could be summed up as this:
  1. What does your app really do?
  2. What permissions does your app ask for? (e.g. is it reading my contact list, is it accessing the Internet)
  3. Do you really need those permissions to accomplish what your app does?
  4. If it isn't absolutely critical, then make the additional features as a plugin (and request permissions from the plugin)
  5. If you're using other programs to do something, then call implicit intents instead of explicit intents; this gives users a choice and is more reliable (e.g. a program might arbitrarily change their intent from com.williamqliu.mystuff to com.williamqliu.stuff causing the explicit intent to fail)
  6. If you're using other programs, use official APIs to integrate with your program
  7. Don't build your own class loader; it's too much work.  Someone out there will do code injections and then use your permissions to do things that were not intended
I thought it was neat.  I think that great programming is just as much an art form as painting or sculpting.  If you ever read someone else's code, you understand just how different someone can write the same program both in efficiency and style.  That said, I'm glad I'm not a programmer as my day job.

Thursday, September 6, 2012

The Egg


I just read this and thought it was really beautiful.

The Egg
By: Andy Weir

You were on your way home when you died.
It was a car accident. Nothing particularly remarkable, but fatal nonetheless. You left behind a wife and two children. It was a painless death. The EMTs tried their best to save you, but to no avail. Your body was so utterly shattered you were better off, trust me.
And that’s when you met me.
“What… what happened?” You asked. “Where am I?”
“You died,” I said, matter-of-factly. No point in mincing words.
“There was a… a truck and it was skidding…”
“Yup,” I said.
“I… I died?”
“Yup. But don’t feel bad about it. Everyone dies,” I said.
You looked around. There was nothingness. Just you and me. “What is this place?” You asked. “Is this the afterlife?”
“More or less,” I said.
“Are you god?” You asked.
“Yup,” I replied. “I’m God.”
“My kids… my wife,” you said.
“What about them?”
“Will they be all right?”
“That’s what I like to see,” I said. “You just died and your main concern is for your family. That’s good stuff right there.”
You looked at me with fascination. To you, I didn’t look like God. I just looked like some man. Or possibly a woman. Some vague authority figure, maybe. More of a grammar school teacher than the almighty.
“Don’t worry,” I said. “They’ll be fine. Your kids will remember you as perfect in every way. They didn’t have time to grow contempt for you. Your wife will cry on the outside, but will be secretly relieved. To be fair, your marriage was falling apart. If it’s any consolation, she’ll feel very guilty for feeling relieved.”
“Oh,” you said. “So what happens now? Do I go to heaven or hell or something?”
“Neither,” I said. “You’ll be reincarnated.”
“Ah,” you said. “So the Hindus were right,”
“All religions are right in their own way,” I said. “Walk with me.”
You followed along as we strode through the void. “Where are we going?”
“Nowhere in particular,” I said. “It’s just nice to walk while we talk.”
“So what’s the point, then?” You asked. “When I get reborn, I’ll just be a blank slate, right? A baby. So all my experiences and everything I did in this life won’t matter.”
“Not so!” I said. “You have within you all the knowledge and experiences of all your past lives. You just don’t remember them right now.”
I stopped walking and took you by the shoulders. “Your soul is more magnificent, beautiful, and gigantic than you can possibly imagine. A human mind can only contain a tiny fraction of what you are. It’s like sticking your finger in a glass of water to see if it’s hot or cold. You put a tiny part of yourself into the vessel, and when you bring it back out, you’ve gained all the experiences it had.
“You’ve been in a human for the last 48 years, so you haven’t stretched out yet and felt the rest of your immense consciousness. If we hung out here for long enough, you’d start remembering everything. But there’s no point to doing that between each life.”
“How many times have I been reincarnated, then?”
“Oh lots. Lots and lots. An in to lots of different lives.” I said. “This time around, you’ll be a Chinese peasant girl in 540 AD.”
“Wait, what?” You stammered. “You’re sending me back in time?”
“Well, I guess technically. Time, as you know it, only exists in your universe. Things are different where I come from.”
“Where you come from?” You said.
“Oh sure,” I explained “I come from somewhere. Somewhere else. And there are others like me. I know you’ll want to know what it’s like there, but honestly you wouldn’t understand.”
“Oh,” you said, a little let down. “But wait. If I get reincarnated to other places in time, I could have interacted with myself at some point.”
“Sure. Happens all the time. And with both lives only aware of their own lifespan you don’t even know it’s happening.”
“So what’s the point of it all?”
“Seriously?” I asked. “Seriously? You’re asking me for the meaning of life? Isn’t that a little stereotypical?”
“Well it’s a reasonable question,” you persisted.
I looked you in the eye. “The meaning of life, the reason I made this whole universe, is for you to mature.”
“You mean mankind? You want us to mature?”
“No, just you. I made this whole universe for you. With each new life you grow and mature and become a larger and greater intellect.”
“Just me? What about everyone else?”
“There is no one else,” I said. “In this universe, there’s just you and me.”
You stared blankly at me. “But all the people on earth…”
“All you. Different incarnations of you.”
“Wait. I’m everyone!?”
“Now you’re getting it,” I said, with a congratulatory slap on the back.
“I’m every human being who ever lived?”
“Or who will ever live, yes.”
“I’m Abraham Lincoln?”
“And you’re John Wilkes Booth, too,” I added.
“I’m Hitler?” You said, appalled.
“And you’re the millions he killed.”
“I’m Jesus?”
“And you’re everyone who followed him.”
You fell silent.
“Every time you victimized someone,” I said, “you were victimizing yourself. Every act of kindness you’ve done, you’ve done to yourself. Every happy and sad moment ever experienced by any human was, or will be, experienced by you.”
You thought for a long time.
“Why?” You asked me. “Why do all this?”
“Because someday, you will become like me. Because that’s what you are. You’re one of my kind. You’re my child.”
“Whoa,” you said, incredulous. “You mean I’m a god?”
“No. Not yet. You’re a fetus. You’re still growing. Once you’ve lived every human life throughout all time, you will have grown enough to be born.”
“So the whole universe,” you said, “it’s just…”
“An egg.” I answered. “Now it’s time for you to move on to your next life.”
And I sent you on your way.

Friday, June 22, 2012

Toilet Seat

Yesterday I had a discussion about whether guys should leave the toilet seat down after use.  Coincidentally I happened to watch a South Park episode that mentioned the same dilemma.  Neither situations had a solution so I decided to write a blog post.  We'll start off by listing all possible scenarios (since they're pretty limited).
  1. Assuming no adjustments to toilet seat after use:
    • For Women:
      • Best Pee scenario: 0 adjustments (toilet seat is down = no change)
      • Worst Pee scenario: 1 adjustment (toilet seat from up to down)
      • Best Poo scenario: 0 adjustments (toilet seat is down = no change)
      • Worst Poo scenario: 1 adjustment (toilet seat from up to down)
        Total Number of adjustments for scenarios: 2
    • For Men:
      • Best Pee scenario: 0 adjustments (toilet seat is up = no change)
      • Worst Pee scenario: 1 adjustment (toilet seat from down to up)
      • Best Poo scenario: 0 adjustment (toilet seat is down = no change)
      • Worst Poo scenario: 1 adjustment (toilet seat from up to down)
        Total Number of adjustments for scenarios: 2
  2. Assuming men put the toilet seat down after each use:
      • For Women:
        • Best Pee scenario: 0 adjustments (toilet seat is down = no change)
        • Worst Pee scenario: 0 adjustment (toilet seat is down = no change)
        • Best Poo scenario: 0 adjustments (toilet seat is down = no change)
        • Worst Poo scenario: 0 adjustment (toilet seat is down = no change)
        • Total Number of adjustments for scenarios: 0
      • For Men:
        • Best Pee scenario: 3 adjustments (toilet seat from down to up and back down)
        • Worst Pee scenario: 3 adjustment (toilet seat from down to up and back down)
        • Best Poo scenario: 0 adjustment (toilet seat is down = no change)
        • Worst Poo scenario: 0 adjustment (toilet seat is down = no change)
        • Total Number of adjustments for scenarios: 6
    • Therefore, the only way to be fair (and consequently the most inefficient method) is to have the entire lid closed after each use regardless of gender:

      • For Women:
        • Best Pee scenario: 2 adjustments (open lid, close lid)
        • Worst Pee scenario: 2 adjustment (open lid, close lid)
        • Best Poo scenario: 2 adjustments (open lid, close lid)
        • Worst Poo scenario: 2 adjustment (open lid, close lid)
        • Total Number of adjustments for scenarios: 8
      • For Men:
        • Best Pee scenario: 2 adjustments (open lid, close lid)
        • Worst Pee scenario: 2 adjustment (open lid, close lid)
        • Best Poo scenario: 2 adjustment (open lid, close lid)
        • Worst Poo scenario: 2 adjustment (open lid, close lid)
        • Total Number of adjustments for scenarios: 8


        Note: None of these methods take into account frequency of use (i.e. more peeing than pooping).  If given say a 2:1 ratio of peeing to pooping, then the most energy saving seating would be with toilet seat down (although not necessarily fairer).

    Monday, April 16, 2012

    :)

    I love listening to music and programming at night.  Sometimes I feel like I don't need to sleep.

    Tuesday, February 28, 2012

    Budgeting Life

    It doesn't matter how much you make, you can just as easily spend it; this statement is especially true living in NYC.  Lately, if there's been anything I wanted (food, event, clothing, or stuff in general) I just buy it without thinking twice.

    I don't like this feeling.  I feel like I'm living in a perpetual state of consumption.  It doesn't matter what I consume, I'm just not satisfied and I'm immediately ready for the next thing.  For example, I'll have a bite of some rich Belgian chocolate and yet it won't taste half as good as the Reese's peanut butter cups I had in Ha'apai.

    I'm learning that budgeting a checkbook is easy.  Budgeting life so you can still appreciate the small things, now that's difficult.

    Sunday, February 19, 2012

    Sunday, February 12, 2012

    Update!

    Life has slowed down; I haven't gone to as many new events recently and instead I've been enjoying the downtime either at home or at a familiar event.

    One of the events that I regularly attend is the NYC Tech Meetup.  For the biggest meetup in the world, it has a surprisingly small community.  I regularly see the same developers and startup entrepreneurs.  The passion that these groups have for their work is contagious and inspiring (this time I was awed by a guy presenting an open source geospatial database).

    Another one of my regular events is an Android developers meetup; this month's meeting was over at the Google offices.  A Google Advocate went over the new Ice Cream Sandwich update.  I learned a few interesting things, but most of all is that Google has free catering for meetings! :)

    After these events, I felt inspired and got a few programming friends together.  We brainstormed ideas that ranged from a Google Plus Friend Finder (location based) to random game ideas.  We looked at the Google Plus API and decided it wasn't a good idea (due to querying cost).  We're looking into the details of game programming so I'll be reading up about collision detection in the next couple weeks.  (It's much different game mechanics than the one I was working on previously)

    Besides computer stuff, I did some home decorating this weekend.  I created a 4ft by 10ft chalkboard wall (only cost $20).  I used my phone's panorama shot to try to capture how large the area is.  The chalkboard is on the left hand side.


    I also finished the Game of Thrones books, which was an enjoyable read.  I started reading the series shortly before moving to NYC.  I'll either finish the Steve Jobs book or start on Band of Brothers next.

    I would have checked out the unknown destinations event this weekend (previous post), but they ran out of tickets.

    Work's going great.  We got a function repository and a report scheduler, which I need to figure out how to use next week.  I almost forgot to mention, a few of us started a work bowling team (our team name is 'Lifesavers').

    Oh, and I started seeing someone!  She's really cute, smart, and chill.

    Sunday, January 29, 2012

    Randomness of NYC

    The randomness of NYC... I found an art project where you show up, get a free train ticket to a random destination, then you document your travel.  I'm going to check this out next week.  Seems neat!

    http://unknowndestinations.org/


    Saturday, January 21, 2012

    Dating

    I recently joined okcupid, an online dating site that matches people based off their answers to random questions.  The questions range from relationship specific (e.g. "Is it mandatory for your significant other to have a college degree?") to some that are just interesting (e.g. "What's worse, starving children or starving animals?")


    Here's my thought process when answering questions.  The web site asks "Are you intense or carefree?"  I'm intense in some ways; I watched two seasons of Breaking Bad in one weekend... does that count?  Oh man, am I really on a dating web site?  People do say I'm laid back.  Maybe I should delete my profile before someone I know recognizes me.  Maybe I'm more carefree.  All right, I'll keep the profile and play it by ear.  Okay, carefree it is.


    Anyways, I tried okcupid out for a few weeks while in San Diego, but it didn't really stick.  I went on one date, which went okay, then I disabled my account.  During that time, I think I had about 15 profile visits a week.

    A few weeks ago I went to reactive my account.  I looked through my previous answers and found that I think a lot differently now than I did just a couple years ago.  For example, one question asked "Would you be okay with your significant other seeing their ex as a friend?"    My previous answer was a flat "No".  Now, my thoughts are "Sure, go for it".

    Most of my answers were slightly different so I just deleted the account and started from scratch.  Since 2012, (around when I reactivated the account), I've gone on four dates and I already notice a huge difference between West Coast (San Diego) and East Coast (NYC) dating.

    In San Diego's dating scene, the odds were against straight men.  I thought it was pretty difficult to find a girl my age that was thoughtful, intelligent, into the outdoors, and passionate about something.  At bars, the girls were always being pursued; you could always see a group of men swarming around the girl.  The girls either loved the attention (usually the type that I didn't like) or they hated the attention (and didn't go back to bars).  That's why we couldn't have nice things in San Diego.

    In NYC's dating scene, the odds are heavily in favor of straight men.  It's a good mix between girls and guys.  The guys are just as likely to be gay as straight, thus the odds being in favor of straight men (from my experience, I haven't met as many lesbians).

    The NYC girls seem a lot more substantial too.  We have the rock climbing programmer who does non-profit hackathons, the yale grad going for her JD and PhD in political philosophy while TAing at Princeton, the RPCV teaching at a charter school, and the sociology professor that loves the outdoors.

    So yeah, NYC is better in the dating scene too.  I love this city.

    Monday, January 9, 2012

    Guitar!

    I wish I had my guitar here!  Edit: I just picked up a ukulele! :)  Edit Edit: My older brother just sent me my Takamine guitar!