Buy Real Valium Online Buy Valium Norway Buy Valium Roche Uk Buy Valium Roche Online

140: TZ Discussion – Back on Track

Justin ans Jason discuss Steve Perlman’s impossible wireless tech known as DIDO and the technology of WiTricity, why Pluggio’s growth has suddenly stalled out, logging slow queries using MySQL’s Slow Query Log and monitoring your site using SiteUptime, Jason and Curtis’s upcoming post on Uber’s Node.js based dispatching system, the designer they’ve hired to create AnyFu’s brand identity and UI and whether they should use Braintree or PayPal for payment processing, how Jason tried and abandoned jScrollPane to build his own custom scrollbar, Justin’s new Juice diet and the movie that inspired it, the sophistication and complexity of SQLAlchemy and Doctrine and the ORM Jason is building for Appignite, the Airbnb fiasco and some ideas on how they could mitigate that kind of problem in the future and the industrial scale patent trolling of Intellectual Ventures.

Executive Producers

Toby Osbourn

Ruben GamezBidsketch

 

16 Comments
  1. I really enjoyed the Node.js master/slave architecture discussion – no surprise there as my day job is an enterprise architect 😉 ! I’d love to see more details.

    About wireless power, there was an interesting article a couple days ago about DARPA seeking (wireless power pack for recharging handhelds). Apple also seems interested in that (check the nice infographic explaining how witricity works).

  2. Niklas says:

    Because you mentioned it: Drupal 7 has a new database abstraction layer called dbtng.

    It basically looks like that:

    $query = db_select('table', 'alias')
    ->fields('alias', array(
    'fieldname',
    'bar',
    ->orderBy('fieldname', 'ASC');

    You can then fetch rows from $query, get the row count, iterate over it in foreach and so on.

    One point is security:
    No more SQL injection problems – unless a module chooses to use the lower level layer, which is still available.
    Since then only 7% of the security issues are SQL injection issues, compared to 25% on the whole web* (and always the vulnerable modules were using a lower layer).

    Abstraction is another point:
    You can simply swap the database driver to what you need. MySQL and PostgreSQL are in Drupal core (both being SQL they were supported before dbtng).
    But you could also use … say … MongoDB: http://www.examiner.com/ needs high performance for specific tables. I think they are the biggest live example of a site that is fully taking advantage of that new layer. Doug Green gave an interview about that as a podcast.

    * Slide 15 and 16: http://growingventuresolutions.com/gvsfiles/Scout_XSS_CSRF_Security_Presentation_Chicago.pdf – 2009/2010, but you get the idea.

  3. Ben Boyter says:

    That impossible wireless technology sounds like it works in the same way CDMA phones do. That is where each one uses the same signal and some fancy bit math on the other end works out who said what.

  4. I would be amazed if switiching back to MyISAM from InnoDB actuallly made a read write application faster. I think that the reduction in load is probably attributed to you locking the table to perform the alter statement which then timed out all of the old SQL. Your load would have then creeped up again over time as your number of concurrent users.

    My guess is that the table you were doing order by on was also in the where clause and the key you were ordering on was not the same as the one (or many) in the where clause. Unless you get really fancy MySQL will only use one index per referenced table.

    I would switch back to InnoDB.

    You should pop an explain in front of the query and see what the output is. If you have using temporary table or using where on 2m rows I would imagine it will kill you.

  5. Justin (BTW, your name in the MP3 appears as “Jusin”), MySQL may crash and even crash your server if you do not have a limit in the number of the connections that it accepts. An excessive number of MySQL connections may use all your server RAM and even swap memory space.

    I had that problem in the past because I used a different database user for three databases in the same server, so PHP were using separate persistent MySQL connections per Apache process. That was making my server reboot in the peek of server load of the day. Thankfully it did not halt the server, it simply rebooted and since I use InnoDB it self-recovered all logged transactions.

    To avoid the problem just go in /etc/my.cnf and make sure you have reasonable max_connections value (not too high) in the [mysqld] section.

    BTW, MyISAM tables are bad for read-write sites. If you have a problem that needs to go through table recovery, in InnoDB it is automatic, but in MyISAM it isn’t. In your case, stay away from MyISAM tables.

  6. Corey says:

    Do you guys still do your mastermind group? How’s that going?

  7. Ben Boyter says:

    @Stewart Robinson that sounds likely actually. That exact thing happened to a client of mine. They were wondering why saves didn’t and hence did them over and over again which drove up load quite a bit. I switched them over to InnoDB and all problems were resolved for them.

    @Manuel Lemos +1 to the recovery stuff. The same guys that had the above issue also had a problem where their database became corrupt. They didn’t have any recent backups and I was unable to recover the database even using the most aggressive settings for MyISAM. When I did eventually restore from an older backup I switched them over to InnoDB (and added a better backup strategy) and they have no had an issue since. Based on that and some other bad experiences I will never use MyISAM again, unless its a copy of an InnoDB table for fulltext indexing.

  8. Corey says:

    @Jason have you checked out POG, http://phpobjectgenerator.com ? I’ve used on my last couple projects for creating my models. Does a nice job. Maybe they solve some of the problems yre figuring out.

  9. steve says:

    Justin,

    Apple does have a dock now…. check out the Apple 27″ LED they just released:

    http://www.apple.com/displays/

    They have a bunch of ports now built into it allowing you to connect to all those connections with a single thunderbolt cable (including monitor and power)

  10. Jason says:

    @Corey – Yeah, POG is kind of cute, but it’s just the most basic stuff. When you start including relationships to other objects then it quickly becomes very complicated.

  11. Ben Boyter says:

    @Corey I tried using that thing a while ago. I didn’t like it at the time (cannot remember why) and wrote my own. http://code.google.com/p/phpentitygenerator/source/browse/trunk/generateentities.php

    The code is ugly, but it generates pretty clean entities.

  12. @Justin, @Jason – WRT payments processing for Anyfu I think you should also checkout Stripe (http://stripe.com). It’s a new startup positioning itself as an alternative to Paypal. Their API looks really good (I have just started exploring it, so take this with a grain of salt) and their charges seem pretty reasonable (3.5% + 30c for every transaction, no monthly fees), and if you don’t process any payments you don’t pay anything.

    Stripe is closed beta at the moment, but I just emailed their support and they sent me an invite.

    Also, something worth mentioning is that if you have a form on your website for accepting credit card payment you become subject to PCI standards, which from all reports are a PITA! So redirecting to the payment processors site can be worth it for this reason alone.

  13. I should have added that you don’t need a merchant account to use stripe which should save a few headaches.

  14. Hey @Justin. I agree with @Jason in that you should really combine some exercise with the change of diet. The more muscle mass that you keep, the more fat you’ll burn instead.

    Here’s a fellow countryman of yours that should inspire you to get off your backside and go for a walk every now and then. 😉 Stephen Fry lost so much weight that I almost didn’t recognise him afterwards. His idea of using audio books to make walking more interesting does work. A really good book will have you doing extra miles just to find out what happens next. And don’t forget the little things that you can do every day to get some exercise. Take the stairs instead of the escalator. Walk instead of drive. If there’s more than one way to do something, do it the physically harder way.

  15. You’ve inspired me to open source my ORM generator now.

  16. Jim G says:

    Hi, guys. Another great podcast. I’ve been a long-time listener (since episode 1) but never took the time to comment. I’d leave a review on iTunes, but they won’t allow people on Linux computers to do this :(.

    Justin, about your juice fast: why bother to juice the veggies? Why not eat them as-is, i.e., as salads? It would take less time to prepare, more time to consume (= less likely to overeat), and leave you feeling fuller.