At IDR Solutions we spend a lot of our time developing our Java PDF Library and PDF to HTML5 Converter. Recently we have been getting involved in the Java and Programming community to try to pass on those coding skills to the next generation of developers. One of the things we were involved in was Encouraging Kids in Programming and we were attendees at JavaOne Minecraft sessions.
For me I think the Raspberry Pi is a really good way of getting into programming especially if you’re a newbie like me and want to learn about programming and the different programming languages.
So what is the Raspberry Pi?
A lot of people have been able to use the Pi for variety of projects from easy things for children to make to more complex things and for those with more advanced skills it can be made to be like a desktop PC doing spreadsheets, word-processing and playing games. It can also play high-definition video.
What can the Raspberry Pi run?
If you’re looking for some interesting projects to run on the Raspberry Pi for beginners I recommend taking a look at trying to install a variety of operating systems (something I love doing on x86 hardware) as the Raspberry Pi is an extremely capable device. Join me as I guide you through what you could try running on your Raspberry Pi.
Raspbian is the default free operating system that often comes on the Raspberry Pi, most often users can download this from RaspberryPi.org or the Raspbian Website. Raspbian is a version of Debian which is optimized for the Raspberry Pi hardware and the build consists of over 35,000 Raspbian packages.
Raspbian is still under active development with an emphasis on improving the stability and performance of as many Debian packages as possible. For a beginner it’s a good place to start especially if you’re starting with programming and are used to a windows based system as it bares some resemblance to Windows. Raspbian also includes a ‘Pi store’ so you can download free and purchasable applications such as Libre Office, Free Civ (a game) and more.
RISC OS is a British operating system originally designed by Acorn Computers Ltd in Cambridge, England, and was first released in 1987. It was specifically designed to run on the ARM chipset. It is fast, compact and efficient. RISC OS is not a version of Linux, nor is it in any way related to Windows and interestingly was developed by the original ARM team.
RISC OS Pi comes with a small set of utilities and applications, It includes a browser called NetSurf, a simple text editor, a scientific calculator, and it also has two software/package managers, packman and a store. Although it’s not a modern operating system (when compared Linux, Windows and OSX) is does have number of unique features and aspects to its design. It is available to download from RISC OS Open Website or RaspberryPi.org.
Firefox OS is one of the more difficult projects for a beginner but well worth it if you’re feeling confident.
Kali Linux is a Debian-derived security auditing Linux distribution designed for digital forensics and penetration testing. It is maintained and funded by Offensive Security Ltd. Kali Linux comes pre-installed with numerous penetration-testing programs, including nmap (a port scanner), Wireshark (a packet analyzer), John the Ripper (a password cracker), Aircrack-ng (suite for penetration-testing wireless LANs), Burp suite and OWASP ZAP (security scanners). Recently support for TFT touchscreens was added.
If you want to try you hand at installing Kali on the Raspberry Pi you can download it from their downloads page.
Raspbmc is based on the award winning free and open source software media player and entertainment hub formally known as XBMC (now Kodi). It is based on the Debian Linux distribution. It features a 10-foot user interface for use with televisions and remote controls and you can use Raspbmc to play and view most videos, music, podcasts, and other digital media files from local and network storage media and the internet.
It supports both wired and WiFi out of the box, multiple languages, auto updating and more, and the best thing is that if you want to use the Raspberry Pi as an XBMC front end you can do exactly that with no knowledge.
OpenELEC (Open Embedded Linux Entertainment Center) based on Kodi/XBMC and is meant for home theater PCs and is also available for the Raspberry Pi. However the philosophy with OpenELEC is to apply the ‘just enough’ principle. It is primarily designed to be lightweight and streamlined, so that it boots up quicker and feels a little snappier than Raspbmc. It functions similarly to Raspbmc but has its own settings and configurations area.
If you’re interested in downloading it you can download it from the RaspberryPi.org.
Pidora is a Fedora Remix optimized for the Raspberry Pi, which in turn was based on the Linux kernel, developed by the community-supported Fedora Project and owned by Red Hat.
Pidora although somewhat similar to Raspbian is slightly different as it’s distributed with a handful of different software. Some of the included software includes text editors, programming languages, and more. For some users you can also get a really useful ‘headless mode’ to operate your Pi without a monitor attached.
OpenMSX is an open source MSX emulator distributed free under Debian Free Software Guidelines, and available under the GNU General Public License. It is designed to emulate the MSX (a standardized home computer architecture, first announced by Microsoft Japan in 1983 and it is said that Microsoft led the project as an attempt to create unified standards among hardware makers.
Historically the MSX was the platform for major Japanese game studios, such as Konami and Hudson Soft – the Metal Gear series was originally written for MSX hardware.
We also covered some articles on the blog relating to the Raspberry Pi.
Do you use IDEs on your Raspberry Pi? If so which ones and what do you use them for?
Are you a Developer working with PDF files?
|Free: The Developer's Guide to PDF|
|Convert PDF files to HTML|
|Use PDF Forms in a web browser|
|Convert PDF Documents to an image|
|Work with PDF Documents in Java|