Movie recommendation: The Way


Last night while relaxing with the family before the thanksgiving day, we found this movie unpretentiously called “The Way” and decided to watch it.

It turned out to be great! The storyline is simple, only a few main characters and the scenery is just breathtaking! We were all still discussing it today, and want to go to Spain and walk el Camino de Santiago. Recommended!

10gen MongoDB online courses for DBAs: Replica sets

Iâ??ve already written about the excellent MongoDB online courses that launched a few weeks ago. I signed up for both developer and DBA tracks, and even though I knew that it would be super useful and great, let me tell you now that Iâ??m in week 4 – the value is immense, with all the detailed video lectures, quizzes and homework, especially considering that the courses are absolutely free!

Week 4 in the DBA track is about replica sets, and even though I did some projects with Mongo before, they werenâ??t of such scale that required replica sets. Thatâ??s why this week content was especially interesting to me. There’s one quick tip that I’ve learned and wanted to share.

When initiating and configuring a replica set, make sure youâ??re connected to the primary set member only. I thought that I had to connect to each instance . I thought that I had to connect to each instance and initiate the set on each, but thatâ??s not the case, and I ended up with two primaries instead of one.

So the steps would be (example assumes all 3 instances on localhost):

  1. Create data directories for each instance:
    mkdir -m /db/data/1
    mkdir -m /db/data/2
    mkdir -m /db/data/3
  2. Start 3 instances of mongod – they will be members of your set:
    mongod --port 27001 --dbpath /db/data/1 --replSet rs0
    mongod --port 27002 --dbpath /db/data/2 --replSet rs0
    mongod --port 27003 --dbpath /db/data/3 --replSet rs0
  3. Connect to the first instance only:
    mongo localhost:27001
  4. Initiate your replica set:
  5. Optional: check your configuration with rs.conf()
  6. Add two more members to your replica set:
  7. Done! You can check your set by running rs.status()

Man, it’s so cool that such a crucial concept like database replication is implemented so gracefully in Mongo, and you can learn and do it!

Free advice that will cost you

This post is inspired by a few things:

  • Hurricane Sandy that hit NYC and Northeast a few weeks ago and left many people without homes (that cost them lots of effort and money to acquire)
  • This very thought- and comment-provoking post from the Cup of Jo blog on women who don’t want to have children
  • A conversation with my friend Ohn on having one “true love” per person, per life

These are all very controversial topics and eeeeeveryone and their cats have advice for you! Some common “wisdoms” are:

“You should buy a house, it’s such a good investment. Especially if you plan to raise your kids, you NEED a house!”

“Kids are the greatest joy in life! If you don’t want kids, you are selfish”

“You have to find your soulmate, and once you do, you two will be together forever”

Don’t you “love” these people who got certain ideas imprinted in their brains? They think they are doing your a service by putting you on the one and only right path to eternal happiness: home ownership + procreation + life-long committed relationship with one person. And if somehow you’re not on that path, something is awfully, horribly wrong with you, poor lost little lamb!

But fear not, because someone out there has FREE ADVICE for you!

I wish people minded their own business and focused on their own well-being and happiness instead of prodding into someone else’s life. If having kids brings you joy – have them, but don’t assume it’s the same for other people. Or enjoy your open relationship – as long as everyone in this relationship is cool with it and happy.

It’s sad that so often, people are buying homes and having kids and are stuck in bad relationships “because it’s the next step”, “because everyone else is doing it” or “because my parents told me to”, without thinking it through and being honest with themselves, then get consumed by debt, stress, sleepless nights and depression.

And if you really want to have a great conversation, instead of giving advice, tell me about all the good things you’ve done: started a company that truly helps people (whether if it’s educating their kids or finding open-minded partners), open-sourced your code, wrote an article that inspired creativity, donated to help save world’s oceans… As far as advice goes, only give it when specifically asked, consider all the circumstances, and don’t judge.

Now, what color shoes should I get? Hot pink or electric blue?

When I retire, I will NOT

I went to my first retirement party last weekend. It wasn’t me who retired (yet). It was for Sean’s uncle, and it was great and warm, because all relatives got together to celebrate and honor a big life achievement – service in the police force for many, many years.

When I was shopping for greeting cards, I picked one with a little dog in shades flying to some fun destination. The inside of the card said: “You’re free now! Go nuts!”

*You get the idea…

This got me thinking: do you really need to retire, or achieve some kind of a milestone, to be allowed to go nuts? Why not go nuts now – just put on your favorite sunglasses, hop on a plane and explore some fun destination?

Then I came across very simple:

  • Make a list of all fun things you want to do when you retire (“When I retire, I will learn salsa dance”)
  • Remove the “when I retire” part
  • Start doing all those things now

Also, to avoid wasting your time, since life is short, do this:

  • Make a list of things you WILL NOT do when you retire
  • Stop doing all those things now

I think it’s brilliant. Let me start:

The things that I will do (not waiting til I retire):

  • Travel
  • Surf
  • Find something to laugh about every day
  • Be with my family
  • Garden

The things that I will NOT do:

  • Do work that I don’t believe has any meaning
  • Watch TV
  • Eat bad food
  • Worry

Let’s all go nuts and have fun NOW, and stop doing things that hold us down!

*This is me at retirement

Meetup recap: scaling AppNexus

Just got back home from a meetup hosted at AppNexus, by AppNexus.

The topic of today’s talk was scaling the complex ad serving and bidding system that supports billions of ad impressions and stores terabytes of data. I have to admit, it was one of the most technical meetup presentations that I’ve attended, and it was excellent!

Mike, the CTO of AppNexus, is a fast-talker, who started with the story of how the company was born, and covered a lot of info from building the company up and adding functionality (ad bidding system was added when ad-selling business demanded it), to hard drive performance, to build vs buy vs outsource topic.

I especially liked the overview of data warehouse and crunching tools: Netezza, Vertica and Hadoop, and how changing requirements dictated choice of tools. Netezza worked great as a single instance, but did not scale with clustering, Hadoop was very hard to learn and configure from scratch, but meets most of the needs now and will suffice for the next 2 years.

There was a good question from the audience about ideas for startups: what are the technological painpoints and gaps that need to be filled. Interestingly enough, Mike named monitoring as one of the areas that’s lacking a great tool. Someone next to me mentioned New Relic, but I was wondering if that’s enough to monitor thousands of servers.

So for me, this talk was full of information on areas that I had little knowledge in, and it’s always great to see who develops breakthrough solutions in technology and how they solve problems (big data problems are very very interesting).

Another bit that got me wondering, since I’m into MongoDB lately, was when to use Mongo vs Hadoop. And sure enough, I found a really good deck from 10gen with not only the answer, but also great practical demos. Yay for the internet and sharp minds in NY tech community! I feel proud to live in this huge tech hub, and humbled because there are just so many things yet to learn.

New voting system, Hot or Not style

The election is finally over and behind us! Phew! Aren’t you glad we don’t have to make a hard decision like this for another 4 years?

For the next election cycle however, I propose a new system that’s much easier, more fun and doesn’t require you to spend hours listening to noodle on TV before you make up your mind. It’s dirt simple: Hot or Not style!

You see a photo of each candidate, side by side, and then make your decision that takes 5 seconds max. Ladies – ask yourself which one would you rather go on a date with. Guys – ask yourself who would you rather grab a beer with.

Bonus addition to ensure as many people as possible vote: One person who voted will be chosen at random to go on an actual date/grab beer with the winning candidate the day after the election. How cool would that be?!

Another upside of this system: if one of the candidates is a woman, majority of votes will most likely go to her (unless she’s butt ugly of course, so it’s up to respective parties to run some preliminary face control, much like at a night club entrance), so that will appeal to those who support feminism and gender equality. If both candidates are women – even better! Who wouldn’t rather look at photos of two ladies vs gents? No offense guys, it’s just that nature made us women a bit more visually appealing (less body hair, more curves and higher hygiene standards).

All things being equal (and they are, since candidates had to go through so many hoops to even be nominated, it’s assumed they have resilience, smart enough, can read and speak, have good manners, etc), a nice, friendly personality that’s reflected in your appearance, would be a deciding factor. It’s true: how many beautiful people do you know who are also huge assholes? I personally don’t, so I say it’s a fact.

To prove my point, I made this easy-as-heck photo chart with election results all the way back to 1980. And look ma – Hot or Not system predicts results just as good as your old boring voting! (before 1980 photo quality is pretty bad, and the candidates are pretty old, so it’s just no fun for me to dig deeper. Plus I didn’t even exist back then…)

* Photo source: Wikipedia

So in the year 2016, I’d love to see it coming down between Ryan Gosling and Angelina! They are young enough, so I don’t think they will age badly in 4 years, and hot enough to keep this fun!

Admit it – are you just excited as me to give this system a go?!

*Disclaimer: this post is mostly a joke, so don’t come hunting me with spades and don’t leave angry comments. 10% of it however, it’s true, I’ll let you figure out which part.

Life is a big deal – celebrate it!

In a life of a 6-year-old kid, a first recital is a big deal. My nephew woke up early today, 11 timezones away, got dressed in a white shirt, dark pants and his first bow tie and got ready to go to his preschool for his first performance. I saw him glowing over skype, as he proudly recited a poem about an autumn leaf that he learned for this grand occasion.

In a life of millions of New Yorkers, it is a big deal when your city gets back on its feet, after a week-long hiatus, and it feels great to ride the subway in the morning rush hour, because it’s a miracle it’s up and running again – a reason worth celebrating.

For a man who worked all his life protecting public safety as a part of a big city police force, it’s a big deal to reach a well-deserved retirement milestone – a wonderful reason to get together and honor this achievement.

So go ahead and celebrate things in your life, no matter how big or small, and share them with the world. And if you’re invited to be a part of someone’s life event – accept the honor and let that shared joy brighten your day!

*I’m such a proud aunt! Photo masterfully captured by Sean