John Sequeira
Home

Resumé

Case
Studies

Why Hire
Me?

Recommendations

My Story

Publications

Bleeding
Edge



 
 

Bleeding Edge

I spend a lot of my time trying to figure out how to create applications that are more responsive, and scale to more users, for less time and money. Here's a short list of technologies that promise to help me solve that problem:

Web Development Frameworks

  1. OpenACS  is the best way to quickly build a high volume web application. It is incredibly well documented, and you can learn an tremendous amount by following the toolkit's conventions for file naming, documentation, application logic partitioning between database and script code, and the data model. The toolkit exemplifies so many best practices that they deserve to be considered for any serious web project, if only to define your requirements. I'm actively working on porting this project to Apache and IIS.

Peer-To-Peer

  1. BitTorrent is an open source file distribution tool that enables swarmed downloads from a centralized location.  It will change everything.
  2. Groove - moves the web beyond it's limitations to a hybrid web/desktop architecture. They have implemented a P2P file and applications sharing framework that can be easily scripted. The beauty of Groove is the ability to allow people inside and outside of an organization to easily share project files. This is something either not readily accomplished with Intranet tools, or awkwardly implemented by project management web sites. The best part of Groove is their vision of using it to extend existing web services to beyond the web - a revolutionary technology that can be easily deployed alongside existing platforms has a much greater chance for success.

    I was mentioned in this Fortune Magazine article [link broken] after being interviewed about my experiences with Groove.

Scripting

The big advantage of the web is that you don't have to install software. Scripting technologies that package an execution environment (a VM, in java land) offer a hint of what comes next.

Here are a few that I'm paying attention to right now:

  1. Parrot - The Perl6 virtual machine aims to be all things to all people,  but it's being built by folks with a strong track record of success.  What Microsoft's .NET is trying to do for strongly typed languages,  Perl6 hopes to achieve for dynamic/scripting languages.  The Parrot team hopes to have bytecode compilers for C#, Ruby, Scheme and Python in addition to the core Perl 6/5.
  2. Curl - an interesting attempt at combining data and script (like TclKit, but with $50M in venture money) that attempts to go Java one better. They did a good job with the development environment, and a great job with the documentation and language, but it remains to be seen whether a company can charge money for their language. I can't come up with too many examples of companies succeeding in this endeavor beyond a few obscure niches (like Smalltalk or Lisp, etc). 2/2001
  3. Rebol - created by a guy with credentials, Carl Sassenrath (invented the Amiga). Appealling because it has a persistence/push framework and scales down to PDAs (but not the Palm), unappealing because pricing/business model is not described in detail on web site. 10/2000
  4. TclKit - a cool experiment in combining code and data.  I like the idea of packaging a desktop application as a single file that can be deleted at will.  Perl versions analogous to Java Archives (JAR's) are now (1/03) appearing

XML

  • SVG - a scriptable XML format for documents, somewhat akin to Flash in what it's capable of. It's already a W3C recommendation, so let's hope it's on the browser adoption road map.

Distributed Filesystems

  1. http://www.mountainviewdata.com/ - commercial provider of inter-mezzo
  2. http://www.inter-mezzo.org - a DFS written/prototyped in Perl
  3. http://www.mangosoft.com - Cool name. Easy to deploy VPN-esque file system.

Load Balancers

  • CoyotePoint - http://www.coyotepoint.com This load balancer was very inexpensive, quick to set up, and worked flawlessly for a 9-box web farm. Recommended.

    Testing

  • http://www.vmware.com - A virtual X86 machine on your desktop. This software is instrumental in helping me reproduce bug reports on Win95/98/NT/2000/Linux and in trying OS configuration in a convenient sandbox. It's a tool that belongs in every developer's toolbox.


  • T: 617-674-7543 E: click here W: http://www.jsequeira.com/