New personal project :)

Posted on September 19th, 2009 in Life in General | No Comments »

Since I have made clojure the target of my little free time, I figured I’d do something useful with the time spent reading about it… here it is disclojure.org

On e-books and why pragprog.com got it right.

Posted on April 16th, 2009 in Life in General | No Comments »

For someone like me that reads computer programming books, e-books are the way to go: they’re cheap, you can read them in your computer and they don’t take shelf space. But things are not yet too mature in this space. For example, DRM in e-books is still pretty pervasive and diminishes the value of such books in a very important way: your computer cannot index their contents and thus they won’t be taken into account when you’re searching for something. That defeats all the advantages that an e-book has over a traditional book!

The mobile e-book world is even more in flux. I bought a Kindle a year ago. I initially purchased a few books, and I tried to read them. They were mostly business strategy (borderline self-help) books, so lots of text and no graphics. Then I moved into buying books more related to software architecture and design; here is when things turned ugly. Kindle doesn’t display tables at all. Some editors turn those tables into an image, but then the image’s resolution is very low and Kindle doesn’t offer a way to zoom into images. Also, Kindle cannot correctly display code, as it mangles with the fonts and the layout of the text. Finally, I cannot read a Kindle book in my computer; that’s silly to no end.

But then comes Pragmatic Programmers and provides FOR FREE to all their customers a Kindle version of all the PDF e-books bought at their store (I have bought 10). No DRM. Now I can read their books in my computer, in my Kindle and my iPhone with Kindle for iPhone. Now my Pragmatic Programmers e-books have become 10 times more useful and thus ten times more valuable. That also means I am 10 times more likely to buy my next e-book on software development from Pragmatic Programmers than from anyone else.

To make things better, Pragmatic Programmers also offer another electronic format that lets you read their books on the iPhone that rivals and bests the Kindle book reader. Using Stanza for iPhone you can reach e-book heaven. Now when I am waiting for the train or in the train, I just whip out my iPhone and start reading a book right away.

Here is the thing: e-book publishers, please drop DRM from your books. That silly DRM is easy to crack anyway. Make your books 10 times more useful, and you’ll sell way more of them.

Sick

Posted on January 16th, 2009 in Life in General | No Comments »

I am sick. Of all these wars. Of all these people who think that wars are good. Good for what? Maybe I am being naive, but how about not building and selling more weapons and weapon technology? I’m just saying.

I am sick of how we support leaders who don’t support us.

There’s got to be a better way…

Interesting Quote

Posted on November 26th, 2007 in Life in General | No Comments »

“Tomorrow is our permanent address.” — Marshall McLuhan

Are Ruby and JRuby groovy enough?

Posted on May 15th, 2007 in Grails, Groovy, JRuby, Languages, Rails, Ruby, Technology | 1 Comment »

So now that Java seems officially dead (that is, after Sun buried this year at JavaOne), one should start looking at what language will take Java’s crown as the CoolestUsefulLanguageOnEarth(tm), the one that will re-shape the Internet.

Granted being cool is not enough for a programming language to dominate the world. Lisp is very cool in my opinion. ML is the coolest thing since slice bread. Way cooler than, let’s say, Ruby. We’re talking about languages made in the 70’s and the 80’s here, and they are still cool. Smalltalk is cool too. None of them ended taking over the programming world.

Being cool and useful seems to give a language a chance to world domination. C was really cool at it’s time and quite useful. So was C++, and of course, Java. Their usefulness was always evident by the fact that these languages are very pervasive, and that they let you develop a wide range of applications.

Being useful is not enough either, although it provides a language a longer life than just being cool. Cobol is very useful. Fortran is very useful. VB is very useful. But, no revolutions happened with those languages. They are very pervasive though, but you rarely see them anymore.

Well, so the story goes that cool and useful languages, at some point in their life, they stop being cool but keep being useful for very long time. Java is definitely not cool anymore, but very useful. People will continue to develop large business applications with Java for a couple decades, the same way people still use C++ today.

So what’s next? Some say Ruby. Some say Python. I say Groovy.

Ruby is a very cool language. There is actually nothing new in Ruby, at least nothing that we haven’t seen in other languages before (30 years ago?), but the language seems to have the right combination of features. Indeed, Ruby would not be cool today if it wasn’t for the birth and posterior exponential growth of Rails. Rails is a very clever web development framework for Ruby that allows to build web applications in a very fast and agile manner. Rails is a RAD without an IDE. Both Ruby and Rails are very powerful tools in the right hands, and right now, Rails developers are very smart people that see eye to eye with the Ruby/Rails developers. I am not so sure Ruby/Rails is so useful. Here are some open questions about Ruby/Rails usefulness:

  • How does 5 years of Ruby/Rails legacy look like?
  • Once the excellent first crop (class A developers) of Ruby/Rails developers is exhausted, will the next batch of developers (class B this time) be able to properly deal with such amount of power in their hands? Mind you, class B developers amount to 95% of the developer population.
  • Rails dictates a “shared nothing” architecture as means to achieve scalability. Can all types of web applications be built around this concept? Is this a hammer looking for nails? ;)
  • If I want a Ruby based application to run faster, what can I do?

Python?… I love the language, but so far, not very web oriented.

JRuby? Mmm… that’s an interesting one! From the language perspective, this is Ruby. And you can write Rails applications on it. Sun has done it pretty sweet to fix the need for a “shared nothing” architecture, by allowing Ruby to run inside the Java VM and also inside a JEE web container. The nice thing with JRuby/Rails is that you can use all the available Java libraries from a Rails application. And this is really useful. The caveats? Questions 1 and 2 from the paragraph above.

Groovy? Well, as a language, Groovy has taken a page (or whole sections I would say) from Ruby’s book. Groovy has many of the features that Java lacks but that Ruby has and that make Ruby so cool. The difference is that Groovy’s goals have always been to be “java-like” and also to integrate really well into the Java platform. At this Groovy is better than JRuby. Groovy also has Grails, which is a Groovy based framework very similar to what Rails is for Ruby. The nice thing about Groovy/Grails is that they can be used in close collaboration with Java/Spring. For once, Grails applications are Spring applications and they can use all Java libraries seamlessly. So you could write your kernel classes on Java and the more abstract code (also, the code more bound to change) in Groovy. The code that is executed the most times could be all Java, whiles the rest of the pages (admin, management, etc) could be done in Groovy. Now all of a sudden, you can have the coolness of Groovy with the usefulness of Java in one same package.

Groovy seems both very cool and very useful to me. More than Ruby and JRuby. To the point that I’d like it to be the next language to take over the world as opposed to Ruby. Too bad that Groovy came in late, but I think it has good changes of toppling Ruby as the new King of the Languages. I think the real winner in the not so short future will be the language/framework that is best at seamlessly integrate both regular typed languages with dynamic scripting languages, and so far the Java/Groovy combination seems the best fit to win.

I know that what I am saying is not very PC in the Web 2.0 world. Oh well, somebody needs to take stabs at looking at Ruby/Rails from the Engineering point of view!

At JavaOne 2007

Posted on May 10th, 2007 in Life in General | 1 Comment »

I won’t comment on my ability to keep this blog up to date. It’s pretty shameless.

I am at JavaOne these days. I’d say it has been disappointing so far, at least in the Java the language front. If you like scripting languages (as i do) then this is probably one of the most exciting JavaOne ever. No much word on EJB, JEE, Spring, etc… Quite a bit about JRuby, Rails and my favorite: Groovy.

Groovy is now in quite a mature state. Of course it is not Ruby, nor it wants to be. But I am really happy to see that finally people are considering using scripting languages in servers (I’
ve gotta say, Spring makes it very easy to use Groovy). Groovy is also ideal for writing unit tests and integration tests… But then, what about JRuby? Well, it rocks too! But so far it is not that integrated in Java, not like Groovy. But JRuby has a lot of potential, and the Netbeans support for it is pretty amazing. For when similar support for Groovy???

Lots of Ajax too. Lots of rich Internet applications. So more scripting languages, this time JavaScript. Ajax and Web 2.0 seem to be a nightmare when it comes to security though!

In any case, I bought a lot of books on Ruby, Rails, Ajax and Innovation. None on Java.

Java is dead from the language perspective. It won’t evolve that much. It’s pretty good as it is now and the trend seems to be to use scripting languages on the JVM when expressiveness and fast coding is needed. When speed is needed, Java seems a pretty obvious choice; unless you go to the “share nothing” architecture of Rails of course.

Tomorrow we’ll see James Gosling’s gig… see what he has to say :)

LA pool party

Posted on August 3rd, 2005 in Life in General | No Comments »

So it was Mason’s birthday and we all went down to LA to a pool party that Lisa and Fonda and all the LA crew put up together for Mason. It was an awesome party, too bad I had to leave early… too bad. You can see the pictures clicking the following image:

Mason and Sen-sei

Long time no see …

Posted on August 3rd, 2005 in Life in General | No Comments »

Well, that was embarrassing. My previous website died on me eight months ago… It has taken me some full eight months to put together a new one. This time, instead of hosting this site in one of the servers at UCSB I am having this site totally outsourced. The blog is based on Wordpress. I haven’t done any fancy customizations, that’s why it looks so boring. The pictures are hosted on flickr, and but they’re also integrated in wordpress here.

Life is good. Things are going well for me. Found the perfect partner, Anna. I am happy! :-) I’ll be posting updates on my life regularly now that the site is back up. I’ll be posting pictures too…

Flickr pictures integrated in site

Posted on August 3rd, 2005 in Uncategorized | No Comments »

I managed to integrate my flickr album into this website. Enjoy