The Changelog: Software Development, Open Source - Node Knockout (Interview)

Episode Date: August 31, 2010

Micheil and Wynn caught up with Gerad and Visnu from the Node Knockout to talk about the 48 hour Node.js development competition and its entries....

Transcript
Discussion (0)
Starting point is 00:00:00 We're at Road on Knockout, and you're listening to the Changelog Podcast. Welcome to the Changelog, episode 0.3.3. I'm Adam Stachowiak. And I'm W Stachowiak. And I'm Winn Edelman. This is The Change Log. We cover what's fresh and new in the world of open source. If you caught us on iTunes, we're also on the web at thechangelog.com. We're also up in GitHub. Yep, head to github.com forward slash explore. You'll find some training repos, some feature repos from the blog, as well as the audio podcast. And if you're on Twitter, follow Change Log Show, not the Change Log for all you crazy people out there. And if you want to follow me, I'm Adam Stack.
Starting point is 00:00:52 And I'm Penguin, P-E-N-G-W-I-N-N. Hey, Adam, did you hear they caught that man? What man? The man that stole your microphone. Ah, I took my mic to LSRC and somebody took it. I think it was you. Somebody took it. I have now stolen both of Adam's mics.
Starting point is 00:01:07 Speaking of Mike, Mike Parham from Austin, who I had to fight hard not to call Mark Parham in the Dolly story that I posted this morning, but I used the wrong Twitter handle. He's not at Mike Parham. He's in Parham. I am in Parham
Starting point is 00:01:23 when it comes to following Mike's Ruby projects. Well, you messed up there, but I hear you did some awesome work doing the training at Lone Star RubyCon. How'd that go? That was fun. We were both there doing the Zanai for the dev guy. Yeah. Also did a talk on Saturday about Ruby API Wrappers. Such a fun conference.
Starting point is 00:01:43 I love these regional conferences. Yeah. You know, I had such good conversations there. I always enjoy just sometimes just the hallway chatter, really. I mean, I enjoy the presentations, but the hallway chatter is always nice to enjoy as well. Absolutely. Speaking of fun, Node Knockout was this weekend.
Starting point is 00:02:00 How many teams competed, like 200-some? Over 200. I think the guy said 100 or so finished. We've done these types of contests before. They're just exhausting. So this is like the Rails Rumble then. Similar to Rails Rumble, but for Node? That's right. So we talked to Gerard and Visnu from
Starting point is 00:02:17 Node Knockout. They have a consulting firm called Fortnite. Michael and I sat down with them and talked about all the entries and kind of the background of the competition and you've got two days left to vote voting ends if you're listening to this live voting ends on thursday thursday the second thursday september 2nd and if you want to go vote go to node knockout.com and do it listen to the episode and go vote for your winners.
Starting point is 00:02:45 Awesome. So we got an awesome episode here? We do. Let's get to it. Let's do it. All right. We're joined today by the organizers of the Node Knockout competition, Jared and Visnu. You guys, introduce yourself and a little bit about who you are
Starting point is 00:03:07 and how you got into Node. So I'm Jared, and I am Jared of Jared and Visnu. And I, we really actually, Visnu and I got into Node, we kind of fell into it, head over heels, if you will. We've done a lot of client-side JavaScript, and we love the idea of Node, which I think resonates with a lot of people. And so we wanted to try it out,
Starting point is 00:03:37 and we'd kind of been people who've primarily been in the Ruby world on the server side. And as part of that, we'd done kind of a bunch of programming competitions called the Rails Rumble. And we really loved kind of using that weekend, the Rails Rumble weekend, for trying out new technologies. And so we really hadn't done any Node at all until we kind of – and we were waiting for kind of a competition like Rails Rumble to exist
Starting point is 00:04:05 to try it out. And so I'm kind of hinting at where the idea for Node Knockout came from, is we were hoping somebody else would put it on. But that's kind of, I guess, both of our backgrounds. Well, yeah,
Starting point is 00:04:22 so I'm Disney. Yeah, Jerry and I, we both are Fortnite labs, I guess. We're the only two. And I guess I'm probably more developer heavy, and maybe kind of designer-y. Jared is kind of probably more data-y and product-y, I guess. But there's a reasonable amount of overlap between the two of us, though certainly Viz is a heck of a lot better at design
Starting point is 00:04:48 and also at development than me. With Fortnite Labs, was that the company where you were releasing every two weeks or just a cool name? Kind of both. So normally whenever we estimate things, it somehow ends up being around two weeks for the projects that we want to do.
Starting point is 00:05:06 And so then we realized, of course, that Fortnite would be a good name because it means two weeks. It was a little bit of a reaction to our previous company. We'd been running it, and it was a big kind of product, big, long-term, multi-year product. And we'd kind of always been more successful and had more fun with the smaller stuff. So we figured, you know, when we were going to go do our own thing, we should do things we enjoy, which ends up being the shorter stuff, the stuff that takes about two weeks to get done.
Starting point is 00:05:37 And so we've done a fair amount of things in two weeks. We did a dashboard, and it took about two weeks. We've done a mobile app that took about two weeks. We've done a mobile app. It took about two weeks. Yeah, a number of little consulting projects. Though we're kind of falling into some bigger projects now. So Node Knockout was a lot more than two weeks worth of work. So you guys put the Node Knockout together. So for the folks that may not be familiar with the Rails Rumble or the Django Dash, I want you to give an overview of the rules for the Node Knockout. So Node Knockout or Rails Rumble are the similar format contests.
Starting point is 00:06:14 Our programming contests, they're very like hackathons that are 48 hours, normally on the weekend, concentrated roughly on a specific technology. So Rails is Rails, Django.js is Django. So we wanted one for Node.js. And it's build whatever from scratch in 48 hours, and that's pretty much the one rule, I think. Yeah, I mean, I think what makes the contest unique is that really you start from nothing.
Starting point is 00:06:42 You can't have any digital assets. So no designs, no code. You can rely on like open source libraries and things like that. But you really have to start and build, you know, basically everything from scratch over the weekend. And so, you know, we just got through it, which is why we're both a little bit wired out of it. But, you know, literally we went from people deploying Hello World apps through it, which is why we're both a little bit wired out of it. But literally,
Starting point is 00:07:06 we went from people deploying Hello World apps on Friday at 10pm to fully functioning amazing services and products. Essentially, more than just an app, a whole business, oftentimes. 48 hours later
Starting point is 00:07:22 at Sunday at 5pm our time. Okay, so how many businesses have actually started to appear out of Node Knockout? Any ideas and numbers? How many businesses have appeared? Well, 98 teams got to reasonable products. We'll see if any actual businesses come out of that. I know a number, or not a number, but a handful of businesses have come out of Rails Rumble. And we have a number of, or not a number, but a handful of businesses have come out of Rails Rumble. And we have a number of VCs
Starting point is 00:07:45 judging, so it's possible that if something seems appealing, you know, there's gasoline to pour on that match or that spark. I know we haven't judged yet, but do you have any favorite entries just yet? You know, we
Starting point is 00:08:02 have, so to be honest, we haven't really had a ton of time to peruse things because we've been so busy putting on the competition. We're actually working on getting scoring together. I like Swarm Nation. I like... What else was there? We had some friends in the competition who we like.
Starting point is 00:08:19 They did something called... The Watchmaker. The Watchmaker. So that's 7 734M. Which is the same team name we've used in the past for Real's Rumble. It holds a special place in our heart. Yeah, it's like a weird,
Starting point is 00:08:33 pixely retro, weird world. And then MapReduce is also pretty mind-blowing, to me at least. It's roughly like SETI at MapReduce is also pretty mind-blowing to me at least. It's roughly like SETI at MapReduce or SETI at JavaScript website, I guess. It's hard to explain. What else was there?
Starting point is 00:08:56 Can you think of anything off the top of your head? Yeah, I mean, it's just like Medium did a great job with their math. There's just so much variance in kind of what's been done. It's just amazing. There was a great app done by a team called Hack and Slash that lets you play kind of as a two-person or as a multiplayer
Starting point is 00:09:16 two-dimensional platform game, but the platform is a webpage. You can kind of jump up and down on divs in the webpage, which is just totally amazing. a lot of cool games um there's a great one that's kind of a multiplayer tower defense slash offense uh game you know it's just really pretty awesome what people have done and i think what's particularly cool about the apps that people have submitted is that they don't really necessarily look like traditional web apps you know they're almost all entirely one pagers they're almost all uh real-time communication apps you know so it's like everything's happening kind of all at once
Starting point is 00:09:55 and so that's kind of exciting oh and there was one that um bladder block also was fun like online dictionary picture and that uh that um one that does BitTorrent is pretty cool. Oh, right. I did play Bladderblock. That's totally not what I was expecting with that domain name. I did see the translation when you get through. I was expecting some sort of first-person shooter where you had to get to the loo. So gaming, is that a theme for this year or do you think it's just where a place where
Starting point is 00:10:26 node shines i think it gaming caters to node strengths um node is very very strong and not not just that it caters to node strengths it really shows off other platforms weaknesses like um we actually did a an online massive multiplayer LaserOids game for Rails and Rumble last year. Asteroids. And it was really, really hard, and we were the only people to do a game, and it was considered insanely innovative.
Starting point is 00:10:55 We're one of two. We're one of two teams to do a game, and it was considered insanely innovative. And it's just because it's not... Rails isn't designed for that. And whereas Node is totally... It's flexible enough that you can do that. And since you take away the constraint, people love making games. And that's, I think, one of the reasons you see so many of them.
Starting point is 00:11:18 Drop Node was another one that was actually more of a utility. It's just easy file sharing. So you just drag and drop onto the thing, and it actually uses WebSockets between two clients, I believe, to transfer the file. Okay, so you've already mentioned that a lot of the apps were using real-time technologies. And there's an absolute plethora of Node modules.
Starting point is 00:11:41 Any ideas on which were the most used modules? So I think that Express and Connect got used a lot. I think, unfortunately for you, Michael, I think Socket.io was kind of more of the winner on the WebSocket side of things, just because it gracefully degraded. So I heard a lot of people using that. A lot of people actually used the... They used kind of the NoSQL databases.
Starting point is 00:12:14 So there was a lot of people using things like Mongo, Couch, and Redis. So those seemed to be big winners. Aside from that, you know, I'm trying to remember what we were getting support issues for in the chat rooms, actually, mostly. I think those were the big ones. The website's got a really nice design. I've been watching the sponsors list grow. It's almost up to NASCAR proportions now. How did you get such a list of really top-notch sponsors,
Starting point is 00:12:44 and how did that list come about? So we came up with the idea for the site. We came up with a name, and then we pinged a couple people about it, and then everybody just kind of came to us. And we figured it out. Occasionally, we reached out to some sponsors on our own but you don't tend to see those on the on the side of the website like google's um sponsoring um with some prizes but they're they're not listed um for the most part almost everybody reached out to us except for uh you know the very few people we contacted at the beginning just to say hey we
Starting point is 00:13:24 have this idea we think you might be kind of a good person to help us either provide infrastructure or write some blog posts. And everybody else just kind of found us. So getting sponsors has been not difficult at all. Okay, so you've mentioned the name of the competition. But I hear that it has a bit of an interesting story as to how it came about. Well, I mean, I guess I did it in my intro. So basically, we wanted to compete in a competition like this. And so we were waiting for somebody to put it on, waiting for somebody to put it on.
Starting point is 00:13:56 And then we kind of got tired of waiting. We were talking like brainstorming names for it. And I think my wife actually came up with a great name, which was Node Knockout, you know, kind of keeping with the alliteration that Rails does, Rails Rumble does. And so we said, like, we have a name for it. We had time because we had kind of just switched from being full-time employees to doing our own consulting business. And so we were like, we have time to put it on. We have a pretty good set of contexts. And, you know, we live in Silicon Valley. And so we, especially as consultants, we meet a lot of people.
Starting point is 00:14:28 So we knew we could get the infrastructure and the judges. And there probably wouldn't be a lot better people to do it than us in terms of just connections. So we figured, hey, why not? How hard could it be? And we subsequently learned that it could be a lot of work. But it's gone really, really really well it's been very exciting and we've got to meet some great great dedicated people um and it's just you know been a total blast very very fulfilling any plans to make this an annual event yeah um i mean right now you guys sounded tired yeah yeah it's not tired I'm tired. It's hard to think about doing it next year when you're already really tired
Starting point is 00:15:09 and thinking about all of that, repeating all the work. But yeah, definitely. I think the one thing that makes us question it the most is that we really want to compete in it more than anything else. And so to organize at the same time of competing is, of course, not really cool. So I think we're looking for a scapegoat on trying to get somebody else to run most of it next year so that we can actually compete. But I think we'll try to do it with a little bit bigger team than next year.
Starting point is 00:15:39 This year we've been fortunate to have the support of a number of people, including Ryan Dahl at Joyent. And Michael, you've been helping us too, which has been totally great. But at the same time, we weren't really good enough. We didn't really know enough to be able to hand off a lot of it. And so I think one of the learning experiences we have for next year is that it's good to be able to know what you need to do so you can hand off as much as possible because there's just a lot of coordination and communication work that has to happen. You've constantly mentioned the judges. How many judges are there actually?
Starting point is 00:16:17 There are 64 judges, expert judges. In addition to the general public, who I think we have like a thousand people who have voted so far from the general public. These judges are people who we've reached out to in our network or have come to us or who other people who have come to us have suggested. We've been
Starting point is 00:16:40 really, really fortunate to get to see them. Just amazing judges and I'm really excited to look forward to what they're going to write. We've gotten Ryan Dahl as a judge, the creator of Node. We've gotten Brendan Eich, the creator of JavaScript
Starting point is 00:16:55 as a judge. We've gotten John Rezic as a judge. We couldn't get Douglas Crockford as a judge. We tried to reach out to him a number of times and then Tim Caswell who's a judge, the creator of Connect, actually saw him on Friday night and reached out to him and said, hey, and apparently actually finally did talk to him. And we found that he hadn't heard of it at all.
Starting point is 00:17:21 So it's just like one of those things. For example, Deanna Ulmer of Ajaxian, I think 10 or 12 people pinged him about being a judge. So he's a judge now too. So we tried the mechanism of approaching judges by full-court press, if you will. Okay, the other thing that is often looked at when people look at deploying a Node app
Starting point is 00:17:45 is how to actually get Node onto a server, but also what sort of stacks exist out there already. I mean, Rails has Heroku and Rails Machine. And then what's Node got? I know that in the competition you used Joint and Heroku. Could you explain sort of how well that went and also introduce them? Sure, absolutely. Joint, we've been really, really fortunate to have some great sponsors in Joint and Heroku for the competition.
Starting point is 00:18:13 They provided all the hosting for free. Joint provided Knockout HQ, which was just amazingly generous and very, very well organized. the kind of actually a lot of what kicked off the competition was that Heroku had just provided a node a node beta so you could use Heroku dynos with node and so that was kind of
Starting point is 00:18:38 we figured oh well now HostingProvisor providing it so we could probably get this competition kicked off and then actually immediately after we kind probably get this competition kicked off. And then, actually, immediately after we kind of announced the competition, we pinged Ryan before doing anything, because we wanted to respect him.
Starting point is 00:18:54 And so then Joanne reached out to us and said, hey, look, we do hosting too, and we're thinking about releasing smart machines maybe for the competition. And so about two days before the competition. And so about two days before the competition, Wednesday, before the competition started Friday, about
Starting point is 00:19:09 three in the morning, Joyent released Node Smart Machines, which they are very, very beta. They have an awesome domain name. They have an awesome domain name, no.de. They have a lot of great functionality
Starting point is 00:19:24 for the competition. You've got a static IP. You've got a lot of great stuff. You've got full access to a box. You've got SSH access. And so we were very fortunate to have that as an option in addition to Heroku as an option,
Starting point is 00:19:41 which is very easy to deploy, very time-tested. It's been running a great Rails environment for years now. And so both providers did a great job. There were not a ton of issues. All the issues were addressed very, very quickly. For a service that was two days old, the joint service was just unbelievable. The support was really great because people were trying to figure out how the joint stack worked a little bit because it's on Solaris,
Starting point is 00:20:09 which not a lot of people are familiar with. But the joint support made everything really super smooth. And the deploy process itself for both of these instances was very simple. It was just a simple Git-based deploy. So all you did was Git push to a remote repository. And with both services, it would take your code, upgrade it, it was just a simple Git-based deploy. So all you did was Git push to a remote repository, and with both services, it would take your code, upgrade it, and restart your server. So basically give you a great, you know, really, really simple, really, really easy to use, you know, deploy.
Starting point is 00:20:40 And actually, one of the stories we heard from somebody was, I'd never deployed to a server at all except by using FTP. I'd never used Git or anything, and I was able to get my code up in Git and deployed before the end of the competition. I had a really great time, so much that I want to keep working on it afterwards. That's a huge success story. If we're getting people to use these tools, which
Starting point is 00:20:57 are ultimately going to make them better developers and make the web a better place, then we're really happy. Well, if you call it any episodes of the show, this is where we usually put our guests on the spot and ask what's on your open source radar so what out there uh node related or not node related that is open source that's got you excited and you can't wait to play with it um for me i'm actually excited about where centra or yeah where centra's taking kind of Connect and Express. I mean, we started using it before like a huge refactor.
Starting point is 00:21:30 And so I'm kind of excited to check out this, that's kind of slimmed down and it seems a lot more pleasurable to use. NPM also, when we first started putting the website together, which is written in Node, there were like three different package managers, and NPM seems to kind of have one out in all of those now. And so I'm pretty excited about using that since we're not right now.
Starting point is 00:21:55 Yeah. And then another one, we actually have a lot of things we're excited about using because of the core technology of Node website, but we actually also wrote our own ODM on top of mongo um because we really overlooked that mongo's existed so we i want to kind of play with that and check that out um guillermo has the author has kind of some api changes he's talked about um and then the other thing i mentioned that node technology that we can't really i can't personally sell enough is i really, really enjoy using Node Inspector, which basically brings a web
Starting point is 00:22:27 inspector to Node. And I don't know how much I'm at liberty to say because Danny, the writer, was showing off some stuff to me and I think maybe in more private, but I think there's some really cool stuff going up with that. So that's
Starting point is 00:22:44 something to keep your eyes open for. That's a great project. Cool. Well, thanks for joining us today to talk about the Node Knockout. I can't wait to look forward to see if you guys rest up, recuperate, and do this again next year, and hopefully Michael and I will get to participate.
Starting point is 00:23:00 Oh, absolutely. By the way, I don't know when this podcast is going out, but the voting is going on now until Thursday at 5 p.m. Pacific, 0000 UTC. So, you know, if you're listening to this and you haven't yet done it, go ahead and check out nonockout.com and, you know, leave some votes on these great, great apps that people have created. Absolutely.
Starting point is 00:23:23 We'll be sure and put those links in the show notes. Thanks, guys. I see it in my eyes So how could I forget when I found myself for the first time Safe in your arms As the dark passion shines

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.