One of the most tricky parts to learn Object Orientation is the concept of classification.
The task of separating entities of the real word in groups and then enumerating the
characteristics of each group seems quite simple for experienced programmers but could be messy
for novice students. The discussion about the fundamentals of classification is very important
to establish a baseline about...
on Jul 16, 2006
In fact, last time I checked, I wasn't a 'mock' anything. I get 'mocked' a lot for my photograph above, but that's the maximum 'mocking' in my life sadly.
So why does Javablogs.com classify me as a mock Sun employee?
If Sun would like to offer me a position, I will be more than happy to call myself a mock Sun employee. Or whatever. But then I wouldn't be 'mock' anymore so that may defeat the...
on Jun 30, 2006
Last month I blogged about Literate Programming with jMock, and also about using anaphora to avoid repetition in the tests. (An anaphor is a word like it that refers to something previously referred to.)
This got me thinking: is it possible to use anaphora more widely at the language level? Would such constructs be useful? Before trying to do this in Java I looked at more dynamic languages,...
on Jun 29, 2006
I read Ethan Nicholas' blog about intern'd strings with great interest. I agree with his assessment that using '==' to compare String objects is almost never correct. He suggests that String's equals method is superior. His description of the intern method is excellent, and I wouldn't want to detract from his comments. He is right on...the equals method is the right way to compare many strings....
on Jun 28, 2006
So, would it come as a...
on Jun 27, 2006
on Jun 19, 2006
I thought I knew web forms. Atleast I thought I have a working knowledge of how forms work. I didn't realize the number of surprizes I found on the way.
My quest started with an innocent inspiration. I like words and their origins. I wanted to put a look up for dictionary.com on my web log. The form was simple enough with a single text field that takes a word or a phrase and then look up its...
on Jun 19, 2006
My personal digital assistant (PDA) provides contact information for friends, family, and coworkers. The PDA allows me to find a person's phone number easily by searching on that person's name. The information is sorted according to standard dictionary-sort order for the contact's name. That is, the name MichÃ¨le comes before Robert in the list. Without this sort order, I would have difficulty...
on Jun 6, 2006
How many times have we heard or preached (or both) the important lesson of not having our business logic "leak" into the client tier. Each time we hear it, we nod our heads and say "how true," and get serious for a moment.
The idea of logic leaks applies to other aspects of development, not just the client tier. For example, the Hibernate project is very concerned about not leaking persistence...
on May 2, 2006
Why Code Rewrites Don't Always Work.
Give an engineer some code and one of the first things crossing through the mind of some engineers is, "Should I rewrite or re-factor that code?". The logic being that the new version will be ultimately be better in some way than the original.
However simply rewriting or re-factoring an application doesn't always warrant the effort you put in. The rewrite...
on Apr 20, 2006
OK, so the human brain is supposed to be designed to multitask. That means through the course of a single day, we might have to switch between literally thousands of individuals tasks. It seems that although we're all designed to do this, some of us do this better than others. Maybe some of us have better schedulers than others?
Take my lovely wife Linda. She has possibly the best scheduler I...
on Apr 20, 2006
Dr. Sallie Henry died March 7, 2006.
She came to the Computer Science department at the University of Wisconsin - LaCrosse, in 1979. Her energy and enthusiasm were a real boost. She encouraged many students - most of the CS people I know from those days are still actively in the software business. At LaCrosse, she brought in undergraduate research opportunities, and she helped push the...
on Apr 11, 2006
If you're interested in my $0.02 on AJAX, check out my Public Static editorial in JavaPro magazine. Here's an excerpt:
on Mar 30, 2006
Anders Møller's dk.brics.automaton is a Java regex
package whose main claim to fame is that it is significantly faster
then all other Java regex libraries, including the java.util.regex classes in the JDK.
Like many things in computer science, the speed gains come at a price. In this case, the regular expression language supported is not as rich as the Perl 5 syntax that...
on Mar 27, 2006
Debugging with println is an ancient habit in programming - even
the novice developers know about how fragile is such strategy facing the
robust debugging tools provided by the most common IDEs. Despite that,
everybody sometimes includes some commands like
System.out.println(<font color='darkblue'>"step #1"</font>), or
on Mar 9, 2006
I'm working on a program that requires I convert degrees of longitude into miles. Since we are mapping radians on to the sphere (mostly) that is Earth, I needed to do some trigonometric calculations. Upon whipping out some paper and pencil and drawing the triangles I needed I realized had to remember which function to use. Is it Sine, Cosine, or Tangent? Hypotenuse over Adjacent? Adjacent over...
on Mar 1, 2006
Somebody at MIT was nice enough to make available the videos for lectures on Structure and Interpretation of Computer Programs, by Abelson and Sussman.
It's a refresher in just how powerful Lisp is. For a language approaching 50 years old, it's pretty amazing.
I always crack up a little when I think about the reasons Lisp and Smalltalk couldn't go "mainstream" - why, they use too many...
on Feb 15, 2006
O'Reilly has introduced a new service called "Rough Cuts" that gives pre-publication access to books as they are being written.
It's an opportunity for early adopters to use the material and offer feedback to the author and editor.
The books are priced reasonably for online access, with an option to purchase the print version when it is released.
Of the initial four titles, "Ajax Hacks: Rough...
on Jan 24, 2006
*started this as a comment in response to Dependency hell*
-- the fact that I know I could do the same project two years back with Struts and a handful of Commons libraries.
-- the fact that a newbie to Java will recoil with horror at the number of concepts he has to learn to do anything meaningful. Where would you start a newbie on a project like this? (Don't tell me that you won't hire a...
on Jan 18, 2006
I started work on an existing project at my day job today and the first thing that I had to do was to download all the dependencies for the project. Here is a snapshot of the dependencies folder after I had checked it out of CVS:
Wow! That's 21 dependencies in that folder. Twenty-One! Actually, it should be more because Jakarta-Commons contains many separate libraries, which in this case is 14...
on Jan 17, 2006