Open Source Blogging Software for Google App Engine
This is where an important announcement would go so everyone would see it.
by Andrew Arrow on November 30, 2009

I wasn't planning on diving back into the world of running the voting site teavee.com, but after writing a blog post about the history of the site I couldn't stop thinking about it.

The biggest problem I had back in 2006 was dealing with hosting options. Now that Google App Engine is available and free, it seems there was no excuse. Might as well put teavee back up and see what happens. I took the votay code base and changed a few things around. Biggest lesson learned from votay is to go ahead and repeat data. So I have "Show" objects stored in the DataStore as well as "Winner" objects. Each show and winner model have a title, permalink, summary, and votes. But forget about trying to join a winner's table over to the show table. Instead, at the end of each week I create new Winner objects with the data copied over from the Show objects. When listing winners I have all the data needed. No joins required.

by Guest Author on November 29, 2009

Note: The following is a guest post by David Rolland, the narcissistic creator of Pablochiste.wordpress.com. Depending on the social situation he might describe his occupation as either writer or teacher. The easiest place to check out more of his writing is by renting the children’s movie Finding Rin Tin Tin. Much of the dialogue is his, but none of the toilet jokes.

George Costanza said it best on an episode of Seinfeld about why he wouldn’t pay for parking. “It’s like going to a prostitute. Why should I pay, when if I apply myself, maybe I could get it for free.”

I  won two tickets to see the bands The Dandy Warhols and The Silversun Pickups and I couldn’t find anybody to go with me. The show was at the Gibson Amphitheater, which is nestled in the Universal Theme Park. I was by myself so I parked way outside the premises. I climbed the giant hill following other concertgoers. I started dripping sweat and thought maybe this wasn’t a good idea. I’d picked up some kind of canine or feline or maybe even human flu and started feeling the symptoms that day. But I finally made it to the apex. I walked into the theater and took a seat in sick exhaustion behind the first of two partitions. The two piece band Matt and Kim were playing. I caught the end of their set. The drummer climbed on to the kit and started beating the percussion as a huge shower of confetti poured from the ceiling.

by Andrew Arrow on November 28, 2009

After trying to use Amazon as a drop shipper stopped working, I turned my attention to the other way to make money online: advertising. Unlike affliate programs where the user actually has to buy something for you to make money, advertising just requires the user click the ad. Sometimes even less, they just have to load a page with an ad on it. Before you start thinking about commiting click fraud, keep in mind there are systems in place to make sure the clicks or views are legit.

While running the high traffic amazon affilate stores, I had ads in addition to the products for sale. About $20 a day came in from just the ads. The best part about that $20 was: no returns! All the product revenue might not be "real" but no one returned their ad clicks. And it sure seemed easier to get someone to just click vs. take out their credit card and buy. I registered the domain teavee.com and made a site where people could vote for their favorite TV shows. Ads from Google's adsense were all over the site, so I would make money if enough people used the site. But this was 2006 and hosting options were different back then. There was no Google App Engine. It was a constant struggle to keep the costs of the servers well below the revenue coming in from ads. At one point I had six dedicated servers from godaddy at $100 a month each.

by Andrew Arrow on November 23, 2009

This is the first in a series of posts about using Joe Hewitt's Three20 iPhone framework. The Yammer iPhone app went open source back in February 2009. Recently, version 2.0 got approved by apple with many new features. But another big change in version 2.0 was a switch from doing everything with only the base SDK provided by Apple, and using Three20.

I discovered Three20 quite by accident. I was just perusing github's list of most active open source projects and noticed it at the top of the list. I read the list of steps in the README file to add Three20 to a project and my eyes started to glaze over. (It's actually not that bad, but when you read the list it seems like a huge undertaking.) I put it on my list of things to look at eventually but didn't dive in.

Then, a requirement from Yammer that links within messages open in an in-app browser, forced me to take another look. The Yammer app used to exit and launch Safari for any links. While simple to implement, it was annoying for the user to have to constantly exit and re-enter the app. Three20 had a great in-app browser and a system for making links hot. But the learning curve to switch over and do things the Three20 way was steep. I started a whole new project and slowly added back functionality in the new project until it did everything the old version did, and more. There was one day when I couldn't get a table to refresh after it's data source changed that I almost gave up! (Turns out you have to call showModel:YES.) But Three20 is amazing and I'd like to publically thank Joe Hewitt for providing it. In fact, it really should be part of the base SDK from Apple. Why build an iPhone app without it?

by Andrew Arrow on October 20, 2009

Cognitive Behavioral Therapy (CBT) "is a psychotherapeutic approach that aims to solve problems concerning dysfunctional emotions, behaviors and cognitions through a goal-oriented, systematic procedure." In other words, you write down your thoughts and train your brain to think differently.

I wrote an iPhone app to make it easy to do this. CBTReferee is available in the app store and Swan1019 has given it a great review.

canvas green
canvas