Internet Bandaid   [RSS Feed]

Archive for January, 2009

Paypal Documentation is Terrible

without comments

My first experience working with Paypal is horrendous.

Here are issues Paypal needs to address

Terrible Documentation
You know why w3schools is so awesome? It’s because they offer 5-7 page quick start tutorials on anything you want to learn. This is what paypal is sorely lacking. They make no attempt at writing concise and comprehensive tutorials. Instead, they compile incomplete 200 page manuals, scatter documentation across various websites, and omit references to REQUIRED parameters for their APIs.

It took me 3 days to understand the requirements behind a simple paypal checkout call. Then it took me another 2 days to successfully execute the SetExpressCheckout NVP call, the most basic of all calls.

I salute the technical support team at Paypal. They probably spend 80% of their time answering beginner’s questions that should be addressed in a 5-page quick start guide.

Non-descriptive Error Codes
I get an error “Security Header is Not Valid”. What does this mean?

a) Wrong Api_end_point because paypal made recent upgrades to their api
b) Your credentials are incorrect
c) Space aliens think you’re hot and they’re hitting on you
d) None of the above
e) Any or all of the above

If you chose e), you are correct. The error codes almost always tell you nothing. You copy the error code and error message into google, hit search, and you’ll get dozens of possible reasons that generate the error.

In my case, I mistakenly thought that my paypal credentials could be used in sandbox mode. And this reflects my poor understanding of the paypal basics. (And it relates to terrible documentation, which mentioned next to nothing on how to set up sandbox environment).

That’s it for now. I’m sure I’ll have more to complain about at the end of this month, when paypal integration is complete.

Written by John Lai

January 16th, 2009 at 12:23 am

Posted in Uncategorized

Tagged with ,

Engineer or Entrepreneur?

without comments

I recently sent an email to Matt Heaton, CEO of Bluehost and Hostmonster. Here’s the email and his response (thanks Matt!):

Hi Matt, I stumbled on your blog while shopping around for web hosting. I want to ask you a question related to career development

“Do you feel that by focusing on business, your technical skills deteriorate (or vice versa)?”

I ask because I graduated from engineering school 5 years ago (I’m 27 now), and I have been working as a programmer since. A few months ago, I quit my full time programming job to focus on my freelance projects and a couple of web start ups. I have never done business before, and if you asked me 5 years ago when I was still a student, starting a business would have been the most far-fetched idea ever. I would have been content working as a “programming guru”.

However, here I am today, having fun working on the projects “I want to work on” and developing my own software which I’m proud of. But the thing that irritates me is that I find it hard to become both an “expert” programmer and an “expert” business man because each discipline is so indepth…there just isn’t enough time to learn everything. I can be a “good” programmer and a “good” business man, which isn’t nearly as “godly”. I want to be able to do everything!

When I’m reading your blog, you seem to be an expert in business and an expert in hardware+OS architecture. It may seem this way to me because you’re much more experienced. But modesty aside, do you really believe you’re an expert in both arenas? What kind of sacrifices did you have to make to achieve this kind of expertise?


John Lai

Hi John,

Sorry, I took a while to reply. I intended to do it the first day and then never got to it – I apologize. As for the following question…

“Do you feel that by focusing on business, your technical skills deteriorate (or vice versa)?”

In the beginning for various businesses that I started the technical aspect was always the reason behind starting the business, but with less employees the business side took most of my time. I always make sure to spend at least 50% of my time on technical aspects to “keep current” and learn new things.

At Bluehost and Hostmonster I spend about 70% of my time working on technical issues including Linux I/O bottlenecks in the kernel and userspace apps. I also custom design our network and hardware systems. Initially I did all the development work for all our web apps but can’t find the time for coding anymore. Only so many hours in a day! I can do this only because we have a very competent general manager that handles many of the day-to-day details that I don’t want to deal with anymore.

I am a bit of an enigma compared with most developers or IT people. I LOVE the technical side of things but frankly Im better at the business part of it than I am the technical aspects. The business side is very natural for me and seems to take far less effort on my part.

In answer to your question about being the best in both disciplines I completely agree. You don’t have to be mediocre in both business and tech, but if you split your time you will never be the developer you could be spending all your time coding – But thats ok to me. You ask if Im an expert in both areas and the answer is no. There are areas of business I’m very strong in and areas where Im weak (projections and accounting practices!!!). Technically I am very strong in I/O bottlenecks, kernel tuning, hardware, etc but have had to let go of my software development. I used to code all day long. Recently I wasn’t happy with the way a specific monitoring tool was working and it was the weekend so I decided to code it myself. It took about 10 hours to write. 5 years ago I could have written it in 2 hours. Those are the breaks, but I did it because the other things I chose to spend my time on made me happier.

The real question you need to ask yourself is if you will be HAPPY. What makes you happy? 100% coding? 80% coding/20% business? 50/50? If you LOVE it then you will do well. If you do something for strictly financial reasons then after a short period of time you usually start falling behind and a poor job is what follows.

I wish you good luck with whatever you choose to do and hope it makes you happy!


Matt Heaton

Written by John Lai

January 14th, 2009 at 2:31 pm

without comments

I put together a simple calculator to help me measure fitness while exercising. Thought I’d give it a quick mention here:

Written by John Lai

January 12th, 2009 at 5:37 pm

Entrepreneurial Spirit

without comments

I’ve been a full time freelancer/entrepreneur for four months now. Here are attributes of myself that I have found valuable (in no particular order):

Enjoy Meeting New People
I like to meet new people and learn the way they think. Often, opportunities arise soon after.

Well Rounded Skill Set
Backend development is still my forte. But it helps to have some graphics design abilities and a little sales personality. In the event you’re caught without assistance in either departments, you can still hold down the fort. If you’re in a crunch for cash, it definitely helps to cut cost by doing everything yourself.

Work Is Something You Want To Do
I mostly dream of two things: martial arts and programming. Depending which which dream I wake up from, I immediately go and do that first, even before I brush my teeth. So if I dreamed about fighting, I immediately shadow box for 30 minutes. If I dreamed about programming, I go to my computer and implement the ideas I dreamed of.

Constantly Analyzing/Planning/Strategizing
I’m always thinking of ways to improve something, whether its fighting, programming, product ideas etc…I don’t like staying still. In a fight, you can’t be caught flat footed. You have to keep moving. Keep an eye on your opponents (and allies). Always try to be a couple of steps ahead in the game.

Open Minded
A ninja must always mind his surroundings. I like listening to everything that is said, even if I do not agree with some of it.

If you can’t take the hits, then don’t step into the ring.

Written by John Lai

January 4th, 2009 at 3:12 am