arghbox

Tactical Computer Action (for beginners and their support team)

The Value of Raspberry Jam

“Wow, that makes learning to program really accessible. I’ll finally have my household of robotic servants in a few years thanks to this device and the army of young techno-geniuses it creates” is the usual response when I tell someone about the Raspberry Pi. Since discovering the Raspberry Pi I have been a strong believer in the foundation’s mission to inspire a new generation of makers and computer programmers. The hardware cuts the cost barrier for children who want their own computer, around the price of a Christmas present from Grandma. The default operating system and software also remove the ridiculously steep learning curve of installing a powerful Linux operating system and using it to learn to program. In other words, they’ve got the hardware and software sorted.

The major challenge that faces the Raspberry is the access and visibility of teaching and learning resources. Without access to resources many people will have no guidance or starting point for learning to program. Guidance and support is essential when starting on the road of programming. Starting is the biggest and hardest step in the journey and without a helping prod in the right direction, the sad fact is many beginners will give up and let their Raspberry Pi gather dust. Saying that, luckily there are some amazing resources out there, the only problem is finding them and knowing where to start. That’s where Raspberry Jams come in.

Due to the magical powers of their founder, Alan O’Donohue, Raspberry Jams have been around longer than time itself. In essence Raspberry Jams are gatherings of Raspberry Pi enthusiasts and beginners from all walks of life. They’re held worldwide and during the Jam a series of presentations, workshops and informal chats give attendants the opportunity to share their ideas, resources and enthusiasm.

Raspberry Jams are therefore an amazing place for beginners to start their journey with the Raspberry Pi. By the end of any workshop, participants, young and old, are guaranteed to learn new skills. Through networking (in the business buzz-word sense, not in the wires, internet and magic sense) like-minded people meet and share ideas. Some walk away with solutions to their problems, many are inspired to try something new and others join forces to collaborate and develop resources that others can use.

At Raspberry Jams, amazing people come together and do amazing things. The community that surrounds the Raspberry Pi is just as essential as the device itself. What often evades our gaze is that, as with any technology, the Raspberry Pi is not about circuits and bits, it’s about people. They are the people on the ground sharing their knowledge, skills, and enthusiasm so that the Raspberry Pi can achieve its mission. They provide the spark that ignites the imagination of young ladies and men, who in a matter of years will achieve things that far surpass our dreams of robotic servants.

Of course Raspberry Jams are just one piece of the puzzle. Over the life of this blog I will focus on making learning to program accessible. Look out for my upcoming blogs onĀ  free resources for learning to program on the Raspberry Pi. I’ll also recount my experience at my first Raspberry Jam in another post where I’ll give you concrete examples of the value of Raspberry Jams.

Ninja-IDE on the Raspberry Pi

ninja-ide

Ninja-IDE is an integrated development environment (IDE) designed for Python. I’ve been using it for a couple of weeks and it’s already my favorite IDE. It has a number of features that really set it out from the crowd:

  • It identifies how to make your Python 2.7 compatible with Python 3
  • Extensions are easy to find and install using the menu, including support for git and other repositories
  • Designed specifically for Python so it only includes the features you need (it’s mostly written in Python as well)
  • Cross-platform compatibility means you can run it on different operating systems with a familiar interface
  • Clear and logical layout
  • Free and Open-source
  • It looks really cool and has a cool name…

I’ve been running Ninja-IDE 2.0 on my Raspberry Pi and it runs surprisingly well. There are no problems with performance on either of my Model B, however I my Model A had a slight performance problem when using the Projects feature.

Update: Ninja-IDE is now available on the Raspbian repository. At the moment the program crashes when I launch it after installing it from the repository. I will try to find out if the problem exists on my end. If you want to test it out for yourself and see if it works on your Raspberry Pi, install Ninja-IDE using apt-get by running the following commands in a terminal:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install ninja-ide

If installing from the repository doesn’t work for you, you can install Ninja-IDE from source using the following instructions (I have used this approach and it works perfectly for me):

1. Install Dependencies
Ninja-IDE requires several other packages in order to run on your Raspberry Pi. To get these packages open up a terminal and input the following code:

sudo apt-get update && sudo apt-get upgrade

sudo apt-get install python-qt4 libjs-jquery pyflakes

2. Download Ninja-IDE from GitHub
Still in the terminal, we’re going to download Ninja-IDE from GitHub. In the terminal move to the directory that you want to install Ninja-IDE and input the following code:

git clone git://github.com/ninja-ide/ninja-ide.git

3. Run It
Assuming everything’s worked properly you should now be able to run Ninja-IDE on your Raspberry Pi. Terminal yourself into the newly created ninja-ide folder and open the IDE with the following code:

cd ninja-ide
python ninja-ide.py

4. Make it Executable (Optional)
Now you’re running Ninja-IDE on Raspberry Pi, you may get impatient having to open a terminal every time you want to use it. It’s also annoying that closing the terminal window also closes the IDE.

Surely there’s a better way? There is. We’ll make Ninja-IDE executable, meaning you can open it from the file browser or from the terminal without the preceding python command. While in the ninja-ide directory run the following to make the IDE executable:

chmod +x ninja-ide.py

5. Desktop Shortcut (Optional)
What’s even easier that opening the program from a file browser? Running it from the desktop. After you’ve completed all of the above steps you can create a shortcut on the desktop. Move to the Desktop directory with the following command in the terminal:

cd ~/Desktop

Now we need to create a file in this directory to run Ninja-IDE. Run the following in your terminal to open the nano text editor with a new file called ninja.desktop:

nano ninja.desktop

Now paste the following into the text editor:

[Desktop Entry]
Name=Ninja IDE
Comment=Integrated DeveLopment Environment for Python
Exec=/home/pi/ninja-ide/ninja-ide.py
Icon=/home/pi/ninja-ide/icon.png
Terminal=false
Type=Application
Categories=Application;Development;
StartupNotify=true

Save the file and exit. The most important lines in this file are Exec=… and Icon=… make sure the directories match up to the ninja-ide directory. If you placed this in the pi directory you won’t need to change the file.

Brilliant. You should now be able to use Ninja-IDE. Check out the developer’s website http://ninja-ide.org and show them some love on Twitter @ninja-ide.