Java


My Java experience is evenly split between Core Java and J2EE.

In Core Java, I have used various Java packages and tools including collections, multithreading and concurrency ... A partial list of Java packages and libraries that I have used is at the end of this entry. Often a Java application that started as a single-threaded one will end up as a multi-threaded application; it helps that Java has very good concurrency support.

In J2EE, I have spent more time on the server-side; but I have also done a fair amount of the client-side development. On the client-side, I have worked on desktop-based clients and browser-based clients. For desktop development, I have used Swing and experimented with JavaFX(Swing and JavaFX are technically part of Core Java). Browser-based clients also included non-Java tools and languages like Javascript, JQuery, HTML, CSS. On the server-side, I have used several application servers and libraries, a partial list of which is at the end of this entry.

I have also done a considerable amount of XML processing, data feeds processing, web services creation and consumption, web scraping.

While working with Java, I was involved in new applications development as well as working with legacy systems. Probably a separate entry is needed for a more detailed description of the projects.

Some samples of Java code are on GitHub Gist

The dataset is in a CSV (comma separated) file. The program reads the dataset into a dataframe and performs some operation on the dataframe. The program can be used as a library or from a command line. The user can test the code from a command line using simple language to define the operations. The purpose of this exercise is to demonstrate that in the absence of the library like Pandas in Java for any advanced data processing job you are better off using Python and Pandas, even if it involves learning a new language. However, for a Java programmer who doesn't know Python and needs relatively simple dataset column operations, it might make sense to use something like this. README file goes into more details about implementation and various limitations even for this tiny subset of Pandas functionality.

Below are some of the libraries and tools that I was using:

J2SE/J2EE, JSP, Spring, Hibernate, EclipseLink, JPA, Ejb, JMS, MQ, TIBCO, Twitter4J, Jsoup, Tomcat, JBoss, Glassfish, Log4j, Guice, JUnit, Mockito, jQuery, Tomcat, JBoss, Apache Axis, JXPath, JAXB, Swing, Restlet, Ant, Maven.

View comments.

more ...

Ant Script to Update/Install Eclipse


The script, which has been written several years ago and hosted on this site, is now on GitHub.

At the time of this writing Eclipse was relatively new and as a new platform was lacking some important features that were left to plugin writers. Many Eclipse users were waiting anxiously for a new Eclipse build or a new version of a popular Eclipse plugin.

However, after a new version arrived, update was not very straightforward, as there were too many rules to follow and Eclipse documentation was not as good as it is now. Plugins usually were downloaded and installed manually, and plugin writers were using different conventions to package their plugins. Occasionally a new version was incompatible with the old one in such a way that update could make your workspace unusable. The script addressed all these issues and was easily customizable; sometimes you just need a command line tool.

It is difficult to say for sure how widely this script has been used. At the time Apache Ant was relatively new and used as a build tool, a replacement for the UNIX make utility. Some indications of the script usage could be emails from the users with questions, feature requests, suggestions, and code contributions. The script was reviewed in several blogs and newsgroups, and googling at the time for "Ant script" produced results with this script having the highest rank.

The following text has been written several years ago, at the same time as the script; and even if some statements might look slightly dated, I have decided to leave the original text intact to preserve the spirit of the time:

Eclipse is a great IDE. It is relatively new and the speed with which Eclipse team introduces new features is amazing. However, my first update to a new Eclipse build was rather time consuming; and from reading news I realized that other developers were struggling with updates too. The script simplified updates and, over time, evolved to incorporate some other related activities. All the documentation is in the Readme file. One chapter in the Readme file, named What is the Right Way to Update?, is different from the other chapters as this chapter is not about how to use the script but rather why and when to use it.

You can download a zip file from this site or just browse Readme file online. Latest changes are in Release Notes. It is worth noting that Eclipse comes with the Update Manager but it seems to be for major releases and not for builds. The primary audience for this script is developers who update Eclipse quite often.

Read what others think:

http://youarenumber6.blogspot.com/2004/08/departmental-eclipse-with-ant.html

http://www.jroller.com/page/dorodok/20030106


View comments.

more ...