HyperSQL automatically documents SQL code

Automatic documentation tools like Javadoc and Doxygen let you generate documentation for your programs automatically. HyperSQL lets you do the same for SQL code. “You feed it your project’s PL/SQL code, and optionally even Oracle Forms, and it turns it into a reference containing statistics (lines of code, comment percentage, and the like), usage references (which code calls what), and even dependency graphs,” says developer Andreas Itzchak Rehberg. “If you use Javadoc-like comments along with your code, you can make the generated HTML pages a full-featured project reference that automatically updates when you update your code.”

The tool, written in Python, is mainly targeted at Oracle database developers, Rehberg says, but anyone who wants to document SQL code can use it. It’s easy to set up and use, with only a few dependencies, and is highly configurable.

Rehberg got involved with the project earlier this year when he began working with a new customer, maintaining a huge project built mainly with PL/SQL and Oracle Forms. The code, as code will do, had grown haphazardly over the years, and needed to be made more consistent, with a common coding style and documentation. Finding a way for new team members to get an overview of the project would also be helpful. After searching for a tool to meet those requirements, Rehberg came across an old version of HyperSQL that hadn’t been updated in years. He took over development from creator Randy Phillips.

“The new developers who just joined our team loved HyperSQL from the first day,” Rehberg says. “And its automatically generated Todo, Bug, and Verification lists (the first two collected from Javadoc @todo and @bug tags, and the latter generated by HyperSQL directly) help us keep track of open issues.”

Rehberg plans more enhancements for the software, based on both what his customer requires and what other users suggest via enhancement requests in the project’s ticket system. He expects to work first on improving support for Oracle Forms, improving and introducing support for certain object types, and tweaking the code to make the app faster.

Soundboard is a sound option for stage performances

I work on a lot of community theatre productions, so I know that the soundboard operator seldom gets any glory. If he’s lucky, the cast knows him as “the sound guy”; if not, it’s “who’s that?” But a little application called Soundboard is out to change all that. Soundboard makes it easy to create and play back complex sound cues for theatre and dance performances.

Soundboard lets you build the elements of playing a sound cue (playing a sound, fading a level, pausing a track, stopping a track) into sequences that you can activate at the push of a button. Since you can develop the logic and timing of the cues in advance, you can create cue sequences that would otherwise be difficult or impossible to play back manually.

Developer Tony Tambasco says Soundboard has a long way to go before it can match the features of commercial alternatives QLab on the Mac and Show Control on Windows, but unlike those programs it’s cross-platform, so you can develop your sound cues in one environment, then export them to whatever environment a venue has handy for playback with little more than copy and paste.

It’s also free, both as in freedom and beer. Budgets tend to be tight in the theatre world, and many theatres have substandard playback equipment. “Using Soundboard means you don’t have to compromise the integrity of your designs because the only thing you have available for playback is a home stereo someone donated 10 years ago,” Tambasco says.

Building a show with Soundboard is simple, and playing it back is even simpler. Tambasco says you can teach people the mechanics of playing back a design in 10 minutes, and in an hour you can teach them everything they need to know to build their own designs. This means that the kind of theatres I work in, which rely on volunteers, don’t need to find an expert sound tech to play elegant designs.

The Weathervane Playhouse in Newark, Ohio, is using Soundboard right now for its production of Alice in Wonderland. “That show has more sound cues than any other they’re doing this summer,” Tambasco says, “because they are using digitally orchestrated music. QLab wasn’t an option because the sound designer doesn’t have a Mac, there wasn’t any budget for Show Control, and he wanted to design something more complex than he would be able to play back without something designed for theatrical cueing. Working with Weathervane actually been very good for both of us, because the designer uncovered a lot of bugs that needed fixing right away, and had some great ideas for new features. Those are all available in the latest version, which we released last week; Weathervane’s beta test has moved the project ahead by leaps and bounds.

“Actually, Weathervane’s circumstances this year were the same as those that inspired me to get the project together last year: the board op for a show I was designing was running Linux, and there was no software (free or otherwise) that would do the trick.

“I joined the project a couple years ago because I thought it was a good idea. The original author had little interest in bringing it to fruition, so I asked him to give it to me and he did. I’ve been working on it for the past year or so. Having SourceForge’s Subversion repository is wonderful, and being able to manage all of my data relevant to the project in one place makes it so much easier to keep track of the bug reports and feature requests I get via e-mail.”

Because he wanted Soundboard to be cross-platform, Tambasco coded it in Java. “NetBeans seemed like the best fit for a development environment; that’s been my primary development tool. I’ve used a lot of Free Software libraries to help me along. I made the project open source because I wanted to give something back to the community, and because I’m a far cry from the best programmer on the planet. It just makes sense to me to share my code with the world in the hopes that someone better will spot any mistakes and help me correct them.”

Tambasco says future releases will include support for more audio formats, stereo pan control, and improved functionality for working with cues in rehearsals, as well as bug fixes. “I’ve got a nasty main thread locking issue I’m having a hard time troubleshooting at the moment, and Soundboard could really benefit from someone more experiences than I with Java Threads taking a look. Also, anyone with experience developing GUIs or sound in Java would be a big help. The best way for anyone interested in helping is to shoot me an e-mail.”

Master file renaming tasks with KRename

If you haven’t run into a situation where you need to rename multiple files in one go, you haven’t been using a computer for long. When the next time comes, turn to KRename. Its simple graphical interface makes renaming files easy for average users, and it offers a powerful template language for advanced users with more complex renaming tasks. Although it was written for the KDE desktop, KRename works under other Linux platforms and even on Windows.

KRename lets you specify common characteristics of the filenames you want using a template. The filenames can include numbers, the current date, meta-information from images (such as the EXIF generation date), tag information from music (such as the artist and title of an MP3 file), and other things.

One great use for KRename is to organize your music collection or digital camera images. For instance, you can rename the files in your MP3 collection by using the template string “[mp3Artist] – ## [mp3Title]“, which will rename all files to the pattern “Madonna – 01 Like a Virgin.” KRename can handle many different file types and extract meta-information from those that provide it.

Perhaps you’re a systems administrator who has to convert filenames from upper-case to lower. With KRename that’s a simple matter of using the template string “%” or selecting the option “convert to lower case” in the GUI.

Though KRename has a huge feature set, it’s easy to use. It provides a simple interface for users with simple renaming needs and a more powerful text-based renaming language for users with more advanced needs. And if you make a mistake, it let you fix it right away with an undo feature.

German developer Dominik Seichter has been working on KRename since 2000, “because there was no easy-to-use file renamer for KDE, and maybe for Linux in general, at that point in time.” He chose to use the Qt toolkit and KDE libraries under C++ “because I think it is a fantastic toolkit, with which you can create great applications in very little time. Also it is the toolset you use when you are developing for the KDE desktop, which was my target platform, as I wanted a utility that integrates nicely with my desktop.” Today the application is essentially feature-complete. Other than incorporated small patches and fixes, the only major change in the last three years has been the port to KDE4.

Seichter says anyone is welcome to help on the project. “Some areas that come to mind are help with the web page or the documentation – but of course help with the code is very welcome. If you have an idea for a new feature, contact me and I’ll try to help you dive into the code and develop it. The best way to contact me is to send e-mail to the project’s mailing list.”

WordPress Themes