Field Bird: A lightweight Java IDE

Let’s face it – not everyone is cut out to be a programmer. You have to have a logical mind, and be capable of understanding the syntax and constraints of a computer language. But programming doesn’t have to be drudgery either. For instance, Java developers can simplify programming tasks by turning to Field Bird, a collection of lightweight tools for developing Java and J2EE programs. It can help anyone from the inexperienced Java user who needs help getting started to the more experienced Java hacker who wants point-and-click access to the Java commands and a text editor.

Field Bird has nothing like the scope of Java interactive development environments (IDE) like Eclipse or NetBeans. Instead, its lightweight IDEs for Java and J2EE provide a simple, non-intimidating user interface that doesn’t require a lot of time to learn. A lightweight text editor completes the toolkit. Developer John Biskeborn says he began building the tools when he couldn’t find any other truly simple Java IDE that clearly indicated what it was doing.

Biskeborn has been working on the Java tools off and on for eight years. The most recent version was released last week. And where does the name Field Bird come from? “When I was a kid, I would see a special kind of bird in fields. It had a nice song and seemed to like people. Not knowing what it was, I called it a field bird. I later found out it was a meadowlark. It truly is outstanding in its field. I hope in some way this software is too.”

Virtual darkroom plus virtual light table – it’s darktable!

When I stumble into the kitchen table at midnight, I’ve been known to cry, “It’s a virtual dark room in here!” But that has nothing to do with darktable, which is virtual darkroom software that lets you develop your digital negatives (comparable to UFRaw), and also bundles in the same application a virtual light table to organize your image collections (comparable to F-Spot).

Darktable is well-suited to the hobbyist photographer who values a smooth workflow from viewing and filtering to raw-level development. It sports a simple and pleasant interface and a few unique features, including original graphical interfaces to color correction and monochrome conversion, an equalizer widget with an edge-avoiding wavelet back end, and full 3×32-bits-per-pixel floating point precision, enabling high dynamic range (HDR) input and processing.

Darktable makes heavy use of plugins to expand its capabilities. It’s simple to program your own darkroom image operation – say, a bilateral filter or some fancy hole-filling texture synthesis – with just a few additional lines of code.

German developer and photographer Johannes Hanika says he created darktable because he needed it himself, for his own images. “I wasn’t quite happy with the workflow using existing applications, because it usually involved multiple applications and the command line. Using Windows and commercial products was not an option. So I figured, hey, I’m a programmer, how hard can it be? And since I was going to code it for myself, I thought people might be happy if I shared it.

“I’ve been working on dt for about a year now, using gcc (c99), vi, and Autotools. Parts of the core GTK interface are designed in Glade. The application uses several external libraries, including libraw, because it was threadsafe and feature-complete, and exiv2, because it reads the lens mount information needed for lensfun. I chose GTK over Qt because I like c99 more than c++ and I think usually the applications look better.”

The software is very much a work in progress. “dt is not quite feature complete yet,” Hanika says. “The darkroom mode is usable as it is now, with a few minor rough edges (you can’t set an aspect ratio for crop, for instance), but as everything is a plugin, this can easily be extended in future versions. The more rudimentary parts – light table mode, library management, directory watching, import, export, tagging, and free search by image properties – are the focus of the next release. I also hope to ship a translatable plugin template with the next version.”

Hanika offers a few tips for new users. “The GUI is self-explanatory. A few keyboard shortcuts are documented on the web site. One general hint is to use the mouse wheel. Several widgets use it to scroll, zoom, or change some radius.”

Hanika is happy to accept help with translations and bug fixes. Post your questions and patches to the project’s mailing list.

Keep your journal in a RedNotebook

Writing in a journal or diary, where you may pour your heart out for no one’s eyes but your own, can be an intensely personal experience. Writing longhand in a paper notebook used to be standard practice for journal writing, but most people nowadays type faster than they write, and digital text is easier to search. But finding a journal application that suits your sense of style is just as personal a decision as finding the right notebook in which to write. When Jendrik Seipp couldn’t find what he was looking for in a journal app, he began coding his own, and that became RedNotebook.

RedNotebook is a desktop journal and diary. You can use it to write notes or work logs or keep a regular diary. You can tag entries, and insert files, pictures, and links. Once you’ve entered them, you can search your entries, and export them to plain text, HTML, LaTeX, or PDF. Entries can be formatted with a wiki-style markup language, and the application even provides statistics about your journal.

RedNotebook lets you construct templates for repeating posts, so you can make a template for each day of the week, or named templates for special events such as work meetings or trips. Another fun feature is a word cloud that shows the words and tags you use most often.

The program supports wiki markup not just in journal entries, but everywhere. That means you can write **bold** text in the main text area, and also in the categories on the right side of each page. You can also have links and pictures in the category entries.

Seipp says he chose to write RedNotebook in Python because “I wanted to write a bigger software project with this awesome language. At first I used the wxPython toolkit, but was soon fed up with it, because it was very difficult to use and there wasn’t much documentation about it. I switched to PyGTK for the 0.5 release and am very happy with this decision. The GUI is partly designed with Glade. For programming I mostly use Eclipse with PyDev or Geany. The project uses SVN, because that was the only version control tool I knew at the time. The application itself makes use of PyYAML and txt2tags because those libs make the conversion of the content from disk to GUI to HTML and back a breeze.

“For the future I have planned Zeitgeist integration to give users an auto-generated log of activities. I also plan to implement some kind of encryption. And maybe RedNotebook will even make the switch to real rich text editing.”

Since he began development in August 2008 Seipp has made 40 releases. He says he hosts the product on SourceForge.net because “it is the best-known service for open source software and a starting point for many people’s searches for free software.” He announces new releases at freshmeat.net and gnomefiles.org, and via Twitter.

If you’d like to get involved with the project, you can contact Seipp through RedNotebook’s forum or via e-mail. He says, “RedNotebook needs more translators, and also documentation writers and testers. In addition the project seriously needs someone in charge of creating Windows installers (or the first Mac package) for new versions. If you are a developer, help is needed for the encryption work. Last but not least, if you know your way around CSS, it would be great if you could design some templates for nicer content previews.”

WordPress Themes