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.
Recently, I wrote a review of the note-taking application Tomboy. Though I find Tomboy exceptionally useful, I had a minor issue with the inability to create new notebooks from within a note. Within hours of the review appearing on Linux.com, Boyd Timothy, one of the app's developers mentioned in the article's comments that my idea had merit and said he would add the feature to an upcoming build. True to his word, he did. This is a shining example of one of the most valued yet sometimes overlooked features of open source software: it really is for the people, by the people.
Last month, Daryl Lee gave us a taste of the language Scheme in the article It's time to learn Scheme with a C++ code generator. This time we will be looking at some practical examples written with Scheme Shell (SCSH): finding and replacing text in a bunch of files, sorting files in two different ways, and converting data from a CSV file to an HTML file.
Hey, it's dirty and unglamorous coding, but somebody's got to do it. Jon Masters is one of the people who do Good Things for GNU/Linux but get little recognition for their work outside of a small circle of friends. But if you take a look at his personal page you'll immediately realize that Jon, like many inner-circle Linux developers, has many interests besides programming. And despite his many serious accomplishments, as this casual video interview (shot at the recent Linux Foundation Collaboration Summit) clearly shows, he doesn't take himself too seriously.
Let's get the first Bdale question out of the way right now: no, he didn't sell half the vowels in his name. His birth name was Barksdale, later shortened to B'dale, then to Bdale. The next thing you notice (in person) about Bdale Garbee is his size. He's a very large person. But all that aside, look at his personal home page and Wikipedia entry and you'll realize that this man is one of the most prolific contributors to Linux and open source in the world. Besides all that, he's nice (and often funny), too.
Ever since Laura Thomson wrote her first program in the fourth grade, coding has been a major part of her life. Over the years, she has been a lecturer in computer science at RMIT University in Australia, a principal at OmnTI, a consulting company that designs Internet systems, a trainer of other programmers, the co-writer of PHP and MySQL Web Development and MySQL Tutorial, and a frequent speaker at free and open source conferences. She is currently a senior software engineer at the Mozilla Corporation, where her recent work includes the API for the Add-ons Manager on Firefox 3. With this background, Thomson has strong views on coding, its future, and its place in business, especially where free and open source software (FOSS) is concerned, which she shared with Linux.com at the recent Open Web Vancouver conference.
"I'm a genuine old fart," says Tim Bray as he looks back at his three decades in computing. Widely known for his standards work on XML and the Atom syndication format, at an age when many former developers have moved entirely into management, he seems to have found a niche that takes advantage of his experience. As director of Web technologies at Sun Microsystems, his job is to keep current with Web and general programming and to encourage adaptation of new developments within the corporation. At the recent Open Web Vancouver conference, Bray talked to Linux.com about how he fills his role at Sun, and the trends he sees in computing.
The Apache-licensed GChart utility lets you quickly generate nice-looking charts on your Web site.
If you use wireless networking in GNU/Linux with native drivers, then chances are that you benefit from work done by the Rt2x00 project. You may use the MadWifi Atheros drivers with OpenHal, or drivers for the Realtek RTL8180 chipset, but most likely you use one of the drivers developed by the Rt2x00 for Ralink chipsets. In the nearly four years since the project began, its work has moved from having a reputation for bugginess to the point where some of its drivers are now part of the latest Linux kernels. Recently, Linux.com talked to three of the lead developers on the project about where Rt2x00 has been and where it is going.
Testing is an important function of the software development process, no matter how big or small the development project. But not every company or developer has access to professional testing tools, which can run into hundreds and even thousands of dollars. The good news is that they don't need them, thanks to the tons of freely available open source software testing tools.
Many Web forms these days feature a Completely Automated Public Turing test to tell Computers and Humans Apart (CAPTCHA) as an effort to stop people from setting up computers to automatically fill in Web forms. A typical CAPTCHA is an image with some numbers and letters in it with distortion and/or background noise, and a Web form input field where you are to enter the numbers and letters from the image. This article investigates three CAPTCHA applications that you can use on a PHP Web site.
Have you ever peeked into one of those bazillion .el files in your Emacs installation's lisp folder and wondered what it meant? Or have you ever looked at a GIMP script .scm file and scratched your head over all the parentheses? Lisp is one of the oldest programming languages still in common use, and Scheme is a streamlined dialect of Lisp. Many universities use Scheme as the language to introduce students to the Computer Science curriculum, and some of their teaching methods are based on the assumption that Scheme is the one language they can count on their students knowing. Even so, many active programmers and system administrators are unfamiliar with Scheme. This article will get you on your way to adding this tool to your developer or sysadmin toolkit.
Just because OpenOffice.org Basic is designed to automate mundane tasks doesn't mean that you must use it only for serious work. It's a programming language after all, and nothing stops you from using it to write something fun. Today we'll use it write a simple game where you have to guess a word, a letter at a time, from among words you've stored in a Base database. Although this is not a particularly sophisticated game, it contains a couple of string manipulation techniques and a clever trick for picking a random record from a database, which you might find useful when writing your own macros.
In three years, Krugle, the company behind the code search engine of the same name, has gone from an idea to a company that's starting to produce revenue. CEO Steve Larsen, a veteran of half a dozen startups, attributes this brief time to market as being due largely to free and open source software (FOSS). According to Larsen, FOSS has shaped most aspects of the company, including its hiring practices and relations with business partners and users.
The proper use of source control systems is a critical skill for programmers to have, and something that many of them have to pick up through observation, trial, and error in the workplace. For students, or people who primarily program as a hobby, the learning process can be particularly slow and painful. Here are some examples and discussion on the best practices you can use to avoid common source control pitfalls.