Blog

  • Should You Follow Your Frenemies?

    tl;dr – No, waste of time.

    Let’s face it. The world is a cruel place, and there are far more awful people than awesome people.

    This is one of those first world problems, and my solution for it. Should you follow your frenemies?

    A frenemy is someone that is your “friend” in social networks but in real life is out to get you. They “get” you economically or politically but they aren’t out to kill you.

    I used to believe that you should “friend” every one but I soon realized that my on-line presence soon became a node for opportunists to get up a rung higher in the game of status.

    Now, I’m selective. There are lots of folks that will say to you in the face, “Hey, let’s catch up.” Or “let’s do lunch soon.” But they do not really mean it. There are lots of folks that are plain nasty. One person invited me out to lunch just to say that he perceived me as lazy despite working on weekends and at the time having #1 apps for their segment in the Apple Store.

    Anyways, I am un-following these folks. I don’t care about using foursquare to avoid them. I don’t care if they’re talking to my boss. The key here is to stay as light as possible.

  • My Favorite Sound Bytes from the Y Combinator Application How-To

    Next year I definitely want to apply to Y Combinator. It’s simply not fun anymore to look at a bug list and make it smaller. It’s simply not fun to tell people over and over again to use best practices that are already 5 years old.

    Instead, I think it will be more fun to change the world, and maybe in the process do a TED talk called, “How to Defeat Evil.”

    I read the Y Combinator Application How-To.

    Here are my favorite sound bytes:

    ‘Whatever you have to say, give it to us right in the first sentence, in the simplest possible terms.’

    ‘The first question I look at is the 7th, “What is your company going to make?”‘

    “The best answers are the most matter of fact. It’s a mistake to use marketing-speak to make your idea sound more exciting. We’re immune to marketing-speak; to us it’s just noise.”

    “One test of whether you’re explaining your idea effectively is to ask how close the reader is to reproducing it.”

    “One good trick for describing a project concisely is to explain it as a variant of something the audience already knows. It’s like Wikipedia, but within an organization.”

    “If a group of founders seemed impressive enough, I’d fund them with no idea.”

    “The reason a lot of big companies’ software sucks is that they have some kind of natural monopoly.”

    “The best startup ideas are generally outliers that seem crazy to most people initially.”

    “If this wasn’t already clear, we’re not looking for the sort of obedient, middle-of-the-road people that big companies tend to hire. We’re looking for people who like to beat the system.”

    “Investors are optimists.”

    “Most people are threatened by ambition.”

    “Tell investors you’re going to start the next Google and they immediately perk up. They don’t default to skepticism, because they like risky bets.”

  • Definitely Worth Reposting About the Facebook IPO – Infographic

    I saw this on Mashable and got permission to repost this awesome infographic about the Facebook IPO.

    Infographic created by: Accounting Degree Online

  • Oracle Breaks MySql.com’s Search

    If you go to the MySQL web site, and do a search on data type integer, you’ll notice something strange. The first result is a MySQL newsletter from May 2010.

    It wasn’t always like this. A few years ago I blogged about how Sun broke MySQL. Sun went on to claim that MySQL working out of the box was something that was broken with MySQL, even though lots of sysadmins every where relied on this to get servers up and running quickly.

    If you compare the search with what they have on Google, you’ll see that the first result and the many results below are *all* relevant.

    Why do large organizations break what works?

  • Startup Investment in the San Francisco’s 94105 Zip code

    I’ve just moved to San Francisco. It seems that every coder I know is moving back to San Francisco these days. There’s a good reason for it. Thanks to people who want to figure out how to invest 10000 dollars – startup investment in certain neighborhoods has gone up as high as 300% since 2009.

    Katerra

    Founded in 2015 by former Tesla interim CEO Michael Marks, Katerra raised a total of $865mn. The funding was secured exclusively from SoftBank Core’s Vision Fund. The company is based in Menlo Park and specializes in offsite design and construction solutions that are disrupting the US residential construction market. To fuse architecture and design prefabrication techniques into a linear, end-to-end design-build process through offsite ‘constructuring’ of cross-laminated timber, windows, walls and other components scored by its own end-to-end supply chain.

    Let’s take a look at the 94105 zip code in San Francisco.

    Investment in this area since 2005 looks like this (in millions of US dollars):

    A more detailed analysis can be found in this spreadsheet.

    Are you part of a startup looking to move into the 94105? WeWork, which is also in the 94105 and where I’m currently working, has lots of space available. We’re leasing about 5000 square feet at low prices which should accommodate a startup of 50 – 75 people, if you’d like to get started, check this online brokerage.

    Thanks Crunchbase for the raw data.

  • The Most Popular Cat on Instagram Faces Castration

    On Instagram, the wildly popular app, and iPhone app of the year, there’s an account run by Afra. She has a cat named Uncle Liu. Apparently, this awfully cute cat will get castrated unless… well, check out the picture of the cat below and then the note Uncle Liu’s owner left.

    Can you help? It looks like the only way to get in contact is on Instagram.

  • Upgrade Your Rails Facebook App to SSL

    On October 1st of this year, Facebook will be requiring that all apps on Facebook must support HTTPS (SSL).

    I’ve provided a guide below which I’ve used for apps I’ve worked on that are Rails based.

    This guide shows you how to change your Rails Facebook App into an app that supports SSL using Passenger and Apache2.

    Step 1: Get an SSL cert or roll your own.

    Dreamhost.com made it very easy to add an SSL cert for just $15.00 / year.

    I tried out my app out using a locally signed certificate which seemed to work just fine:

    openssl genrsa -des3 -out server.key 2048
    openssl req -new -key server.key -out server.csr
    cp server.key server.key.org
    openssl rsa -in server.key.org -out server.key
    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

    Step 2: Install and compile Apache 2

    Get the latest version of Apache: http://httpd.apache.org/download.cgi.

    Configure and compile Apache:
    ./configure –prefix=/usr/local/apache2 –enable-rewrite –enable-so –enable-ssl
    make && make install

    Step 3: Configure your Rails app

    gem install passenger
    passenger-install-apache2-module

    Step 4: Edit your Apache 2 config files:

    Edit httpd.conf. For example:

    LoadModule fcgid_module modules/mod_fcgid.so
    LoadModule passenger_module /Users/jimbarcelona/.rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.8/ext/apache2/mod_passenger.so
    PassengerRoot /Users/jimbarcelona/.rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.8
    PassengerRuby /Users/jimbarcelona/.rvm/wrappers/ruby-1.9.2-p290/ruby
    
    
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    
    
    Include conf/extra/httpd-vhosts.conf
    Include conf/extra/httpd-ssl.conf
    
    
    IPCCommTimeout 40
    IPCConnectTimeout 10
    
    # TODO: change this to production if you are on production
    DefaultInitEnv RAILS_ENV development
    SocketPath /tmp/fcgidsock
    
    

    Edit extra/httpd-vhosts.conf:

    
      ServerName berkeley.l33tcave.com
      ServerAdmin wwwadmin@berkeley.l33tcave.com
      DocumentRoot /Users/jimbarcelona/rails_apps/github/hipsterhookups.com/public
      ErrorLog /usr/local/apache2/logs/rails_error_log
      RewriteEngine On
      
        AllowOverride All
        Options -MultiViews
      
      RailsEnv development
    
    

    Edit extra/httpd-ssl.conf:

    #   General setup for the virtual host
    DocumentRoot "/Users/jimbarcelona/rails_apps/github/hipsterhookups.com/public"
    ServerName berkeley.l33tcave.com:443
    ServerAdmin you@example.com
    ErrorLog "/usr/local/apache2/logs/error_log"
    TransferLog "/usr/local/apache2/logs/access_log"
    
    # needed for rails
    Options Indexes ExecCGI FollowSymLinks
    RewriteEngine On
    RailsEnv development
    
    
    AddHandler fcgid-script .fcgi
    
      
        AllowOverride All
        Options -MultiViews
      
    

    Be sure to add your SSL certs in the httpd-ssl.conf too!

    Step 5: Start Apache

    # check syntax
    apachectl configtest
    # start apache
    apachectl start

    Step 6: Go to facebook and use https for canvas URLs

  • Low Status and High Status Technologists

    There are many technology companies where the coders are low status. A good example of one is Yahoo. Paul Graham points out that Yahoo tried to spin itself as a media company where flashy sales guys and executives in suits tricked the company out of the importance of technology.

    Coders as low status is the rule in most US companies except for maybe the Silicon Valley.

    What do I mean by low status? Don’t coders make better than average wages? I am not talking about raw capital here. I am talking about social and “track record” capital which are both zero sum games.

    I am talking about who gets invited to social events reserved for elites in a city like Los Angeles and who doesn’t. Very few techies in SoCal are part of that social register. In San Francisco, it’s very different. You can be a techie like Marissa Mayer, and on the red carpet and have people comment on your awesome date or outfit.

    On one side you have a company run by technologists and on the other you have a company run by everyone else.

    Manipulating computers is “easy.” They simply are not as smart as we are. Manipulating people is hard, and actually the best manipulators are the ones who don’t show themselves to be that. When a product is technology, you have to wonder about the folks doing the “hardstuff,” the manipulating of people. Is it really contributing to the product or are they using their gift to create an inequitable, and in the case of Yahoo, profit ruining situation?

    My personal bias is that technologists should rule a company. I’m completely in line with Mark Suster when he writes that the startup that’s most worth funding is all technologists. My reasons for this build upon Mark Suster’s in that you don’t have to “translate things into English.” It’s kind of insulting when I hear the phrase “translate things into English.” It puts the blame on the person on the team most equipped to solve the problem. The person, who wants “things translated into English,” is the problem, not the coder.

    A company where coders do not have to translate into English and just can talk about solving technology problems in order to get the highest ROI possible is the most efficient. Be sure to maintain a good reputation online to attract potential clients. A company specializing in online reputation management for individuals can help in this regard.

    Maybe with such a dynamic it’s no wonder most of the prestigious families in the US still think a career in tech sucks.
    So if you are looking for work as a coder, how do you tell if your work will be considered low status or high status work?

    • Does the CEO have a technical background? If she does, you’re in for some fun and get to call many of the shots in the same way coders at Facebook can.
    • Does the software process *not* rely on rock stars? If one person is the key to fixing many issues, it is a sign of a software process gone awry. This is how Facebook ships code, and it’s worth a critical read.
    • Is there talk of outsourcing?

    Unfortunately, only 1 of the 3 things listed above can be found out during the interview process. If you’re at a company where coding is considered low status, what can you do? Stay tuned for my next blog post.

  • 25 super engaged followers thanks to BestCoworking

    This is a quick plug for the BestCoworking group on Facebook. I got 25 really super engaged and diverse followers in about 1 hour of engaged social media effort. I skipped lunch, and it was worth it!

    I want to thank Stacey Soleil for putting this group together.

  • Setting Up Cucumber and RSpec on Padrino

    This is a quick guide on how to set up Cucumber and RSpec on Padrino.

    I’ve created a simple test app on github that reflects the steps written down here.

    1. Create the app:

    padrino g project todo -t cucumber -d sequel -b

    2. In the Gemfile use rake 0.8.7:

    gem 'rake', "0.8.7"

    3. In features/support/env.rb comment out “require ‘spec/expectations’” so it looks like:

    # require 'spec/expectations'

    At this point ‘cucumber features’ should work and should return a failed test for adding two numbers.

    Also at this point, if you create any models, then bare specs for them will be created in the ‘spec/models’ folder.

    Please feel free to leave questions or comments if you’ve got a different way of setting things up on Padrino.