Wednesday, November 14, 2012

Boston Startup Weekend


I just attended Boston's Startup Weekend and I had a great time. This was my first Startup Weekend and I had no idea what I was getting into. I talked with Darius Kazemi from Bocoup just to make sure it would be fun - that was my 'must be' criteria.

My first goal was to pick my team: I listened to the 80 or so pitches and was texting a friend and my wife to see what they thought. I heard a few cool ideas but wanted to pick something I had half a chance of coding in the weekend. I was deciding between an app that orders beers at a bar or a website that located film sites and movie stars (perfect for tourists and movie lovers). As I mentioned, the goal was to have fun and of course, explore cool ideas.

The bar idea was swimming in people - lots of them. They also wanted to work in Cambridge - I wanted to fight for Boston. The movie guys said they would move to Boston for me - so the deal was sealed (how could you say no to that?). We also had some good experience on the team, a UI/UX guy from Amazon and a product manager from a medical software company (that knew enough javascript to be dangerous). The business guys were great also. We had a hedge fund VP, private equity analyst, marketer and chip manufacturing manager. We also had Ollie (but the team didn't know that yet), my dog.

We then worked until midnight laying out the plans for Saturday. I tried to get the free domain promised by a sponsor and organized a power strip for everyone's computer (I just can't help being the IT guy).

Next day was an 8am start at Bocoup. We met for breakfast and then I offered the Pubget offices for a quieter work environment (10 teams working on crazy ideas is far from tranquil). Our team had some of the provided breakfast and we then moved to Pubget where Ollie greeted everyone in typical miniature schnauzer style - jumping out of his skin he was so glad to meet everyone.

The business guys starting talking about the pitch and three of us started the plan to build the app. I now know that an app is not needed for StartupWeekend, but I would go mental spending 54 hours building a PPT deck with nothing functional. I was also curious how much we could get done in the time allowed.

The technology plan was to only commit to a few very easy features and make them possible to demo. The original ask was for finding where movie stars will be, but that meant crawling blogs and unstructured sources. This was a non-starter for a weekend project - we needed to populate the database fast. So we agreed to just demo the historical part - where films had been shot across the USA.

After a little bit of searching we found three services that do this and allowed crawling in their robots.txt file. Then within a few hours, I had written the code and imported over 4,300 scenes with a large amount of duplications. While I did this, our newly appointed javascript guru (Anthony) was getting a google maps key and figuring out how to display map points on a page and link to imdb, street view and some other cool things we actually had to cut for the demo.

After getting the data loaded, I wrote a JSON API using Ruby on Rails 3.2 (the latest version). The API was designed to be used by the javascript which powered the maps display. I also added facebook and google login via omniauth.

The next feature was to write a photo uploading page to let people checkin and share their photo at the scene. I started to use paperclip but switched to carrier wave as it seemed easier to use S3.

I then needed moved the html static pages Anthony had been working on into views and showed him how to edit these and use github to commit and push. To support the collaborative development, I used circle-ci to run the tests on each commit and then deploy if the tests passed (continuous integration and deployment).

The app was deployed to two existing instances I have running on EC2 in different AZs (availability zones) running apache and passenger (old school I know, butI have not moved to unicorn on those machines). This is behind an ELB and the domain was registered and running in Route 53. The database was also in RDS. Did I mention we had an amazon employee on the team? I was already a fan, and couldn't resist using as much as I could from their stack.

I also hooked up google analytics and intercom.io just in case people started to use it and we wanted a CRM. After an 8am start and a midnight end, anything was possible.

The UI/UX was finished around 8pm on Saturday, while this backend was  still being developed. At that time we realized we really did not have the HTML/CSS/JS skills to implement the UI. However, we had so much functioning (facebook, photos, maps, street view, api, crawling, etc) it would be a pity not to demo that. The pitch was a strict 4 min - so we could not do everything. We decided to switch from static mockups and work on the live site instead.

We worked solidly through to midnight (visiting Bocoup across the street for dinner). We agreed to return to Pubget on Sunday at 8am. The pitch practice was at 11am so we didn't have much time. The final hours were spent on the checkin pages, street view and a simple login home page. We also created a static home page of what an iPhone app could look like. The site mostly works on the iPhone but we decided very early on coding an iOS app was in none of our skill sets.

I ran through the demo a few times as practice. I also noticed that the room had two screens so could handle two computers. We decided to use one screen for the deck and one for the demo. This would allow us to maximize the 4 minutes and not have to fuss about switching from PowerPoint to Chrome.

Having said that, none of this prepared me very well for the demo. The Google maps locked up half way through the demo while scrolling. I was not able to demo the photo upload and facebook features at all. I let the team down and felt horrible - I really feel for everyone that has a demo hiccup and there is no chance to recover. The timer was not stopping so we moved on to the business side of the talk.

I later googled this and found it happens when you scroll off the screen and the javascript does not know if you are still scrolling or not. The fix for this is to click outside of the map and then back in. However, when my screen resized down from retina display to video projector resolution I had nothing else on the page to click - so I was just stuck clicking around and nothing working. 

Despite the demo fail, the business side still managed to impress the judges with their research and quickly gained knowledge of the tourism industry. We placed 3rd! Ollie also appreciated the walk when some of the team hit the streets to interview tourists nearby at the Boston tea party museum. Ultimately, I had a really great time doing what I love to do, building software!

A big thanks to my hardworking team and of course the volunteers/organizers at the startup weekend. 

I'd highly recommend a Startup Weekend for anyone interesting in startups. It was definitely fun, fast and best of all - inspiring!

If you would like to see the app, click here to see ontheset.co.

Monday, October 08, 2012

Support a charity or local cause with your 'data exhaust'.

The NYT has an interesting article about a startup that is turning your 'data exhaust' into money that you can use for charity. The company is called Enliken - they collect anonymized web statistics on your behalf and let you decide where the money from this goes.

It is a really neat idea to allow users to decide what to do with and how to profit from their data.  Rather than fight the data collection (which is going to happen in some form or another), it seems much smarter to consciously allow it to be collected in a safe way and then direct the profits towards causes you feel are deserving.

If you would like to start earning money for a local cause or charity, check them out!

Wednesday, June 06, 2012

Qantas joke applied to bug reports

Far too often, I see bug reports or issues opened without enough information to solve the problem. It always reminds me of this old Qantas joke about pilot and engineer exchanges around problems with air craft. It always pays to think about bug reports from the reader as well as the author's point of view. When you are filling out the report, the bug seems as plain as day. You can see it right there in front of you and apart from pointing, you probably don't see the value in writing anything. However, the problem with this, is that the engineer is not sitting there with you and so will only have what you write to reproduce the problem.
  • Pilots: Left inside main tire almost needs replacement.
    Engineers: Almost replaced left inside main tire.
  • Pilots: Something loose in cockpit.
    Engineers: Something tightened in cockpit.
  • Pilots: Dead bugs on windshield.
    Engineers: Live bugs on back-order.
  • Pilots: Autopilot in altitude-hold mode produces a 200 feet per minute descent.
    Engineers: Cannot reproduce problem on ground.
  • Pilots: Evidence of leak on right main landing gear.
    Engineers: Evidence removed.
  • Pilots: Friction locks cause throttle levers to stick.
    Engineers: That's what they're for.
  • Pilots: Suspected crack in windshield.
    Engineers: Suspect you're right.
In these exchanges, you can see how both the pilot and engineers are 100% correct but are clearly missing each other.
When you write a bug report, please take the time to see if you can give clear steps to reproduce the problem. If you can back out of the screen or page you are on, and see if you can follow the steps to see the problem (screenshots can really help here also), this is even better.
If an engineer has taken the time to write software, they want people to use it and hate if it has bugs. I really like users that want to complain - they are the best type of users because they care and want the software to work.
If you take this extra time to explain and show the steps to reproduce the problem, it really helps the engineer who gets assigned the problem. Also, if the bug cannot be reproduced, there is no way an engineer can fix the problem. At best, you will get a polite response that will sound a lot like one of these Qantas jokes.

Saturday, June 11, 2011

My technical tips have moved

I am moving the odd technical tips that I post over to the Pubget Tech blog.

My first is about installing the MySQL gem on the latest OSX software and hardware.

So please check it out and add it to your RSS feeds. It will be worth it - thanks.

Wednesday, March 31, 2010

New journal available at Pubget

The April 1st inaugural issue of the Journal of Human Curiosity is available at Pubget.


UPDATE: Thanks all who enjoyed this April fools joke. You can see this still at http://pubget.com/search?q=ncbirofl%3Apapers.

Friday, January 15, 2010

Enjoying skiing

Taking a little vacation in Telluride, CO - it is a really nice place if you plan to visit.

Friday, December 11, 2009

Jackcards vs. Hallmark

I received my holiday reminder from Jackcards and Hallmark today. It is amazing the difference between the emails. Jackcards.com does it so much better!



Jack Cards - your doing it right!

Sunday, November 22, 2009

Pubget team in Horse Shoe Bay, Peel Island


We took a trip out to Peel Island this weekend. The trip to Australia is going very well and everyone is having a great time.

Wednesday, October 28, 2009

DeepDyve - Charging $0.99 for Free Content?

From: DeepDyve - Charging $0.99 for Free Content?

...it seems like a lot of DeepDyve's content is free, yet it charges for access to some of it. Take for example an article from the Journal of Leukocyte Biology...

Thursday, October 22, 2009

Tuesday, September 08, 2009

Sunday, August 23, 2009

Added search Pubget directly from my blog

If you want to try a search on Pubget, you can right from here now. Also, if you want to add the code to your blog or libguide, please feel free!


<!-- Search Pubget -->
<center>
<form action="http://pubget.com/search" method="GET">
<input value="UTF-8" name="ie" type="hidden">
<input value="UTF-8" name="oe" type="hidden">
<table bgcolor="#FFFFFF"><tr><td>
<a href="http://pubget.com/">
<img alt="Pubget" src="http://assets0.pubget.com/images/powered_by_pubget.gif"
border="0" align="absmiddle"/ /></a>
<input maxlength="255" value="" name="q" size="25" type="text">
<input value="Pubget Search" name="btnG" type="submit">
</td></tr></table>
</form>
</center>
<!-- Search Pubget -->

Wednesday, July 22, 2009

New Wet Lab Wiki up at MIT

There is a new science focused wiki available here:

OpenWetWare

It is a place for Wet Lab researchers to host and share information. It also provides some easy linking methods to Papers through Pubget.

Friday, July 10, 2009

I like coffee

Caffeine Reverses Cognitive Impairment and Decreases Brain Amyloid-beta Levels in Aged Alzheimer's Disease Mice. From a new paper published: J Alzheimers Dis 17(3):661-80 (2009)
...We have recently shown that Alzheimer's disease (AD) transgenic mice given a moderate level of caffeine intake (the human equivalent of 5 cups of coffee per day) are protected from development of otherwise certain cognitive impairment and have decreased hippocampal amyloid-beta (Abeta) levels due to suppression of both beta-secretase (BACE1) and presenilin 1 (PS1)/gamma-secretase expression.

Thursday, July 02, 2009

Setup of MySql on OSX for Rails

You would think this would be as easy as "sudo gem install mysql" but it is not. After installing the MySql community server, you need to install via this command:

sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

After that, you will be in business.

Tuesday, April 28, 2009

Real Companies Have Espresso Machines


Pubget just installed its first espresso machines. Matt, Chris, Ryan, Ramy and I will now have an endless supply of high quality espresso to keep us going.

Tuesday, April 07, 2009

Pubget is a Featured Resource at UCSF

Pubget is now a "Featured Resource" on the UCSF Library Page.
Thanks to all that have sat in on the meetings and worked with us at UCSF.

Sunday, March 22, 2009

The only way to search domains

I have been using Bust A Name to search domains for a while.
It allows you to play with meaningful words to your business to try and put them into a .com or other domain.

Tuesday, March 03, 2009

Download all papers from Firefox within Pubget

We have just put up a new Firefox extension to allow downloading all PDFs for offline use.

http://pubget.com/pubget.xpi




To use this you need:

1. Pubget account (which is free);
2. Firefox (we have tested both OSX and Windows); and optionally
3. University or Hospital Library Access support by Pubget to get access to Journals.

Pubget via Google Reader

This is a quick way to subscribe to a number of journals and keep updated on all the latest research in your area.

Not only are you kept up to date, but also connected directly to the full text paper through your university library.