What happens when you give 4chan images of the Boston Marathon?

basedheisenberg:

They might actually find the guys responsible.

Post Bombing:

image

Pictures dug up from the same spot as the blast:

image

Posted on Al jazeera:

image

(more) new projects + learning PHP

I’ve been working on 82.io and capper’s lounge and am now digging into the code from my rakeback sites, which I spent six figures having built without knowing how to write a line of HTML. Oh man I wish I had learned to code sooner!

Capper’s lounge and the rakeback sites were built using PHP so I’m learning that, I guess I’ll finally be able to fully understand why the new school hates it. So far it doesn’t seem all that different from Python and Ruby, except for the fact that putting it on the web is brutally simple and you don’t have to spend countless hours dealing with dev environment BS.

New project(s)

I have a bunch of really good keyword domains that I’ve been sitting on for several years. Some of them just begging to get developed as they have built-in search engine traffic. So I’m going to start building them out using Bootstrap and sharpening my design skills in the process.

First up: browser market share

I started with stock Bootstrap, built all of the pages by hand instead of using Rails, violating DRY about every 30 seconds in the process. I thought that would actually take less time than doing it with Rails or Django once fixing bugs and environment issues was accounted for. 

The content I took from Quora and I’m pretty sure I’m abiding by their license with. The market share graphs came from statcounter. 

Next up is making it look sexy. 

Once I get from page 2 to page 1 in Google and get some traffic I’ll start investigating monetization options. Should be a fairly simple task to get it producing at least $100 a month. 

Then I’ll rinse and repeat, hopefully doing it quicker next time. I have at least 20 good domains I can do this with. 

In building a product, I’ve always thought that “consider doing some things that don’t scale” is pretty good advice: manually add content, go visit your early users in person, review all the contributions by hand, etc. Figuring out how to eliminate the unscalable parts as you grow is much easier than trying to design the scalable solution from scratch.

via Stripe cofounder Patrick Collison on Quora.

My takeaways from Startup School

I originally posted this on Quora in response to a question about the key takaways from Startup School.

The single biggest takeaway for me was that nearly all of the founders released their products and nobody initially used or cared about them. We all know ‘there is no such thing as an overnight success’ but this hit home in a very visceral way hearing their stories. Above all else, I think these founders are where they are today because they are relentless.

Some tidbits I found particularly interesting:

Mark Zuckerberg

After Harvard, Facebook specifically chose schools to expand to that already had existing on campus social networks, to prove the idea/product was good enough to be worth pursuing. 

He was a Psychology major at Harvard. 

Patrick Collison

Instant messaging w/ an engineer = best support ever

Anytime they get an error they fix it immediately no matter what, even if it means getting out of bed etc to do so (key people are immediately emailed/phoned etc)

Ben Horowitz

Paraphrasing:  A person who can naturally articulate a vision and get other people to follow them can learn the rest of what it takes to be a great CEO on the job. A person who cannot naturally do these things probably wont make a good CEO.

Tom Preston-Werner 

A big problem with open source is a lack of designers and focus on design (my takeaway: useful information for designers looking to make a name for themselves)

“Choose something small you can actually solve” then conquer the World later.

Ron Conway

Thinks the internet is still in its infancy, particularly ecommerce (Ben Horowitz said something very similar about innovation in general)

Evidently isn’t aware that PageRank was named after Larry Page and does not mean the rank of a webpage. Also seemed to think the audience would be extremely impressed that he is close to Shawn Fanning. Many other awkward moments. Ya…

There is an office called ‘the lucky office’ that was home to Google, then PayPal, then the company that became Android (and it seems Shazam as of last year)


Joel Spolsky

Hyper growth companies have a tiny chance of getting to $10 billion revenue. Organic growth companies have a very strong chance of getting to $10 million revenue. There are a very small number of $10 billion companies in the World - there are millions of companies built organically. Failing to decide which your company is going to be will kill it.

Thinks sites like support.apple.com and forums are stackexchanges’s competitors. Did not mention or even allude to the existence of Quora (I don’t know exactly why he did this, but I found it very interesting)

Unknown attribution:

“start out making 100 people really happy” instead of making a whole bunch more people think your product is mediocre 

“ship when you have one great thing” and not before, no matter how long thattakes.

How to make will_paginate work with Bootstrap

If you’re using the will_paginate Rails gem to add pagination and also using Twitter Bootstrap, you’re probably ending up with some really ugly pagination links that you can’t figure out how to style.

After several hours attempting various solutions I finally discovered a very simple way to fix this. Add the following to the code where you call will_paginate:

:class => ‘class_name’

For example my code was previously:

<%= will_paginate @apps %>

And I modified it to be:

<%= will_paginate @apps, :class => ‘pager’ %>

This changed the CSS class of the will_paginate pagination to the Bootstrap class ‘pager’ and styled it accordingly. You can change this class to whatever you like and style it how you want to, using Bootstrap classes or not. 

Hopefully you’ve found this post before pouring as much time into solving the problem as I did.

github/heroku hack to avoid merge conflicts

If you want what is on your local machine to be the latest github version and don’t care about any merge conflicts:

$ git push -f

If you want what is on github or heroku to replace what is on your local machine and don’t care about merge conflicts:

$ git fetch —all

$ git reset —hard origin/dev

These are not good long term solutions and if you have any changes you want on github in the first example or locally in the second, you will lose them. But this gets around the annoying merge conflicts errors that prevent pushing and pulling if you don’t understand git well enough to solve them.

What I’ve been building

So I’ve been working my ass off learning Ruby on Rails and I’ve completed my first project fit for human consumption (I think). Well, completed is probably the wrong word - but I have a working demo ready.

theplayr

It’s basically a reddit/digg for poker. Or more accurately, a Hacker News for poker, as HN has a much better signal to noise ratio, a really simple design and user interface along with a very high quality of content, all of which I’m aiming for.

I originally bought this site from Gus Hansen in 2009. It was his training site, blog, community etc. After pouring over $100k into it trying to turn it into the next PokerNews, I threw in the towel and did nothing with it until a few months ago when I started thinking about pumping some new life into it. 

The site has over 100,000 members and still has great name recognition in Denmark and in the poker community in general, it just needs something to make it stand out from the crowd, something to give the users a reason to come back and care about the site.

I think this is it. There are a ton of different sites/blog/forums etc all producing great poker content but there still isn’t a great place to go and find out what is going on in poker right now. Each site has its own interests and biases and rules about what kind of content they’ll allow. NVG is about the closest thing to what I’m trying to create, but they have really strict rules about the types of content that can be submitted. Most notably: they don’t allow people to submit links to their own sites or even sites they are affiliated with. That’s a bummer. Some of the very best content on Hacker News is submitted by the person who wrote it. That distribution channel motivates people to make excellent blog posts. 

I can understand why 2+2 wouldn’t allow that type of content, because if they did NVG would just turn into a huge spam farm. But a site that allows upvoting of great content instantly fixes that problem. People can spam crap on ThePlayr sure but none of it will make it to the top because people wont upvote it unless it’s awesome. 

So check it out and let me know what you think. 

Creating a Rails app w/ scaffolding

If you’ve never done this before, you should start with a Rails tutorial. This assumes you’ve done the following steps before, you just don’t remember their order perfectly.

Note: the ‘mate’ command opens the file in TextMate, the text editor I use. 

$ rails new nameOfApp

$ cd nameOfApp

$ rake db:create

$ rails server

go to http://localhost:3000/ - verify it worked

$ rails generate controller home index

$ rm public/index.html

$ mate  config/routes.rb

uncomment ‘root :to’ and set to ‘home#index’

$ rails generate scaffold Post name:string title:string content:text 

$ rake db:migrate

$ mate app/models/post.rb

add validation below ‘attr_accessible :name, :title, :content’

$ mate app/controllers/posts_controller.rb

Controller

$ mate app/views/posts/index.html.erb

View

—-

Second Model

$ rails generate model Comment commenter:string body:text post:references

$ rake db:migrate

$ mate app/models/post.rb

add ‘has_many :comments’

$ mate app/config/routes.rb

add do

  resources :comments

$ rails generate controller Comments

Optional: refactoring, security, multi-model forms, helpers

Installing Rails: binary rubies dependencies

I kept getting this error message trying to setup Rails on my home iMac:

Building native extensions.  This could take a while…

ERROR:  Error installing rails:

ERROR: Failed to build gem native extension.

        /Users/wilfra/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb

creating Makefile

make

compiling generator.c

linking shared-object json/ext/generator.bundle

<b>ld: warning: directory not found for option ‘-L/Users/mpapis/.rvm/rubies/ruby-1.9.3-p194/lib’

ld: warning: directory not found for option ‘-L/Users/mpapis/.rvm/usr/lib’<b>

ld: warning: directory not found for option ‘-L/opt/sm/pkg/active/lib’

ld: library not found for -lruby.1.9.1

collect2: ld returned 1 exit status

make: *** [generator.bundle] Error 1

Notice Users/mpapis/ - I found that quite odd. That isn’t me. My endless Googling and searching of stackoverflow led me to the #rvm IRC channel. As luck would have it, mpapis was there. This is what he told me to do - and I had Rails installed less than five minutes later:

<@mpapis> as you see my user name appears there, this error is because of binary rubies dependencies

<@mpapis> to avoid this particular error run: rvm reinstall 1.9.3 —disable-binary
<@mpapis> and then you can: rvm use 1.9.3; gem install rails
<@mpapis> make sure to read “rvm requirements” first

So if you’re having the same error message, just run:

$ rvm reinstall 1.9.3 —disable-binary

$ rvm use 1.9.3

$ gem install rails

That worked for me. Also note I did not run

$ sudo gem install rails

even though that is what rails —version was telling me to do. mpapis (and others in #rvm) said that is incorrect.

This is what a huge accomplishment looks like when you’re learning to code

This is my first deployed Heroku app. It represents a pretty massive milestone in my quest to become a developer.

 

It doesn’t look like much but under the hood there is a whole lot of muscle - at least compared to anything else I’ve ever built.

It’s a Ruby on Rails app with a PostgreSQL database. There is a system for signing up, logging in and out, adding content, voting and commenting on that content and a feed. 

I wish I could take credit for all of that functionality but alas, I’ve had a lot of help. I should probably get permission before I out my co-conspirator, but needless to say, he’s a far better programmer than I am.

Stay tuned if you have any interest in learning about what this is going to be :)

How to find pg_hba.conf on OS X

Another problem I struggled for hours to solve that would have taken 15 seconds had I been able to travel into the future and read this blog post:

To find pg_hba.conf on OS X paste the following into the terminal:

$ open /usr/local/var/postgres

This will open the postgres directory (I couldn’t find it after searching my harddrive and Google for ages, but putting that into the terminal opened it).

Within that directory you will see the file pg_hba.conf - just right click it and open in a text editor and you’ll be able to edit it. 

I also ran into an issue here where I was running an old version of postgres and a new version at the same time. That was solved with this answer on stackoverflow.

Command to manually start postgresql server

I keep having trouble finding this command to start a postgresql server, so I’m pasting it here for future reference and for anybody else who (like me) might end up Googling it and coming up empty:

Just copy paste this into the terminal to start the server:

$ pg_ctl -D /usr/local/var/postgres -l logfile start

We are in a mobile bubble

Billion dollar price tags on companies that have no clue how they will make money and people screaming that life as we know it will never be the same. Sound familiar? It’s 1999 all over again. This time, the bubble is mobile. 

Just like last time around, when the music stops and the fat is trimmed, a lot of companies are going to go out of business or be acquired for pennies on the dollar  - and a few companies who had real business models will be left standing. They’ll also be worth a lot less, but will go about changing the World in a much more realistic and rational manner than people thought. 

Wall Street has figured this out, but Venture Capitalists and the tech press still don’t see the light, blinded by greed and the euphoria of the moment. Or perhaps they do know, and just want to make as much money as possible before it’s over, and leave somebody else holding the bag.

Baby Steps

I’m making solid progress in my quest to become a developer. I’ve been studying Python and Django pretty hard lately. I’m pivoting Zujo.com into a ‘Yelp for apps and websites’ (it was previously a platform for monetizing high traffic domains and websites). I have no idea if that’s a good idea or not and don’t really care, it’ll be a great project to learn Python and Django. 

In planning for that project I got to thinking about a mini-site I’ve neglected for a couple of years: Starbucks Locations. I bought it from somebody else, it’s just a simple search box that you enter a city into and it returns Starbucks locations. It always ranked fairly well in the search engines and did decent with AdSense so I didn’t mess with it. But some spammer hacked my Dreamhost server last year and put a bunch of malware on it and Google flagged it as a malicious site and de-indexed it. The malicious code has long been removed and I moved it to Bluehost but Google doesn’t seem to care. Where I was #1-3 on page 1 for a long time, now I can’t even find the site on the first 10 pages.

So time to get to work getting it back on page 1. I thought I’d try to improve the site in the process. This is what I started with:

That was literally the entire website. Once you entered a city the listings showed up in that same box. 

Over the course of two days I:

-Moved it to Bootstrap so I can easily add lots of CSS/JavaScript features

-Added the Bootstrap navbar

-Added a blog (Tumblr)

-Added an About and Contact page (these both suck right now, but it’s content)

-Paid $20 for a PHP dev from India to make some PHP changes that I didn’t know how to do (dynamically generating URL’s for each city + SEO friendly URLS, and adding all of that to the left sidebar categorized by State > City

-Changed to Bootstrap search box and button

-Started unwinding the terrible table layout this was built with and moving to CSS

-Spent way too many hours figuring out simple styling things

If all goes well I’ll surely look back at this post in a few years and laugh at what a total noob I was - but for today, I’m proud of what I’ve built :)