5 Monkeys and a number of apples

A co-worker proposed this “little quiz” today:

There are 5 Monkeys and a number of apples. They want to divide the apples into equal shares, but all forget. They all go to sleep. In the middle of the night, the first monkey suddenly remembers, and goes and divides the apples into five equal groups. He finds out that there is an extra, and eats it. Then, he hides his share and goes to sleep. The second monkey remembers ten minutes later, divides the apples, and finds out there is an extra. He eats the extra, hides his share and goes to sleep. The third, fourth, and fifth all do the same process, and at the end, there are still many apples left. Assuming that the monkeys didn’t cut any apples, what is the least number of apples that there could’ve been at the beginning?

See my solution here: http://jsfiddle.net/PTvgC/4/

EndAtrocity.com – stop enablers of atrocities

The financing, arming, and coordination of atrocity perpetrators are too-often enabled through the activities of third parties such as multinational companies or financial institutions. And Humanity United and USAid started a tech challenge to address this problem and others related to atrocities. This is my solution….

Apple-devicesIpad

 

Abstract

A system is needed to identify and spotlight enablers of atrocities. The proposed solution is a robust web app that leverages the global reach of the Internet, the numerous form factors of web-enabled devices from mobile to desktop computers, and the latest advances in social networking and telecommunication APIs to allow easy entry of enabler activity that can be shared with friends around the world.

 

 

Detailed Description & Rationale

Third-party enablers of crimes against humanity exist because they are either unaware of the consequences of their actions or, if they are aware, lack the public pressure to cause them to stop. Therefore a system is needed to (1) call out the enabling activities and (2) bring public pressure to bear on them. The system I propose is an innovative web app tailored to the needs of those identifying and spotlighting enablers.

In order to identify enabling activities, I propose a simple web interface where anyone can enter an enabler’s action(s) and upload supporting evidence. In order to preserve the anonymity of the individual providing evidence, the web interface will not require a user account or any identifiable information. Instead, the individual can provide a password, which will allow him/her to edit the submission later.

Furthermore, the informant will be able to access the web interface from any Internet enabled device: phone, tablet, e-book, computer, etc. The interface will automatically resize and respond based on the device’s display capabilities. This will allow the person to identify enablers even while on the go—away from a desktop computer. The interface can also be easily internationalized to provide access for non-English speakers. (See endatrocity.com/report-enabler for a prototype.)

To bring public pressure to bear on the enabler, I propose leveraging social media, like Facebook and Twitter. People often feel helpless when they read about the horrible actions of foreign governments. On the contrary, the popularity of social networking has shown people are willing to “like” or “re-tweet” stories of interest. Therefore, by asking friends and followers to spread the word on a good cause, one is able to tap into the viral effects of word of mouth on a global scale. In addition, when stories go viral online, they are often picked up by traditional media (TVs, newspapers, and magazines), which creates a circular loop of more attention back online. By taking advantage of the fact that this all happens online, we are able to track which enabler’s actions were more viral in order to improve the network effects for subsequent stories. (See endatrocity.com/enablers for a prototype.)

The Internet today is prevalent throughout the world and is accessible from mobile devices to desktop computers, which is why it makes it the natural medium for this task. However, informants may not necessary be familiar with computers, which is why alternative methods of submitting information include texting or calling. There are even telecommunication APIs (application programming interfaces) that will automatically process a text or voice message and submit it to the web. It may even turn out that the best way to pick up enabler actions is to monitor twitter for trends related to atrocities. There are algorithms that make this technically feasible.

It’s likely that informants are able to get access to the web (though alternative methods like SMS or phone can also be integrated). It’s also likely that people will want to share the enabler actions with their friends and followers as they currently do for other causes they believe in. Operationally, running a website is inexpensive and proven to be robust enough for sensitive information like banking. A web-based solution directly addresses the problem by providing a broad medium to identify and spotlight enablers. And it makes use of the latest technology by adapting to the capabilities of the device and harnessing the social web.

Proposing a solution to an unsolved problem such as identifying and spotlighting enablers of atrocities means that no one knows for sure what will work. And, as any successful entrepreneur will tell you (e.g., “the lean startup”), figuring out what will work requires feedback and iterations. With that said, I think the best place to start is a responsive web app that works across multiple devices from mobile to desktop computers. 

 

 

TalkingHome.co – plug and play home automation by talking in your iPhone

Your iPhone can do everything except your laundry, until now… This was our pitch at Startup Weekend in San Francisco this weekend, where we wired up such things as lights, fans, door opening/closing sensors, and motion detectors to demonstrate the power of home automation. See this video below for an idea. (The guy in the video is a friend of Aswath, whom I worked with at Startup Weekend)

 

[youtube http://www.youtube.com/watch?v=6x1GkgbVP1I?feature=player_detailpage]

If you thought the above video was cool, you should see what we have in store for TalkingHome. This weekend, I created a mobile web app (for iPhone, iPad, Android, etc.) that provides a speech interface (and touch interface) to further enhance the automation experience. And this is just a rough first iteration.

Photo_1Photo_2

Follow us on Twitter (@TalkingHome) or TalkingHome.co, and stay tuned for our KickStarter campaign!

Bike.ly – a better bicycle map

Check it out on your iPhone: bike.ly

I wasn’t satisfied with the options available for on-the-go cyclists. The iPhone Google Maps doens’t have bike directions (though it may be coming in iOS 6), and the web and native apps all seem to be lacking either good directions or a good interface (or both). I typically end up pulling out a physical map when I need to find a good way to get from point A to point B in San Francisco.

Bike.ly allows you to quickly get highlighted directions on a map from your current location. However, I’ve run into a big problem in that iOS 5.1 (the latest iOS at this time) does not support local storage. In other words, if you save the app to the homescreen, map out the directions, put it back in your pocket, and pull it out again, then the directions will be lost. I’m currently investigating alternatives (seems cookies might work) to make it a better user experience without resorting to PhoneGap. To be continued….

Photo_2Photo_1Photo_3Photo_4

 

Interactive 3D Tumor

Update: The new version is viewable at CarisTargetNow.com. (There is also an iPad app that this runs in, but it’s not available to the public..)

This is a project I was working at my current employer for about a week and a half. I’m not normally able to share my work, but given this project is being taken in a new direction (read: client didn’t like the design), I’m releasing it as an example of the kind of things I do there. It was designed for an iPad 2, but it needed to work in desktop browsers down to IE7.*

Check it out: http://doorty.github.com/Tumor/silhouette.html

Code: https://github.com/doorty/Tumor

Tumor
Navigation structure:

1) First you get a silhouette to select one of three different organs. (silhouette.html)

2) You spin a tumor around to select a biomarker of interest. (tumor.html)

3) You look at the inside of the tumor to get more information. (subtumor.html)

 

* It’s not polished and there are some known holes for which you’ll see alert boxes, but I think you’ll get the idea.

Startup Weekend #SWBay – Kahnoodle

A couple weeks ago, I went to Startup Weekend in San Francisco. If you never heard of Startup Weekend, it’s basically where you try to start a business over the course of a weekend. Our group focused on helping couples–as opposed to the multitude of match.com’s that address singles. We saw the problem as relationships typically start off on a high note and then slowly fade over time without a concerted effort from each partner. Kahnoodle, we envisioned, would make that concerted easy and fun by understanding what each person was looking for on an ongoing basis and relaying that information to their partner. For the kicker, we would throw in game mechanics to make actions of love (or kahnoodles, as we call them) self rewarding.

[youtube http://www.youtube.com/watch?v=bZQdWAMxAQI]

We did a lot of customer research (as you can see by the video) before actually deciding on what the product should look like. So, as the only programmer in the group of 4, I didn’t get much done on the actual product. My plan was to create a really slick single page, mobile, web app with the likes of Node, Socket.IO, Jade, Backbone, and Stylus (like Sass), but I barely got started before time ran out. You can view the source on github.

Screen_shot_2011-05-22_at_12

But, alas, the weekend is over and the person with the original idea seems to be looking for employees–not founders. So.. on to the next “startup weekend.”

Clear Desk, Clear Mind

100_0343

I was just reading the article Clear Desk, Clear Mind by the fine people at Zurb, and realized my “clear desk” looks almost exactly like theirs (down to the pencil holder style). I started thinking about it for a moment and realized this concept really applies for everything. I am a minimalist. It shows in my desk. It shows in my posessions. And it shows in my web/mobile apps. When I don’t follow this minimalist mentality, such as when I have to use the bloated MyEclipse at work, as opposed to my precious TextMate, it makes my mind that much more cluttered and, as a consequence, that much more unproductive. All the little clutter adds up. Stay minimal, my people! Keep it clear.

Seeking co-founder @Launch Conference in San Francisco

I’m at the LAUNCH Conference and interested in talking with other tech entrepreneurs about possibly collaborating on a future project. Who am I and why am I posting this? Checkout the video below from This Week in Startups:

[youtube http://www.youtube.com/watch?v=iuPpro9L5VE#t=881s]

I relocated to San Francisco from Charlotte, North Carolina in the last couple days, so I’m really hoping to make some connections in the Bay Area tech, startup community. To find out more about me, see my blog posts on past projects I’ve worked on in the past.

ChirpEcho – Text message alerts for important tweets

ChirpEcho is a “weekend project”–coded in Rails with Tropo for SMS–that will send you a text message whenever a certain twitter user of interest mentions a keyword or phrase that you don’t want to miss. You can see it in development at twitteralert.heroku.com/, and when it’s ready for production it’ll be accessible on ChirpEcho.com.

TweetTweet2

Use Cases:

  • @Target says there is a “sale”
  • your friend says he is going “rock climbing”

I created it because a web entrepreneur that I follow does impromptu video interviews with other entrepreneurs, and he announces it on Twitter only a few minutes before the video interview goes live on uStream. I can’t watch my Twitter stream all day, so I really just needed to be notified when he mentions the word “live.” I figured other people may find this useful.