Mar 2 2008

Nobody Knows Shoes

Nobody knows Shoes and once you know that, you know all you need to know about Shoes. You may think you know Shoes but nobody knows Shoes. Nobody Knows Shoes is a freely available artwork API documentation for the Shoes framework, developed by the prolific Ruby hacker, writer, and cartoonist Why the Lucky Stiff.

Nobody Knows Shoes

I have tried to know Shoes, and written about my findings and providing code and samples here.

Technorati Tags: , , , , ,


Feb 13 2008

JavaOne 2008 Sessions

I was reading over the descriptions for the currently scheduled sessions for JavaOne 2008. Here is a short list of the sessions that seem interesting to me in no particular order.

  • BOF-5110: Extending Groovys Swing User Interface in Builder to Build Richer Applications
  • BOF-5998: Meet the Java Posse
  • BOF-6229: Cutting-Edge Productivity with RIFE and Web Continuations
  • PAN-5435: The Script Bowl: A Rapid-Fire Comparison of Scripting Languages
  • TS-4806: JRuby on Rails: Web Development Evolved
  • TS-4868: From Java Technology to Ruby…and Back
  • TS-4895: The NetBeans IDE Compared to the Eclipse Rich Client Platform
  • TS-4982: Extending Swing: Creating Your Own Components
  • TS-4986: JavaScript Programming Language: The Language Everybody Loves to Hate
  • TS-5152: Overview of the JavaFX Script Programming Language
  • TS-5165: Programming with Functional Objects in Scala
  • TS-5416: JRuby: Why, What, How…Do it Now
  • TS-5572: Groovy, the Red Pill: Metaprogramming-How to Blow the Mind of Developers on the Java Platform
  • TS-5579: Closures Cookbook
  • TS-5764: Grails in Depth
  • TS-5793: Groovy and Grails: Changing the Landscape of Java Platform, Enterprise Edition (Java EE Platform) Patterns
  • TS-6096: Nimbus: The New Face of Swing
  • TS-6169: Spring Framework 2.5: New and Notable
  • TS-6457: Choosing Your Java Technology-Based Web Framework: A Comparison
  • TS-6490: JRuby on Rails Deployment: What They Didn’t Tell You
  • TS-6609: The JavaFX Script Programming Language for Swing Developers
  • TS-6611: Filthy-Rich Clients: Filthier, Richer, Clientier
  • TS-6656: Extreme Graphical User Interface Makeover: Rock Stars
  • TS-6929: Creating a Compelling User Experience

I have gone to JavaOne four out of the last five years and have compiled pretty complete conference notes for JavaOne 2007 and JavaOne 2006.

Technorati Tags: , , , , , , , , , , ,


Jan 10 2008

The Great Grails Switch

The Apple Switch Ad campaign was very successful for Apple, so much so that there seems to be a sort of switch meme campaign amongst Grails folks to try to get Ruby on Rails developers to switch to Grails. Originally this blog post presented 10 reasons to switch from Rails to Grails and now Graeme Rocher of G2One has added another ten. Here is the complete list of reasons to switch to Grails… or at least top reasons to give Grails a try…

  • GORM with hibernate/spring and jpa is much better than ActiveRecord
  • No distribution problems; runs in many production ready containers
  • Internationalization out of the box (not specifically ignored as DHH does)
  • Transactions actually work, and they include save-points.
  • Not only dynamic finders and counters, but dynamic listOrderBy
  • No green threads (although this may be fixed in Ruby 2.0, around 2010?)
  • Ability to use pessimistic locking out of the box
  • Real-live prepared statements and .withCriteria method
  • Production level test reporting with built in Mocking and Stubbing
  • Search operations are based on Lucene (with a plugin)
  • A view technology that doesn’t suck
  • Mixed source development made easy with the Groovy joint compiler (no falling back to C to solve those performance problems ;-)
  • Built in support for rich conversations with Web Flow
  • A rich plug-in system that integrates Grails with technologies Java people care about like GWT, DWR, JMS etc.
  • A buzzing and growing community with a larger traffic mailing list as opposed to a stagnating one
  • Built on Spring, the ultimate Enterprise Application Integration technology
  • A Service layer with automatic transaction demarcation and support for scopes
  • More books coming and being adopted by enterprise organizations near you

For the true die hard Ruby on Rails developers this might not be reason enough to switch to Grails, but for those Java developers on that are on the fence Grails might seem a bit more attractive now.

For those interested in getting started with Grails, take a look at my Groovy and Grails tutorials.

Technorati Tags: , , , , , ,


Jan 4 2008

Ruby on Rails Radioactive Fallout

Rails has been getting a lot of flack lately, instead of the usual hype. Zed Shaw, author of Mongrel, recently blew his top off against the Ruby on Rails community leaders and said that Rails is a ghetto. Zed is getting a lot of attention from this explosive rant but this is not the first time a prominent developer/blogger has spoken out against the Rails framework and it’s leadership. Before Zed went AWOL on the Rails community, Derek Sivers of CD Baby switched back to PHP after working with Rails for two years without releasing a product. Perhaps the first notable negative article regarding Rails’ performance was a five question interview with Twitter developer Alex Payne. Since then there has been many more potty mouthed articles against Rails and its infallible dear leader, better known by his initials DHH, such as Imploding Rails, Jesus DHH, and the Uncle Ben Principle, 10 Areas Where Rails Fails, Ruby, Rails and RSpec burned a day off my lifespan, and How to ruin a Rails project.

So why all the Rails bashing? Most Rubyist and Railist will brush off and dismiss such comments as coming from Java playa hatin’ developers, but this is not the case, these articles are written from the perspective of fellow Ruby on Rails hackers, developers, and contributers. The experience of these Ruby on Rails developers remind me of the testimonials of people that escaped from a Peoples Temple cult; they been to the other side and it is not as green as it was portrayed, especially if you do not adhere without question to the opinionated papal bull-shit of the core Rails church leaders. I think some of the comments that Rails nay sayers are trying to address is that the Rails community is itself falling into the trap of eating it own dogma. But I am not a Rails heretic, so instead of paraphrasing, let me quote some of the most interesting remarks from the aforementioned articles.

Any discussion about Rails with ultimately lead to it’s performance.

Running on Rails has forced us to deal with scaling issues – issues that any growing site eventually contends with – far sooner than I think we would on another framework.
Five Question Inverview

None of these scaling approaches are as fun and easy as developing for Rails. All the convenience methods and syntactical sugar that makes Rails such a pleasure for coders ends up being absolutely punishing, performance-wise.
Five Question Inverview

Consider that Rails is the Love Child of Web 2.0 and Disillusioned Web 1.0 Developers, whole shops and corporate departments are adopting Rails as a way to push their applications into production more rapidly – what happens when they try to scale these apps and get “Twitter’d”?
Imploding Rails

The main Rails application that DHH created required restarting ~400 times/day. That’s a production application that can’t stay up for more than 4 minutes on average.
Rails is a ghetto

The greatest thing about Ruby on Rails is neither Ruby nor Rails, the best aspect of Rails is that it questioned the ‘best practices’ (or worst nightmares) of the current state of web development with its philosophy of Convention over Configuration and Don’t Repeat Yourself principle. Ruby and Rails is not the next best thing, it is just the missing link to the next best programming language and framework, or at least this is the logic of some PHP developers…

Is there anything Rails can do, that PHP CAN’T do? The answer is no.
7 reasons I switched back to PHP

Rails was an amazing teacher. I loved it’s “do exactly as I say” paint-by-numbers framework that taught me some great guidelines. … But the main reason that any programmer learning any new language thinks the new language is SO much better than the old one is because he’s a better programmer now!
7 reasons I switched back to PHP

Zed’s great rant opus against the Rails elite provided insight from an insider’s point of view, although he complains as he was an outsider. Zed did not mince words and especially goes nuclear against ThoughtWorks and Dave Thomas.

This is exactly what makes Rails a ghetto. A bunch of half-trained former PHP morons who never bother to sit down and really learn the computer science they were too good to study in college.
Rails is a ghetto

They [Rails community] were all a bunch of little ghetto fabulous princesses trying to make it in this tiny little Rails world and not enough brains between them all to make it happen.
Rails is a ghetto

When you combine stupid businesses with stupid people using a stupid framework based on a big fat fucking lie on a shitty platform you get the perfect storm of dumbfuck where a man like me can’t find work.
Rails is a ghetto

Sorry guys, but having a 1:4 code:test ratio is not focusing on code quality. It’s focusing on test quality.
Rails is a ghetto

He [Dave Thomas] basically had full access to the code and the people who wrote Rails and a direct line to DHH and still couldn’t write a decent book on writing a Rails application.
Rails is a ghetto

Technorati Tags: , , , , , , , , ,


Dec 11 2007

TechKnow Year In Review 2007

It is that time of year where we reflect on the accomplishments of the passing year and look forward to the one to come. Here is a window into the past year in technology through this year’s popular posts on TechKnow Juixe.

Top 5 Top Lists

Software Development

Java

JavaScript

Ruby

Ruby Shoes

Ruby on Rails Plugins

Windows Tips

Mac OS X Tips

Year In Review

Seasons Greetings

Technorati Tags: , , , , , , , , , , , ,


Oct 27 2007

Top Programming Books on Google Book Search

Here is an extensive list of top programming books available for preview on Google Books. Google Books provides scans of thousands of textbooks. The scans are not the best, most books have visible scan defects in them.

Even though the scans are not the best, there are some features that just work well. Just like Google Maps, where you can send a link to a map (with a set size, address, etc), with Google Books you can send a link to a specific page in a certain book with specific words highlighted. Google also has handy links such as the table of contents, popular passages, and where to buy the book (perhaps in a better quality PDF format).

All the books listed here have a ‘limited preview’, meaning that some pages are not available for viewing but for the most part you can browse through most the the book. Google Books does indicate the pages that are not available.

Java
The Java Language Specification
Effective Java Programming language
Java: The complete Reference
Java In A Nutshell
Head First Java

C/C++
Practical C++ Programming
C++ The Core Language
The Concurrent C Programming Language
C++ Primer Plus

.Net/C#
The C# Programming Language
The Visual Basic .NET Programming Language
Pro C# 2005 and the .NET 2.0 Platform
Learning Visual Basic .NET
VB.NET Language in a Nutshell

Python
Python in a Nutshell
Learning Python
Visual Quickstart Guide: Python
Python Pocket Reference
Python Cookbook

JavaScript/DOM
JavaScript: The Definitive Guide
Beginning JavaScript with DOM Scripting and AJAX
The Book of JavaScript
The Complete Reference JavaScript
JavaScript Bible
DOM Scripting

Ruby/Rails
Ruby in a Nutshell
The Ruby Way
Beginning Ruby
Ruby on Rails: Up and Running
Rails Solutions: Ruby on Rails Made Easy
Beginning Ruby on Rails E-Commerce

PHP
PHP in a Nutshell
Programming PHP
PHP Cookbook
Learning PHP and MySQL
Learning PHP 5

Database
Visual Quickstart Guide: MySQL
MySQL Cookbook
MySQL in a Nutshell
MySQL Tutorial
Programming SQL Server 2005
SQL Server 2005: Developer’s Guide
SQL Server 2005: A Beginner’s Guide
Beginning SQL Server 2005 Express

Technorati Tags: , , , , , , , , , , , , ,