David Hurth's blog

Processing JavaScript


A while back I wrote a post about Processing (you can read my previous post here). If you haven't seen Processing before, it is a Java based development platform that rivals Flash. Well, John Resig has written a cool port of the Processing API to JavaScript.

Below is an excerpt from John's post.

The Processing Language

The first portion of the project was writing a parser to dynamically convert code written in the Processing language, to JavaScript. This involves a lot of gnarly regular expressions chewing up the code, spitting it out in a format that the browser understands.

It works "fairly well" (in that it's able to handle anything that the processing.org web site throws at it) but I'm sure its total scope is limited (until a proper parser is involved). I felt bad about tackling this using regular expressions until I found out that the original Processing code base did it in the same manner (they now use a real parser, naturally).

The language includes a number of interesting aspects, many of which are covered in the basic demos. Here's a brief selection of language features that are handled:

  • Types and type casting - Type information is generally discarded, but becomes important in variable declaration and in casting (which is generally handled well).
  • Classes - The full class system is supported (can be instantiated, etc. just fine).
  • Method overloading and multiple constructors - Within classes you can have multiple method (or constructor) definitions - with the appropriate methods being called, based upon their signature length.
  • Inheritance - Even classical-style inheritance is supported.

Note: There's one feature of Processing that's pretty much impossible to support: variable name overloading. In Processing you can have variables and functions that have the same name (e.g. float size = 0; float size(){}). In order to support this there would have to be considerable overhead - and it's generally not a good practice to begin with.

You can read the full post here.

If you get some time over the weekend, you might want to play with the new Processing JavaScript API. This looks like another good job by John Resig.

Wolfenstein 3D in JavaScript


If you are looking for something to get through the rest of the work week then check out this great JavaScript game. The game is Wolfenstein 3D (for you younger readers Wolfenstein 3D was the very first big first person shooter) and is just like the game I used to play on my 386 (except the AI is not finished)!

You can read more about the game here. Or you can get straight to the game here.

Note: that the game works on most browsers, but does not work on Internet Explorer.

It is always interesting to see things like this done in JavaScript. Who knows, perhaps we will be playing games like Doom (the original version) in JavaScript within the next few years.

BuddyBlend Adds LinkedIn Support


The latest application from Ajaxonomy Labs, BuddyBlend, has just added LinkedIn support. As you know LinkedIn is one of the most used social networks for business professionals. So, we hope the addition will be very useful to all of our users.

If you haven't started using BuddyBlend yet, you may not know that BuddyBlend is a free service that makes it easy to find out what your friends on various social networks are up to. BuddyBlend is an attempt to make it easier to keep track of your friends and easier to setup tracking your friends by allowing you to simply put in your username for a social network and then it will get what your friends are doing (so, you don't need to make friends all over again on a "sub" social network). BuddyBlend also allows you to filter the content that appears on your BuddyBlend, so you can get right to what you are interested in.

LinkedIn is the latest addition to the social networks on BuddyBlend which include the below.

To all of our BuddyBlend users we hope that the addition of LinkedIn will be very useful to you and if you haven't started using BuddyBlend we hope that the addition of LinkedIn will make it useful for you if you decide to use the free service.


BuddyBlend New Features


If you have been using BuddyBlend you have probably noticed the addition of a few new features and services.

  • BuddyBlend now support the Propeller.com social network. We are working on adding more services, so keep an eye as we will be adding many more over the next month.
  • The next feature is the addition of the digg counter on all digg content. We hope that this will help keep you more connected to your digg friends.
  • The last and perhaps biggest new feature is the filter feature. This allows you to put tags or keywords that the system will look for to filter your friends activity! So, if you are only interested in Ajax, PHP and Java then it will only show your friends activity that has to do with these items.

We will continue to work to improve BuddyBlend and we would love to hear your thoughts on ways to improve the service.

TIBCO Advances SOA with Closer Microsoft Integration


AjaxWorld Magazine has posted an interesting post about TIBCO working closely with Microsoft. I find this quite interesting as TIBCO is usually thought to be more of a Java shop.

Below is an excerpt from the post.

TIBCO announced that the company is working closely with Microsoft to make it easier for customers to use their respective technologies together – giving them more power and flexibility over their service-oriented architectures.

The new technology integration and support announcements are focused on:

* TIBCO and Microsoft Windows Communication Foundation – enables Microsoft .NET Framework services and applications to easily communicate using TIBCO’s Enterprise Message Service platform, giving these applications a degree of reliability and scalability not previously possible.
* TIBCO’s selection of Microsoft Silverlight for Rich Internet Application development – Delivers the best experience for customers that have large-scale deployment and scalability requirements and complements what can be done using AJAX.

These announcements are the first wave of commitments focused on making it easier for customers to take advantage of their existing IT investments in software from Microsoft and TIBCO.

“We want to help customers make the most of their existing technology investments and provide them with the tools and infrastructure to continue to innovate," said Burley Kawasaki, director of the Connected Systems Division at Microsoft Corp. “By working with TIBCO to enhance interoperability with Windows Communication Foundation, we will make it easier for developers to create services across platforms.”

You can read the full post here.

While much of this may be marketing speak it is interesting to see them "embrace" Microsoft at least to a degree.

NetSquared Mashup Challenge - Developers Wanted!


Are you someone that has written or would like to write a sweet mash-up? Would you like to get a share of $100,000? Well, NetSquared's Mash-up Challenge is perfect for you.

The challenge will be happening on May 27-28 at Cisco in San Jose, CA, so mark your calendars now.

Below is an excerpt from the post about the challenge:

How to Participate

I'm working with Billy Bicket, NetSquared's organizer, to recruit Project Leads interested in participating in a 4-week sprint leading up to NetSquared's conference, happening on May 27-28 at Cisco in San Jose, CA.

By contributing to NetSquared in the capacity of Project Lead, participants will be working with a leading social innovator working on a range of challenges including:

1. refining some of their ideas about how the data they are using could be rendered in mashups; and

2. in some cases, building mashups using a variety of APIs, products, or coming up with creative technical solutions to particular problems they are facing.

Project Leads will receive access to all NetSquared Hack Days. The next invite-only event is happening on May 4 at Moscone Center in San Francisco and is hosted by Sun and NetSquared. Project leads will also receive two free tickets to this year's NetSquared Conference.

Here is a quick run-down of the role and expectations for Project Leads and here are the simple next steps if you would like to participate:

1. Scroll through the list of 21 Featured Projects

2. Send Billy Bicket (billybicket -at- yahoo.com) an email with your favorite three (3) featured projects, and confirm your interest in participating by Wednesday, April 30 at noon.

4. Once you send Billy an email, he'll send easy next steps (including link to conference registration) and details about engaging with featured projects for expedient approach and execution.

You can read the full post here.

This looks like a great opportunity for anybody interested in making mash-ups!

Ajaxonomy Launches Labs Page


You have probably seen our Ajaxonomy Labs section on the right hand portion of this blog. Well since we just launched our fourth application for the labs section we have decided that it is time for the labs section to have its own page.

You can get to the page from the Labs link on the top navigation bar of this site. You will still be able to get to the four newest applications in the Ajaxonomy Labs section on the right hand portion of the page. However, all of the applications that we make will be available on the Ajaxonomy Labs page.

We would love to hear your thoughts on the page or on any of the applications. So, take a few minutes and check out the Ajaxonomy Labs page and leave your thoughts in the comments.

JavaScriptMVC's Test Plugin Making JavaScript Testing Easier


You may remember me writing about JavaScriptMVC about a month ago. Well, they have made a very cool plug-in for JavaScriptMVC (although you can also use the plug-in for non-JavaScriptMVC features) called Test that makes JavaScript testing much easier.

Below is an excerpt from the post on the plug-in.

Easy to use

Test is optimized for easy use. But, every library
says that. Here's why we mean it:

1. JavaScriptMVC's Console provides helpful messages to guide you through

Test runner window

2. Asynchronous event tests avoid using nested functions to keep your
code easier to understand

test_open: function(){
   // a controller action helper doubleclicks the second directory
   // call the next function when the open animation is complete

assert_open: function(params){
   // check there are 5 files in the directory
   this.assertEqual(5, params.element.childNodes.length);
Asynchronous event testing

3. If you use Controller, helper methods are automatically created that
simulate each controller action's event, such as TodoClick

4. Event simulation syntax so simple your grandma could understand it2

this.Keypress(element, 'h'); // Test syntax
YAHOO.util.UserAction.keypress(element, { charCode: 72 }); // Yahoo syntax
Event simulation syntax comparison

You can read the full post and see a demo of the plug-in here.

Further more the plug-in does more than just unit tests. It lets you simulate user interactions with your page:

  • Cross browser support for typical DOM events, like keypress, click, submit, blur, and focus
  • Simulate writing text or dragging an element

This plug-in looks pretty good and I plan on using it in a future application using JavaScriptMVC. Anything that makes JavaScript testing easier is a very good thing!

BuddyBlend Beta


Today we are releasing the latest application for Ajaxonomy Labs. The applications is called BuddyBlend. BuddyBlend is a way to easily get all of your friends activities in one location without logging into a bunch of different Social Networks.

You may be thinking that FriendFeed already does this and you are correct to a point. The big difference between FriendFeed and BuddyBlend is that with BuddyBlend you don't need to make friends with a new set of people to see what they are doing, but it gets the latest updates from the friends you already have on various social networks. Because I consider FriendFeed as a type of social network you can get your FriendFeed friends information on your BuddyBlend.

BuddyBlend is currently in public beta, so we will continue to improve on the application to make it more useful and work with more social networks.

Below are the social services that are currently available on BuddyBlend.

  • Digg
  • del.icio.us
  • Twitter
  • flickr
  • FriendFeed
  • FaceBook

BuddyBlend uses your free Ajaxonomy account, so if you already have an account there is no need to sign-up for a new account. As we continue to improve the application we welcome your feedback, so please let us know how we can improve the application.

The New Alexa Rankings


If you haven't noticed, Alexa has changed their rankings. The site that attempts to put a ranking on all sites on the internet now takes data from more sources in an attempt to give more accurate ratings.

Below is an excerpt from the Alexa blog.

When Alexa began displaying rankings in 1998 it was with the goal of showing Alexa Toolbar users how popular any given site was within the Alexa community. We generated the rankings through an analysis of Internet usage by people who use the Alexa Toolbar. Since that time we've been delighted to see that the Alexa Rankings have become a yardstick by which website popularity is measured. We are grateful to the thousands of people who come to Alexa.com each day to check the Alexa Rankings.

In recent months we've heard from our Alexa users that understanding Internet usage beyond Alexa Toolbar users was increasingly of interest. Ask and you shall receive!

We listened to your suggestions, and we believe that our new rankings system is much closer to what you asked for. We now aggregate data from multiple sources to give you a better indication of website popularity among the entire population of Internet users.

You can read the full post here.

The change is very interesting especially if you look at tech websites. Many technology blogs have gone down by as much as 300,000 from what they where before the change. This change is an interesting one and a good one if the numbers are more accurate as to how much of the actual internet population are viewing a site. If you have any thoughts on the new Alexa rankings then I would love to hear them.

Syndicate content