* Developing a Service Provider using Java API: A tutorial showing how to develop a service provider using only the JDK classes, implementing a “poor man’s approach” to the Service Locator pattern. Also check out Java EE6 CDI, Named Components and Qualifiers.
* I am a programmer: A very mature post on job security, job satisfaction and job payment, describes the most common scenarios of programmer’s workplaces and the advantages/disadvantages of each one of them.
* The end of the geek culture: Here the author argues that the “geek culture” has come to an end, and that is because developers currently put less stocks in knowing one technology deep inside but instead broaden their skills. In other words, the times of specialists and experts in one narrow area have gone away.
* Opportunistic Refactoring: Martin Fowler in this article encourages refactoring as an opportunistic activity, i.e. it should be done whenever and wherever code needs to cleaned up – by whoever. Boy-scout rule applies here: always leave the code behind in a better state than you found it. Also check out Services, practices & tools that should exist in any software development house.
* Security Vulnerabilities in Amazon and Eucalyptus: This article presents some security vulnerabilities in both Amazon and Eucalyptus infrastractures, which could be used to get complete control of the victim’s account and it’s associated stored data. The issues have been resolved but they definitely showcase one of the largest downsides of relying on a private cloud infrastructure.
* Best Practices for Securing Apache Tomcat 7: A list of tips for securing your Tomcat installation, such as disabling the shutdown port, using the Security Lifecyle Listener, specifying the interface for the connectors etc. Also see Multiple Tomcat Instances on Single Machine and Zero-downtime Deployment (and Rollback) in Tomcat.
* Apache Harmony Finale: The Apache Harmony project codebase has been put into the Apache Attic, i.e. further development has been stopped and only a read-only version of the code is provided. The project provided a clean-room viral-free implementation of the JDK and JVM and also strove to provide modularity. Harmony was also used by Google for their runtime library for Android.
* Comparing Java 7 Garbage Collectors Under Extreme Load: An interesting comparison of the Java 7 Garbage Collectors under extreme load. which raises some concerns about the performance of the new G1 collector.
* Coding Guidelines: Finding the Art in the Science: This article examines coding standards and provides some universal guidelines on how to produce more readable and thus more maintenable code. Quidelines include correctly used whitespace and fonts, conventional English usage, moderate use of comments etc.
* Why would a developer invest time in your startup’s platform?: This article provides some tips on startups which wish to offer a platform to developers. Among them are to build a killer use case first, and then generalise it into a platform and to ruthlessly cut platform features which don’t apply to the current use case.
* IT Projects: 400% Over-Budget and only 25% of Benefits Realized: This article presents the results of a Harvard Business Review study which show some alarming and disappointing numbers regarding IT projects realization. In short, projects running over budget and reaping little benefits. Also check out How many bugs do you have in your code?.
* Startup Lesson: Why a Vacation is not just good for you: This is a story that displays the importance of allowing a sense of can-do attitude for a team and letting people realize the company is bigger than a single person and that everyone is replaceable.
That’s all for this week. Stay tuned for more, here at JavaCodeGeeks.
Author David Gassner explores Java SE (Standard Edition), the language used to build mobile apps for Android devices, enterprise server applications, and more!
The course demonstrates how to install both Java and the Eclipse IDE and dives into the particulars of programming. The course also explains the fundamentals of Java, from creating simple variables, assigning values, and declaring methods to working with strings, arrays, and subclasses; reading and writing to text files; and implementing object oriented programming concepts. Exercise files are included with the course.