Best Of The Week

Best Of The Week – 2011 – W46

Hello guys,

Time for the “Best Of The Week” links for the week that just passed. Here are some links that drew JavaCodeGeeks attention:

* Java is not the new COBOL: This article explains why Java should NOT be considered the new COBOL. Some of the reasons given:  Java7 addressing verbosity and Java8 pushing new paradigms (e.g. Functional Programming). Also check out Hate Java? You’re fighting the wrong battle.

* Great developers should always be on the market: Here the author argues that great developers should be on the market (even this sounds unlikely)  because of one very specific and important trait of their personality: ambition!

* List of Known Scalable Architecture Templates: This article briefly presents some of the most common scalability architectures providing the  corresponding references. Examples include LB (Load Balancing), Distributed Queues,  and Map/Reduce. In general, there are 3 way to scale: distribution, caching, and asynchronous processing.

* You’re a developer, so why do you work for someone else?: An article suggesting that developers can and should pursuit the idea of building a product and going solo. It bustes some myths like lack of time, lack of ideas, lack of capital etc.

* Testing and Mocking of Static Methods in Java: This tutorial shows how to write unit tests for units with static methods, whether the static unit  has dependencies or not. Additionally, with the PowerMock framework, it is shown how to write tests  that mock static methods.

* Mobicents Media Server passes 100% JSR 309 Compliance: Mobicents Media Server gets to be the first Open Source (LGPL) 100% JSR 309 compliant implementation.  JSR 309 is the standard Java API that allows control of media server resources. It makes it possible to implement  in a standard and portable way, rich media applications (e.g. Conference Calling, Interactive Voice Response,  DTMF detection, Text To Speech, Video Playback etc.).

* AMQP and the future of web messaging: This article discusses the latest advancements in AMQP, an open standard application layer protocol for  message-oriented middleware, more specifically the finalization of its specification. AMQP can contribute  to the Async/Reliable part of the web. Also check out Spring 3 HornetQ 2.1 Integration Tutorial for a JMS  approach on messaging.

* What Facebook Can Teach Us About Making Software: A nice overview of the methodologies used by Facebook regarding they way they build their software. Highlights include:  engineers owing the specifications instead of PMs, automated testing and mandatory code reviews, staged rollout process etc.

* Enabling and Sustaining High Performing Teams: In this article, some pointers on how to create, enable and sustain high performing teams are provided. Among them are:  recruiting the right players for the team, create an intrinsically motivating development culture and managing the team with  lean software techniques.

* How Mature Is Your Continuous Integration?:In this article, the various level of CI maturity are presented, ranging from no CI at all to a state where the tools, the process and the right culture are all in place. According to the author, the hardest part to get right,  particularly in companies over a certain size, is the culture. Also check The Ten Minute Build.

* 3 Mobile App Development Problems and Ways to Solve Them: In this presentation, 3 mobile application development problems are discussed: failing network connection,  multiple UIs, and bugs, while some strategies for solving them are presented.

* Revisiting Google App Engine’s pricing changes: A real-life case where the author managed to cut down his App Engine application’s costs to zero. The result was a mixture of platform configuration (e.g. instance allocation, data storage), application configuration (e.g. use of Memcached), algorithm changes (e.g. use of asynchronous operations) and running Appstats on all application interfaces.

* Premature Ramp-Up: Martin Fowler talks about adding people to a software team and more specifically about the rate at which  more people can be added to a team without disrupting their function. As one might expect, you don’t get  a linear benefit, mainly because of the communication and coordination costs that occur.

* You only control 1/3 of your Page Load Performance!: In this article, the author argues that in most cases only control 1/3 of the time required to load a page is controlled by the  site owner, since the rest of the time is consumed by 3rd party content that are not under one’s control. So, using third party  content is often a tradeoff that has to be assessed.

That’s all for this week. Stay tuned for more, here at Java Code Geeks.


Related Articles:

Ilias Tsagklis

Ilias is a software developer turned online entrepreneur. He is co-founder and Executive Editor at Java Code Geeks.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments
Back to top button