180: TZ Discussion – Simulating the Zombie Apocalypse

Justin and Jason discuss why Justin is moving back to LA, how he was swindled by a moving company and why the Yelp review system is partly to blame, how people are able to rationalize bad behavior by the creation of false narratives, how the US, Israel, Russia and China are influencing social networks with the help of tools like persona management platforms, why Justin thinks Breaking Bad is the best drama series ever made, the awesome Prometheus trailers and viral TED Talk, how Justin improved Pluggio’s performance and the lessons he learned along the way, the homogenization of blog engines and how it aids and hinders creativity, the awesomeness of Light Table, Meteor and Firebase, the recent down-tick in VC funding, the technology behind Preezo and the idea of writing an article about it, why Netflix decided not to implement its prize-winning algorithm, the science and technology behind a quantum Internet, the MIT study predicting global economic collapse by 2030 and the OECD report pinning it at 2050, the subject of System Dynamics and the concept of stock and flows, thoughts on simulating the zombie apocalypse, creating a massively distributed P2P dispatching network and how someone other than Justin wrote the new version of ezSQL.

  1. Jamal Osman says:

    Thanks guys, this show is the best part of Monday!

  2. Stanislaw Pitucha says:

    Thanks for the show, discussion is good as usual… kept me awake today on M4/UK. In return maybe some of may be useful:

    Regarding the barcode/qrcode scanners – it seems there are two kinds – scanners and imagers (basically cameras). Instead of using reflections (although I saw some qrcode readers which produced rotating red stripes… no idea how those work) they do 2D image processing. It seems to be pretty reliable – I used them without issues at some UK airports as well as Brussels and Amsterdam… They’re also supported on trains in Belgium/Netherlands – which is extremely useful if you don’t travel with a printer 😉

    Regarding zombie simulation, that sounds similar to the standard predator-prey (shark-fish) simulators, for example http://dovsherman.deviantart.com/art/Wa-Tor-An-Ecosimulation-25692206 People wouldn’t reproduce fast enough to include it in the model of course.

    Slightly unrelated: I was wondering about something related to Anyfu today – when the magic moment comes when you have lots of experts available, are you planning to limit the experts per skill somehow? Did you consider a situation where you have so many experts available for (for example) Rail that there’s not enough Rails-related work to distribute to them and any new person just spreads the load even thinner, making it less worthwhile for everyone? I expect there’s a limited number of people who actually need experts…

    Finally, thanks for the DDG episode. I tried DDG search months ago and didn’t think it was good enough, but after the interview I decided to try again… this time I reset my default search and I’m happy so for.

  3. Jason says:

    @Stanislaw Pitucha – To answer your question about AnyFu – yes, we’re going to limit the number of experts per specialty so that the experts are happy with the amount of work they’re getting, but have enough experts so that clients are able to book a session without any trouble.

    In fact, I’ve recently come to the conclusion that AnyFu is really just a talent agency like CAA, but in the areas of technology and business as opposed to sports and entertainment:


    Hopefully, one day AnyFu will reach that level of quality and name brand recognition. 😉

  4. Jason says:

    @Jamal Osman – Thanks! 😉

  5. Joe says:

    I always assumed ’28 days later’ was how long he was in the coma. I really don’t think it’s some kind of measurement of their life expectancy without food.

    Also, next episode talk about this hacknews article – concert with hologram of tupac! How nuts!

    Have a good one guys!


  6. Jason says:

    @Joe – It looks like you and I are correct about what 28 days stands for and Amos and I think Justin are in fact wrong. Here’s a snippet about the movie from Wikipedia:


    “Twenty-eight days later, a bicycle courier named Jim (Cillian Murphy) awakens from a coma in the deserted St Thomas’ Hospital…”

  7. Mohammed Firdaus says:


    You mumble over the name of the transportation company. Could you put it in the shownotes.


    Mohammed Firdaus

  8. Justin says:

    @Mohammed – Perhaps, but only AFTER I get my stuff delivered…!

  9. Mohammed Firdaus says:

    Okay, I couldn’t help but grind my teeth and look for something to break during that part of the podcast….


    Mohammed Firdaus

  10. @Justin

    I don’t think you explained the Load average thing correctly. Your explanation only works on single core systems. If you have 4 cores or 4 single core processors then in your terms the perfect metric becomes 4.

    The load average is the average number of processes that are waiting or need to be serviced by the processor.

    If you have 4 processors or cores then having 4 in the queue is essentially, not exactly, the same as having 1 on a single core/processor.

  11. Hi Guys,

    I am enjoying your discussions and look forward to anyfu taking off.

    You should ask Scott Aaronson from http://www.scottaaronson.com/blog/ to be a guest.

    He is a quantum computing and computer science expert, he has an outgoing personality and can explain complex stuff in an accessible way.

    There are some youtube talks by him if you want to get a sense of what he’s about :



  12. Stanislaw Pitucha says:

    To be even more precise, load is based on the averaged number of active processes on the system, period. Active may mean that they’re already handled or that they’re queued, so that doesn’t really change with the number of available processors.

    It’s just the perception of what’s the optimal value for smooth operation that changes. load==number of processors is the conventional wisdom. Which can be misleading too – if you have lots of threads scheduling minimal work at very short intervals you may be happy with load ~50. Even load over 1000 may not stop the system from being very responsive.

  13. Had a couple ideas for blog posts you could write to help build interest in anyfu:

    1. Point out the problems with the status quo (the problem anyfu is going to solve)

    “The problem with ODesk”

    or alternatively:

    “Why ODesk isn’t cutting it”

    2. “How to become an Expert in anything”

    Basically just make a list of the kinds of things you look for, and detail it. Then at the end you can say something like, “Already did all that? Send us an email!”

  14. @Stanislaw Pitucha Thanks for that. I agree. I have php servers that run some sites that regularly happily churn out pages during peaks running at over 60 avg for a while.

    The response generation time does not suffer a lot during this time.

  15. @Justin – might I suggest moving to Atlanta? It’s a much larger city, has the nation’s largest airport, and SCAD is here too (I’m not sure why, but it is). Far easier than moving back to California.

  16. aListener says:

    – Moving Company –

    @Mohammed – I think the company name was repeated multiple times and fairly clearly.

    I would first phone them and tell them not to ship your stuff. Then I would email and BCC another account (gmail?) with a message including that you phoned them to say X and that this was a followup in writing so that there was no miscommunication. Then, once you have your stuff, I would look into how to get satisfaction. In New Jersey and Pennsylvania, contractors must be registered with the State. This allows a consumer to go to the State arbiter if they would like to challenge a company. California is more regulated in my opinion so I would think there is a similar system there. After all of that I would put a small “fact-based” review in Yelp, Kudzu, etc. Mentioning the hidden reviews might be helpful too.

  17. Alfie John says:

    You could simulate the Zombie Apocalypse using a Finite State Machine or a Petri Net 🙂

  18. Jesse Lyons says:

    Instead of making assumptions about ease of spread and zombie starvation time allow those to be set by the user before running the simulation.

  19. Abe says:

    Zombie Apocalypse idea – allow viewers to add their own zombie definition. Paste a snippit of a custom zombie javascript into a textarea and run. See who can create the most successful zombie. … maybe allow custom humans too. On the topic of computer simulations, this is a must listen: http://www.radiolab.org/2010/dec/14/one-good-deed-deserves-another/ (the full episode is worth listening too … oh, and donate!)

    Quantum Entanglement – faster-than-light communication is impossible according to humanity’s current understanding of physics: http://curious.astro.cornell.edu/question.php?number=612 The first half of The Elegant Universe is a review of Newtonian physics and I found it fascinating. It covers “instant” communication in more detail. Once the chapters started into superstring theory, however, it lost my interest.

  20. I can’t believe you guys are setting us homework now?!

    I was curious to know the answer myself, so here goes…

    Screens have a big flat light at the back that’s always on. If a pixel wants to show you white it lets all the light through. If it wants to show you black it blocks all the light. Either way, the light behind is still on and still consuming the same power.

    LCD – Blocks Light:
    It must also be noted that LCD pixels do not produce there own light.
    If the pixels are off, they don’t let the backlight through, when they are on, they let the backlight through.

    AMOLED – Turns Off:
    Because the black pixels actually turn off, AMOLED also has contrast ratios that are significantly better than LCD

    Because of LED technology, you can save your battery by displaying black.



  21. My take on the zombie apocalypse was always that it could never happen. The reasons being,

    1. The zombies primary enemy is also its main food source. This is like having to tackle a Lion every time you feel like eating a sandwich. You are going to get mauled.

    2. The zombies only method of reproducing is also biting its primary enemy. Again, every time you feel randy go tackle a Lion which has the intent to maul you. Keep in mind in order to be effective each zombie needs to bite at least 2 humans, which leads us nicely to…

    3. Humans are bloody good at killing things. This includes a great number of creatures which have far more effective killing implements then we were given by nature (Lions, Tigers, Bears, oh my!) I don’t know about you, but im pretty sure I could take out 20 zombies in a car without too many issues. Quite a few people have cars. Certainly more then 1 in 20 people in a first world country do. Even if they only take out 2 zombies each we are ahead.

    Add in all the gun nuts looking for something to shoot, people with medieval suits of armour (bite that zombie!), wannabe ninjas with swords, kungfu experts, bomb nuts and the fact that a tank or even lightly armored vehicle is totally impervious to a zombie and I can’t see them lasting too long. Heck a mob armed with rocks only has to take out one zombie each to be effective as each zombie still needs to bite two before being stoned. You can see the numbers are clearly on our side. Even armed with sticks I can see humans winning this one.

    Anyway that’s my thinking on this. What I find more scary is that there are people prepared for the zombie apocalypse and even worse is that quite a few of them would be hoping it will occur.

    BTW Justin, that company are just douchbags. Once you get your stuff, name and shame them and im sure the TechZing army should be able to post enough negative feedback and cause issues that nobody will get bitten like you did.

  22. Jason says:

    @Ben Boyter – While you make great points that I do in fact agree with, you’ve just taken all the fun out of it, damnit! It’s like watching Lost with someone who suddenly starts pointing out that magic and time travel are complete bullshit. Like no shit, but just allow me this brief suspension of disbelief so that I can enjoy the stupid show. 😉

    Okay, fine – on to the robot apocalypse! Anyone, got any good ideas about how to simulate Skynet? 😉

  23. Tim High says:

    About ezSQL:
    I think the right thing to do first of all is to get in touch with the lady that wrote “version 3” and ask her what her intentions are/were. It’s a little strange of her to fork and rewrite without contacting you at some time during the process, but I would contact her in a friendly manner and say that I think it’s “interesting” and want to learn more.

    * What’s “new” or different in ezSQL 3 that’s not in the version you wrote?
    * What is she planning to do with it now that she wrote it? Would she like to fold it back in to the “official” repository? (if so, you’re probably going to have some work in order to make that happen)

    If she doesn’t have any interest in folding it back, I would think it reasonable to ask her to give her project another name. Any open source project that I know of that has been forked has been given a different name in the process (Hudson –> Jenkins, OpenOffice –> LibreOffice, InnoDB and your friends at Percona, and all the different flavors of Unix). Even if you don’t care about copyright/trademark/IANAL, it’s just confusing for the community to hijack the name.

    That being said, more power to her for taking the time and effort to revitalize your project!

  24. @Jason Sorry. Didn’t want to be “that guy”. Truth is I have spent more then a healthy amount of time discussing this with people over campfires, along with other intellectual pursuits such as who would win in a fight Batman or Spider-man etc…

    The robot uprising sounds more likely to me though. No idea how you would simulate it though so I cant help with that or even your zombie one.

    Something that might be fun for you which I have never bothered doing but would be a good candidate for node.js would be a high frequency stock market simulator game. I always thought that would be something cool to hack on but I don’t know anywhere near enough about the stock market to even begin doing so.

    Heck make it a weekend project, a simple labour market where people trade at the marketplace for fish and berries etc…. would be an interesting simulation all by itself. Populate the residents with interesting functions dictating how much they like to eat/buy/save and you could watch the prices of goods rise and fall.

  25. Rick Measham says:

    Moving companies and the Yelp algorithm

    I’m betting the algorithm says: don’t trust a review from someone in Savanah for a business in North Hollywood. after all, almost EVERY legitimate review is for a local business.


  26. Jason says:

    @Ben Boyter – Yeah, after doing a little research, and when I say “research” what I really mean is that I asked the Google, it turns out that simulating a zombie apocalypse is about as original as a to-do list web app. 😉 See my links in the show description.

    My first startup, Renaissance Research Group, LLC (fancy name, huh?), actually built and sold a simulated trading system as a training tool for option traders, so it’s definitely possible to build things like that. It was called the Edge System and it actually worked pretty well.

    But what would be really cool (and this is sort of what you were getting at I think) would be to simulate a simple economy in order to better understand how things like inflation, deflation and monetary policy work. I’ve also been thinking about how to model economic corruption and it’s corrosive effect on trust and efficiency effect things like GDP and related measures. Anyway, the zombie idea was just meant to be a proof of concept simulation, even though it’s obviously pure silliness.

    But Batman vs Spiderman, … that’s a tough call, actually. 😉

  27. @Jason That’s one of the reason I mentioned it to you. I figured you should know enough to actually get it started reasonably. Then again you have enough on your plate, but if you could do it in a weekend that would be pretty awesome.

    Something like that would be very interesting if you do do things like “Lets dump a truck load of fish onto the market” or “Lets start a famine” or “A rich neighbor just moved in”. Something like that would be found to get some attention if well done. Like I said, I would do it, but I don’t know enough about economic theory beyond a simple labor market.

    From a game point I could see it becoming something similar to Notch’s (guy who made Minecraft) new game where you program 16 bit CPU’s in space. The idea of writing trading algorithms for a game could be fun.

    Thankfully someone has answered a lot of those random questions, EG Neo vs Robocop http://www.youtube.com/watch?v=kcnd206fyaU

  28. Justin, I feel badly for you and your situation with the moving dickheads.

    But if someone ripped off your mom for $2K, wouldn’t you try to do something about it?

    Or if someone mugged you for $2K, would you honestly blame yourself for carrying around ‘that kind of money’? Wouldn’t you at least report the crime? (Which is basically what this is — a scam, that surely they repeat over and over.)

    Like us Canadians, I’ve found that Brits tend to be too polite. But now that I’m in my forties, I tend not to take shit from people (wish I could have learned that sooner).

    You don’t have to be vindictive, but please don’t roll over. Doing that takes a toll on your psyche/soul.

    You’re a smart guy and come up with somewhere to tell your story — but at least put it out there, dude.


  29. Jason says:

    @Lance Jones – Yeah, I think I’ve come around to that position as well. Guyon convinced me in an offline conversation that the best way for Justin to seek justice in this situation would be to write a critique of the Yelp review system that details the costs of an inaccurate filtering algorithm and uses his specific experience as a case in point. As an aside, Guyon also convinced me that it’s in Yelp’s best interest to have an accurate review system rather than one that’s upwardly biased as I was positing, but we’ll discuss that some more on the next show. You see, there’s a reason I work with Guyon. 😉

  30. Justin says:

    @Jason @Lance – Way ahead of both of you, I already have that blog post mostly written. Just waiting for the furniture to get here so that they don’t have any leverage or recourse once I release it. 🙂

  31. Wow! The amount of comments related to the zombie simulator tells me that if you created a simulation and wrote a blog post about the process it would go viral. You could even you use that as a fun campaign tied to AnyFu: “AnyFu, we even have experts in Zombie behavior simulation!” LOL

    I would echo @Tim’s feedback on the ezSQL project. What is strange is that she did not contact you while she was making major structural changes. In my OSS experience, it’s ok to send pull requests for small changes or very narrow and well-explained but narrow new features. But if you start making radical changes, the etiquette would be to contact the author(s) and engage in a discussion about what you have in mind. And then based on their feedback you can either go forward or decide that to create a completely different product. So if she did not do that this might be due to a lack of experience with OSS.
    I can totally see why it would be a ton of work to go through the new code base. Maybe you can suggest to her that to accept her branch, she would need to demonstrate compatibility between 2.0 and 3.0 using a series of unit tests for BOTH versions.
    I am assuming the APIs are 100% identical with your version. Otherwise I think she should remove her fork and create a brand new framework with a different name. Otherwise this will create too much confusion and mislead people into thinking that her version has the same “mileage” and level of use as the version used in WordPress.

  32. Justin says:

    @Phillippe – Thank you so much that was exactly the advice I was looking for 🙂

  33. Another great show

    @Jason – How about combining all the simulator comments and simulate the effects of a zombie apocalypses on the economy / stock market 🙂 I like the idea of choosing your settings. Maybe pick a year and some other settings giving the user options on how to defend, etc. It starts by simulating the current economic state for that year, and then let loose the apocalypse. Call it Zombie Tycoon 🙂 Post a leader board listing the economic state at the end of the simulation, maybe get Kaggle involved. ok I’ll stop.

    @Justin – as a user of ez-SQL – I took offense that she did this without working with you or at least letting you know. If this gets rolled back, you’re going to have to support it. If someone has a problem, they’re going to come to you for help. Being the past recipient of your immediate attention when I had a problem you (later that night) posted a new fixed version specifically for me. That response was amazing and prompted me to tell my friends about it/you. I’d hate for you to start getting nailed with problems relating to the new code and having to debug it. I think Jason once said in a far-away episode (and I agree) there’s nothing worse than going through someone else’s code, especially if you have to fix a bug.

    I also think you should be able to cancel your moving contract. Did they ever tell you how long it would take to get your stuff? That’s nuts. That alone should be grounds for legal action. $2k for me is a lot of money, so I think its definitely worth finding a lawyer over. Good luck

  34. Nice post on HN, Justin!

  35. I think I found the moving company in N. Hollywood. There were 2-5 star reviews and 12 scathing, lengthy, detailed, 1 star reviews that were only surfaced after I made it past the Captcha (took me 3 tries as well!).
    I think we should also consider the possibility that this is part of Yelp’s business model…

    “The plaintiff claims that Yelp sales staff then began calling the hospital frequently with “high-pressure” tactics promising to move or delete negative reviews in exchange for purchasing a one-year advertising contract.”

Trackbacks / Pings