1. Parsing Command Line Options in Shell Scripts

    In programs written in C, command line argument parsing has always been done using the getopt(3) library function. This function has set the standards Linux/Unix users have come to expect from command line interfaces. Fortunately, there's a getopt(3) equivalent for almost every programming language and the shell …

    read more
  2. Creating a Minimal Enterprise Application with Maven

    Setting up a Java EE application is no trivial task. Dependency management, building, and deployment can get pretty complex and require a thorough understanding of deployment descriptors, jars, ears and other artifacts.

    In this article, I'm going to present a truly minimal Maven-based setup for the JBoss Application Server (tested …

    read more
  3. Using the Maven Source Plugin

    When using an ordinary jar library, IDEs like Eclipse's JDE don't have enough information to display inline javadocs for referenced classes. You have to manually direct Eclipse to the library's source code to take advantage of inline documentation. Maven's source plugin provides a convenient solution to this problem. When building …

    read more
  4. Generating DDL Scripts with Maven

    Java's persistence API (JPA) makes object-relational mapping very convenient. Using Hibernate, tables and sequences are generated automatically which speeds up development significantly. However, in production systems automatic schema creation isn't desired. In many cases you would want to tune the schema a bit, like adding an index for speeding up …

    read more
  5. Bookmarkable Pages with JSF

    In many applications it is a requirement to link to pages that accept arguments via HTTP-GET parameters. Over the last few months I've been working with Seam quite a bit, where it is pretty easy to create bookmarkable pages. In fact, this use case is so common that it is …

    read more
  6. Release Management in Open Source Projects

    During my work in open source projects, I observed several ways of dealing with software releases, ranging from chaos up to well-defined release processes.

    In this article, I'm going to describe two common patterns of dealing with releases from a technical perspective. This article has been written with subversion in …

    read more
  7. Understanding Function Pointers in C

    Published: Fri 13 April 2007
    By mafr

    In c/c++.

    Many people familiar with object oriented programming languages like Java seem to have trouble understanding C function pointers. Even among C programmers, they are sometimes treated like an obscure feature that is avoided wherever possible. However, if you understand the concept of a pointer and know a few basic rules …

    read more
  8. Building RPMs Without Root Access

    This week at work I had the opportunity to build an RPM for some third-party software package.

    My previous experiences with RPM date back to SuSE 5 almost ten years ago and I haven't touched it ever since. Packaging for Debian or even NetBSD is mostly a painless process, so …

    read more

social