Archive for the ‘Projects’ Category
Ludum Dare #23 48h Compo
Until Friday night, I had never heard of Ludum Dare, a global game development event celebrating its 10th anniversary. I found it via Reddit or Hacker News or Twitter or something, and discovered the event had kicked off 4 hours prior. Everyone participating in the Compo was given 48 hours to create a game from scratch around a theme announced that night. An alternate Jam competition has more relaxed rules, allowed teams, and ran for 72 hours. The theme was “Tiny Worlds,” which can be tricky when coming up with a compelling game idea. Fortunately, the theme and rules allow for pretty broad interpretation.
I wasn’t sure I would participate, but an idea popped into my head. Inspired in part by a segment of Dragon Ball Z Kai, I pondered what it would be like to jump from tiny planet to tiny planet. Mainly, what would happen to your perspective of “up” and “down” if you jump from the top of one planet to the bottom of another? The concept of “down” essentially just means “in the direction of the pull of gravity.” What drove me to want to build the game was the idea of making a 2D platformer where the directions up, down, left, and right are completely fluid and based on the gravitational pull of planets around the character.
Even though I haven’t used CoffeeScript or Processing.js before, I decided to try them out. Probably not a good idea on such a short timeline, but oh well.
The result was an auto-orienting 2D puzzle game where you have to jump from tiny planet to tiny planet to get to your goal before your oxygen runs out. You can walk around on planets and jump, but after leaving a planet’s surface, there is no longer any control over the character. That means if you miss a planet, you can drift off into space forever!
I finished an hour before the deadline and set up the game at PicoPlanets.com (a play on “pico” meaning one one-millionth, or 0.000001) and made the source code available on GitHub. You can also see screenshots and blog posts about the progress (“making of”) here on my Ludum Dare author page.
R.I.P. Kerplunk 2008-2009
A few years ago, I put together an alpha version of an AIR-based Twitter desktop client, called “Kerplunk!” It deserved its alpha status. It was little more than a proof of concept, focusing solely on displaying a new way of looking at and interacting with streams of tweets. I ran out of time and momentum on the project in mid-2009 and never got around to updating it while the Twitter API evolved (OAuth, id_str, etc).
If I had that primitive alpha version of Kerplunk! today, it would still be able to improve my Twitter experience. Twitter has only gotten noisier, and Kerplunk was the only application to provide ways of suppressing certain types of content—craptweets—either partially or entirely. To deemphasize craptweets, Kerplunk! would simply reduce the screen real estate available for that tweet and truncate it after a certain number of characters. If it turned out to be interesting, despite tricking Kerplunk! into thinking it was crap, you could still spot it and expand it. Simple, yet amazeballs. I miss it.
What’s more, Kerplunk! was designed from Day Zero to go beyond Twitter (in fact, the core application included ZERO references to Twitter or tweets, aside from a command to download and install a plug-in called “Twitter”). You see, I don’t give a damn about tweets or Twitter. I care about what my friends are posting and sharing online, be it on Twitter, Facebook, blogs/RSS, etc.
While the prototype source code lay abandoned collecting dust, the idea and desire remained. The idea grew beyond Kerplunk!, though. Beyond a desktop application, at least. Since 2009, I’ve used my phone more and more to see what my friends are up to, probably up to 50% of my social media usage. I also came up with concepts that would benefit from my application to talk directly to another application, rather than communicating only through social network APIs.
The nice thing about ideas is that they can evolve and change entirely. Over the last 3 years, I’ve wanted different tools to solve different problems I had with my disparate social graph. Kerplunk! evolved into something else entirely. I’ll share what the new project is all about in a subsequent blog post. Stay tuned!
The Curse of Capability
I had an interesting realization recently when discussing funding options for a web site I built. For some background, I’ve worked on it occasionally on weekends (and a few multi-week sprints) throughout the last 4 years. It has slowly grown up to be a pretty robust lump of technology. For it to have a chance at taking off, it will need serious attention from a bunch of different angles: design, user experience, back-end optimization, sysadmin/devops, content acquisition, moderation, and marketing.
There are always valid arguments in favor of and in opposition to raising capital. After a couple of years of having no intention to seek funding for this project, I started to lean in favor of it. Part of it is manpower and not spreading myself too thin. Another part is skill set—my skills are too broad.
I’m pretty good at a few things (interactive development; “making stuff move with code”), but much less so at a bunch of other things. I can do various things under the “big D Design” umbrella (from product to user experience to graphic design), but that doesn’t mean I should. My design work is definitely inferior to those who specialize in it. I can do database administration and query optimization, but that doesn’t mean I should. My low-level systems prowess is definitely inferior to those who specialize in it. Basically, I have the ability to build a fully functional and fairly usable proof of concept, but not an all around amazing product. I can bring an idea to life, but beyond that, it’s best to let specialists take it from there.
Throughout most of my career, I’ve always worked alongside complementary specialists, allowing me to focus my attention to my own specialty. My best work has always been the work I’ve done with good teams. My best solo work, while sometimes being technologically innovative, is nowhere near as well-rounded or impressive.
So, I hit a roadblock. If I were talking to investors with an idea, a plan, some slides, and no ability to pull it off myself, an investors answer would simply be, “Yes,” or, “No.” However, because I technically can build everything from front to back, the answer becomes, “No,” or, “Come back after you launch it and start getting some traction.” If an investor has the option to see the product in action and gauge real-world interest, why not wait and see?
Well, I need to get back to my client work now…
Stranding Yourself

Half way up the mountain, overlooking downtown Charlotte Amalie to the South, along the highway that takes you to Magens Beach on the North side of St. Thomas, rests a cozy hotel with a marvelous view. Mafolie Hotel.
I landed in St. Thomas, U.S. Virgin Islands on a Saturday afternoon, after a long, three-leg, red-eye trip from San Francisco. Friday afternoon, I was trying to come up with a place to sleep in San Francisco when I just got the urge to jettison myself to some island somewhere. My friend Chrystall had said I could crash at her place in the British Virgin Islands any time. Out of the blue, I send her a direct message via Twitter to the effect of, “Hey, mind if I crash on your couch? Like, soon?” She said yes, so I double-checked flights.
“Okay, I’ll be there tomorrow!”
Sunday worked better for her, so I ended up having a day to kill in St. Thomas. I booked my flight with a half dozen hours of notice and decided that was enough planning for one day.
Fortunately, I got adequate cell phone coverage in St. Thomas. Upon landing, I asked myself, “What now?” I searched online for a hotel. Something cheap. Near downtown. But not too ghetto, so I opted for something that was $20 above the cheapest.
Book it. “Taxi!”
Couch surfing is tough, especially considering I only stay with friends and I hate feeling like I’m intruding. I’ve been wasting too much time and energy figuring out where to sleep each night, and decided I should just get away from it all so I can focus on me and my work.
While at the hotel bar, I asked the bartender if she knew of any cheap weekly or monthly rentals in the area. I was in luck, because the peak travel season hadn’t picked up yet and the hotel was still offering long term leases for a few more weeks. Instead of $125 per night, which is way too expensive for a month, they offered me $350 per week ($50 per night) if I stayed for at least 3-4 weeks.
Book it. “Ferry!”
A few nights couch surfing, with Chrystall in the BVIs, a short ferry ride away, and then I’d be back in St. Thomas for 3 weeks.
I thought it would be nice to lock myself away for a while and work full-time on my own thing. A bunch of people have told me this is a common desire. I was living their dream.
Honestly, it wasn’t that great. Good, but not great.
Despite becoming more reclusive during the last couple years, the biggest thing I was missing was socializing with fellow technologists, and all the excitement, motivation, and inspiration that comes with it.
I struggled to put in fully productive days, but luckily forced myself to take breaks and get some sun. I hardly left the hotel, pool, or hotel bar, mostly because going into town was an expensive hassle and almost nothing down there interests me.
The food at the hotel was way too expensive for my budget, so I made use of the mini-fridge and microwave. I drank a lot of fruit juice and ate a lot of microwavable ‘healthy choice’ type crap. (#startuplife)
The view from the hotel really was spectacular. The list of applicable adjectives could go on and on. Being able to work with such a magnificent backdrop is amazing and very fulfilling, especially when the seaplanes were taking off and landing. But ultimately, the isolation was rough, draining, challenging, and I realized I need to come up with a better way to work. I definitely need more balance and a better atmosphere.
Save or Shave Carl?

Last year, I participated in Movember, an annual world-wide charity event where men grow mustaches during the month of November to raise money and awareness for men’s health — prostate cancer and testicular cancer. Women have October for breast cancer awareness, and now men have November for male cancers.
At the end of November, I decided to keep the ‘stache and roll with it. I’m ready to give it up, but I’m going to give the charity fund raising one more push.
I figured it would be fun to allow people to choose whether or not I keep the mustache by casting votes with dollars. I might even throw a party in Phoenix (or should it be in SF?) to make the final decision and shave the mustache LIVE if “Shave Carl” gets more donations.
Check out SaveCarl.com or ShaveCarl.com for more details and to participate!
You are currently browsing the archives for the Projects category.
