Between January 2004 and October 2010 my work has been focussing on the development of software for the scientific analysis of the data taken with the LOFAR telescope. During the first phase of that period my primary interest has been in the imaging of the radio intensity distribution as emitted by cosmic ray air-shower – but also as originating from lightning discharges in thunderstorms. The novel capabilities of “digital radio-telescopes” – the usage of large numbers of cheap receptor elements combined with high-performance computing – allows to explore physical processes in unprecedented ways.
… for configuration and building
- CMake is an extensible, open-source system that manages
the build process in an operating system and compiler independent manner. Unlike
many cross-platform systems, CMake is designed to be used in conjunction with
the native build environment. Simple configuration files placed in each source
CMakeLists.txtfiles) are used to generate standard build files (e.g.,
makefileson Unix and projects/workspaces in Windows MSVC) which are used in the usual way. CMake can compile source code, create libraries, generate wrappers, and build executables in arbitrary combinations. CMake supports in-place and out-of-place builds, and can therefore support multiple builds from a single source tree. CMake also supports static and dynamic library builds.
… for documentation generation
Doxygen is a documentation generator, a tool for writing software reference documentation. The documentation is written within code, and is thus relatively easy to keep up to date. Doxygen can cross reference documentation and code, so that the reader of a document can easily refer to the actual code.
TeX/LaTeX represents the state-of-the-art in computer typesetting. It s particularly valuable where the document, article, or book to be produced contains a lot of mathematics, and where the user is concerned about typographic quality. TeX software offers both writer and publisher the opportunity to produce technical text, in an attractive form, with the speed and efficiency of a computer system.
… for version control
- Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.
… for editing
Wikipedia has a nice article providing basic comparisons for common text editors.
GNU nano is a small and friendly text editor. Besides basic text editing, nano offers many extra features like an interactive search and replace, go to line and column number, auto-indentation, feature toggles, internationalization support, and filename tab completion.
For years Pine was THE program used to read email on a Unix system. The Pico text editor is the portion of the program one would use to compose his or her mail messages. Many beginners to Unix flocked to Pico and Pine because of their well organized, easy to use interfaces. With the proliferation of GNU/Linux in the mid to late 90’s, many University students became intimately familiar with the strengths (and weaknesses) of Pine and Pico.
User experience: Since I never took to vi of vim I always considered nano as tool of choice when in need of an editor running within the terminal window.
Aquamacs is an Aqua-native build of the powerful Emacs text editor. By “Aqua-native,” we mean more than just the fact that this version of Emacs runs as a standard OS X application. Aquamacs features extensive customization: it will feel and behave mostly like an Aqua program - while still being a real GNU Emacs with all the ergonomy and extensibility you’ve come to expect from this world-class editor. It’s beeen adapted by David Reitter, based on GNU Emacs by Richard Stallman and many others.
Atom is a text and source code editor for Linux, OS X and Windows, with support for plug-ins written in Node.js, and embedded Git Control, developed by GitHub. Most of the extending packages have free software licenses and are community-built and maintained. Atom is based on Chromium and written in C++. It is used also as an IDE.