Thursday, June 10, 2010

Why You Should Be Happy Your iPad Lacks Flash

No Flash for iPhone, that's no news.

Apple is pointing fingers at Adobe, Adobe plays cute at Apple; and it all looks like parents divorcing and the kids are those who gets screwed in the end.

But we are not screwed. Far from it! Let us all embrace the situation, we were all saved and I will explain why.

Apple claims that Adobe is the number one reason for instability in Mac OSX. They don't want to bring this annoyance over to iPhone and iPad users, so they ban any Flash software or Flash-supported app.

I'm quite happy about this actually. Since the early 2000s, Flash has gained such great popularity, spawning a gazillion and one mediocre games. Stick figure animations, and horrible horrible user interfaces.

Now imagine you had this crap on your App Store, and as a developer, you had to compete with these new apps. Forget 50,000 apps iTunes, how about 1,000,000 overnight?

Clearly Flash could be stabilized. But iPhone has been out for over 3 years, I hardly believe that just now somebody thought it would be nice to have it ported. There's a hidden reason behind it. So, embrace the moment while you can!

Last point, new software such as Titanium, Unity, TorqueEngine and Smoke Screen can all generate iOS apps; so where does that put us? I truly believe that Apple won't go after these and ban them one by one like mosquitos. These apps were written anew, with lots of lessons learned from other people's mistakes. They will be reviewed just like any other Objective-C software and in democratic and unbiased world.

Saturday, March 20, 2010

Back From The Dead, So To Speak

Six months ago, I posted an entry titled Tony Robbins And A Gun To Your Head. As they say, beware what you wish for. In a one-liner: I claimed that a ground-shaking event has to occur before a person changes for the better -- a make or break; either you make it big, or you don't survive at all.

Shortly after posting that entry, I had my event occur. I won't go into details, but I spent the past 6 months recovering and am now wiser and clearer than ever. In retrospect, it was eyeopening and insightful and I wish every person to go a path similar to mine (give or take the physical pain involved..)

So I am now back, and I have a lot to tell about. My incident has taught me a lot about life, but more related to Coding Aloud, how to manage self, what and when to outsource, stop panicking and most importantly, living towards goals.

And I will share everything I know.

Armless Zombies by Felix42 (cc)

Saturday, August 29, 2009

Tony Robbins And A Gun To Your Head

Frank Kern is my hero. If I were to line him up with the rest of the Übermensch, he'd be standing there between Batman and Bill Hicks, waving back. There are only a handful of people who can speak and behave like Kern and still get away with it. He's the surfer boy you just can't hate.

I've been following Frank's work and talks over the years. Unlike his other colleagues in the make-money-online niche, his presentations are informative, helpful and really hilarious.

A few days ago I bookmarked a link to Tony Robbins' interview with Frank Kern and John Reese. I've heard of Tony Robbins' years ago, but never actually watched any lecture or listened to his talks. I must say (and he admits,) that his look is misleading. The guy is super inspirational, great motivational talker and very down to earth.

Kern and Reese drove to Robbins' hotel, looking for an advice. The let-me-help-you-do-better niche is crumbling from the inside. I've heard it so many times that it so obvious: people buy self-help products, but never actually go through. It's proven that just the mere act of purchasing such an item makes you fell warm and fuzzy that you think you are half way there already. I don't know anybody who bought a Idiot's Guide to Piano and is playing well just because it's collecting dust on the shelf.

My point is, during the talk both Reese and Kern agree that they started out making money online because they had guns to their heads. They were poor and needed the money. From there to where there are now is a very long story, but it would never begin if they had proper day jobs and security.

Most of my friends are making money online. Not enough to retire. It's a dream many people have, and it doesn't require relocating to Hollywood and look for acting gigs. But I think what we all miss is the gun to our heads. The point of make or break. If any of us doesn't work for a year, we'll still be fine. It won't be fun or easy, but I think we will get along. Comfort-zone has become a curse word. I intend to fight back.

As this blog is about my journey in my online business, I would like to share some of the ideas I use to try and break my comfort zone (CZ). As stupid as it sounds, it feels great. Go through the list, if you think an idea is idiotic, then it means you are cozy there in your bubble. Try to burst it.

* Live in another apartment/city/house for a month+. Bring only one backpack of stuff. Don't go living on the streets, but realize that you are not your stuff. You are not your guitar or your Playstation 3. I travel a lot in the world, and I feel great satisfaction that everything I need I can carry on my back.

* Go broke. Don't give away your money, but try to see how it feels without a credit card. Take very little cash and try to live with that for a week. Suddenly shelling out $20 for a dinner looks strange; why did you ever do it in the first place?

* Change your working environment completely: if you are working from home, try and work in a cubicle for a couple of works. If you are working from an office, try and work from home/cafe. How do you handle the new surrounding? Would you switch if you could?

Again, the interview can be seen at Tony Robbins Blog. I highly recommend it, and it's only 30 minutes long.

Wednesday, July 29, 2009

5 Tips For Boosting Up Productivity or: How Cheezburgers Killed The Productivity Star

Productivity is the name of the game and I am losing. Back in the day, when I started Dumpr, I recall developing the habit of OCD by "tail -f"'ing my access log and just waiting for a visitor to come by. If you build it, they will come. Fast-forward a couple of years: I check icanhasdoublecheezburger.com for new lolcats 27 times a day, refresh my inbox 53 times an hour and just hang around tweetdeck, flickr, mobwars and youtube enough to rebuild the pyramids myself.

No more!

Starting today tomorrow, I am limiting my hours and planning my time as I see fit. Earlier this year, I did an experiment: using Google's SMS service, I configured Google Calendar to txt me every day at 7pm a single sentence: "Shut down the computer". I have to admit that it worked pretty well. My life evolves around computers. I've been sitting in front of a crt since the age of 6. Forcing myself to not use a computer (not even for watching movies) made other activities more available. Watch a movie with friends, read a book, spend hours on the guitar, learn a new language, or the best of all: go to sleep early!

This post is turning into a Seinfeld's Post About Nothing kind of deal. So I'll make it educational. Here are 5 tips guaranteed to increase your productivity. Learned the hard way:

* Define Productivity - what is that you want to achieve? YouTubing 18 hours a day is considered productive if your goal is to watch each and every movie on the internets. My goals in life are learning Japanese and practicing guitar enough to be able to perform in front of friends.

* Make Daily Timetables. Each morning, sit down for 5-10 minutes and write your schedule for today. I find it very difficult to plan a whole week ahead, so I'm always planning the night before. Allocate in granularity of 30-minutes, to allow tasks to be executed in a worry-free zone. In other words: when you know you have 30 minutes to complete a task, there is nothing to worry about missing other opportunities; don't waste brain cycles worries, you have planned your day already.

* Leave Meetups For After Work - business at day, pleasure at night. Fun is harder to cap in hours. What if your breakfast buddy is very interesting today, will you part early or postpone all the other tasks? Plan meetups, dinners, beers after workhours.

* Cheezburgers Before The Zone - getting into the productivity zone is difficult. There are plenty of interruptions: blogs, emails, twitter. Part of my day includes a visit to I Can Has Double Cheezburger for some lolcats to brighten my day. I won't fight this, so I might as well accept it. If I finish my emails/funny-cats early, then I don't need to stop my work later to check up on them. Pleasure before business, I always say.

* Make Daily/Weekly Audits - check up on yourself, sit for a few minutes to review how your week worked out. What did you do right, what would you like to improve? Don't punish yourself and feel down if something is out of order. Just be honest with yourself.

Got tips that work for you? Care to share?

I murdered the Fail Whale! by nickbilton

Saturday, January 24, 2009

Вы запах смешно - The Pain of Website Internationalization

Let's face it, internationalization is a pain in the ass. Zero fun. Often termed i18n and l10n, these two are God's punishment for trying to reach for the heavens.

I have recently started an effort of translating one of my sites http://www.dumpr.net to a range of languages, while maintaining a clean and loose code that can be later be put in use for other projects.

My plan is to make a 3-parts post. First, I will talk about what are my goals from the translation system. In a later post, we will review how technically other websites managed to both internationalizate and keep sanity. Third and last post will conclude: pitfalls you should know about, pains I've been going through and some tips for a better life.

As a rule of thumb, when I face with such a tremendous problem, I first head out and seek who has already achieved this goal. While there are plenty of websites that manage to translate several keywords a page (zooomr, photofunia,) there are two distinct websites I look up to: flickr und facebook.

I consider Flickr as the mother of all website architectures. In his bible book: "Building Scalable Websites", Cal Henderson explains lots of the architectural redesign and growing pains they had with Flickr. Nowadays Flickr supports a wide range of 8 languages, all left-to-right.

Facebook, on the other hand, has always impressed me with their amazing development framework and ability to adapt fast. They make sure their effort can then be helpful for other programmers. Their Translation application is so powerful and easy to use, that 20,000 people from France localized the entire website within 24 hours. (wow!) Also, Facebook supports right-to-left languages as well (ie, hebrew and arabic,) which also affect the website layout (completely mirrored.)

Drilling down, the following bullet points make up the bigger picture:

* Translating is done online. I have tried to maintain a csv or a google document for translating, it's just unbearable. Being a man-in-the-middle and transferring strings back and forth to translators is absolutely a no-no and can result in a brain damage.

* Strings list generated automatically. The gettext approach demands that the person in charge updates a list of translatable strings. Rapid development will be hurt and wounded if I have to update the same string in two places.

* No keywords or tagging, see what you are translating. It's hard to write and design an html with placeholders and copywriting is strictly impossible.

* No translation goes online without approval. Some authorization and permission-levels are required. Whether you are crowd-translating or using a hired professional, you still can't trust every person you meet on the internet. Facebook breaks this problem into finding the most fit translation (via voting,) and publishing the selected translation online.

* Person translating might not know html. Strings should not contain any markup text. Don't rely a 3rd party not to break your html compatibility.

* Rapid-translation (tm). Translators must find this task easy and fun. They should be able to see results in real-time, and not be dependent on anybody else.

Have you ever made your website appeal to other locales? Got tips to share? What problems did you face? I want to hear all about them! efterlade en kommentar!

Tower of Babel by fimoculous (cc).

Friday, January 16, 2009

Get Your Gig Going: Social Media For Entrepreneurs

eClub HUJI had a great speaker last night. Kfir Pravda of Pravda Media presented a kickass lecture titled "Social Media For Entrepreneurs".

Pravda laid out a list of dos and don'ts for using the latest buzz bingo term "Social Media" for your own gain. From using the available services to network with people in your field, through being accepted as an expert in the subject. This media can make or break your business, and it's very important for us entrepreneurs (and more importantly, solo-entrepreneurs) to learn how to utilize this for our needs.

The talk was taped, thanks to our friends at israelhightech.tv. I will post a link to the video when it's up online and narrated in English.

So what have I learned from this. Have you ever been in a situation when somebody tells you something, and it seems so goddamn obvious to you, and yet, you haven't done it yourself? This is how it felt. There is some kind of enlightenment when a respectable person not only reawaken your dead cells, but also gives proofs (again and again) and real life examples how these tricks have changed his business and life.

1. A Business Card Is Just The Beginning of a Relationship
More often than not, I'd visit a conference or a lecture, network with a bunch of interesting people, exchange cards and then shelf them for a time in need. Now, why would you do that? A person gave you his business card, she has done so because she is interested in hearing more from you. Go home now, take all of your business cards, and add each one to your Facebook friends, LinkedIn connections and Twitter friends. Cause you know what? A week after meeting her, she had probably forgotten and there goes a valuable contact.

And here is an example from my life: a while ago I was at the Amazon AWS Meetup In Tel Aviv. After the meetup, I started talking to this guy. Now, I consider myself a great listener, but I just couldn't get the guy to talk much. Eventually we parted after exchanging business cards. That same night, he added me on Facebook and LinkedIn.

A while later, I attended the Facebook Developer Garage meetup, and there he was again. Just this time, he was accompanied with other important people from the field. Having me as his friend on these platforms, he checked my cv, updated on what I'm doing and realized the potential. He introduced me (now he did all the talking) to his partners in such an enthusiastic manner, that I was blushing immediately. Now I'm friends with important contacts closer to what I am doing.

2. LinkedIn Answers Is Your Greatest Tool
LinkedIn Answers has been there for quite a while. From time to time, I'd get these questions on my email. Basically, it's a platform for LinkedIn users to ask their peers a question. The question is published publicly, and other people can participate. I always answer the questions that I receive.

After Kfir's talk (and again, proving how important it is for his business,) I decided to give it a try. I asked a question in Startups And Small Businesses category. I have to admit I was stunned. It took 45 seconds for the first answer to arrive, and from a person I have never known before. It has been less than 12 hours, than I already got 15 different replies. It is really an amazing tool, not only to get help with decisions, but also to find people who are interesting and influential in your field of expertise.

3. Get Your Story Straight, Kiddo
There is a distinct different between, "what's your story" and "what's your job". I have learned this the hard way. If you were to ask me 5 years ago, who are you, I would reply "Gil Megidish: Programmer". Ask me the same question today, and I would tell you "I'm an entrepreneur filled with motivation and creative ideas. I am a proud owner of dumpr.net, a hobby that turned into a successful business. I am very open about my work, I share my knowledge with others and help other startups get on their feet".

With all modesty, I must say that the later answer invokes more questions and interested.

Kfir lectures quite often (and all over the world), so make sure you follow him on twitter and maybe attend his upcoming talks.

Saturday, December 13, 2008

A Programmers Guide to Outsourcing

Outsourcing needs no introduction -- it has been covered by news media extensively for the past couple of years. Everybody's doing it, and at some point in life, you figured it's worth a try.

But it's not all shine and glamor. Outsourcing your programming tasks can be a real headache and even a burden. This guide is here to help you identify the pitfalls before you're even making the first step. It's all based on experience and I'm sure many of the readers will agree what what is said here.

There are two types of outsourcing: one-shot (projects) and continual (semi-hired programmer.) Projects are posted on sites such as Elance, where freelancers send you quote for your consideration. Semi-hiring programmers can be done through oDesk, where you get to interview programmers and share svn access.

1. It might take 3 hours to explain a 10 minutes task
When you figure it would take you several hours to explain, listen, pack sources and then merge back the results, ask yourself this question: is it worth it?. When you're outsourcing a single task with no further interaction with that specific programmer, then the answer is simply: no. The only reason that you would do such a thing, is to educate your programmer (semi-hiring freelancers.) Add task, send bug reports, review code, integrate. The more you iterate this, the shorter it will become, so don't lose your head prematurely.

2. It's mentally difficult if you can do it yourself
The person who knows my framework and setup best is me. Moreover, I love my coding conventions, my automatic tests and how well my new code fits with the existing code base. It's awfully hard to look at somebody else's code and not go "I would have done this better." I'm sure you would. The easiest tasks I have outsourced are translating and copywriting. Why? Because I know I'm weak there and I can easily assess other's work. Learn to accept other people's code or shape them as needed.

3. Language barrier is no fun
Not everybody speaks English, and not everybody speak the same English. During my trial-and-error period, I have hired East Asians (India and China) programmers. I know I'm making a bad generalization here, but all of my projects failed. I received code that was either useless or had absolutely nothing to do with my requirements. Bouncing emails back and forth for a long time concluded this as hopeless and as awful as it sounds, I choose not to work with programmers from these countries again. It goes without saying that the same problem might happen with people from other nations as well. It helps to talk to the person, ask her questions about the weather or sports, just to get an idea how well you two communicate.

Here are a few tips I have picked up along the way. They help me calm down and do this process (more) smoothly:

1. When posting a project, make sure the price offers are sealed (hidden from the eyes of other freelancers.) I have noticed the second bidder base their price by the first bidder. Sealing it will make freelancers think and bid as they see fit, without the competition against other programmers.

2. Start small. It's easy to get hooked with the infinite opportunities. Don't shell out more than you can afford, and don't handle more than one task at the time. Use the first few projects for learning from mistakes. They will happen, there is no way around it.

3. Remember why you are outsourcing in the first place. The reason why you are reading this article is because you are not scalable. You are a very talent and creative person, but there is only one of you. Your to-do list is 10 pages long, but you only have one pair of hands. The sooner you realize this, the faster you will get around all of the above and start getting productive.

Got something to tell? I am very interested in your opinion and story. Learning from other people's mistakes is definitely a bonus. I'd be more than happy if you could share your experience. What worked and what didn't.

Good luck!