Web Info & Tutorials

January 4th, 2008

ZED SHAW INTERVIEW ON RAILS COMMUNITY, ENTERPRISE, AJAX, PATENTS, AND A WHOLE LOT MORE

Rob Sanheim sat down with Zed Shaw at RailsConf and had an hour long conversation with him that covered his thoughts on the Rails community, the role of the Enterprise, the state of Ajax, JRuby and Rubinius, documentation, tests, tooling, the role of patents in software, and a whole lot of opinion.

Zed Shaw

It is very interesting to listen to this after the explosion that happened when Zed lambasted the Rails community. When you listen to this interview, you see some of the seeds of the rant, but it is a lot more toned down, and there is some good stuff in there. It is easy to blog a crazy rant…. but when you are talking to someone you get a different side of the coin. This gives you that side, from a time when he wasn’t as upset as he may have been when he sat at the computer to type up his post.

Listen to the recording, or subscribe to the podcast. We will go back to more “standard” Ajax topics in the future.

Zed’s Core Quotes

  • On Semantic Web: Einsteins brain on a crack whores body isn’t going to happen
  • I’m waiting for someone to blind-side the entire Web stack
  • Some people hate me, but love Mongrel
  • Where is the XP for managers

And here are some of the thoughts that Zed expressed throughout the interview:

Thoughts on the Rails community, and enterprise (as big business)

  • Mixed feelings
  • Mongrel was an art project
  • Simpler software is better
  • Enterprise software is known to be complex, and survives to make money for consulting companies
  • Afraid of consulting companies getting behind it, as their interest is in selling 30 people vs. 3 people teams

What could an enterprise company sell?

  • Do enterprise stuff well such as Authentication
  • Stacks: Make it simple (no ClassLoader6)

JRuby

  • It is a huge deal
  • The only fear is that Sun will mess it up with the JCP.
  • The JRuby guys are rock stars

Rubinius

  • An open source project not controlled by anyone
  • A bunch of guys who really love Ruby
  • Massive “spec”, working with the JRuby guys

State of Ajax

  • HTTP sucks
  • Needs to be a reset
  • Semantic Web: “Einsteins brain on a crack whores body isn’t going to happen”
  • I’m waiting for someone to blind-side the entire Web stack
  • Ajax the technology doesn’t impress me, but the new UIs that we are seeing is fantastic
  • Usability != better looking
  • “click here” actually does a really good job at having people click here!

What is going to come out with all of the work happening on top of Mongrel?

  • Swiftapply
  • Evented mongrel
  • DrProxy
  • OpenBSD clustering
  • X hits per day is meaningless. What is the peak?

Honest Open Source

  • Not all open source projects are equal
  • Make everything open and public immediately (e.g. SVN)
  • Corporate open source projects often lose their flavour
  • Outside commiters are key
  • Some people hate me, but love Mongrel
  • Documentation is poor for Rails and Ruby, Ruby doesn’t have a culture for it
  • Rails core does a much better job that the Ruby community in general, and this is a reason why it took off
  • QRI command line. Way better than RI
  • If Rails core isn’t using it, don’t use it. Add: used_by

What tools do you use?

  • Vim
  • Use a generic tool, and pimp it
  • “I code with a thesaurus”
  • Vim is designed to be used on phone lines, and it is very safe
  • Good tools never cover your code

Testing

  • A bit of design up front
  • Design the API
  • Tests to measure how it is working
  • Quality comes from the design ahead of time
January 4th, 2008

GWT VIDEOS FROM GWT CONFERENCE AVAILABLE

Pearson put on a GWT Conference that had a lot of great content.

Fortunately, video cameras were running, and the video has been edited and posted:

You may want to check out Kelly’s talk on usability, as well as Bruce and Dan’s overview of how GWT can improve productivity. There’s also the conversation with Josh Bloch and Joel’s presentation on architecture design. And a panel of app developers talks about their firsthand experiences with GWT.


January 4th, 2008

AUTOTESTING JAVASCRIPT IN RAILS

Dr Nic has written a tutorial on testing JavaScript in Rails using a new javascript_test plugin.

Once you ruby script/plugin install javascript_test you can ruby script/generate javascript_test maths. Then you can write a test a la:

JAVASCRIPT:
  1.  
  2. testTruth: function() { with(this) {
  3.   assert(true);
  4. }}
  5.  

You can go further though with the autotest watching over files, and Nic shows some TDD in action.

January 4th, 2008

MIBBIT: AJAX-BASED IRC CLIENT

I’m ever astonied but what grouping are antiquity using JavaScript & Ajax. It’s spurred so much power over the terminal digit eld and it doesn’t materialize to be fastening soon. Most recently, I unconcealed Mibbit, a JS/Ajax-based IRC client, and had the possibleness to discourse the developer of the site, Jimmy Moore.

What prompted you to physique it?

I had a whatever reasons for determining to physique mibbit.
Firstly, I establish newborn o/s’s from happening to happening at home, and sometimes requirement a lowercase support with installing/updating a portion driver/package etc, so would hit to establish an irc client. I wasn’t a large irc individualist at the time, and so having to establish a computer apiece happening I desired to communicate a discourse on #linux for happening peeved me.
Secondly, I proven another scheme irc clients. For me, the accepted of drinkable applet, sucked. Very andante to load, rattling rattling grotesque kludgy.
So I intellection ajax would be a beatific artefact to attain an cushy to ingest and favourable irc computer for the masses.
After I had shapely most of it, I institute cgi::irc which does a kindred refer of job.
I also definite to shapely it to see javascript, and to impact discover how to intend the peak action discover of comet call XMLHttpRequest things.

Did you ingest whatever limited lib or is every of the DOM/Ajax/JS homegrown?

I programmed the initial edition in javascript, with a php backend from the connector up. I desired to see everything full with the communications, so I did not ingest whatever libraries. PHP/apache didn’t taste so well, and so I rewrote the backend in drinkable using nio. I’m today pretty overconfident it’ll taste to tens of thousands of connections (php/apache lidded discover at around 20). I did countenance at another backend options, but didn’t encounter digit that was limited sufficiency and adjusted sufficiency for what I wanted.

Can you vindicate a lowercase taste most the underpinnings of the app so folks crapper undergo how it works?

The prototypal conception I got employed was the subject between application and server. That’s finished using 2 XMLHttpRequests. The prototypal digit is only to beam accumulation from application to server. It utilizes keep-alive, to minify newborn connections.

The ordinal XHR is the ‘receive lazy polling’ one. It connects to the server, and the computer holds it unstoppered until there are messages available, or a timeout expires. This digit is also keep-alive, so the incoming letter goes downbound the aforementioned connection.

What you modify up with is 2 connections held unstoppered to the server, with packets (json in this case), and whatever http headers from happening to time.
To attain trusty the computer would scale, I wrote a bespoken webserver in drinkable using nio. It handles every of the connections in a azygos arrange and as I say, scales to tens of thousands of connections.

If the computer requests a newborn connection, it sends a letter to the webserver, which then connects out, and starts proxying etc. It also runs an ident computer in the housing of irc connections so that an irc computer crapper refer individualist browsers. I looked at existing frameworks etc to do this variety of thing, but I valued acquisition how it every works, and intellection that my ingest housing haw be limited sufficiency to be healthy to behave more than generalized frameworks can.

What are the important features and what are forthcoming enhancements?

I’ve proven to garner modify features that perhaps whatever another clients don’t have, but this is a impact in progress…

  • Connect to binary servers/channels
  • Activity on foggy tabs shows up by journalism motion yellow
  • If the mibbit.com window/tab doesn’t hit focus, it flashes “people said stuff” to inform you something happened
  • Tab termination on nicknames
  • Parsing of smilies, nicknames, urls, mIRC colouration codes
  • Full utf-8 support
  • Typing inform - grouping who are currently typing, and are using mibbit (They hit a naif crowning on), invoke red.
  • Recent chitchat - If you tie a channel, which is currently connected by a man mibbit user, you’ll intend a lowercase past chitchat from that steer to provide you whatever intent of what’s feat on (This is digit of the features that would be hornlike to add to a screen computer - investment from the fact mibbit is centralised - aforementioned with the typewriting notifies which do not go over irc connections)
  • Input story - up downbound arrows
  • Runs an ident computer and communicates the browsers IP come to the IRC computer so that individuals crapper ease be identified uniquely

In cost of forthcoming enhancements, I’d same to attain everything full customizable - grouping hit rattling assorted opinions of what is pleasant (smilies/not smilies etc). Also more features that investment soured the fact that it is centralized, antiquity on crowning of chitchat networks to add player features much as the typewriting notify/recent chat.

Is this an OSS project? Can others help?

At the time it is not unstoppered source. The intent is to prototypal enable publishers to embed a computer in their websites. This varies from embedding the full client, or a limited channel, or a PM. For happening you could ingest it to hit a unification locution [PM me on irc] and that would unstoppered a newborn pane with a chitchat pane in it PMing you on a presented irc server. Or you could embed a limited steer in an iframe on your site. The incoming initiate would be to earmark boost combining with an unstoppered API, customization etc.

January 4th, 2008

SURVEY ON AJAX IDES AND DEVELOPMENT

We have been doing various surveys with Richard Monson-Haefel and the Burton Group. We just did one on frameworks that the community uses.

This time around, we want to see what IDEs and tools people are using. To make sure that we have the right tools on the list, we first wanted to ask for feedback on the core list itself. If you see an omission, leave a comment, and we will get the survey ready shortly.

  • Dreamweaver
  • Standard Eclipse (JST, WST, or ATF)
  • MyEclipse
  • CFEclipse
  • Zend IDE
  • Aptana IDE
  • JSEclipse
  • WebSphere/Rational AD
  • IntelliJ
  • Visual Studio
  • MS Expression Web
  • Morphik AppsBuilder
  • PrimalScript
  • Textmate
  • GoLive
  • Textpad
  • BBEdit
  • Komodo IDE
  • EditPlus
  • Vi
  • Emacs
  • jEdit
  • Notepad
  • HomeSite
  • Ultraedit
  • SlickEdit
January 4th, 2008

IDESKTOP: YOUTUBE VIEWER

iDesktop is an Ajax application that allows you to search and view YouTube videos.

The viewer uses a stripped down Prototype, and a whole bunch of script to give you sliders that automatically change the layout to allow more or less content on the screen, menus, pagination, inline popups, and a lot more.

iDesktop