Hacker News new | past | comments | ask | show | jobs | submit login
Coder for Raspberry Pi (googlecreativelab.github.io)
164 points by makepanic on Sept 12, 2013 | hide | past | favorite | 33 comments



While this is cool, why does it have to be on a Raspberry Pi? Could this not be a VM (VirtualBox, since it's free) image as well? That way there's no hardware to buy and you simply install one program to run the image.

A great example of this is ArchiveTeam's Warrior: http://www.archiveteam.org/index.php?title=Warrior


Coder is a node.js application, so it also work on Mac. Here's how I got it to work (assuming you have Homebrew installed):

    brew install redis node
    git clone https://github.com/googlecreativelab/coder.git
    cd coder/coder-base
    npm install
    npm start
    
Now login to https://localhost:8081/ (All communication happens over SSL).


Doesn't work for me:

    $ npm start

    > coder-base@0.0.1 start     /Users/seclorum/hak/coder/coder-base
    > node server.js

    no certificate found. generating self signed cert.
    WARNING: unhandled exception: Error: ENOENT, no such file or directory 'certs/server.key'

EDIT: I figured it out - turns out I had a buggy version of Postgress.app installed on my machine, which had been shipped with a poorly configured openssl binary. Removing this from my PATH, so as to be using the system version of openssl (/usr/bin/openssl) fixed the problem ..


Note for those who try on Linux: I've had to add a local user "pi".


The point is for a kid without a computer to get access to programming. Not for a kid, who already has a computer, to get access to a virtual computer to program on.


Wait, a computer is still needed to write your program, right? Or is everything done on the Pi?


Either way would work from what I understand: it's a web app that you can access from another computer on the network or the Pi itself. Of course, you'll need a monitor and keyboard.


From the Raspberry Pi FAQ: "We want to see it being used by kids all over the world to learn programming."

I guess Coder is exactly the type of project the Pi was built for. Of course, you can install Coder on a "regular" PC or Mac but having a credit-card sized computer dedicated to a single educational task makes it more inclined to be played around with.

You give this to a little kid: he sees it like a toy, a powerful toy, with which he can develop "super-powers". It's less overwhelming than a full-size regular PC, and as a parent you can be assured that your kid won't mess up things, or launch a game because he got bored with coding.

I can see myself offering a Pi with Coder as a gift to anyone, even an adult, eager to learn coding. There are other projects similar to this one, but more focused on programming (Python especially), whereas HTML and CSS (and to some extent JS) is probably easier to grasp for beginners, especially because it's Web stuff.

The most valuable feature of Coder is how it looks. It's colorful and friendly, with a nice interface, which can be less obscure than a console.

By the way, I loved the introduction video. It reminded me of Google's own presentations. Then I realized Coder was made by Googlers.


You can buy a used low-end laptop for $100. With a laptop, you get a display, keyboard, and many other things a Pi doesn't offer.


Slightly off-topic: though I get a bit tired of this style of presentation videos, this one is incredibly well done, especially for an open-source project (even though backed by Google).

That project is pretty cool, though I do feel that having a Raspberry Pi to do that seems unnecessary. Wouldn't the JSBin and Codepen's of the world allow you to do most of this? Granted, as a kid, I'm sure having your own computer to work on makes a big difference.


Yes, your last point is the key. It's difficult to get most people interested in a pure software project because you can't see it or touch it. As soon as it becomes real (connect some I/O), it's infinitely more interesting.


This exactly. For someone just getting started, it's neat to be able to demystify how the web works. Here's your own little web server, and you can set it up right in your living room or classroom and play around with it to see how it all works.


This is great! Very cool project. The fact that it's open source makes it all the better. Definitely a tool I wish I had while I was learning how to code.

Seems like you can port this to almost anything, not just a Raspberry Pi.


I'm a sales and marketing guy who loves technical companies, but I'm hardly technical. I just bought a RaspberryPi to get excited about programming so this is excellent. I'm putting this on a card now and can't wait to fire it up when I get home!


The video is really well done. Any Idea on who/how it was made?


Probably Google's marketing department.


It was made with After Effects.


This would be very easy to get running on the BeagleBoneBlack as well, and with a tiny bit of work, BoneScript could be baked right in, allowing easy access to GPIO ports. It would be even easier (and much prettier) to learn basic electronics than Arduino.

That being said, for more advanced electronics with RPi or BBB, it's so beneficial to be able to host an Arduino on top to do the bitbanging. Trying to use the BBB's Programmable Realtime Unit sucks!


Maybe I'm missing something here, but if you are connecting to Coder then you can't access the internet? I'd imagine that having the learning material side by side (from sites like Codecademy) would be really handy. If you set this up in a classroom would everyone be able to access it through the browser and work on individual projects?


I was excited to try this out until I saw that it won't work on Linux, and won't work on Windows without installing Apple's Bonjour. What possessed them to do this?

Does anyone know if there is a way to use this on Linux or Windows without installing nagware on my main machine?


Avahi Daemon is the server side used in the Raspberry Pi. The client side is ZeroConf https://help.ubuntu.com/community/HowToZeroconf

Both run freely on Linux. On Windows you can try this Mono Implementation http://mono-project.com/Mono.Zeroconf


You absolutely don't have to install the apple Bonjour crap to use this. The only thing that is used for is the automatic .local hostname resolution.

Essentially, the Raspberry Pi has the netatalk package on it which allows it to broadcast it's own .local hostname. This is what makes it possible for a user to simply type "coder.local" into the URL bar in chrome and have the Raspberry Pi's IP address resolved.

So if you leave out the apple bonjour packages, you'll just have to figure out the IP address yourself and use the IP instead of the fancy "coder.local" hostname. There are a number of ways to accomplish this, from scanning your network to just plugging in a HDMI cable and a keyboard to the RPi and doing an "ifconfig".


Nitpick, it's not netatalk, the .local is resolved by Avahi, the Linux/BSD zeroconf implementation.

Incidentally, zeroconf is why it is not advisable to use internal *.local domains.


That's not a nitpick. Zeroconf isn't even "Apple's thing" … Bonjour is just one implementation.

That guy is ranting because ranting makes him feel important.


Ok great, that's good to hear. I know how to find my RPi's IP address (I bought one last week and itching to get stuck into it)

Half the point of the RPi is for it to be a cheap, accessible Linux box for learning, and was pretty appalled when I thought that that this tool completely locked out Linux users.


If you're using Linux, just install avahi-daemon and you should be able to connect to coder.local without having to find the device's IP address.

mDNS/Zeroconf/Bonjour is an easy way to get up and running in a headless setup, but the Coder download is just a minimally modified Raspbian distribution, so you can also ssh in and tweak it to do whatever you like.


Just a guess, but because a big part of the simple approach meant leaving things like DNS and IP Addresses out of the path to making something? You have to use their build, which I'm guessing as some mDNS stuff baked in (yes, it does - http://coder.local) with a pre-arranged name, and without Bonjour installed, a Windows box wouldn't find it.


Exactly. So if you didn't install the Apple crap, you would just have to track down the IP of the RPi somehow and use that instead of the fancy "coder.local" hostname


If you can do all that, you don't need a super-simple beginner's guide to programming that this is trying to be. They're trying to reduce barriers.


Why do you call bonjour crap?


Zeroconf works on all platforms, there are multiple implementations available. Avahi is one of the most popular in opensource world.


Would have loved this in high school!


It would have been better than building those shitty lego robots. Fuck those things.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: