 Hi, this is Stu Miniman with Wikibon on the ground here in Cambridge, Massachusetts at the work bar. Thanks to our friend Matt Brender from Bashow. Here with Chris Bielin and George Nagel who are developers with a startup called Noodle. Gentlemen, thanks for joining me. Thank you. So we're talking with people that are contributing, developing, using open source. First, can you just give me a quick background? Either one of you is to your jobs and who is Noodle? Sure, yeah. So Noodle is an education search company. So Noodle plans to be as a single source for all of your education search needs. So if you are looking for pre-K, you come to Noodle. If you're looking for college, what college you need to go to, come to Noodle. If you're looking for post-bacc classes, come to Noodle to find those. All right, and what's the role of open source in Noodle's ecosystem? It's kind of the foundation of everything. You take a whole bunch of open source things, you put them together, and then you start building. First it's a website, so you start and use Django as the web framework to get you organized and you make your website. And then you need a database to use Postgres and Mongo and you need something for virtual machines to use open source solutions for all of those things. And then a lot of what we do is web scraping to get data on courses and tutors in schools and whatnot from a whole bunch of different websites. So we use an open source web scraping framework and then we put our cleverness on the inside of that. And there's a whole bunch of work we don't have to do to get started. All right, so pretty basic question, but why open source? It's free, it's there, it works. If there's a bug in it, you can fix it and move on. Yeah, it's interesting. I come from kind of the enterprise infrastructure world and the old messaging used to be, oh, what about open source? It's like, oh, well, it's free and maybe there's not lock-in, but recent studies, especially over the last few years, it's really about, you can get new features faster. There are kind of the speed to deliveries there and you're not the only ones that are contributing to the code, does that resonate with you? Yeah, I mean, there's a lot of, sometimes you have to put it into thought before you pick like what framework are you gonna use, things like that. And you have to take into consideration, does it have an active community? If it's proprietary or open source, if it doesn't have a community of customers, then when you ask for help, you're not gonna be able to find it and when bugs are found, they're not gonna get fixed. All right, so we're talking to lots of different types of users and contributors. I don't think you guys are core maintainers of any projects, not necessarily maybe you are, but what's your role in it? I think we've both probably open sourced personal projects, I've certainly open sourced like little side projects on GitHub, but less contributors to large, I'm less of a contributor to large open source projects. This is a big contributor to Wikipedia, which in some ways is open source. Which I rate content for, but I also have a bot. And when you, like if you have a project and you decide to open source it, you can get things back. Both other people adopting your project and using it would have had to happen. So you get the great satisfaction of helping someone out, but if you're trying to make money out of it, the other thing that you get is if other people are using it, they figure out what you've done wrong or help you maintain it. So you get their help in return for a little bit of help for them. Yeah, can you share the Wikipedia is interesting. What's the bot? What's that do? I used to have one that sort of helped out with moving articles between categories because it was, when you decide, all right, we need to rename this category to that one. There was a whole bunch of work you need to do to do that. If you go to all the articles and change it individually, so that got automated. My new ambition, which I've sort of started down the road on is to find all of the typos and spelling mistakes in Wikipedia, like all of them, which there's like hundreds of thousands and like find them and fix them so I don't have to spend time doing that. Wow, so I mean, both those things resonate real much with me. I mean, Wikibon actually started out, we've had a Wiki for eight years and taxonomy is such a tough one because this taxonomy changes the tree structure and pushing that down. Boy, you could kill many cycles if you had to do that manually and even from an automated standpoint and stuff. Boy, spelling and grammar. I mean, grammar changes so often. We've got people from across the pond that your Z's and your S's and your U's, I mean, it can become a challenge. We also, I mean, Wikipedia is actually an interesting open source of taxonomy because we need to classify our courses, for example. So we use the category system there as a basis of well, we don't have to do all the work of thinking of all of the things in the world that you could learn and figuring out how they put together. We can just say, it's done. If Wikipedia thinks it's that way, it's probably right. And you take a ton of time. And it doesn't necessarily have to be a one-to-one mapping either, but you can take lessons learned from Wikipedia. They obviously spend a lot of time and energy doing, you know, making their structure. So we don't have to totally remit the wheel. We also used what OpenStreetMap uses for their mapping system for our geolocation. So, you know, you can grab like census data and things like that from the U.S. and put them together and make your own system. But they have the entire world and if you find something that's wrong, you can go in there and fix it and you don't have to put in all of the overhead of making it from scratch or pay for one from Google, which I'm sure would be awesome. If you're just starting a company, our startup got bought by Noodle and we had very little money. So it was kind of amazing how much we got done with a small team and without a ton of money using a lot of open source. Yeah, in some ways it's the network effect that allows you to take advantage of those things. Yeah, I mean, I feel like once you've solved a problem like that, if it's open source, then our civilization in general has kind of solved that problem. And you don't need to have 10 companies solving it for themselves. Yeah, I mean, you're preaching the choir with me. Don Tapscott wrote a book, Wikonomics, which was one of the foundations for what Wikibon was founded on. And he said, take Wikipedia for an example. If we took 0.02% of the hours that just Americans do watching TV, we'd create all of Wikipedia. And it was like, you think about that. It's like, I don't need everybody full time. It's just little slices of tiny bits of all over the place we could do something with. Interesting trend, your company does, you think that some of the hottest trends out there, you think of Uber and Airbnb or Waze, they're not necessarily doing something brand new. They're taking some of the tools that are out there. They're using open source in many cases and they're putting together something in a new way. So Waze is the example. It's like, they didn't create the map. They created an app, but none of the ideas that they had were necessarily new but they created a billion dollars worth of value, I guess, at least out in Silicon Valley and were acquired for that. So they cashed in. So it's interesting, you talk to Noodle, it's like, there's gotta be a million websites for education out there, searches exist out there. But if you Google for courses, you're gonna have trouble finding them in a convenient way. I mean, the old classes from this world so very big on blowing up education and we were doing open enrollment classes. So it's like with online education and the open content would have been there happening. It's like, where is this going? It feels like something really big is happening there and the obvious thing as well is there a search engine or we could make that happen. So is the online education, things like MOOCs, does that help drive some of what you're doing or to tie into what you're working on? Definitely. It's certainly a large portion of the course content that we're feeding in. I mean, the idea was sort of, if you were to do your undergrad to a degree online or not as a one single bundle from one institution, like could you find all of the pieces and the answer is, well, first of all, it's really hard to find all the pieces, much less get certified or anything like that. So the MOOCs are a rich source of content. They're also well organized. So for data scrapers like us, we're like, yay, 10,000 courses all at once. But now we have to go out and find all the community colleges in the world and now with Nuda, all of the tutors in the world and all of the preschools in the world and everything. Okay, so to my understanding, Python's one of the main projects that you're involved in, tools that you use and the like. How long have you been using it? How'd you get involved? How active are you? So I've been using Python for about three years and that's the main language I develop in. It's really, I spent about 90 or 95% of my time developing in. I started using it because I was looking for a quick way to get up with a web project, side project and I think Django and Chained had just come out and so I saw that there was this open source project Django and that caught my eye somehow. But yeah, so I've been working with that for about three years and Chris, you were using PHP before. Yeah, I mean it kind of, a given organization seems to often adopt one language and then everyone becomes an expert in that so you do everything in that, which works. So I was like at a PHP shop. I learned Pearl before that, which transitions very easily into that and then all classes, I guess I was at Raytheon and then our group was using Python. Part of it is that Python has a lot of open source libraries that are available so if you're in a different language and you don't have them, it's not as easy and also like the syntax is clean and it's fast so if you're getting sort of the feeling about which languages are people moving toward, Python is one of those, so that's also, definitely when you mentioned network effects earlier, I worked at a previous job where we were using a language called Tickle, TCL tool command language and if you search for an error message in Tickle, like maybe you get 50 results, maybe there's one example of how to go about this but if you search for an error in Python, an error message in Python, there are like 50 posts on Stack Overflow, similar people who've had similar problems and like a bunch of different ways to solve it. So yeah, I mean, it's great having that community because you solve problems much faster, just whatever you need to answer it. So question for you, your company is actually based in New York, you guys are part of the Boston office here how much does locality matter for working in projects, building a solution, how do you guys collaborate on that? Could you share a little bit of that? Well, certainly GitHub is a huge part of that, right? So at Noodle, we use GitHub for our issue tracking, our project manager has used GitHub to see how fast projects are completed and GitHub, because so many people use GitHub, it has a huge user base, like everyone's built tools to hook that up with, for example, Slack and which is our messaging service we use. So it's not a solved problem, but there are a lot of people working on it. Yeah, it still matters. I mean, when we started, people came up from New York and if you meet them and go out to lunch with them at least once, we're going down to New York next month and meeting everyone there. I think it's important because if you try and do everything like I was in a gray office by myself in a company of several hundred people all in Cambridge and we never talked face to face, we never made friends so it just became prickly and unfriendly, but I think, so there's like a social function that needs to happen with people, but if you hang out on Skype, maybe you could do that if you try and do it a little bit more intentionally, but certainly, I don't know, I'm a little worried that I'll be waiting for help and help will need to come from New York and I'll just be waiting around. So I'm happy that I have Jordan to ask questions and comments right with, but almost all of the stuff you can do on the internet because you're going to be on the internet anyway. And we were talking earlier with Matt about sort of the infrastructure stuff, like we use Vagrant, we use Docker and I've worked on other projects where I was working on, I think I was talking about this with you earlier, I was working on a Mac machine and my other person collaborator was working on a Windows machine and getting those two environments set up and we had like different layers, hideously stacked on top of each other so we could both collaborate with things like Docker and Vagrant, like these beautiful open source projects. It's a few commands and suddenly you all have like a common shared ground to work on and collaborate. So I mean, one of the visions of Docker is to help separate kind of the application management from the infrastructure management. How does Docker, Vagrant, how do those kind of parts fit together? There's two separate things that just help solve that problem overall or is there, I don't know how those stacker fit together. Yeah, we just are in the process of setting up a virtual stack from noodle and merging it with all the classes. So if you have a virtual machine, like virtual machines are kind of heavy and Docker containers are very light. And once you get inside them, you can use something like Puppet, which we used to use or Ansible, like we're using now to say, these files should be set this way and that sort of thing. If you need to like activate your VM or connect with it or manage it or share files with it, then something like Vagrant is basically the happy way or around either your VM or your container. It works with both. Or you can go directly around that, but it's another thing that will save you time. So you don't have to reinvent a bit on the spectrum. But definitely, I think we're gonna hand things off to our operations team after we'll commit our code, push it up to the repo, and then it's up to the operations team to take the resulting Docker image and do whatever they need to do with it. In the past, we've done more of that work and we weren't using Docker and that's part of the reason why we were doing more of that work. I think now we're going to be delivering the code and then have a cleaner separation structure. In all classes, we're all in different operating systems and so you want some predictability when you deploy the production that things are gonna work exactly the same. And we were in the cloud and we still are with Amazon Web Services. So we basically took an Amazon image and used, in that case, Puppet to configure it and then we basically take that same thing and have a VM that runs on all of the developers' machines. Even though I'm on the next year on the next, it's like I want you to have exactly the same versions of all the libraries and the same settings that I put in so that when I take that code, after we've all tested it and put it out there, it doesn't go crash on deploy day. I used to be pretty skeptical of virtualization because it's like the overhead and the sort of headache of having to get into a separate box, just I'm already on the box, but it's like the headaches of there's something slightly different between you and me and I don't know what it is and we have to spend three hours for you to get out. Those are all gone and it's simple. Yeah, if your tests run locally and pass locally, they'll pass in production, like they'll pass in your staging environment. Great, so if people want to find out more about Noodle, is it available now? What is the state, how do we find? What is it? Noodle.com? Wow, that's good. That's nice to get Noodle.com. It'll get orders for like, Soba Noodles and stuff like that. I'm working for a spaghetti factory, that's what I was talking about. Excellent, it's probably much easier to explain into some of these few good guys. I really appreciate you kind of unpacking some of this, talking about what the tools you're using, how you get involved and open source, you know, big piece of helping a lot of startups, you know, grow fast, move fast, but meet their customer needs. All right, so, George and Chris with Noodle, thanks so much for joining and thank you for watching lots of coverage of the open source movement here in Cambridge, throughout the company in the world through lots of events with the Silicon angle and theCUBE. Thanks for watching.