THE OPEN PITT What's cooking in Linux and Open Source in Western Pennsylvania =========================================================================== Issue 31 January 2007 www.wplug.org =========================================================================== In this issue: Scintilla and SciTE December Roundup From the Editor: What You Can Do --------------------------------------------------------------------------- Coming Events Feb. 10: Installfest. (Time and location TBA, see web site for details) Feb. 15: Open Source Summit hosted by The IndUS Entrepreneurs. 6pm to 9pm, The Lexus Club at PNC Park (pre-registration required at ) Mar. 10: General User Meeting, Topic: Linux Counterparts of Popular Windows Applications. (Time and location TBA, see web site for details) The public is welcome at all events --------------------------------------------------------------------------- Scintilla and SciTE by David Ostroske Scintilla is a text editor widget released under an MIT-style license. If this leaves you wondering "what's a widget?," it's basically a component that does something potentially useful which programs operating under a graphical user interface can incorporate and present to the user. As a widget, it's not a standalone application but appears in many open-source projects where flexible source code editing is required. SciTE, the Scintilla Text Editor, is an application that was created to showcase Scintilla, but it has become a top-notch editor in its own regard. The home page for Scintilla and SciTE is located on the web at . It includes tabs for switching between multiple buffers, syntax highlighting, code folding, auto-completion, regular-expression search and replace, and bookmarks among other useful features. Many of these tricks require SciTE to understand the syntax of the language you're writing, which is done by means of lexers. The current version includes lexers for 70 programming, scripting, and markup languages. SciTE is particularly useful when writing scripts. You can run the script you're working on directly from the editor, see the results in the output view, and quickly locate errors you might have in your code. As for me, I just use it to edit plain text files. I could get along with using gedit, which is the GNOME desktop environment's default text editor. But SciTE loads faster, runs faster, and is more powerful. When combined with the Lua scripting extension , SciTE is far more customizable than gedit will ever be. Plus, it can be configured to save your complete session automatically, which is mighty useful when you're editing more than one file at a time. There are a few downsides, of course. Perhaps the most important to me is that the regular expressions it understands are somewhat limited (but I have very high standards for regex parsers). However, although I use regular expressions a lot, it hasn't really been a practical problem for me. Another irritation is that SciTE can be somewhat tedious to configure. There's no graphical interface for configuration, which is performed by editing config files. But all of these can be found in SciTE's options menu, and the website provides thorough documentation. Getting SciTE is easy--packages are readily available for all the major Linux distributions, and it comes included with some versions of Ruby. There are also plenty of other Scintilla-based applications available. Two examples are Anjuta DevStudio , an integrated development environment for the C and C++ programming languages, and Notepad++ , a text editor for Microsoft Windows released under the GNU General Public License. Another, simpler editor for Windows is called Notepad2 (it seems almost mandatory for any Windows editor to have "notepad" in its name). Although standard Scintilla uses the GTK+ toolkit associated with GNOME, there's also a port to Qt called QScintilla which may interest KDE fans. A list of more variants and applications can be found at . David Ostroske is a database administrator and developer, a Fedora user, and WPLUG's Treasurer. He can be reached at . --------------------------------------------------------------------------- December Roundup Dec. 16 General User Meeting: Everyone needs backups, but far too many of us fail to perform them on a regular basis. Bill Moran gave a presentation on Bacula, a software application which automates your backups. He began by reviewing some of the major reasons why backups are important: hardware failures, human error, and archiving. Next came a quick comparison of other tools used for backups such as tar, rsync, and Amanda. This was followed by a discussion of Bacula's modular architecture which provides great flexibility, particularly in a networked environment. Bill demonstrated the interaction between the various components and how backup jobs are scheduled and carried out. --------------------------------------------------------------------------- From the Editor: What You Can Do Looking out over the landscape of Free and Open Source software, what is available is mind-boggling. You have a choice of several operating systems (and hundreds of variants) and programs to handle just about any desktop or server function you could name. As an indicator of just what is out there, the stable version of Debian has over 15,000 supported packages. Of course, this software isn't always perfect. Many programs are incomplete, poorly documented, or just plain buggy. The good news is that you can help fix these problems. Not only is this a way to repay some of the benefit you've received, it will lead to the improvement of the software, which helps you along with everyone else. Questions and Answers One of the easiest places to start is by answering other users' questions. There are hundreds, if not thousands, of on-line forums and mailing lists where people seek help. Chances are good you've used them yourself. It doesn't take great expertise to contribute; you just need to be one step ahead of the person asking the question. In fact, moderately experienced people are often best at helping new users since they still remember what it's like to try something for the first time. While there are generic forums like to participate in, you may want to pick one that's distribution- or application-specific depending on your areas of interest and experience. Just find someplace comfortable and jump in! Documentation Code of course is a requirement for any software project, but documentation is just as important. And in general all you need is the ability to write. Different types of documents have different purposes. User guides tend to be large and comprehensive, and may or may not have a standard format. On the other hand, man pages are typically brief references which follow a specific pattern and require some knowledge of troff markup to edit. HOWTO documents are step-by-step guides to accomplishing a particular task--many of these are maintained by the Linux Documentation Project which is locally mirrored at . One easy way to get started is to find a project which uses a wiki for its documentation and just start making edits. Bug Reports All software has bugs, and the first step to fixing them is finding them. Developers rely on users to point out problems that may not show up in testing. Helping in this way may be a bit of extra work, but the payoff can be great, especially if it results in a fix that personally affects you. If you report a problem directly to a program's maintainer, often you'll be asked to try the latest version of the software and see if the bug has been fixed already. This can involve downloading and compiling the code yourself, so might not be for the inexperienced or faint of heart. Suppliers of Linux distributions, on the other hand, generally take bug reports on any product they currently support. Whether you report a bug to your supplier or to the original author, you should investigate how they handle these and follow their system. Many projects use a bug database like Bugzilla to manage the process. Make sure nobody else has already submitted the same bug and include details about your system, how to reproduce the problem, and contact information in case there are additional questions. Think Globally Many Open Source applications offer translations for various languages, a process known as internationalization or localization. If you're fluent in another language, you can help by translating words and phrases they use. Perhaps the easiest way to start is through the Rosetta project maintained by Canonical at which handles translation for Ubuntu (but can be used by all). The GNOME and KDE desktop environments also have well-developed translation projects. Act Locally WPLUG can always use help with its projects and events. We need people for many roles at meetings, from serving as host to more prosaic tasks like buying donuts. Each meeting has a page on our wiki where you can volunteer (follow the "Wiki" link at the top of the main WPLUG site, then look under "Upcoming Meetings"). One great need at the moment is for people to serve on the Program Committee. This is the group that plans our meetings and seeks out interesting topics and speakers. Just send e-mail to if you're interested in volunteering. If you can't join the committee but want to suggest ideas for WPLUG events, drop a note to . And as always, comments or articles for The Open Pitt can be directed to us at . =========================================================================== The Open Pitt is published by the Western Pennsylvania Linux Users Group Editor: Vance Kochenderfer Copyright 2007 Western Pennsylvania Linux Users Group. Any article in this newsletter may be reprinted elsewhere in any medium, provided it is not changed and attribution is given to the author and WPLUG.