Source: site.blog [edit]

WubHub Blog


JavaScript as an alternate to WebL

7/19/13 2:26 PM
Posted by acheyer
We have now integrated JavaScript (Rhino) as an alternative to WebL for your programming commands. Enjoy!

Code Mirror Editor

7/19/13 2:20 PM
Posted by acheyer
 
Our old text-box editor has been massively upgraded to use the CodeMirror programmer's editor. This offers syntax highlighting, improved search, and a number of other professional features.

New Feature: Easier Blog Editing

8/5/06 12:41 AM
Posted by acheyer
Two new commands "newBlog(blogName)" and "addEntryToBlog(blogname)" make it easier to create and edit blog content. These commands display forms to let you enter key information, using the form-->wubhub command functionality. addEntryToBlog does lots of the little things for you, like calculating the current date, the next entry id number, etc.

Note: blog entries may now have an image. The image may be specified either as a URL to an image, or if you want to refine the size, an HTML string representing an <img> tag.


New Feature: Caching page results

8/5/06 12:26 AM
Posted by acheyer
Most WubHub scripts return results quickly, but some commands that query many web sources (e.g. cultureBonk(sf))or combine many commands (e.g., runAllUnitTests) may take a while to run. To improve performance, we have implemented caching of command results. Here's how it works:
  • Commands with checkbox "Cache results" will persist their results for each unique input they receive. If executed again with arguments it has seen before, the saved result is returned immediately rather than running the command. This caching is GLOBAL across all users, so use with care.
  • If you fill out an "Expiration Date", cached results will expire.
  • You may request that the system automatically refresh values at a certain rate (e.g. 1D = every day, 1H = every hour, or combinations such as "3W 2H"). The refresh threads run as as the "anonymous" user, so this will only work for functions accessible when you are logged out (e.g. in module "global").
  • To clear the cache for a function, you can execute "clearCache(funcName)"
Result caching should greatly improve the response times for more complex WubHub applications. Enjoy!!!

New Feature: WubHub Groups!

8/4/06 8:50 PM
Posted by acheyer
Groups are modules where a number of people can get together to work on a project or application. When you create or join a group, you can edit all functions belonging to that group, and the group is added to your default execution path. You may belong to more than one group at a time.
  • To create a new group, use "createGroup"
  • To invite someone to a group you belong to, use "groupInvite(NameOfGroup,NumTokens)"
  • To signup for a group that someone has invited you to join, use "groupSignup(NameOfGroup)"
  • To see all groups registered in WubHub, use "groups"
  • To see all members belonging to a group, use "groupMembers(NameOfGroup)"
Groups are just getting started, but one group ajaxGroup has already contributed some AJAX-based portal management functions to the WubHub community.

Get involved! Start (or join) a Group!


Alternatives to WebL

03/01/06 03:30:00 PM
Posted by levy
 
Just in case anyone is wondering what new is happening with WubHub: It seems the biggest issue with it as it stands is the use of WebL. WebL has been a nice prototyping platform for this system, but no one wants to take the time to learn an obscure language. So I've been working with a new framework that doesn't require WebL. Unfortunately, this means rewriting a lot, as the entire system is in WebL, and finding replacements for tools that come for free in WebL. Do drop me a note if you have any ideas for scripting features you'd like to WubHub to provide.

But don't let this stop you from writing new functions! Any new language support should be at least as powerful as WebL, and having more examples in WebL will help the process of evaluating what the new platform needs.


Bookmarks and Bookmarklets

01/06/06 09:48:00 AM
Posted by acheyer
 
I've recently refactored how edit works, removing it from the WubHub kernel (now it's even tinier) and making it a full-fledged editable/viewable WubHub function. As a first demonstrator, I've added a command bookmark(title, url), which lets you create del.icio.us-style, tagged, sharable, url bookmarks, enhanced by WubHub's command-line (you can make up a quick commandname to access the bookmark, and you can even add WubHub arguments that insert themselves into the URL).

For a fast way to add your current webpage as a WubHub bookmark, add the following bookmarklet to your browser's Favorites menu by copying the following URL:

When you click on the favorite, your current page will be sent to WubHub's bookmark() command.

Command Syntaxes

01/06/06 05:12:00 AM
Posted by acheyer
 
I spent some time rewriting the command line parser. Here are some new features:
  • Instead of a parenthesis syntax cmd(arg1, arg2), you can use a ':', as in cmd: arg1, arg2. Saves a character typed!
  • You can now pass functions to other functions. As an example, you can pass the results of chartDemo(demoNum), which returns a WebL object containing chart data, to the chart(data) function, using the call chart(chartDemo(3)). Functions with no arguments are distinguished from string arguments if they have "(" or a ":", as in lsRender: ls(). If you want to pass a string argument containing a ':' or paren, you must quote the string.
  • Write your own syntaxes: by editing the command cmdlineRewrite(cmdline), you have a hook to change whatever the user types into a valid WubHub command.

Group Thoughts

12/24/05 04:12:00 PM
Posted by acheyer
 
I posted a proposal on how groups should work in WubHub. Comments or questions welcome! (Quick, before I start coding... ;-)

Activity Logs

12/23/05 05:20:00 AM
Posted by acheyer
 
WubHub offers simple version control of all edits to WubHub content, and we will soon move to a real version control-backed data store. However, our current system doesn't ask a user to "commit" function changes and provide a log message during the commit, so it's hard to know what's changed, new, etc. I'd like to propose a convention that developers create a page in their home directory and call it something like 'activityLog'; here you can indicate new "check-ins" or changes that you'd like other developers to know about. If we mark our pages with an "activitylog" flag, we can easily write an aggregator command that grabs them all into one stream to subscribe to.

Must be logged in for these to work:

WubHub Launch

12/22/05 09:15:00 PM
Posted by acheyer
 
Today was the first public showing of WubHub, to a select group of SRI and external invitees. After an in-depth walkthrough of the current WubHub capabilities, some stayed around for another hour talking about ideas, future possibilities, and general improvements and use cases for WubHub. We're hoping that some sign up, contribute ideas, and perhaps a few get down and dirty and try to create some new commands. Our first goal is to get a sense of whether the system is usable, compelling, useful, and addicting. If not, is there something we could add to make it so? Feel free to contribute to the ideas page!