The unofficial Yo API for Ruby

I will be attending the awesome Yo hackathon in New York this week considering their event in SF was incredibly successful. Looking at their documentation, I seen there was no love shown for the awesome Ruby community and so I decided to write one over a few hours in my friends apartment in NYC.

As with all of my work, I have tried to put a bit of flavour into it. I haven't written tests but you're more than welcome to on GitHub and it is available under the "yo-ruby" gem. I would love to see what awesome stuff people build with the wrapper and if you're hanging at the hackathon, don't forget to say hi!

San Francisco & Silicon Valley

I think I was born for San Francisco.

I mean, who wasn't? This place is frequently referred to as the tech capital of the world, where the technically gifted gods of the world flock to the beautiful parks of San Francisco to smoke a few joints in aid of inspiration for building "the next big thing". There is a strong emphasis about young talent all over the world, but the only thing it means in SF is the opportunity to take risks with little-to-no lifestyle complications. There is equality flourishing everywhere, even within the homeless, within the land of opportunity - with the real winners being the landlords.

When I arrived late in SFO one month ago, it hit me. The cold nights, that is. The land of opportunity doesn't let you down, even on the weather, and the consistency of such a schedule makes time seem to go so fast and I can attest to this. This place moves so fast on technological advancements, but the culture of the West Coast does not align with such a pace and so you are masked with the chilled out culture. You can't make a bigger impact by working harder here, it's all about working smarter.

The living cost absurdity that is SF is world renowned. It doesn't take a new-funded startup to understand why proud San Franciscans refuse to leave the city and so are forced into the cruel world of gentrification which leaves them homeless on the cold streets of SF.

Besides the normal good and bad, I have met so many incredible people in SF. There are some people who have took it for granted, but I'm not one to argue with human nature and I personally love the lack of interest towards elitism which allows a higher focus towards solving some of the many problems the world currently has. To put this to test, I have spoken to numerous successful founders stay at "hacker hostels" out of preference who can easily afford to rent something better.

I originally thought SF was a part of Silicon Valley. I was wrong. SV is where it all started but it is a suburban area dominated by cash-rich tech companies such as Google, Facebook, LinkedIn and eBay amongst many others and SF has been upcoming for the past decade. You can't really tell the difference these days. I would argue that SV isn't a place for young tech people who are still trying to understand where they fit in the world, unless you're looking for a very well paid job at a large tech company.

It's kind of obvious software engineers are scarce in the Valley. Software engineers who aren't happy are even more scarce. They are considered the kings of progression and innovation, but equally as important, the non-engineers are the kings of happiness and pure sanity. I didn't actually know how easy it is to go nuts as a programmer. We obsess about problems that take years to solve and attempt to solve them over weeks and months. Equally so, there is a unique level of thinking in the Valley and the expenditure towards trying new paid products is far greater than anywhere else makes it very easy to build a startup that only works in the Valley; people don't move from the other side of the world and deal with the stringent US visa process to change the already-always-changing Silicon Valley.

San Francisco & Silicon Valley really are as good as you want them to be. Inspiration lurks on every street in the Valley and many are sensitised to it, even if there's a lifetime supply of this scarce commodity for technology. No other place can compete for SF on this basis alone, but I can point the largest attribute to the success of the Bay Area towards the West Coast culture. You can easily leave this town knowing nothing new, or you can leave as one of the greatest innovators that ever lived.

Hybrid ecosystems

When I realised we live in a world obsessed with ecosystems, I got really excited.

I like to think of the World Wide Web as an ecosystem of ecosystems. Building an ecosystem is empowering people; a well-known premium of the old world. Anyone who has access to the Internet is empowered enough to teach themselves whatever they want, whenever they want which is truly incredible no matter how many times it has been said.

Two days ago, I was visiting Stanford University to hear Bill & Melinda Gates commencement speech (which is available on YouTube; I highly recommend). When Bill talked about how allowing everyone to access a computer was a paradox, it interested me to think how if his philosophy were any different how it could have changed the course of the computer revolution itself. His philosophy is what made him the richest man on earth, but he believes in it for social good which is why he runs The Bill & Melinda Gates Foundation; an ecosystem itself.

Ecosystems exist in both open and closed varieties.

Ecosystems are a wonderful thing, but there is often controversy about closed ones. Namely Apple. They have built one of the most popular ecosystems on the Internet, which is the App Store, but offer a limit to how what people can build on it. People are often in doubt about whether it is a right design for an ecosystem of such large reach, but given its monopolisation, people still build applications on top of it.

In contrast, there are plenty of open ecosystems. The most obvious one is the World Wide Web itself, which is unregulated by design. It is one of the reasons the governments and ISPs are constantly trying to filter content they subjectively believe should not be accessible to us. The ramnifications of an open ecosystem have damaged industries all over the world, but have forced them to cease or adapt.

Open ecosystems are powerful because people have been fully empowered, but also are incredibly saturated and can cause unparalleled levels of damage (i.e. lost revenue and jobs) in certain cases because there is no monopolisation in an open ecosystem.

Hybrid ecosystems

I don't want to build a closed ecosystem. I don't want to build an ecosystem that is so open that it causes problems or saturation either. I believe in the concept of a hybrid ecosystem that empowers and motivates users to build deeply on top of the ecosystem, yet closes on a certain level in order to build a high quality ecosystem that holds a large reach and equally a large impact towards its purpose or market.

This is purely a food-for-thought note, though I'm very interested in hearing your thoughts.

Improving email address input

In the past few years, I have become less of a hardcore programmer and more of a generalist. I have a large fascination into developing beautiful products by way of design and UX.

In my first foray into improving user experience, I have observed that we could make typing emails in better. That one less keystroke and click that save users those simple seconds into getting what they want. You want people to become habitual with your products.

Anyway, over a few hours, I decided to hack up a prototype of email autocompletion.

The idea is not to autocomplete everything on earth. You'll only want to suggest the domain the user may have considering it is likely to be mutual (i.e., and so it can prove useful. This doesn't warrant the need to make an AJAX request upon every keystroke, so I would recommend caching a list of the top 100 (or n) email domains typed in by users into JavaScript.

I have kept this short and sweet, but the beauty is, UX is all about that. And it's open sourced as a jQuery library. Let me know your thoughts.


The news has broken that Apple has acquired Beats Electronics for $3.2 billion. Nothing unanticipated; the discussion of acquiring Dr. Dre's most successful venture yet has been subject of talks for numerous weeks now. The core reason why Apple is considering Beats is because they have become a deteriorating subset of the consumer-music industry - which ultimately was their first foray into global success - and watching other companies such as Spotify, Pandora and Rdio change the way consumers pay for music has largely affected iTunes.

The perception of Beats lines of headphones and musical devices is they are very well designed but focus less on engineering feats and more on brand development and endorsements. The world's most successful stars are wearing Beats and its success is entirely built on such a foundation and that's entirely opposite to what Apple's foundations were built on - great products that sell themselves.

Though, I'm still not sure how Beats aligns with Apple. Here is what I've gathered.

  • Apple is planning to announce a product (most likely a music streaming service) that aligns with music for WWDC.
  • Apple plans to launch Beats in new countries.
  • There is no merger with Beats; it will still run independently.
  • Consume the talent behind Beats and give music a refresh within Apple.
  • Capture the revenue of Beats and further increase their cash reserves weekly.

Quite literally, out of a $150 billion cash reserve, it costs them around 2%. There is no risk here whatsoever and I think that's a great consideration to why Apple pulled through. I guess I'm questioning more about whether bringing Dre as a newly-minted Apple executive is a good idea considering Dre's motivations are highly around money and arguably less so for innovation. There is clearly no bad acquisition here, however.

One thing is for certain, however; if I ever do work for Apple, it would be pretty cool to say Dre is my boss.

The doubt of innovation

My two best attributes are craziness and naivety. In traditional sense, these go with age; I consider that a problem. In correlation, with age, you are becoming more aligned with behaviourial patterns ultimately defined and influenced by other people. Naive people ultimately have to attain such an experience for them to become aligned, and as such, have the unique opportunity to question what the very basis most of our surrounding society aligns with. Crazy people will embrace the attribute of being naive and take advantage of it.

In today's world, the biggest innovations are those which are simple. Communication and social are very hot areas in Silicon Valley right now and that's why the billion dollar acquisitions for unprofitable startups in this space are happening. Innovation often holds strong prestige from other people who try to innovate and often big companies will want to capture such prestige to help them acquire customers and talent.

Two innovations we all know of are Facebook and Twitter. They solve the same problem with the same solution, both using different approaches - similarly to caged and organic eggs - where they both have the same output but using their own respective methods of production. Twitter is almost uncensored and organic solution and Facebook offers a complex (and a forever imperfect) algorithm that will decide what you should see in your News Feed.

Crazy people are often the best innovators; it is crazy (pun intended) to think there was once no place for them. Those who perservered and made an impact, we remember. There are so many great innovators today, that alone is not enough and thus we are likely to forget those who don't donate money to charity or those who actually care about their employees over their wealth.

Let me state the obvious: Innovators love to innovate. Engineers love to engineer. Designers love to design. That is the child-like philosophy that we should all believe is true and real. But the unnecessary complexity of society teaches us to overthink in a non-conclusive way that we forcefully forget to think at all. The day that happens, I will no longer have the opportunity to innovate - ever.

Besides being crazy and naive, I'm also awkward and incredibly observational. These both have their advantages in that in my state of awkwardness, I take the time to observe my surroundings and often try to identify problems constantly and I largely accredit this ability from being self-taught as I had time to for my own style of identifying and solving problems. With school, you're being mass induced with the same discipline as every other person in your class which means you're never behind, but consquently you're also never in front.

The one thing I love about being able to innovate is that it doesn't have to be subjected to the health of our societies or economies. You'll be subjected to them when you build a product out of your innovation; but experimenting is the beauty of innovation. You don't know if it will work or not, and we rarely find an individual who posesses a limitless scope of execution. That isn't easy, but it is far easier today than it was when few innovators existed globally. Now there are societies within societies of innovators.