Weird shell script problem + solution

Yesterday, I installed a fresh Java EE application server to run a test on an application I was working on. The installation of the application server was as simple as unzipping a distribution archive. As with most application servers, the server could be started by running a shell script from the command line. This was all familiar to me, as I already had another instance of the same server installed on my MacBook. However, when I tried to run the script, I got surprised by an error message: Continue reading

Developing Java software on a Mac: file management

For a developer, file management is an essential task. More than the average computer user, the location and name of a file matters to a developer. Often, (sets of) files have to be copied, either on the local machine or to or from a network share. Sometimes the command line is very fast and efficient for file management tasks. However, as directory structures get more complex, I prefer a visual file management tool, as it gives me a better overview of the structure. Continue reading

Developing Java software on a Mac: text editing

For the largest part of the Java development work, I use of course an IDE. As I mentioned in the previous article in this series, the major IDEs, such as Eclipse and NetBeans, run on a Mac without problems. But apart from an IDE, a lightweight but capable stand alone text editor comes in handy quite often. Of course OS X comes with TextEdit, that is comparable to WordPad on Windows. It’s a simple word processor with the capability to edit plain text files. It can do the job, but it lacks some programming-oriented features. Continue reading

Developing Java software on a Mac: command line

As a developer, I have to use the command line every now and then. In fact, that was one of the reasons for me to chose a MacBook Pro over a Windows machine. Even on the most recent versions of Windows, the command line application still uses some MS-DOS-derived command shell. Admitted, they implemented auto-completion, but it’s still a pretty limited environment. Mac OS X on the other hand is a Unix-based operating system. Hence the Mac OS X Terminal has the same super powers as many other Unix and Linux command lines. Continue reading

Developing Java software on a Mac: copy & paste

I recently got a new job and my new employer gave me the opportunity to chose a MacBook Pro as my development machine. I already had pretty good experiences with my iMac at home, so I didn’t have to think very long about this choice.

However, after years of developing Java software on Windows and Ubuntu boxes, I had to adapt some habits, reprogram my muscle memory and find some new tools. The good news is of course that nearly all Java software runs smoothly on a Mac. For the major Java IDEs, special Mac installers are available, doing a great job to integrate with the Mac OS X platform. After a few weeks of working on the Mac, I have also found some pretty nice additional tools that make the life of a (Java) software developer a lot easier. This is the first of a series of articles dedicated to (Java) software development on a Mac. Continue reading

RegEx testers compared

Regular Expressions are a very powerful tool for developers. They can be used for various jobs. A common use is for validation of user input agains a pattern. This can be done in code (using a method from the java.util.regex package) or e.g. with a JSF validator component (either home brew or ready made). Another use for regular expressions is doing advanced search-and-replace operations on (e.g.) source code. Most IDEs and the more advanced text editors offer search-and-replace based on regular expressions. Continue reading