213: TZ Discussion – Why Elon Musk is Having the Best Week Ever

Justin and Jason discuss Justin’s trip to Ireland and the UK and Rob Walling’s visit to Pasadena, the latest version of the Catalyst IDE and the power of gamification, AppFog’s free plan for Node.jsActivityHero and the potential future of Catalyst Academy, Justin’s thoughts on hiring for experience, how Justin resolved Pluggio’s cascading query problem, Jason’s idea for an Uber prize and scaling Uber’s Node.js-based dispatching system, why you should CallTheseGuys.com if you need a website built, how computer science graduates are the least employable in the UK, how SpaceX completed the first delivery trip to the International Space Station and the Tesla Model S was voted car of year, the History Channel’s show The Men Who Built America, Jason’s investment strategy for 2013, and why Justin and Jason are both long Rob Walling.

  1. Clyde says:

    Yay! A new episode. Have been waiting for this since last week.

  2. Ignacio says:

    Was looking forward for a new episode, thx. Btw, saw Jason eating with Rob at Kabuki, almost didn’t recognize him, looks thinner in person.

  3. Jason says:

    @Ignacio – Wait, you live in the area? You should have walked up and said hello!

  4. Alfie John says:

    @Justin: You probably already know about it, but you can log slow queries in MySQL:

    log_slow_queries = /var/log/mysql/mysql-slow.log
    long_query_time = 1

    Then setup a cron job to email you, or a script to tail the file then SMS/email you.

  5. Abe says:

    Idea: talk with Chris Granger. He’s looking to research usage patterns with Node.js so exposure to Uber might be a nice opportunity. And then maybe he could be a future TZ interview show.

  6. Corey says:

    @Justin re: slow queries. I previously used new relic to monitor my server stats, and just recently switched to scoutapp.com. It’ll email you when you’re slow queries increase above a certain number. It’ll also notify you when you’re server’s slow, CPU is above a certain threshhold, etc. Pretty good, and easy, for $15/month.

  7. @Jason did you try using cluster.js? http://nodejs.org/api/cluster.html
    I’ve been in your situation, I had 1 process and a lot of the data was in memory.
    I moved some of it to Redis (to share between different node.js instances) and started few processes with Cluster.js.

    @Justin I used New Relic, it did great job telling me if something was wrong with my databases, CPU and etc.

  8. Spooky… everyone is getting married… including me (1 month now).

    Justin, if you still want random queries its still possible even if you don’t have a sequential id column (and use php’s rand to pick some number), what you do is something like the following,

    SELECT * FROM `table`
    WHERE rand() > 0.99
    ORDER BY rand()

    The trick is to make the 0.99 number capture a small amount of the total rows in the table. So for 4 million rows use something like 0.99995 which returns about 200 rows. You still have to pass over the table once but its a hell of a lot faster then making a copy of the table.

    I tried it on a table with 500,000 rows once and it took over 10 minutes to run with the normal way, and less then half a second with the above. I had another go then on a table with 4 million rows and it returned in less then 3 seconds. This is on a virtual machine as well so on any server it should be much faster.

    Just thought I would throw this out there. Someone may find it useful.

  9. Jason says:

    @Abe – He can contact me if he wants to talk about it, but I really don’t have time to get involved in anything else. I’d probably just forward him to Curtis (the VP of engineering at Uber) anyway since he would be a more appropriate person to talk about it. I’m just a consultant. 😉

  10. Jason says:

    @Udi Mosayev – Yep, we use Cluster and Redis.

  11. Danilo Celic says:

    Based on the UK Computer Science employment stats, perhaps that’s where you could focus any job announcements/postings. Perhaps not only mention on the podcast, but also on the home page of TZL

  12. Stanislaw Pitucha says:

    I’m not sure how the UK employment stats were produced, but from my experience of doing a masters degree in computing (in the UK):

    1. You could probably go through the full set of courses without learning any practical skill which could help you with getting a programming-related job. I’ve seen people during the last year getting very confused by the idea of using any version control and being close to failing a fizzbuzz test.

    2. This produces a lot of people who know the theory, but can’t actually create anything / be useful without a full training. I worked with people both straight out of unis and during their year out – even the good ones were a serious time sink for the existing staff, so I’m not surprised companies without existing, extensive training programs aren’t keen to hire fresh graduates.

    3. The most experienced people I worked with either didn’t bother with the studies, or got offers so good they dropped out after a year or two. I managed to work part time while going to the university, but I’d probably just work full time if that was the only option.

    CS seems to be also a completely different area compared to some other career paths in that table. The “best” subjects are “medicine”, “education” and “law”, where you’re usually required by law to have a relevant degree before you’re hired.

    In short – there are so many reasons this result could be skewed, I wouldn’t take it seriously. Also it may actually answer a different question than people expect (precisely: how many graduates got hired, rather than: how many open positions are there for good CS people)


    On a (almost) completely different topic – have you seen http://rosalind.info yet? I think it’s an awesome bioinformatics introduction. It may not contain long detailed descriptions of what it teaches, but the practical approach really impressed me. I got to the apprentice level now and the information contained in the assignments + wikipedia where needed were enough to let me understand exactly what I’m doing and why.

  13. Jason says:

    @Stanislaw Pitucha – Interesting anecdotes about CS in the UK. I wonder how that compares to the US.

    Yes, I have seen http://rosalind.info. We discussed it a little bit back in episode 210 and it’s really cool. I’m planning on experimenting with those problems in Catalyst once the kids are advanced enough.

  14. Just to further what Stanislaw said, because of this, lot’s of employers are looking for developers with at least 2-3 years “commercial experience” (in line with Justin’s thinking earlier in the show), creating a chicken and egg situation.

    Graduates can’t get a job because they don’t have experience and they can’t get experience because they don’t have a job.

    Nice show guys.

  15. Chris Lorenz says:

    Hey did you guys see this ted talk
    Would be great for teaching electronics in catalyst if you can get it to work.

  16. Jason says:

    @Chris Lorenz – Looks interesting. I’ll check it out. Thanks.

  17. Hey guys – do you know what percentage of your listeners use the soundcloud player on your page vs. using a dedicated podcast player (iTunes or whatever)?

  18. Jason says:

    @Patrick Foley – It looks like around 5% of our listeners use the SoundCloud player.

  19. I’m trying to learn Python (Udacity and Codecademy) and would have been completely lost without http://www.pythontutor.com/ (explanation) and http://www.pythontutor.com/visualize.html (just replace the code that’s there with your own and hit Vizualize Execution). Thought it could be useful for Catalyst.

  20. Jason says:

    @John Humphrey – Yeah, I’ve looked at Python Tutor a couple of times and I agree that it’s an extremely powerful learning tool. I’d like to figure out how to integrate it (or something like it) with the Catalyst IDE.

  21. Don’t suppose you boys are going to be doing another podcast soonish? I’m booked in for a little surgery and could use something to keep me occupied in recovery assuming I don’t die on the table…

  22. Justin says:

    It’s recorded waiting on Jason for the shownotes…