Jan 19

HAML 1.0 the Velocity of Rails?

Java, Ruby, Tech 4 Comments »

The releases kicked in over in Rails land:

Haml you ask?

!!!
%html
%head
%title= controller.controller_name
= stylesheet_link_tag 'main'
%body
#header
%h1 BoBlog
#content= yield
#footer
%p All content copyright © Bob

Watching all of the alternative view technologies gives me a bit of a Deja Vu to other technology. JHTML, JSP, Velocity, XMLC, Freemarker, ….

Before long we will have to fight against Enterprise Ruby Beans? ;)

Dec 28

a->properties are special in Java 7

Java, Ruby, Tech 20 Comments »

I am not sure how I feel about a->foo = b->foo, having a magic -> operator for properties.

In theory I actually like syntactic sugar. It can be a pain to learn, but once you do you have more power in your own hands. On the other hand I really hate having > as part of an operator (which bugged me about generics). The peeve? Working with HTML (blog posts, html docs, etc) make it a royal pain. How many entries have you seen that make no sense and then you realise the the generic stuff wasn’t escaped. Grr.

I also prefer to think of sending messages to objects. If the message happens to correspond to a property, that is great. a.foo in Ruby could mean many things hidden behind various implementations, and there is no need to call out THIS IS A PROPERTY.

And then of course we like being able to method_missing and more, so a.foo may not even exist yet.

Nov 14

DeprecatedCafe: Finally :)

Java, Tech 3 Comments »

Now that we have OpenJDK, what would be your perfect JDK to create?

I would love to create DeprecatedCafe or BackwardsCompatIsForSuckers versions of OpenJDK than clean out the crud.

And then, change items such as java.util.Date to use a new version that actually works, and then ….

We could clean it up and call it what… SeaSharp ?

Nov 13

Open Source Java. Time to move on?

Java, Tech 18 Comments »

OpenJDK, Mobile/Embedded, GlassFish are now licensed under GPLv2.

For years a set of the community has been up in arms shouting “open source Java!!!!”. Although I think that it is the right thing to do, I don’t think it is actually THAT big a deal for Java in many ways. It is big for linux, and that is good.

A panacea it is not, and I was hoping that once Java was open sourced people would move on and we would get back to doing real work. Now I fear that the next charge will be “GPL is evil!!!!”. I worry about GPL, and have had some interesting discussions with attorneys on the topic that make me shiver, but I do look forward to talking about core issues in Java, rather than this stuff :)

Sep 22

Ferret diverges from Lucene

Java, Ruby, Tech 5 Comments »

I am a long time Lucene fan, and was excited about being able to use Ferret in Ruby land to work on the same files.

That dream just died as David Balmain (Mr. Ferret) has jumped away from the Lucene file format:

This is the first Ferret announcement I’ve put up for a while, the reason being, the most recent releases of Ferret have been alpha releases. I completely rewrote Ferret from the ground up so that it no-longer uses Lucene’s file format and I was able to gain so great performance improvements in the process.

Do I need Ferret to use the same file format? Often-time no, as the app is in pure Rubyland, however, I know of a few projects in which being able to access the index from both worlds is a definite plus….. and not through a web service ;)

I guess we will have to use one of the other lucene ports for that.

Aug 19

Java Closures

Java, Tech 29 Comments »

It looks like Java is getting closures. After years of the .NET folklaughing at us as they compare delegates to futzing with anonymous inner classes, and the guys with true closures (ruby, lisp, …) laughing at the poor static folk who don’t have them, the Java platform finally can.

The fact that this is so late in the game, and the need for backwards compatibility rises too:

Unfortunately, compatibility prevents us from changing existing APIs. One possibility is to introduce a boxing utility method somewhere in the libraries…

Having “^ expression;” to mean ‘return out of a closure’ to stop some of the madness of “does return get out of X or Y?” is interesting.

I hope that Dolphin ends up with something great here, and not the mess we have with generics and type erasure.

Apr 19

Concurrency and list.getLast()

Java, Tech 7 Comments »

Brian Goetz (Mr Concurrency) has finished Java Concurrency in Practice a book in which he has sweat blood and tears for sure.

If you mention anything to him right now he will immediately be able to tell you about the concurrency issues and how we have multicores now, and hence we will soon be screwed.

Someone was complaining about list.getLast() instead of list.get(list.size()-1)

Brian pointed out that this isn’t about ease of use, but that (of course):

list.getLast() would be atomic, whereas list.get(list.size()-1) would
not, and could throw NPE even for a nonempty list if a list element were
removed by another thread at just the wrong time.

Um, I’ve got to stop doing that.

Congrats on JCiP Brian.

Mar 25

Ruby is not ready for production. Definitive proof.

Java, Ruby, Tech 10 Comments »

A lot of people who snipe at Rails claim that it does not, and can not scale or be used in “production”. The funny thing about this is that I haven’t heard this from people who have tried and just failed miserably (although this will happen, because you can create something that can’t scale very easily. Trust me, I have done it :)

But, we finally have proof. Hani has been biling away at TheServerSide Symposium and said:

I was tremendously pleased by the audience’s responses. It turns out that the majority of TSS attendees:

Do not/will not deploy Ruby On Rails in a production environment (except 2 guys)

This was a shocker. For those that do not know, TSS Symposium is not just a Java show, but an Enterprise Java show. Not only is it Enterprise Java, but its life started out as a portal for all things EJB.

And these attendees aren’t all hacking on Rails?

That shocked me as much as the show of hands for catholic bishops who do not want women to join them on high.

I think that is is great to be skeptical, and I do not believe that “Java is dead” like many on the kool aid elsewhere feel.

There is room for everything. However, saying that Rails isn’t a good solution for anything is wrong. Does it have room to grow wrt helping people with deployment? I think it does. Do I believe in keeping everything in the database and not scaling out caches? No. memcached works great for /., livejournal, and others.

Another interesting tid-bit from the conference was that a panel was asked about “what is cool about Java in 2006″ and “POJOs” and “Ajax” were responses.

Does anyone else think it is ironic that we had to create an acronym for using Objects and keeping things simple? And Ajax is of course not limited to Java.

This too isn’t a bad thing. I wrote before about the boredom of YAFramework. Now we can start getting work done, and sharing real experiences on solving real problems.

Dislaimer: This is not a James Governor posting. There is no need to wonder if I am serious with the title. I am british. I like sarcasm. Don’t make me put “just kidding” at the end of any sarcasm. Oh, and I know it is the lowest form of wit

Mar 14

JDO still not dead

Java, Tech 2 Comments »

JDO 2 has been voted through.

Not dead after all (in the JCP eyes at least ;)

Even Hani voted yes (with one No Vote from JBoss)

Mar 01

Aren’t you bored of Java frameworks? I am.

Java, Tech, Web Frameworks 32 Comments »

Back in the day, I was the first person to know, and care about version 2.6.1 of FooBar, the open source framework that does everything that you need.

For one, as editor-in-chief of TheServerSide, it was my job to be on top of things.

For two, I actually cared. The playing field was fun, there was a lot of innovation. It was a brave new world.

Fast forward to 2006, and I am the anti-framework releaser. If I never see “YetAnotherMVC 1.2 Released” announcement on TSS and others, it will be too soon.

Isn’t it just so BORING? Partially, I think I hit the end of the road on keeping up with the Jones’. At the end of the day I want to get my job done. I want to produce business functionality for my clients. ROI and all that garbage.

Now, I am living part of my life in the land of the UI. What has excited me about this land, is that when I develop a great Web UI for a client I can:

- Show my wife, and she can see that it is cool. Telling her (totally non-technical thank god) that I refactored my 3-tier backend using ALL of the GoF patterns isn’t a turn on. Neither is showing her a web page, but at least she can get it.
- Same for the client: Watching clients say “wow” is worth it. The backend is very important, but the front end is big too.

So, I am officially bored of all of the server side framework crap. I do listen for some things. Every Dojo/Prototype/Scriptaculous release makes me look, as so much has been added, because they are so young.

Aren’t you kinda bored too?