Below is a list of some tools that can help you examine your Java source code for potential problems: 1. PMD from http://pmd.sourceforge.net/ License: PMD is licensed under a “BSD-style” license PMD scans Java source code and looks for potential problems like: * Possible bugs – empty try/catch/finally/switch statements * Dead code – unused local variables, parameters and private methods ...
Read More »Software Estimation is not a Black Art
Construx Software is one of the few companies that take the problems of estimation in software development seriously. Earlier this year I attended Steve McConnell’s Software Estimation in Depth course based on his book Software Estimation: Demystifying the Black Art. Two days reviewing factors in estimation and the causes of errors in estimating, the differences between estimates and targets and ...
Read More »Roles in the IT World
The following comic is a matrix, each entry is how one kind of employee views another. Description : Product managers view themselves as orchestra conductors. Site reliability Engineers view the product managers as a person asking for a space shuttle launch. Software engineers view the product manager as a person sitting in front of a computer, checking and responding to ...
Read More »Funny Source Code Comments
I recently stumbled upon an awesome Stack Overflow thread, entitled “What is the best comment in source code you have ever encountered?”. As you might have guessed, it is a collection of funny source code comments, provided by developers all over the world. Take a look at it, it could definitely make your day. I am reposting here my personal ...
Read More »The top 9+7 things every programmer or architect should know
I recently finished 97 Things every programmer should know. Well to be completely honest I did skim over a couple of the 97, but all and all this was a very nice compilation of thoughts and topics about software development from very experienced authors. Well worth a read. A couple of the “97 Things” discussed, stood out more than the ...
Read More »Developing and Testing in the Cloud
There’s a lot of hype around “the Cloud” and what it can do. One of the things that I am interested in is Cloud solutions that can help small software companies, and especially to kickstart software startups. Good tools that development teams can take advantage of to build and test their own stuff, without all of the hassle and expense ...
Read More »Top 25 Most Dangerous Software Errors – 2011
The Common Weakness Enumeration (CWE) is a community developed dictionary for software weaknesses. It provides a unified, measurable set of software weaknesses that is enabling more effective discussion, description, selection, and use of software security tools and services that can find these weaknesses in source code and operational systems as well as better understanding and management of software weaknesses related ...
Read More »Failure Isolation and Recovery: Learning from High-Scale and Extreme-Scale Computing
While I have been building business-critical enterprise systems for a long time, I haven’t worked on high-scale cloud computing or Internet-scale architectures, with tens of thousands or hundreds of thousands of servers. There are some fascinating, hard problems that need to be solved in engineering systems at high-scale, but the most interesting to me are problems in deployment and operations ...
Read More »James Gosling’s Stance on Java: I Could Hardly Care Less
The following is a two minute audio clip of James Gosling talking about Java and the JVM at TSSJS 2011, in which he states: “Most people talk about Java the language, and this may sound odd coming from me, but I could hardly care less.” James Gosling on What He Cares About: Java vs. the JVM A transcript of the ...
Read More »