The past couple of years have seen an explosion of open source programming languages and utilities that are geared toward children. Many of these efforts are based around the idea that, since the days of BASIC, programming environments have become far too complex for untrained minds to wrap themselves around. Some toolkits aim to create entirely new ways of envisioning and creating projects that appeal to younger minds, such as games and animations, while others aim to recreate the "basic"-ness of BASIC in a modern language and environment.
Pulse is a build server that can monitor your source repository and trigger a build and test cycle every time somebody does a commit. With Pulse you will always know if the most recent sources in your revision control system compile and if they pass your unit and system tests. Better yet, Pulse allows you to build and test your current working copy of checked-out source, during a so-called Personal Build, so you can see if your code breaks things before you commit your changes to the central repository.
GameLayers' Passively Multiplayer Online Game (PMOG), which allows users to immerse themselves in a virtual world of adventures, challenges, and intrigue, has been picking up traction thanks in part to its robust open source framework. Underpinning the popular online game is Ruby on Rails, a full-stack framework for developing database-backed Web applications that works with a variety of Web servers and databases.
GNOME's Vala programming language lets you use the GLib2 object system at the heart of the GNOME desktop without having to do object-oriented programming in ANSI C. Unlike Mono or Java, a Vala program does not require any virtual machine or runtime libraries, so people who use your Vala objects don't even have to know they are not written in C.
Ruby on Rails is garnering a lot of praise as an easy-to-use, database-driven Web framework for developing Web applications. Most of the documentation for Ruby on Rails centers on Macintosh, with the remainder seemingly only for Windows machines, but RoR is perfectly usable on Linux computers too. This article explains how to install and begin developing with RoR in Linux.
For programmers on big projects, a version control system for managing source code is vital, but working on files in a large project from one of these programs' command-line interfaces is cumbersome. Worse, the results of the commands lack highlighting to show the differences between files and revisions. ViewVC is a handy browser-based code viewer that allows users to browse a source code tree managed by either CVS or Subversion, look at changes, compare revisions at the file or line level, and perform other operations -- just about anything except allow users to check out or commit files.
Mantis is that rare bug-tracking program for small projects that is neither too bloated nor too featureless. It's an excellent choice for developers who need a bug tracker that the average computer user can use. Its clean interface and numerous features make bug tracking fast and easy.
Bluefish is a GUI-based text and code editor that runs on "most (maybe all?) POSIX compatible operating systems including Linux, FreeBSD, Ma cOS X, OpenBSD, and Solaris." It has an impressive feature list, and is both lightweight and speedy. It is not currently under heavy development primarily because it is a mature program that already does exactly what it is supposed to do with no fuss or complaint.
Many applications need to graphically display the relation between two data axes. Common examples are how one resource such as CPU load or an exchange rate varies over time. GtkDatabox makes presenting such information in a GTK+ desktop application much simpler.
If you develop applications using FOSS tools, Workbench is an ideal distro for you. In addition to packing a gamut of development tools, the distro also bundles everyday apps and eye candy, so you can use it on your desktop as well.
Ask any independent software vendor what he hates most about developing for Linux and he'll tell you that it's having to develop for SUSE and for Red Hat and for Ubuntu and ... you get the idea. The Linux Foundation has just released a beta of a new program, Linux Application Checker (AppChecker), that's going to make ISVs and other programmers start to love developing for Linux.
While OpenOffice.org Base is good for storing and querying data, it doesn't provide any easy way to chart information. This is exactly what Calc does best, with its dedicated chart module. If you want to visualize data stored in a Base database, you can write an OOo Basic macro that pulls data from a database, inserts it into a Calc spreadsheet, and then creates a chart. Here's how.
If you've ever used Microsoft Access or Excel, you have likely used a product that Mike Gunderloy had a hand in developing. The irony is that Gunderloy himself doesn't use those products anymore. He's given up Microsoft for open source -- and he's not going back.
ZK is an AJAX toolkit designed to make creating user interfaces that run in a Web browser as simple as creating event-driven interfaces for desktop applications. The interfaces created with ZK use an XML markup language to define the user interface and Java code to implement the Web application's functionality. ZK includes support for data-bound controls so that you do not have to worry about updating the user interface forms when you change your Java objects.
Geany is a lightweight text editor for Linux based on the GTK2 toolkit. Geany supports internal and external plugins, and it excels as a source code editor, since it includes basic integrated development environment (IDE) functionality. Here's an introduction to using Geany's built-in features, including the IDE and built-in development capabilities.
Free and open source software (FOSS) is only beginning to find a foothold in computer science departments in North America. FOSS tools may be used in teaching or be the subject of research or special committees, but few departments include courses that introduce students to the FOSS community. As a result, when North Carolina State University created a FOSS graduate course in the 2008 spring semester, it turned to Red Hat to find an instructor with a suitable background of FOSS involvement and university teaching experience. Community manager Greg DeKoenigsberg recommended performance tools engineer Will Cohen, who now looks back at the experience with an eye to how what he and his students learned might help other instructors.
Anybody who spends time trying new free software applications and distributions will soon notice that version numbering and labeling is next to meaningless. These days, versioning rarely gives an accurate idea of the state of development, except relative to other builds of the same project. It is simply a label that distinguishes one build from another. That's too bad, because a properly labeled release can give users a sense of how advanced the build actually is.
Mention Common Gateway Interface scripting to a Web developer, and their first response is likely to be "I use Perl." While Perl has long dominated the CGI scripting world, there are other, and perhaps better, tools available. In this tutorial we'll take a look at CGI scripting with Python, a fast, versatile, multi-platform language.
Johnathan Zdziarski's book Open iPhone Application Development is a guide writing applications for the iPhone without engaging the restrictions of Apple's official software development kit (SDK). The book takes readers on a concise tour of iPhone jailbreaking, setting up the free compiler tool chain, writing basic Objective-C apps, and the available libraries and APIs. Apple might not like this book, but if you need to develop for the iPhone or just want to learn more about how it works, you'll be hard-pressed to find a better practical resource.
In previous installments of the crash course, you've learned how to build a simple basket tool, a task manager, and even a word game. This time, let's take a look at how you can use the skills you picked up from those exercises to create a simple application launcher, which will allow you to start virtually any application without leaving the convenience of OpenOffice.org. While working on this project, you'll learn how to create and use functions, handle errors, and how to populate list boxes using records from a database table.