Announced on the jQuery blog, and by John Resig here at the Ajax Experience, jQuery is being adopted by Microsoft and Nokia as part of their official development platform. Microsoft will distribute the framework with Visual Studio and will build UI widgets to run on top of jQuery. Nokia is looking to use jQuery to develop applications for their WebKit-based Web Run-Time. To make this news even sweeter, Microsoft and Nokia aren’t looking to make any modifications to jQuery (both in the form of code or licensing) - they plan to use it as-is. This is some very exciting news and we'd like to congratulate the jQuery team on this milestone!
The Java API for RESTful Web Services, JAX-RS (also known as JSR-311), has been approved by the final ballot of the SE/EE Executive Committee.
JAX-RS allows you to use @GET, @POST, @PUT, @DELETE, and other annotations to describe RESTful style web services in a manner similar to the way that JAX-WS does for SOAP and WSDL-based web services.
The java.net project page for JSR-311 is here. The reference implementation is called the Jersey project, but other implementations exist in the Restlet framework, JBoss RESTeasy project, and Apache CXF project.
We've all heard the same story: the "free lunch" for developers is over. The exponential rocket ride of single-processor performance is no longer feasible, and in order to sustain Moore's Law, scaling out with more processor cores is now the convention. Developers eager to give their software a performance boost can no longer simply wait for the next generation of hardware; instead they must write more concurrent code in order to maximize utilization of the available CPUs.
But concurrent programming (at least as it is practiced now) is complicated, and many developers cringe at the thought of race conditions, deadlocks, contention, and other problems that await them in the murky waters of multi-threading...In many ways they are in the same situation that they were with memory management back in the 1990's (before garbage collection became mainstream). Is there a "silver bullet" for concurrency waiting out there as well?
In this article I will cover some of the current and potentially near-future approaches to handling concurrency, and evaluate some of the potential "saviors-in-waiting".
Below is an example of a graph and the code that is used to create it.
You can download Bluff here.
You can read more about Bluff here.
Here's a overview of b9j.uri.URI from Robert:
- Parses using Steven Levithan's parseUri 1.2
- Easy path traversal (ascend to parent, descend to a child)
- Set or add to the URI query (with proper encoding), get/interrogate the query (with proper decoding)
- Add arbitrary data (unencoded) to the end of the query string, for extra flexibility
- Manipulate/interrogate the scheme, user information (username & password), host, port, fragment, and more in a piecewise fashion
- Add, change or strip the extension (html, js, css, ...) from a given URI
The code is available at http://appengine.bravo9.com/b9j/b9j.uri.js (19kb compressed / 5kb gzipped)
If you host or get code from Google Code then this will be of interest to you. Google code now has the availability of content licenses. This will help promote the best practice of licensing open source code.
The Google Code team is pleased to announce the availability of content licenses for projects hosted on code.google.com. Projects owners may now select from either the Creative Commons Attribution license or the Creative Commons Attribution-Share Alike license to indicate the terms under which their non-source code materials may be distributed.
You can read more about this here.
Ext GWT 1.0 has been compiled and tested against GWT 1.5 RC1. Downloads are located here.
Today is the official launch date for Mozilla's Firefox 3! The new version of the browser promises quite a few new features include performance improvements.
Below is an excerpt of a few new features.
Improved Platform for Developers
- New graphics and font handling: new graphics and text rendering
architectures in Gecko 1.9 provides rendering improvements in CSS, SVG as well
as improved display of fonts with ligatures and complex scripts.
- Color management: (set gfx.color_management.enabled on in
about:config and restart the browser to enable.) Firefox can now adjust images
with embedded color profiles.
- Offline support: enables web applications to provide offline
functionality (website authors must add support for offline browsing to their
site for this feature to be available to users).
- A more complete overview of href="http://developer.mozilla.org/en/docs/Firefox_3_for_developers">Firefox 3
for developers is available for website and add-on developers.
optimizations have resulted in continued improvements in performance.
Compared to Firefox 2, web applications like Google Mail and Zoho Office
run twice as fast in Firefox 3, and the popular
SunSpider test from Apple shows improvements over previous releases.
- Memory usage: Several new technologies work together to reduce the amount
of memory used by Firefox 3 over a web browsing session.
Memory cycles are broken and collected by an automated cycle collector, a new
memory allocator reduces fragmentation, hundreds of leaks have been fixed, and
caching strategies have been tuned.
- Reliability: A user's bookmarks, history, cookies, and preferences
are now stored in a transactionally secure database format which will prevent
data loss even if their system crashes.
You can read all about the new features here.
I am just waiting until I can download the software (should be any moment) and I'd love to hear if you plan on downloading Firefox 3 or if you prefer a different browser.
We at Ajaxonomy.com have written a tool called the Digg Bury Recorder that uses a feed from Digg Spy to capture all of the buries of stories that are recorded by Digg Spy. Recently it was brought to my attention that the Digg Bury Recorder does not seem to be recorder new buries. In looking into the issue I found that the feed is not returning any data.
Thinking that perhaps Digg changed the feed (they have done this before) I went over to Digg Spy to check if the feed that is being used and the feed that we are using is correct. However, after leaving Digg Spy up for a moment I quickly realized that the Ajax portion of Digg Spy does not appear to be working (go to the page and it will look like it is working, but once it gets past the pre-loaded information it no longer works).
Without the Ajax portion of Digg Spy the application is useless and I wonder if I wonder if Digg knows of the problem or if they purposely broke the application (perhaps in an attempt to stop applications like the Digg Bury Recorder, although this doesn't really make sense).