Comment

Transcendence: Admiration, Envy, and Effort

Last week, two friends and I and delved into one of our many deep existentialist conversations during lunch in a French Bakery. We really enjoy these talks, and it gets us firing the intellectual pistons at full speed, because we challenge each other’s thoughts at extremes.

This time we were talking about why people keep going, especially the entrepreneurs and very driven humans that we all admire. Why people that have “made it” already for the history books, put everything at risk to start all over again. Why is there no end to the discovery of human intellect? Why do we continue our journey in the pursuit of happiness not as an accident, but instead in self-awareness and consciousness? We talked Ghandy, Leonidas, Newton, Jobs, Hitler and Edison.

Food, Sex and Social Recognition were the “Crepe of the Day”, our answer to everything. This is not the first time we approach these subjects, but somewhat everytime takes a slightly different direction and new information surfaces. Food, Sex and Social Recognition turns out to be the only three things that cause human pleasure and happiness, and therefore the things we live for. We are not geniuses, nor the very first to arrive here, and we do get validation from Frankl, Nietzsche, and even Dale Carnegie. The food and sex part are easy, and almost everyone gets it… they put primal animal instincts at play when we are truly hungry and we eat, and when we have sex and feel aroused. There is no thinking, only enjoyment.

But what about social recognition? That one sounds out of the left field, with so many other “obvious” things to go for. Where do you leave the money? How about “making the world a better place”? Or family first? How come you can say social recognition if you only care about your children? Some people are not media friendly, how can they care for any recognition? How about the selfless acts of Gandhi, Mandela, or MLK? There’s your counter argument!

All self-driven individuals are so because they seek social immortality

The only way to prove that social recognition is the only leg self-driven individuals stand on, and what drives our human nature (and more prominently the entrepreneurship nature), we need to use a thought experiment. We’ll call this one thought experiment #1:


Place yourself in a world where you are all along. You are the only human alive in the whole world (and therefore, there’s lack of social context).

The great thing is, you can have all the pleasures you can imagine, there is magically new movies that come out on theaters everyday. There are stores full of the most exquisite and exotic foods you want and love. Unlimited forms of entertainment, technology, and power in your control. You have at your disposal all the cars, yachts, planes, and every single toy you may imagine. Robots that fulfill your every need all around you, waiting for your command.

Would you still be a driven person? Would you still want to make the world a better place? Would you still seek purpose, passion, mastery, want more of X?

If you feel that world is paradise, you are already NOT a self-driven person. And there’s nothing particularly wrong with that (although I secretly want to fix you), you are just not seeking alpha, and maybe you have a god.

For the rest of us, that world is hell.

What are you talking about Michel? That sounds like paradise! If you think so, you are either not ready to consider the proposition in a serious way, OR you are already broken and you are already a social parasite.

And what about the money? Well… if you have money, you have a lot more meta-freedom, which gives you influence and power, and that gives you the opportunity to change the world in meaningful ways (for better or worse)… aaaand that’s social recognition.

I’m a contributor to OSS, I do it because I love it, and I make no money from it. But contributing to it increases your craft, which increases your mastery, which increases your public profile as a master of the subject, which gives you social recognition, because you are making the world a better place. Would you still be a contributor to OSS in that world where you are alone ? (I’ll let you ponder the question — for what?)

Thought experiment #2 will help us further consolidate the cases that money, love and mastery are nothing more than avenues to Social Recognition, and it goes something like this:


Let's assume you have a Magic Banker, from “Magic Bank Inc”, and this Magic Banker is ready to serve you (and nobody else in the world) with UNLIMITED cash anytime you want. You have the absolute freedom to ask for any amount of money you want and he will give it to you and to you only. But there are two rules:
1. Every other person in the world knows you have effortless access to unlimited money. In other words, everyone understands that you didn't earn it, and that was given to you with no effort.
2. You can not do any action for yourself or anybody else if you think may elicit admiration from your effort in other people. 
In other words, you cannot donate your time in humanitarian causes, or help other people in any way, unless the act itself results in these people having a SOLID understanding that doing so required no EFFORT from your side, and therefore you will never receive any ADMIRATION, because you really didn’t give a flying fuck.

Would you still want to live in that world?

An interesting realization after thought experiment #2 is that people may still admire you for your wealth, but never for your efforts, which looks more like a source of envy. The other observation is that getting recognized for effort is key in the attainment of social recognition… and effort is something very personal, and you cannot trick yourself into believing you stretched yourself in achieving something, when you didn’t.

Social recognition is almost a recipe with some ingredients that come from you, like how much EFFORT was required from you, and some ingredients like ADMIRATION or ENVY (or disdain) that come from how society perceives your efforts. That’s why:

  • Self-made millionaires, entrepreneurs: admired from overcoming adversity (effort)
  • Leaders, Heroes: admired for leading others overcome adversity (effort)
  • Inventors, Artists, Athletes: admired for their talent and skill (effort)
  • Lottery winners: envied for their luck (no-effort)
  • Son of a Billionaire: envied for their family’s wealth (no-effort)

It doesn’t matter if you are Hitler, Jobs or Gandhi, had it not been for your efforts and some form of admiration or hate from others, you would’ve not ended in the history books.

Admiration can come from different sources, not only the popular vote. A father whose life has been devoted to the growth and success of his children, is admired by his family, and that may be enough for him. Many people receive a huge source of their happiness from the recognition they get from a handful of close people, or even one other person. That’s still social recognition, and they feel immortal because of it. It transcend life, because you exist through someone else’s perception of you.

Immortality. That’s the fuel that keeps us going.

We had coffee and french pastries, and left with more clarity around what makes people tick, and keep going, and it looks something like this:

Conscious Effort + Social Recognition = Happiness

Everything worthwhile in life, looks like a battle that is worth fighting, is never an easy one. No effort, no story. No people, no transcendence. No conscious decision, no admiration. Without effort and admiration, there is no happiness… unless you are having sex or eating out of pure animal pleasure… which is also amazing!

PS: Thanks to Leo and Christian for helping craft the ideas on this post; and for their unwavering desire to explore human nature.

Comment

1 Comment

Designing well-formed URIs for your REST Web API

apiThis is a follow up post to “Using HTTP Status Codes correctly in your REST Web API”, and “Using HTTP Verbs correctly in your REST Web API”. Continuing with the theme of RESTful Web APIs, I thought I would touch on the importance of the actual URL/URI part of the Web API. One way we can think of our Web API is as a database exposed through the HTTP layer. Like any good database, we must be careful when designing "the DB model of our Web API". The equivalent to a formal DB Model (ERD for relational databases), is the Resource Modeling that goes into the Web API. Let’s dive right in.

In REST lingo, URI endpoint are referred to as a Resource. From a data standpoint one can think of it as a piece of data describing an entity instance. Here’s some housekeeping rules to keep your Resources neat and clean:

  1. Avoid having your API start at the root domain. The two most common practices are to create a subdomain (such as http://api.mydomain.com), or to have a dedicated base URL different from the root domain (like http://mydomain.com/api). In doing so you ensure the longevity of the URIs assigned to your resource endpoints, and avoid potential collisions with Page URLs you may want to name in certain ways for the website hosted on your root domain. It also helps later on when versioning becomes an issue for a matured Web API.
  2. The resource endpoints should be plural and NOT singular, for example:
    • http://.../api/customers
    • http://.../api/orders
    • http://.../api/products
  3. Use identifiers to locate single elements in the resource URI. An identifier should ALWAYS resolve to the same single resource.
    • http://.../api/customers/123
    • http://.../api/orders/abc77uk
    • http://.../api/books/world-war-z
  4. When designing your resources, the golden rule is “Nouns are GOOD, Verbs are BAD”. Do not use verbs in ANY part of a resource URI.
    • If you see a verb as in a URI, like http://.../api/getcustomers or http://.../api/payfororder, a part of you should die.
    • Do everything in your power to change it, and educate the creators why using verbs is a bad practice.
  5. For non-resource URIs (yes, they do exist) make sure they are CLEARLY functional endpoints.
    • A simple way to do this is to have a special URL path for all functions such as:
      • http://.../api/func/calculate-fees?size=5&weight=8
    • Please don't use non-resource URLs as an excuse to build a RPC style API.
    • Other samples of functional endpoints could be:
      • http://.../api/func/calculateTax?state=fl&amount=10
      • http://.../api/func/randomNumber
      • http://.../api/func/getHash?input=ubniq2

 

As I'm writing this post I cannot think of anything else to add, but this is a good place to start when it comes to the design of your Resource Model for your REST Web API.

Happy coding!

1 Comment

2 Comments

Using HTTP Verbs correctly in your REST Web API

Following up after the earlier post titled Using HTTP Status Codes correctly in your REST Web API, here is one on using the HTTP Verbs from the W3C spec in the "right way" to have a clean REST Web API. Just like the HTTP status codes, there are many more verbs in the HTTP standard that, although they are in theory OK to use for your Web API, you can get by with just a few that helps to keep your API simple, and self-explanatory to its clients.

The full list of HTTP verbs from the spec can be found HERE, but we are going to focus on how to interpret the verbs and the actions that should be executed for each on in the context of a well-defined REST Web API. In the table there is also the result set that standard clients expect when they make requests with such VERBs. To better understand their proper use, we'll use a sample resource endpoint called Users, where the (you guessed it) "Users" of our app are exposed via our Web API.

Resource Sample GET (aka Read) POST (aka insert) PUT (aka update) DELETE (aka delete) PATCH (aka partial update)
api/users Action Gets a list of users Creates a user Batch Update Errors out Batch Update the users only with the attributes present in the request
Return List of users New user No payload, only HTTP Status Code Error HTTP Status Code No payload, only HTTP Status Code
api/users/123 Action Gets a single user Errors out Updates the user Deletes the user Partially updates the user only with the attributes present in the request
Return Single user Error HTTP Status Code Updated user No payload, only HTTP Status Code Updated full user object

 

And this is how you properly use the HTTP Verbs in a REST Web API.

Happy coding!

2 Comments

Comment

Using HTTP Status Codes correctly in your REST Web API

There are like a gazillion HTTP status codes maintained by the W3C and the Internet Assigned Numbers Authority (IANA) in their Official Registry for the HTTP specification. For RESTful Web APIs, even though in theory you could use any of them if the occasion deserves it, I've found that simplifying their use helps in making your API self documenting in nature and simplifies the cases your Web API clients need to consider. Here is my list of 'useful' HTTP Status Codes and how your clients can/should interpret them:

Code Description What it really means for a client of the Web API
200 OK It worked!
201 Created The resource was created OK!
304 Not Modified The client can use the cached version of this resource, because nothing has changed.
400 Bad Request The client did something wrong. The request has bad syntax or cannot be fulfilled.
401 Not Authorized The Web API is requesting the client to authenticate.
403 Forbidden The server understood the request, but is refusing to fulfill it due to restrictions in the client's authorization. Do not try again.
404 Not Found The resource was not found. There is nothing on that endpoint URI.
500 Internal Server Error The author of the service did something wrong. Something went bad on the server. (IOW: the Web API is fucked up)

 

I always include a similar table for my API guidelines page (note I didn't say documentation, cuz a well designed REST Web API should be self documenting)

Happy API designing!

Comment

Comment

Comedy Cures: Have fun and help children in need (May 15)

Dear Reader, You can help a special organization called the Children’s Cancer Caring Center, and have a good time doing it too!

On May 15th 2013, DataCorp is hosting the 6th Annual “Comedy Cures” charity event at the Hard Rock Hotel’s Improv, to help Children’s Cancer Caring Center. The event brings family, friends, business clients and partners ... together to enjoy an evening of laughter, food/drinks, a raffle, and a silent auction.

Every $1 raised means $4 to cover medical treatment costs for the CCCC’s young patients (infancy through age 20 or until treatments are completed). Key Sponsors can really make the difference with donations starting at $250.00 and up.

Last Year, $30K was raised through Key Sponsors, which represented almost $122K for the Children’s Cancer Caring Center!

HOW YOU CAN HELP:

  • 1) Become a Key Sponsor and donate at one of the Sponsorship Levels (starting at $250 donations) and get tickets to the show and recognition in the program.
    • By Phone: Call 305-594-6933 and ask for Celia.
    • Online: Fill out the donation form online HERE.
    • Mail: Send a check to "Children's Cancer Caring Center" and mailing it to: 18503 Pines Blvd, Suite 213, Pembroke Pines, FL 33029
 
  • 2) Buy tickets for $20 to join us at the Comedy Cures event on May 15 at the Hard Rock Improv: http://improvftl.com/show.cfm?id=236353  (Coupon Code: "Comedy Cures")
    • NOTE: Please, only buy tickets if you plan to attend, or give them to someone that will attend. In other words, we need a full house. If you can’t make it, you can always donate for the children.
  • 3) Reach out to your circle of friends to donate an item to raffle off/silent auction (i.e. gift cards, sports memorabilia, electric items, vacation get-a-ways, etc.)

A little effort from you can have a significant impact on the children, and those that care for them. Reach in, and give back... it feels good, it is good!

Comment

Comment

Organization for Tax Season

Tax-TimeI’m preparing all our tax documents for the accountant, and every year I tweak a little more the “Package” I send him. Instead of collecting hundreds of paper and giving my accountant a giant folder, this is what my wife and I do:

  1. We scan everything the accountant needs, from receipts, to bills, invoices, etc., etc. We don’t like paper, so we make a conscious effort throughout the year to snap a photo or scan everything that could be of use for tax time.
  2. Then we put it in a nicely organized folder structure for guidance. I update this folder structure a little every year, depending on the circumstances, but generally it looks the same.
    • It contains one folder to store the records after the filing the taxes to the IRS.
    • One folder for each corporation you have/own, of which you have some pass-through taxation.
    • Folders for Personal Income, Expenses, Investments, Deductions and Credits
    • Rental Properties Income and Expenses (if any)
    • Tax Year Folder Template
    • You can download a ZIP file with the template folders and files HERE
  3. We zip it and protect it with a very very very strong password that we store in LastPass for every year that goes by.
  4. We delete the folder and only keep the protected zip file (with its respective backups)
  5. Then we send the zip file to the accountant. If is small, we can email it to him, otherwise we put it in a USB Drive and hand it over. Not to worry about leaking the information, the zip is password protected.
  6. We share the password via LastPass sharing feature with him, and he can safely access the zip contents.
  7. After the accountant is finished, we review it, and he files with the IRS.
  8. After filing, we add the filing records to the safe zip file, and ask him to please delete any unsecured unzipped version from his computer. (If you don’t trust your accountant to do this, find a different accountant)
  9. Just as additional precaution for tax documents archival, we change the password of the zip file again with a random secure and long LastPass password, and then we archive the zip file in Long Term Storage for the next 7 years.

Normally this is part of the accountant’s job, isn't it? So, why we do it? Well, needless to say that I don’t cope well with things I don’t understand. I’m a bit of a control freak and I like to absorb everything and anything that touches me in a personal, professional and economic level. Taxes are one of these subjects, and a rather complex one. Every year I’m surprised to see how many people doesn't take full advantage of the tax system we have, and the only reason for this phenomenon is that we don’t understand it because “it’s too complex”, and unfortunately, it’s true.

I’m no tax expert by any stretch (that’s why we have our accountant, and you should have one too), but having this discipline in organization and routine for tax season throughout the year, has helped me comprehend a little better how taxes work.

Every year, our accountant loves us, and our bill is lower when compared to other people, because we organize ourselves well and have everything handy. There is always additional questions and clarifications where we have to have a small chat, but he assures me it’s nothing compared to the rest of his clients.

I hope my accountant will continue to service my tax needs forever, but realistically, it’s not always possible. Having a good understanding of your own taxes, your tax files, and having a good and safe archival strategy for these is paramount to be good friends with the IRS and have peace of mind for years to come.

How do you organize yourself and your family for tax season?

Comment

Comment

Ancestry Composition and my DNA

I'm a big fan of the 23andMe service (23andMe.com) and they just release a new feature that analyzes your DNA and tells you what kind of population your DNA is most common with. This is what it reads:

Ancestry Composition tells you what percent of your DNA comes from each of 22 populations worldwide. The analysis includes DNA you received from all of your ancestors, on both sides of your family. The results reflect where your ancestors lived 500 years ago, before ocean-crossing ships and airplanes came on the scene.

Here is how my chromosomes look like from the world. I find all this data and discovery about your roots and the science of YOU something truly magical:

Percent of my chromosomes and populations.

Comment

Comment

Personal Development: A Hitchhiker’s Guide to Life

Don't PanicIts 4:00 AM and the last day of 2012. I was in bed, but an earlier conversation with my wife was keeping me awake, so I jumped out of bed to put my thoughts down in paper. I’m hoping right after I finish my brain can rest and go back to sleep. We have a long day tomorrow (today?) to celebrate New Year’s Eve with friends in Miami, and I need to rest a little before the drinking and go crazy with my Cuban crew. Earlier today (or rather yesterday) my wife and I were recapitulating the year 2012 in events, the pros and cons, etc., just like many of us do every year. Well, it turns out 2012 hasn't been a great year for me, or for us both in general. But why, we were asking ourselves. After so many good things that happened and so many accomplishments, and stories of growth? Why did it feel as such when we looked at the overall picture?

We were trying to figure this out together, and I after I went on a rant about how things could be better if I had done X or Y or Z, it hit me in the face like a sack of bricks; then I said it, out loud, and clear as a crystal for the first time in my life, I felt I had the formula for living. It turns out it is quite a simple thing we all already know, but only the thought of giving it shape and structure made me feel great. So, I decided to put a framework around it for myself, and I’ll live by this framework on 2013 and see what I have to say a year from now.

Some people call this self-improvement theory Personal Development, I just call it my Hitchhiker's Guide to Life. And my own theory goes something like this: Happiness and fulfillment are better realized when you balance time, dedication and apply the scientific method to these seven categories in life:

  1. Health
  2. Love
  3. Family
  4. Relationships
  5. Individuality
  6. Wealth
  7. Dreams

I've been taking good care of some of them, but not all of them, and not with the same balance I consider necessary for my complete happiness.

Some people may think “What about travel, or having fun?”… and what I realized is that traveling or having “fun” can fall into different buckets depending on each individual. Someone that loves to travel with friends will put it into the Relationships bucket, while someone who enjoys traveling alone will put it in the Individuality bucket. Meanwhile someone who doesn't like to travel at all, doesn't need to classify this, just because it works for other people. The same idea applies to all things susceptible to personal taste or believe system, such as religion or spirituality. Other important things such as laughter and learning are more of a practice within each category.

Having friends from different countries to whom I talk regularly, forces me to have to explain things with an international and intercultural perspective quite often. I find myself helping people mostly through advise about how to find a job when they come to the US (Wealth and Individuality), or how to brand themselves and sell their abilities and characters with a positive spin (Individuality and Relationships), or even how to aim for the impossible if that is what really makes them happy (Dreams). I also find myself learning from people every day, from life tips, to lessons and methods that I try out incessantly.  These practices and methods that surround us and aid our growth in life, fit rather nicely into these simple categories.

The survival of the fittest may not directly dictate death to the lesser established in a civilized society, but it surely widens the distance between those in with high and low doses of happiness. Note I didn't say upper class vs. lower class. Economic class and status, although for many does play an important role in their happiness, it is never measured with the same rule. Instead, I’m talking about happiness and balance in life, ergo the important categories, since they do not dictate what makes each individual happy or not, but only a skeleton to classify those things that do.

I’ll make an effort to publish some tips that have worked for me on some of these categories. I’m also thinking in developing a method to keep track of conscious progress done on each, to help me keep a balance so 2012 doesn't repeat again in 2013. Who knows, if this Hitchhiker’s Guide to Life turns out a good learning journey, I'll make a conscious effort to share more about my voyage and adjustments as it develops.

All the best for 2013!!!

Comment