
I am really excited about the release of PrepHub. This release is a public beta with no limits, just be wary there may still be some crud around the edges.
PrepHub is a place where test questions can be shared, and people can improve their test scores in a collaborative environment. Currently the site is focused on providing users with a ton of community driven practice questions. As the site matures we plan on adding many more collaborative features.
Below is some of the awesomeness of PrepHub:- Tons of SAT and GMAT questions (LSAT coming). More added everyday by users like you.
- Realtime statistics on your strengths and weaknesses.
- The ability to track your improvement over time.
- Comments from users for tricks on answering questions
- Ability to favorite questions so you can come back later.
- Take quizzes only selecting certain sections you wish to practice on.
- More on the way!
I think PrepHub is going to be a great site, but it can only happen with participation from its users. Let the collaboration begin.
So I spent the last couple of hours moving AlarmTube from a Rails application to one that is host by Google App Engine (GAE).
I did this for two reasons:
1) To play with Google App Engine
2) Can’t tell you. Hopefully will announce next week.
GAE makes a lot less choices for you then RoR, thus taking a little longer to set up your application infrastructure. I am sure it won’t be long before someone puts together a web framework that makes GAE simpler to setup. Simply creating some scaffolding would help a lot. Now AlarmTube does not need to scale, but if it did I here GAE would be kick ass. GAE is also free so it really lowers the barrier to enter the web world.
Those are my thoughts on Google App Engine, it will be interesting to see how the big guys in the web world respond to this complete development environment (cloud) that Google has set up. Amazon has the closest thing to what Google has setup, they just need to integrate their disparate services.
Sometime ago I created a simple YouTube Alarm Clock mashup called AlarmTube
Well I just did a google search for AlarmTube and some other site (I will not give them the satisfaction of linking to them) stole the idea and the name. The real AlarmTube is a lot more sweet, but I am pretty pissed this guy didn’t do a little more homework.
There is obviously room on the internet for competition, but it is annoying when someone just rips your idea. I certainly did not copyright the name AlarmTube, as there is not enough money in YouTube Alarm Clock mashups (suprising huh).
Long live the real AlarmTube and F* U Fake AlarmTube.

Ever heard of Randy Newsom? Probably not!
He is a 25 year old minor league relief pitcher for the Cleveland Indians, and for $20 dollars you can get a piece of his future income.
RSI is currently offering 4% of his future major league salary at the price of $50,000. RSI is selling shares of Randy Newsom for $20/Share. 2,500 total shares will be sold.
What it basically comes down to, is for every share sold you get 16 dollars for every million Randy makes. I see both the positive and negative in this new style of sports investing.
The positive being this money will provide Randy with more money and probably more time in the minor leagues, giving him a better shot of making it to the pro’s.
On the flip side you can see this going down hill quickly with people making large bets in young kids. Giving them too much money before they made it to the pros and having to put the interests of their shareholders above their own.
It will be interesting to watch if this tactic becomes more prevalent, but good luck to Randy.
Peruse the chart before reading this article.
My girlfriend has me skimming the New York Times as she is addicted to it, so naturally I must follow suit.
Today I came across the following op-ed You Are What You Spend by W. MICHAEL COX and RICHARD ALM and it really struck a chord with my beliefs on this often pointed to statistic.
The statistic will be sighted every which was this campaign season.
You get the idea.
But it misses the point, as the New York Time Op-Ed article astutely states.
Looking at a far more direct measure of American families’ economic status — household consumption — indicates that the gap between rich and poor is far less than most assume, and that the abstract, income-based way in which we measure the so-called poverty rate no longer applies to our society.
There is no denying that there is a large gap between the rich and the poor and that, that gap is increasing. But how is that gap effecting consumption. The answer that compared to the income gap the consumption gap is a mere 2:1 per person. Furthermore technological advances, drive prices of goods down and allow even those in the lower income brackets to consume goods that were once reserved for the rich. (See graph for consumption uptake)
Next time you here this statistic, take the time to understand it. I know it sounds frightening, but thats statistics.
What would be interesting to look at is how that number has varied over time, is the ratio of consumption per person between the rich and the poor increasing?
I gave my girlfriend Spice Girls tickets for Christmas. Last night I accompanied my girlfriend and 2 of her women friends to a sold out TD Banknorth Arena.
Enough back story, here are the 5 things I learned last night and every straight male should know before attending a spice girls concert.
- No lines! Seriously you can get a beer faster at this show then you could at a Boston Bruins game.
- No lines! The bathroom is empty.
- Excellent unintentional comedy. Watching mothers dance while their teenage daughter is mortified, always a funny site.
- When the Spice Girls cover “Its Raining Men” go get a snack.
- If you are older then thirty, don’t go! If you do… you will be profiled as a pedophile.
Well I haven’t given this project much love lately. I took a little time out this weekend and stabilized it (a little) and added the much needed feature of specifying the database url and port.
It is still missing lots of features, (all files and views are still readonly) but i would rather release it then sit on it.
You can download it at CouchFS download page.
For those who don’t know…
CouchFS is a MacFUSE file system that allows you access to CouchDB databases and files. Using CouchFS will allow you to mount your CouchDB system and edit/browse CouchDB files like any typical file on your OS X file system.

The internet has lowered the barrier to entry into many fields. Amateur writer/reporters can blog, amateur singers and movie makers can post to youtube, often achieving success inline with the “pro’s”. I for one see this as natural progress though much of the establishment media is often threatened, and denigrate online talent.
This movement of amateurs could be creeping into the investment world. SocialPicks has recently received a round of funding from Bay Partners. SocialPicks offers a forum for amateur investors to show off their analysis and investment skills.
As we are finding out more and more, experts most of the time, are not so expert (see Black Swan by Nassim Nicholas Taleb). And aggregated crowds are often smarter than individuals most of the time (Wisdom of Crowds by James Surowiecki). This includes highly paid Wall Street analysts.
SocialPicks looks to let amateurs compare their performance against the Pro’s, often showing that such “gurus” as Jim Cramer are not the people you should be taking investment advice from. In addition SocialPicks aggregates the information about stocks giving an overview of how the crowd feels about a given investment.

The Internet has developed under a “philosophy of free”. Watching Chris Anderson Talk at Nokia has only reaffirmed my belief that to succeed on a large scale in this digital era, Free is the key.
The internet and traditional phone companies are headed for a clash. Ribbit may be the first company to lead the charge in changing the telephony landscape, making it accessible to any developer. Their API offering is extremely interesting, allowing any developer to use their telephony backbone, see their demo for some nifty stuff.
But as All Thing D Article writer John Paczkowski points out
”.. how’s the company going to make money? Ribbit says it plans to charge for services like calls to traditional landlines, voice-mail transcriptions and billing…. Being able to use text-to-speech transcription services and archive voice calls are many of the features that consumers have shown interest in over the years. However, whether or not they’re willing to pay for these features is going to be the big question.”
I know that I am barely willing to pay for my phone calls, especially knowing the cost of a phone call is diving toward zero. Archiving my voice calls would be great, but if Google got in this game I know that they would do it for ZERO. So I am wondering, where is the advertising opportunity in this venture.

A colleague of mine never commutes if there is a threat of a snowstorm, instead choosing to work from home. It often brings him a little ** busting, but as of today I am instituting the potential blizzard rule in my life.
It took me almost 5 hours to get home from work today. A drive that usually take 40 minutes. FIVE FREAKIN HOURS. So next potential blizzard it is going to be just me and my laptop.

Instead of doing something somewhat necessary in my life. I was so intrigued by Fuse in general and MacFuse in particular, I rolled up CouchDB into a MacFuse filesystem.
Friday I saw Amit Singh’s Google Tech Talk on MacFuse and it was really fascinating. He not only showed off MacFuse but went into the history of filesystems.
The MacFuse code comes with a couple example applications, but they are written in Objective-C, so instead of looking for a language that I understand I decided to learn Objective-C. Long story short MacFuse makes it really easy to make your own filesystem.
CouchFS is still very raw (mainly because my understanding of Objective-C is minimal) so I don’t have an app ready to distribute. But the source is available on CouchFS google code page. Patches/Help are encouraged. Hopefully I will have an app ready next week.
After a thanksgiving weekend of traveling in which I had connecting flights both to Florida and back to Boston. I wish I had known about a website called flightwait.com earlier. This site is a google maps mashup, that shows you where the flight delays are.

It might have eased my flying mind, though I bet it probably would have made me more anxious.
It is the old philosophical question, is ignorance really bliss? Such speculation leads nicely into me to my next to blog post, would you pay to have your genome decoded?
I have finally gotten around to making my own Mephisto theme for this website. This site needed a little face lift, and I think it turned out very nicely. Enjoy!
I am obsessed with Google Adsense. I waste a ton of time looking at my daily page impressions, click through percentage and earnings. Well I found a way to scrape that data to my desktop.
Thanks to schadenfreude for the basics of this idea.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
require 'rubygems' require 'mechanize' agent = WWW::Mechanize.new # Adsense's login form is included in an iframe so we will need to use the iframe url instead of http://www.google.com/adsense page = agent.get 'https://www.google.com/accounts/ServiceLoginBox?service=adsense&ltmpl=login&ifr=true&rm=hide&fpui=3&nui=15&alwf=true&passive=true&continue=https%3A%2F%2Fwww.google.com%2Fadsense%2Flogin-box-gaiaauth&followup=https%3A%2F%2Fwww.google.com%2Fadsense%2Flogin-box-gaiaauth&hl=en_US' # The login form isnt named but it is the first and only form on the page,.. lets get it. form = page.forms.first # Fill out the form with your credentials and submit form.Email = 'username' form.Passwd = 'password' page = agent.submit form # This is the tricky part as we get bounced around with some javascript redirects. # Simply follow the url. It is not dynamic, no session ids, etc so just hard code it, should never change. page = agent.get 'https://www.google.com/accounts/CheckCookie?continue=https%3A%2F%2Fwww.google.com%2Fadsense%2Flogin-box-gaiaauth&followup=https%3A%2F%2Fwww.google.com%2Fadsense%2Flogin-box-gaiaauth&service=adsense&hl=en_US&chtml=LoginDoneHtml' # We are now logged in and can go to any adsense page we with page = agent.get 'https://www.google.com/adsense/report/overview' |
Now you just have to scrape the page using hpricot to get the metrics you are interested in.
Combine that with geektool and now you have realtime Adsense updates straight to your desktop.
Note: Because of the way google handles adsense data, you often get inconsistent results. One second you may have 100 page views the next login you may have 50. Trust the higher number as I assume there is just a lag in adsense data being replicated on the database servers.
For those of you who have upgraded to OS X Leopard and tried to use RubyInline. You might have been greeted with lots of Compliation Errors.
Well after a couple hours of googling, i found the solutions here.
Turns out Ruby built on Leopard is built without the compilation flag saying ignore missing symbols when linking.
The temporary hack to fix it, is to go into the RubyInline gem directory and find lib/inline.rb file and change the line that looks like this
flags = @flags.join(' ') |
to this
flags = @flags.join(' ') + ' -lruby' |
Now everything should work. Hopefully the next RubyInline version will fix this problem, so I don’t have to hack it again.
