until !self.sleeping?
self.code(:sweetness)
end
software development notes
I just found out about this story this morning, and it warmed up my day.
It supports my belief that we're all born with the yearning to create stuff.Cheers to the supportive father that didn't minimize his efforts or force him to do what others expect of him.
If you're looking for a warm, heart-rending story for today, look no further than how Caine Monroy became the latest YouTube viral sensation, with more than 2.4 million views and counting since it was posted last week.
Thanks to a loyal customer, Nirvan Mullick (pictured with Monroy), the schoolboy now has a $150,000 scholarship fund and fans all over the world. And the story holds lessons for budding online entrepreneurs, too. How did all this happen?
Last year, Monroy was just another nine-year-old kid from East Los Angeles trying to figure out what to do with his summer, when one day he went to his dad's auto parts store. The store was largely devoid of customers, as Dad does most of his business online. Caine asked if he could play with the cardboard boxes that the parts came in, and before you could say "Zoltar," he had constructed his own cardboard replica of several arcade-style games, such as miniature pop-shot basketball and ring toss. He then proceeded to sit in the store and wait for customers to play at his arcade.
There weren't many since foot traffic to the store was sparse. One day, Mullick happened to stop by and became entranced. He bought Caine's premium "Fun Pass" and started coming back for more games. He thought about a way to market the arcade and put together a flash mob meet-up at the auto parts store, along with a short 10-minute documentary video. The rest is thanks to the Internet and a lot of people. You can watch the movie here:
In the video, you'll note that Caine has implemented a sophisticated algorithm to ensure that his "Fun Pass" tickets are authentic, using the square root function of a pocket calculator. You've got to hand it to the kid. He has plenty of pluck.
Mullick started a scholarship fund, which has already topped $175,000 and is still growing. And that doesn't include a matching grant from the Goldhirsh Foundation. Caine also has a Facebook fan page with 100,000 fans and a Twitter account with more than 6,000 followers. To give his arcade an element of authenticity, Caine made his own special logo T-shirt and is now selling it on the site. The movie even has a theme song that you can download from iTunes (and it's another way to support the fund).
Plenty of media outlets have given Caine coverage, including today's New York Times and dozens of TV stations. Forbes did a story earlier this week that details nine factors of Caine and Mullick's success that other entrepreneurs should review. TJ McCue writes, "There is a certain allure in American entrepreneur circles for turning waste in[to] wonder, of finding a diamond in the rough, so to speak." Another Forbes columnist thinks Caine will be a billionaire in 30 years. Certainly, his star is rising. Another meme is born.
But more than a meme is what startups can learn from this experience: Just because you only have one customer doesn't mean you aren't in business, and you should treat every customer as carefully as Caine did. The care he took in realizing his vision is extraordinary, especially for someone so young. And understanding the power of just one person to leverage various social media is also key.
So if you are an entrepreneur looking for inspiration today, check out the short video and read up on Caine's Arcade. It should get you thinking on how you too can create something from your own passion, even if you are just nine years old.
As the lyrics to the theme song say, "It's the best cardboard arcade that has ever been made." And that is something to which we can all aspire.
photo © 2008 cmcbrown | more info (via: Wylio)
It's been a while since I've posted anything real. I started on a couple articles thinking I didn't have time to update Thumb War, but in the end didn't have time to finish those articles either.
Which brings me to the simple question. Where does the time go? My guess is work and family. I found the above image free online, so I cannot really vouch for it's accuracy, but it sure looks pretty.
On the Thumb War to-do list is:
As for the articles that I've started but didn't finish:
Enjoy your summer!
Fabrice Bellard built an x86 PC emulator using JavaScript. He's even gone so far as to install Linux kernel 2.6.20 on top of it. "The code is written in pure Javascript using Typed Arrays which are available in recent browsers," Bellard wrote. It works in Firefox and Chrome 11, but not not Chrome 12.
As for the Linux instance, Bellard wrote: "The disk image is just a ram disk image loaded at boot time. It contains a filesystem generated with Buildroot containing BusyBox. I added my toy C compiler TinyCC and my unfinished but usable emacs clone QEmacs." You can see Linux running JavaScript here.

Bellard did it just for fun, but he speculates that it could be useful for the following purposes:
Oddly enough, he found that Linux ran twice as fast on Jaeger Monkey as it did on V8. He's not sure why.
DiscussI've discovered that no amount of screenshots or marketing speak will ever get someone past the $1.99 price point. So with a bit of research and rework a free version Thumb War is now available here.
For a while I thought the process of making 1 project into 2 was going to break the time bank, but after running into this article on the Android Developer site the pieces fit together quite nicely.
The secret is in one property setting of an Eclipse project which allows a project to be shared by another. The setting is "Is Library". Once enabled all classes and resources (drawable, layouts, strings, etc) are available to users of the library. The activities can be addressed in the manifest with absolute package names instead of the relative package names.

The best part of the whole thing is I don't need to create a separate jar build process to make it all work. Now, if you're the type that likes everything automated, I'm leaving that as an exercise to the reader.
After changing the original project a library, I did the following to get the paid version working again.
Surprisingly everything just worked.
The next step was to actually create the free project. This is pretty much the same as the paid project so I started with the paid project as the base.
This also worked. It was functionally the same as the paid project and the original pre-library-itized project and both were on my device at the same time. Which means it meets Androids unique package restrictions, too.
The final step in the free project was to add a few restrictions to it and add a few dialogs to encourage the players to purchase the paid version. That fortunately was the trivial work, phew! In case you're curious, I've restricted 3 of the 5 games and if a user selects a restricted game from the menu a dialog will tell them that it's unavailable in the lite and provides a button to go to the Android Market to purchase the full version.
Too tired to give any details, but here's a screen for the curious.