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!