Learn programming with NodeCopter

Learn programming with NodeCopter

This is talk the I gave at Webmontag in Frankfurt on July 8th 2013. It's about how you can start to learn programming using NodeCopter.

Thank you for the invitation again, really loved to talk about this

F046ac6b545879813eb967a0455aa630?s=128

Robin Mehner

July 08, 2013
Tweet

Transcript

  1. Hi!

  2. Robin Mehner @rmehner I’m Robin from Berlin, @rmehner on Twitter

    and GitHub.
  3. A quick shout out to flinc for sponsoring the trip

    for me. You should check them out on flinc.org and share your rides!
  4. So about me: I’m running small development & consulting company.

  5. I'm also running BerlinJS & friends. In fact I help

    to organize quite a lot meetups so people tend to call me "usergroupie".
  6. SEPTEMBER 12, 2013 http://rejectjs.org BerlinJS leads to an annual full

    blown conference - Reject.JS, which will happen on September 12th this year. Right before the amazing JSConf.eu
  7. I'm also helping out a bit at CSSConf.eu. Bring all

    your designers to the yard!
  8. SEPTEMBER 13, 2013 http://nodecopter.com And of course running this thing:

    NodeCopter.
  9. Programming Flying Robots With JavaScript a.k.a.: Programming flying robots with

    JS I'm gonna talk about what NodeCopter is, how to get started and why it’s a great educational tool
  10. What is NodeCopter? So what is NodeCopter? Well, NodeCopter was

    born in Berlin last year on my balcony with a lot of Whiskey and ClubMate. The four of us, that is Felix Geisendörfer, Tim Koschützki, Thorsten Ball and me, asked ourselves what would happen if you ...
  11. combine: * an old swimming bath with very high ceilings

    * a lot of drones * interested people who're eager to hack them
  12. combine: * an old swimming bath with very high ceilings

    * a lot of drones * interested people who're eager to hack them
  13. combine: * an old swimming bath with very high ceilings

    * a lot of drones * interested people who're eager to hack them
  14. • Full day event of programming flying robots • Also

    a community on the internet • open source everything (code & organization) Turns out the result is a full day event of programming flying robots, but it's also a community in the internet. Open Source and community driven is one of our core principles, everything is open source and we put as much as we can on our website. That includes guides on how to organize your own NodeCopter.
  15. That’s how it looks like

  16. None
  17. It’s a movement • Spawned a lot of events since

    it’s birth • 13+ events in 12+ cities all over the world • at least 7 events coming up It’s not only an event, it’s a movement these days with over 13 events in more than 12 cities all over the world And it’s still going strong, we have at least 7 events coming up and there are constantly popping up.
  18. Ingredients So what do you need for NodeCopter?

  19. Well, obviously the drone: * Parrot AR Drone 2.0 *

    300 bucks on Amazon and comes with everything you need to start * So we’re not building our own awesome robots like NodeBots (which is a great event run by friends of us!), but use an existing platform to have an easy start
  20. JavaScript To program the drones we use JavaScript. If you

    don’t know JavaScript: It’s the language of the web. It’s built-in in every major web browser and is used on nearly every website. If you ever used Gmail, Facebook, YouTube or other big websites, you’ve used JS in the background already. That means a lot of devs know and speak JS already. We are using NodeJS as platform, which also available everywhere and is pretty well known too.
  21. Any language But in fact: We don’t care. Bring your

    own language. GoCopter, Ruby, PHP, well even Shellscript. It’s about fucking flying robots, not about some stupid language flame war ;)
  22. You The last missing ingredient is: You!

  23. It’s easy • no previous knowledge required • no electronics,

    no wires, no soldering • drones are pretty stable, but easy & cheap to repair Don’t be afraid, it’s easy! You do not need any previous knowledge with robotics. And you don't even have to know anything about electronics, wires or have to solder anything. And if you crash a drone, which are pretty stable, they're easy & cheap to repair. Pro-Tip: Have a Amazon Prime subscription for fast delivery of spare parts Not even deep programming knowledge needed.
  24. Demo Don’t believe me? Well, let’s have a look at

    some code. It’s really easy. First off all, when you start the drone it opens up a WiFi. Connect to it with your computer and you’re ready to go fly_my_little_drone_fly.js (https://gist.github.com/rmehner/5957875) Just 16 lines of codes. Clear names and super easy to grasp. And it invites you to play around with it, just by changing names, adding a new method or changing the numbers. You’ll see some crashes, but that’s also fun. And as I said: It’s easy to repair. Let me show you another project, which is the result of some freetime hacking invested by some amazing people (Bernhard, Tim and more) drone-browser (https://github.com/tim-kos/drone-browser, checkout the vidstream branch for real video stream) Bit more complex, it involves websockets, video processing, sensors and more, but still totally doable within a short timeframe the code is not too complex as well. --- Also a lot of other great stuff done at our events...
  25. Face detection, so the drone followed a certain person (that’s

    why he had to wear that helmet)
  26. Matador! Finds the red towel and tries to hunt it

    down. And many, many more: * Kinect, Leapmotion * Own controllers using arduino * object detection * robots dancing to dubstep * ...
  27. Guide to Programming • crash stuff • figure out why

    it crashes • fix it The demos we’ve seen drawing an pretty accurate picture on how programming really is. First you fiddle around and crash stuff. Then you figure out why it crashes and then you fix it eventually. Rinse, repeat.
  28. Why drones? • Survival So off all things you can

    do to start programming, why drones? Well, the most important thing: To survive the upcoming drone invasion!
  29. Why drones? • easy and fun to get started with

    • programming in groups, helping each other out • it’s also a toy! For beginners. Playful intro to programming techniques. NodeCopter events are always in groups, so when you’re stuck, you’ll always have people able to help you out. Yep, NodeCopter makes friends. We’ve seen people stay in contact with each other after meeting at NodeCopter events for the first time ever to hack on drones. Well, it’s a toy. That helps on the “fun” side.
  30. Why drones? • thinking outside of the box • gaining

    a new perspective on known things • playing around with interesting (new) technologies Even seasoned programmers can learn a lot things: * They’re forced to think outside their usual box they’re coming from, because your day job most likely doesn't involve hacking robots. Which is a shame btw. ;) * New perspectives on already known things: proper error handling for example. If you don’t handle errors in a proper way, the drone will crash. No safety net. * Learn new programming languages, or about computer vision, or hardware sensors * Or just use fresh technologies that you can’t use in your day job yet (WebGL, Websockets etc.)
  31. Why drones? • hack a great drone project • ???

    • Profit! There’s even a business behind drones. We’re often contacted by companies, startups, art projects and individuals with great ideas for drone-related products or projects. There are startups doing stuff with drones already.
  32. Learn programming • better communication & understanding • untapping creativity

    • programming is everywhere, you just have to see it As mentioned NodeCopter is a great platform to get started as programmer, but why should you bother learn programming? Well, it leads to better communication and understanding as programming is everywhere these days. For example: Are you a project manager? Learn to code, it’ll help to make better estimates and it’ll help you to communicate your needs in a better way to your developers. It’s also there to untap creativity that might be within you or others. Take fashion as example: Shirts with LEDs that can show texts or react to their environment can be found on all the big fashion shows over the world. That’s programming! Build your own thing, don’t be afraid because it’s too “hard”. It’s not. It’s really everywhere and you just have to see it. And as soon as you see what's possible your head will explode with ideas.
  33. Start your engines! • NodeCopter at schools • CoderDojo, RailsGirls,

    BlackGirlsCode • and many more So you’re hooked and want to start programming? You’re lucky, it’s the perfect time to do so! We had NodeCopter at schools: Matthew from Microsoft and Chris Williams of JSConf.us took NodeCopter and got into schools to get students excited for programming by showing them the hackable drones. There are more movements, like the excellent CoderDojos. They gather groups of kids and build all kinds of awesome stuff, from iPhone Apps to robots to web applications. Also there is RailsGirls, but I won’t go into detail of that too much, except it’s really freaking awesome and you should be excited for the next talk! I could talk about about these a lot more, there is BlackGirlsCode, OpenTechSchool etc. pp. Fuck yeah! If you more on the “I’d love to learn that stuff on my own sofa” side of things (which I doubt because then you wouldn’t be here), there are also a lot of great courses online.
  34. Programming is not rocket science!

  35. Programming is drone science! Drones are a good way to

    get started, as they give you a fun and playful way to explore the possibilities and give instant visible results. Also you’ll be able to survive the drone invasion.
  36. Go and build stuff! This is my plea to you:

    Go and build stuff. Don’t let someone tell you “It’s too hard”. It’s not.
  37. You don’t have to be an experienced programmer to build

    great stuff and enrich the world with your creativity.
  38. Thank you! Thank you for listening and check out http://nodecopter.com

    we’ve put everything we know about running these events on this website.