Webreakstuff blog

Archive
March, 2005 Monthly archive

Rails, Java, Frameworks, Fight!

Boy, has this been a hot week when it comes to framework fighting. If you keep an eye out at the development blog for Ruby on Rails, you’ve probably seen it all happening. Basically, it goes like this: David launched Ta-da Lists not long ago as proof that RoR allowed a developer to deploy an application of that kind writing only a few lines of code. It worked.

Now yesterday, the fun started. Geert Bevin developedBlaBla List, using his own Java framework (RIFE) and Laszlo. Not bad at all. A few minor details:

* The interface for BlaBla List is Flash-Based (courtesy of Laszlo)
* The source for BlaBla List is open
* It implements a couple of interesting features

Now, I’m not taking sides here, and thats not the point of this entry. Both implementations of the same application work fine, its a matter of approach. I love David’s use of Ajax (Javascript, XML, XmlHttpRequest) to simplify the process of maintaing your list, and i love Geerts’s way of putting things in a nice popup window that someone can just keep open whenever they need.

So, is the point here the framework? Is it which one is the most powerful? Is it about the e-penis size of each author? To my own eyes, both their efforts are valuable for one thing alone: they’re giving better tools to people who want to develop for an interactive web. The ideas they’re exploring are some of the things that will motivate and inspire other programmers in their interaction work on the web, so is it really worth it to bash away against something thats only pushing the boundaries too? Competition’s healthy here, people.

So what is there to gain from the web-framework bashing session of yesterday? A whole bunch of links to technologies you should be reading about and using on your web applications:

* Ruby on Rails – A framework for RAD with Ruby
* RIFE – Same thing, with Java
* Trails – A domain driven development framework for Java
* Laszlo – Platform for the development and delivery of rich Internet applications on the World Wide Web

Choice is key.

Click here to read the full post!

Ruby on Rails with Darwinports

If you haven’t heard about the hype, you should. Ruby on Rails is a great new web application framework that’s behind stuff like basecamp, tada-lists, 43things, among other awesome stuff. While I’ve been using RoR on a few machines, I had to format my powerbook (don’t ask) and install stuff over again, so I kinda polished my choices in terms of software installation.

Yesterday I wrote about a darwinports-based installation of subversion. Now its time for Ruby on Rails. This assumes you know how to setup darwinports (if you don’t, check this post):

* sudo port install ruby
* sudo port install rb-rubygems
* sudo gem install rails
* sudo ln /opt/local/bin/ruby /usr/local/bin/ruby

These four steps will get ruby, compile it and its dependencies, install rubygems (ruby’s own “package” management system), and use gems to download, configure and install the Ruby on Rails framework. The last step links your darwinports ruby binary to the location RoR looks for it by default.

From this moment on, you’ll have rails installed and ready to work. You may now begin coding your next web application by running rails /pathtothenewapp. From this point on you can tackle your way through RoR’s ever-increasing documentation.

Why use darwinports with Ruby on Rails?

By using darwinports to install ruby and rails you are guaranteed a few things: by having darwinports compile ruby for you, you get binary code optimized for your own machine; it is much easier to update ruby (or rubygems) through darwinports when there are updates; you don’t mess around in your BSD subsystem files which is a good thing if you’re a computer cleanliness advocate like me.

Thanks to Aaron Johnson for the note concerning the change from “rb-gems” into “rb-rubygems” in darwinports

Click here to read the full post!

Hey Yahoo, you can go smart(er)

“Yahoo’s Research Labs”:http://research.yahoo.com/, in a join effort with “O’Reilly”:http://www.oreilly.com/ media, launched on the 15th their “Buzz Game”:http://buzz.research.yahoo.com/bk/index.html project, a “stock market”-like game with fantasy money, where stocks vary with the ammount of searches that the product gets on Yahoo. Smart, smart indeed, I had this idea some time ago as it’d be a great project for “Google Labs”:http://labs.google.com, and look at it, Y!’s at it.

I kinda wanted to see how far they had gone with the idea, so I signed up. It doesn’t look bad at all but, and I wouldn’t be writing if there wasn’t a _but_, Yahoo could have made some choices in terms of development that would make the whole experience of using Buzz Game a little better.

Why not going the web 2.0 way and enriching the user experience with XmlHttpRequest that would avoid all the page refreshes for just about every action? Ajax powered web-applications are going to dominate the web world soon (think gmail, mapquest and a few others) because they make the experience better and much more practical. Data is loaded on-the-fly into the page, no need to refresh when you buy stock, or when something changes. A complex user interface becomes intuitive and fast.

I’m not also sure about their considerations on design patterns when doing the layout for this application, because although market pages appear to have had quite some thought given to them, navigation as a block didn’t, resulting in a poor navigation experience.

Apart from these two points, though, this is a great example on data shifting (_getting data you wouldn’t normally look at regularly – yahoo search data – and turning it into something else_). This sort of application is fascinating because it approaches the social computing model – the data we’re seeing here, updating live, is in fact produced all the time, by people all around the world using the Yahoo Search.

I too have been giving some thought to some data shifting ideas I had and may end up integrating some of them into my current projects – more on this soon, I bet.

Click here to read the full post!

Setting up Subversion on OSX

Here’s a quick guide on setting up a webdav-powered “Subversion”:http://subversion.tigris.org server on Osx using darwinports. Why darwinports, you may ask? Personally, I prefer to organize all the software that lies beneath the aqua layer on Osx in a separate location (as darwinports does on the /opt/local directory), and because it makes the whole process much easier when setting up a development environment.

* Install darwinports using “their instructions”:http://darwinports.opendarwin.org/docs/ch01s03.html#install_dports
* On your terminal window, enter: sudo port install subversion +mod_dav_svn +python (if you don’t need python bindings remove the +python – if you’re not considering running “Trac”:http://projects.edgewall.com/trac/)

If you have a fresh darwinports installation, you didn’t have apache2 properly configured, so you need to run these two commands to setup a vanilla configuration file for apache that you’ll be editing later:

* cd /opt/local/apache2/conf/
* cp httpd-std.conf httpd.conf

Now that you have working subversion and apache2 installations, its time to glue them together and create your repository:

* Run svadmin create /path_to_your_new_repository
* Add “LoadModule dav_svn_module modules/mod_dav_svn.so” to your httpd.conf
* Add a new location to the apache configuration:


allow from all
DAV svn
SVNPath /path_to_your_repository
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /path_to_your_repository/passwd
Require valid-user

* Generate a new user to access your repository through the web: htpasswd -c /rep_path/passwd
* Start your apache2 server: /opt/local/apache2/bin/apachectl start and you’re done!
* Load http://localhost/svn/ on your browser to see the repository

Hope that clears some questions as to how to setup subversion on OSX using darwinports. Back to coding you go!

Click here to read the full post!