Archive: That's Cool!

Java Essentials

My friend Bruno kicked off, silently few weeks ago the Java Essential project.

What is Java Essential?

It’s an open, collaborative book, written in Italian about Java and not only.
It will cover topics like TDD, Object Oriented Design and Domain Driven Design, and all the most current/good/trendy frameworks.
It will be written in Italian, for the Italian Java (not only Java really…) community, written by the communities, in fact various good guys from various different Java User Groups and Organizations will write the content.

I’ve been asked to write the chapter about Domain Driven and since I’m not a good writer I’ve asked to Floyd Marinescu if I can translate his nice Domain Driven Design Quickly, and he agreed.

Depending on how much it will take and on how much time I’ll be able to allocate on this project I’ll translate partially the book for Java Essential or the full book, linking it then on InfoQ.
If there’s one thing that I care about is to spread around the world what we do and how we do it, last year I had in total four speeches in Rome, Turin, Varese and Bologna, since I’m a bit far from Europe now, that’s the best way to continue in that direction :-)

Many thanks to Dan that pointed out on our internal ML to Qi4J.
Quoting from the home page:

Principles
- Composite Oriented Programming builds on some principles that are not addressed by Object Oriented Programming at all.
- Behavior depends on Context
- Decoupling is a virtue
- Business Rules matters more.
- Classes are dead, long live interfaces.

Are you already worried that they’re using xml to do this?


Qi4j is trying to address the flaws of OOP and introduce Composite Oriented Programming to the world, without introducing new programming languages, or awkward constructs. Heck, we don’t even use any XML.

Definitely interesting.

FRANKFURT/LONDON (Reuters) - British chip designer ARM (ARM.L: Quote, Profile, Research) will demonstrate a prototype of Google Inc’s (GOOG.O: Quote, Profile, Research) Android mobile phone platform in action next week at the world’s biggest wireless fair, a source close to the company said.

Source: Reuters

I’ve played a bit last week with Android, it’s a really promising technology.
It’s a full stack, based on Java, it’s open and it should be really a “write once run everywhere” technology (not like JavaME!).

It’s a big change: they first wrote the OS, the software and then finally they found an hardware to support it. It might really work.

I like to think that the Google team was so frustrated working with J2ME for their (very nice) JavaME apps like GMail and Maps that they suddenly decided to write a full OS to support their ideas.
I remember an old Cédric Beust post about his intense, crazy experience on writing the Gmail app.
Is it only a coincidence that he’s working on Android?

Android offers many things, missed for too many years by Sun on the JavaMe platform.

- Deep phone integration (ability to interoperate between apps, make calls and so on with the phone)
- Ready to use “widgets” like maps
- Pretty nice pattern to write an application: what was a MIDlet in the JavaME world is now and Activity.

- Easy to write apps from any platform (yes, also Mac!)

The battle begins now, I-Phone: closed source, basically only web apps, nice screen with nice features or G-Phone. I can’t predict who’s gonna win but I’m sure that there are some losers on this battle already: Sun Microsystem, Nokia, Microsoft: all the old good companies, unable to make any decent progress in the last years. (where is MIDP3?!!!)

I’ve been very frustrated with the JavaME technology, I hope that Google will change now how things works in the mobile world.

I always used a text file for my todo list, I never found something better than moving lines coping and pasting, nothing so easy and immediate.

I’ve tried for a while tadalist  which is cool since it goes on the web, you can share it, it has an RSS interface, but the usability wasn’t so great.

Yesterday searching for a software that I’ve seen on the Gaz Mac I’ve found another one,  iGTD

The guy says:

You are a busy person, aren’t you? And there’s an easy way to track all things that have to be done… and to get those things done! iGTD takes some concepts from Getting Things Done methodology and makes them easy to understand and use in your every day life. But it’s definitely not limited to the GTD concept - you can really use it the way you want.

It’s simply one of the best Mac Os apps I’ve ever seen, I try to list here what I love of it so far:

  • Export to iCal: awesome
  • Easy to use, simple, logical, keyboard shortcuts for everything
  • Integration with Quick Silver: cool
  • Widget, integration with almost all the apps
  • It’s free

Are you still reading this? Let’s try it out!