Looking further though the comments on Simon's blog entry, I also noticed a gem from Mats Henricson:
I think we should add i18n here as well, so that "My button" can be the same as "Min knapp" ("My button" in Swedish).
Think about this. Such a simple change - requiring the the Java compiler to merely translate each identifier through all known languages - will certainly break down barriers to acceptance in many non-English speaking countries. Perhaps Babel Fish Translation would be an integral part of initial implementations?
A trivial extension would be to allow synonyms within one language to substitute for each other. For example, 'two', 'deuce' and 'doublet' all refer to the same concept, so what (sensible) Java program would possibly break if these identifiers referred to exactly the same variable?
In private correspondence, Charles suggested the compiler cope with small, obvious misspellings, a necessity in today's SMS culture. In a similar vein, allowing homonyms to substitute for one another may also be useful.
Here is a sample of the kind of code that we can expect to see, assuming that i18n, misspellings and homonyms, are all accepted into JSR-666, and subsequently into the Java language. It prints out the prime numbers less than ten:
for (nit eye = 1; me < 20; aye++) {
if (self >=4 && 0 == (yoursTruly & 2))
continyoo;
if ((windowToTheSoul >> 3) != 0)
brake;
System.out.pintln(jag);
}
Note that, as with most JSR-666 proposals, this is able to be implemented wholly within the compiler, with no JVM changes required.
For balance, I can point you to Hee Yun's Music Cafe. Not only is Hee Yun very pretty, she has provided the world with a MIDI rendition of Don't Worry Be Happy. Be sure to visit that last link with Internet Explorer and with speakers turned up loud.
I found myself reading the entire thing with hype filters up. Normally I can read through such garbage and to the facts underneath. Comes from being a veteran of the Extreme Programming Wars. But the Prevayler site is truly rabid, and some of the hype got through those filters. Here's one example I initially dismissed as simply an excess of enthusiasm:
Of course, there will be all sorts of excuses to hang on to "ye olde database", but at least now there is an option.
By 'excuses' I guess they mean stuff like "I have a terabyte and a half of data" (a Prevayler database must fit in RAM) and "My entire business processes are based off of reports that run against the SQL database".
And another:
Prevalence is by far the fastest, simplest and most transparent business object persistence, ACID transaction, fault-tolerance, replication and load-balancing architecture we know. --Prevayler Team
Considering its source, hardly a recommendation that I'm going to take too seriously, but nice to see that you have confidence in your own work.
But this is the nugget that made it past the normally impenetrable hype filters:
Remember: you will no longer be writing feeble client code. You will now have the means to actually write server code. It's the way object orientation was intended all along; but it's certainly not for wimps.
Pardon? Is that supposed to make me like Prevayler? Questions that spring to mind...
What a load of ill-conceived, patronising, self-serving and naive poppy-cock!
The PrevaylerTeam would be well served by throttling their enthusiasm a few dozen percentage points. With all the chest beating and put-downs, the site currently reads like it was put together by a bunch of 16 year old hax0rs. Not a good thing if you are trying to place an open source project more into the mainstream. Honest.
In a sentence, visitors to prevayler.org should be able to learn about Prevayler technology without being offended or ridiculed.
And the technology is impressive. Prevayler appears to be based on simple idea, with a solid implementation, spectacular benchmarks, and reasonable usability.
From my point of view, Prevayler has three main limitations:
So long as your application fits within these boundaries you will be fine, but if you need to step outside these boundaries, you may have a big problem.
I plan to use Prevayler in the next few months for some prototyping work. If that goes well, Prevayler will have a permanent place in my Java toolkit.
What do the rocket scientists say when something isn't complicated? Is it
That's all Charles and I could come up with... comments, please.
When I can't remember
What comes after 'A' and before 'C'
My mother whispers to me
Letter 'B'
Which is very cute, but the song I just can't get out of my head is "Rebel L" with Billy Idle. The music is exactly right, and the lyrics are a scream. (original lyrics).
I've been writing code that uses java.io.File, for the first time in ages. It's been like meeting up with an old friend and being reminded just how ugly he really is.
For instance: file.list(), which goes to the filesystem to find the names of files does not throw an IOException. On the other hand file.getCanonicalPath(), which 'just' returns a file name does throw an an IOException.
Why the inconsistency, I wonder?
At the top of each page on the IBM developerWorks site, there is a search box. The instructions are:
Use only ( ) " " + -
What if I want to search for something with letters in the name?
Callie recently posted this question about how late is too late to repent, and raises the prospect of repenting 'During that "journey to heaven" that we often talk about, ya know tunnel of light...'. The question seems to be partly inspired by concern from a friend - in Callie's own words:
I've known a friend who goes to church but doesn't believe, and he said "If it isn't true (being God) then it doesn't matter, and if it is then I guess I'll just have to deal with it."
There are a few good answers up on Pew-Fellows too. After them, Lenora points out that no-one has had a go at answering whether it is possible to be "forgiven after you die?"
Here are two answers to Lenora's follow-up. The first is that death is the end of the period where we can make a choice. This is largely implicit throughout the Bible, though Hebrews 9:27 says: "...man is destined to die once, and after that to face judgment." (NIV). Jesus also tells the story of the rich man who dies and goes to hell in Luke 16:19-31. The rich man begs Abraham for mercy, but Abraham offers none. After death is too late.
Here are a two more passages that I found helpful:
The other answer is one I'd give to someone like Callie's friend who is not commiting themselves. It requires a bit of understanding about just how important repentance is to God.
God wants us to turn back to him, to say sorry and repent.
God is serious about repentance.
So this second answer is that if you want to avoid God's wrath, at all, you shouldn't play games on this issue. God is very clear. You repent or you go to hell. Do you really want to gamble on maybe having the time during a trip through the "tunnel-of-light"? And if you haven't repented already, where do you think the tunnel is taking you?
Found the article "KDE 3.1 vs. GNOME 2.2: How GNOME became LAME" by Nicholas Petreley on LinuxWorld today. I had no idea of the level of vehemence in the Gnome vs. KDE flame war.
A sample flame:
One of GNOME's biggest problems is that it can't make up its mind regarding what it is.
A random opinion that can only put one portion of the readership off-side for no good reason:
CORBA is Web-services done right it simply doesn't do it over port 80.
And the lovely sound bite that gave the article its title:
GNOME has become a Language Agnostic Morphable Environment. GNOME has become LAME.
On the whole Petreley's article is well thought out. Contains a lot of information if you filter out the worst of the flames. I look forward to the reply piece.
In his latest entry, Charles Miller offers beer to anyone who can track him down to say hi on a Wednesday night!
W00t!
My name is Alan Green. If you are reading this in the few months after I wrote it, I'm 33. I'm also married with two children and slowly going grey in a dashing, distinguished kind of way.
I work in a boutique (small, high quality) J2EE consultancy located in the CBD. As well as Java and J2EE, I have commercial experience in a wide range of other languages - Python, Smalltalk and C++ through to COBOL, Rexx and Assembler. From a public exposure point of view, the highlight of my resume is the Qantas web site, where I did a portion of the original Frequent Flyer functionality.
After 15+ years in the industry I still enjoy programming. I haven't told my boss though, as he might start charging me to come to work.
I live in Penrith, Sydney, Australia, which is where the rowing was for the 2000 Olympics. Here is an amusingly inaccurate map of the area - I live near where the little dude is shooting a target, next to the freeway. Thirty or forty years ago, Penrith was a little country town and I get a real kick out of talking to people who can remember how it used to be, with dirt roads and planes landing on the farm paddocks.
My local church is Kingswood Anglican. I might also describe it as boutique except that there is nothing pretentious about it. Good friends and good teaching are the highlights and we've been there ten years or so. Church soaks up most of my time not spent with family, work, computers or house maintenance.
That's me. If you'd like to send me a message, please leave a comment on this entry or email at avgreen-at-cardboard.nu. (Please keep in mind that I don't want to hear about:
Enjoy the rest of this site!
I was going to write a nice article comparing OptusNet Cable with other cable service providers here in Australia. However, the cable connection has been dodgy these past few days - sometimes it works, and sometimes it doesn't.
Optus sent out a technician, who saw the problem, but it went away when he poked some things. He swapped a signal splitter out when I basically insisted that he do something. That afternoon, the connection dropped in and out four or five times.
There has been a bit of rain around - I wonder if some water got into a coax cable in the wall or under the house?
There is another technician coming out on Tuesday. We'll see what happens. Meanwhile, these posts will be a bit erratic.