Best Of The Week – 2011 – W17
Time for the “Best Of The Week” links for the week that just passed. Here are some links that drew JavaCodeGeeks attention:
* The Usability of Passwords: An excellent article that discusses password usability and security. It describes the most commonly used ways to attack a password and what countermeasures we can use to avoid this.
* Why aren’t we all doing Model Driven Development yet?: In this article, the author attempts to figure out why Model Driven Development (MDD) is not yet more widely used. He talks about the dangers of MDD, discusses tool support and provides some reasons on why use MDD. Also, check our relevant articles on Domain Driven Design (DDD), Using the State pattern in a Domain Driven Design and Domain Driven Design with Spring and AspectJ.
* 6 Ways Not to Scale that Will Make You Hip, Popular and Loved By VCs: An entertaining, yet highly informative, presentation of ways use to NOT scale your application. Well, forget about resource monitoring, performance testing, traffic monitoring, load testing, tuning analysis, do not embrace parallel programming, ignore caching, do not eliminate single points of failure etc.
* White Box Testing Best Practices for Performance Regression and Scalability Analysis: A very interesting article discussing white box testing with emphasis on performance and scalability. Also, check out our Java Best Practices series.
* The Top Java Memory Problems – Part 1: A must-read article discussing the most common memory related problems in Java applications. Thread local variables, mutable static fields and collections, circular references, to name a few. See also, Erlang vs Java memory architecture and Java Memory Model – Quick overview and things to notice.
* Your coding conventions are hurting you: A very interesting article that explains how coding conventions can hurt programmers. Even the most established conventions (e.g. the -er suffix, the -able suffix etc.) can stifle object oriented thinking and facilitate hidden functional programming notions. The author uses .NET as reference, but the principles definitely apply to Java as well.
* Android Fundamentals: Downloading Data With Services: A detailed guide on how to leverage services in order to perform long running tasks, such as downloading data. Also check out our Android related posts and our Android Full Application Tutorial.
That’s all for this week. Stay tuned for more, here at JavaCodeGeeks.