Good API design rule

From butUncleBob.com:

“It’s not enough to write tests for an API you develop, you have to write unit tests for code that uses your API.”

Tags:

Thread Groups

Some months ago I was wondering what was the benefit of using thread groups, which is a container of threads in Java. Reading Bruce Eckel’s Thinking in Java, I discovered this quote from Joshua Block, the one who improved the Collections framework in JDK 1.2:

“Thread groups are best viewed as an unsuccessful experiment, and you may simply ignore their existence.”

I haven’t been told about any Sun’s official statement about this topic before reading the book. So, why do they let us spend our effort trying to figure out the value of thread groups? πŸ™‚

Tags:

About version control

What do java programmers version control? is a good question to ask ourselves in the corporate world of software development. I think we should version control all the stuff regarding to the project knowledge, such as documents, wireframes, prototypes, notes, requeriments and obvious, source code :-). If you have a wiki available, documents about the project can be put and edited there. I think the build process has to take care of creation and manipulation of other dependent libraries, they should not be versioned. At my company we use Ivy, a java based dependency manager for this purpose. I haven’t been told about this tool before but I found it quite interesting to work with dependencies. You can even specify which version of a specific jar you need, Ivy finds the correct version and applies it as a dependency to your project. It seems to be very useful to manage the dependencies of software projects. And in your company, what’s your team allowed to version control?

Tags:

Software testing purposes

James Bach has a interesting opinion about testing software systems. I think it’s a different opinion from any team project manager or developer. He not only emphasizes the importance of testers but says developers are trying to test software themselves, andfix every bug, before testers even got their first look at it. His software test heuristic is if it exists, I want to test it, even if the product is completely inoperable, with a lot of buggy code. A different opinion, even from mine. As a software developer, I would think to test it before delivering to testers πŸ™‚ . And in your company, are there software testers? What do they think about it?

Tags:

Guidelines about threads

From Bruce Eckel’s Thinking in Java book, about threads:

  1. If you need to synchronize one method in a class, synchronize all of them. It’s often difficult to tell for sure if a method will be negativelyaffected if you leave synchronization out.
  2. Be extremely careful when removing synchronization from methods. The typical reason to do this is for performance, but in JDK 1.3 and 1.4 the overhead of synchronized has been greatly reduced. In addition, you should only do this after using a profiler to determine that synchronized is indeed the bottleneck.

Tags:

Eclipse Callisto is finally released!

Eclipse Callisto is available! You can download it here. Eclipse 3.2 build has been released too. Check out the New and Noteworthy.

Tags:

Jatalla – New web search engine’s experience

Wikinews has reported a new web search engine called Jatalla, which uses only user generated submissions as results, is coming soon. It’s a different approach from the search engine leader Google, which rank relevance based in sites that link to a given web page, according to the PageRank alghoritm. Let’s wait for the beta version of the search engine, expected to go out in July. One interesting comment is in Jatalla’s FAQ, which says “If you believe (as do we!) that humans are still smarter than computers, you have come to the right place.

Tags:

Google increasing its computing power

My friend Marcel Ferreira sent me this article which says Google is building two brand new data centers, as big as two football fields, on The Dalles, Ore. Google’s increasing power is reflected in the location of the data centers, near to a hidroeletric dam, in the Columbia river. Nice is “The cooling plants are essential because of the searing heat produced by so much computing power” :-).

Tags:

Spyware killer

I’ve came across Bruce Eckel’s old weblog and found a post about Spybot-Search & Destroy to eliminate spywares, malwares, trojans from Windows. It’s uncommon from Bruce’s normal entries. Btw, if you are struggling with this (who are immune to these kind of pragues with Windows?), try this tool.

Tags:

Aurora 7500 Desktop

Take a look at this cool Aurora 7500 Desktop. The winners of Extend Firefox Contest will receive this machine with a nice and great firefox design πŸ™‚

Tags: