Programming
The use of open source tools for CAR is growing. Think of these Web sites not only as sources of programming downloads and tutorials, but also as your connection to the people who regularly use these tools.
- SQL - A Gentle Introduction to SQL. A useful tutorial for learning Structured Query Language, this interactive site allows you to choose which software package you want to learn the SQL syntax in. This is a must for those new to SQL and a good reference.
- Open Source - Open source means free or really cheap software tools. And for news organizations without a big CAR budget, it means the ability to do CAR from daily stories to bigger projects. This site simply gives background on the Open Source initiative. Many of the tools listed below - Perl, MySQL, PHP and Python - are open source and a powerful way to get started.
- Check out tons of useful articles, tutorials and scripts for many of the open source tools at www.devshed.com.
- Perl - Practical Extraction and Report Language is optimized for scanning arbitrary text files, extracting information from those text files and printing reports based on that information. It's also a good language for many system management tasks. It is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal).
- For beginners, learn Perl.
- Take a crash course - A journalist's tutorial from Matt Ericson of The New York Times.
- Exercise with FEC data - A tutorial from Derek Willis of the Center for Public Integrity, using Perl to download and parse FEC data.
- For more about using FEC data: Unstacking the Deck: A Reporter's guide to Campaign Finance by Michael A. Weber, Aron Pilhofer and Derek Willis in the IRE Beat Book Series for more information and Web sites when covering this issue.
- NICAR's Database Library has FEC data with a record layout and links to the IRE Resource Center for tips and to see how other news organizations have used the data.
- MySQL - The world's most popular open source database manager is available to download from this Web site, which also offers a commercial version. The site has documentation for the software and a link to the MySQL mailing list archives.
- PHP - PHP (recursive acronym for "PHP: Hypertext Preprocessor") is a widely-used open-source general-purpose scripting language that is especially suited for Web development and can be embedded into HTML. Instead of writing a program with lots of commands to output HTML, you write an HTML script with some embedded code to do whatever you're trying to accomplish.
- Learn with a good tutorial for PHP/MySQL scripting. Here's another one, too.
- Find lots of scripts to download.
- Python - Python is an interpreted, interactive, object-oriented programming language, and it's free. It is often compared to Tcl, Perl, Scheme or Java. Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). This site has lots of materials for newbies.
- COBOL - If you face questions about data stored on mainframes, you may come across a need to "refresh" your memory on their high level programming languages. One of the more popular is Common Business Oriented Language. This site will give you a quick refresher.
- Visual Basic - VB is the language behind the popular spreadsheet and database programs by Microsoft as well as a growing number of other CAR programs, such as ArcGIS desktop. You can use a version called Visual Basic for Applications or VBA in Excel or Access to write macros to automate common and repetitive tasks. This Web site offers a beginner's tutorial, code and tips and tricks for VB.
- SPSS - Raynald's SPSS Tools. Many who use this statistical package think of it as a convenient GUI program. But behind the GUI is a powerful language that opens the user to the full potential of SPSS and its data management capabilities. Fortunately, Raynald Levesque maintains a wonderful SPSS Web site full of keyword searchable scripts and a tutorial. (Although SPSS has just published a programming book by Levesque, he is a Canadian actuary, and the site is not sponsored by SPSS.)