Junk as a Jan

Learn what I learnt :)
Recent Tweets @HardParts_aViaN
Upcoming Posts @JunkasaJan
  • Drupal 7 as a Web Service

  • Drupal 6 - Pager and Comments Customizations

  • Rich Snippets in Drupal 7

If you need current browser location information,  the JavaScript’s window.location object gives you all of that information about the window’s current location.

HTML5 - WebSocket API Lifecycle

HTML5 - WebSocket API Lifecycle

This joins two 1-D arrays to create associative array where each element is a key,value pair (one from each arrays)

For example,

arrayA = [1,2,3,4]

and 

arrayB = [‘aravind’,’prasath’,’aravind’,’prasath’]

then,

on zipping you get,

resultArray = [1=>’aravind’,2=>’prasath’,3=>’aravind’,4=>’prasath’];

The biggest issue right now with web related specifications is browser adoption. The specs clearly state that at least two mainstream browsers must implement the standard to be considered complete. In most cases that tends to be Firefox, Opera, Safari, and Internet Explorer. The first of these three has always been adapt to adopting standards. The latter is only just beginning to catch up. This results in most of the web authors in the community from not utilizing new features as it results in having to maintain different sites for different browser capabilities. So, how do we change this?

First, as web authors, we need to start showing the promise of future specs like HTML5 in order for browser vendors to realize the promise and create a higher urgency to update their applications. But how can we implement new HTML 5 features without browser support? The answer to that is through emulation. If you look at many of the libraries already on the web, much of this is already in the works, even if not explicitly stated. For example, Google Gears allows authors to utilize the new HTML5 storage support. Javascript libraries such as jQuery support future CSS 3 selectors. The dojo javascript library provides many of the networking stacks and future AJAX support. The piece that is missing is a full emulation layer the builds on those already available but allow a document to be built on HTML5 and rendering the result on the client side.

Imagine the advancement for authors if an emulation layer existed. For example, rather than having to use the APIs within existing libraries to create a calendar control, you could simply drop a date input onto the page via HTML5’s <input type=”date” />. The emulator would pick up that tag and properly utilize the libraries to build the control. This simplifies author development, starts to show the promise of HTML 5, and helps the end user by providing the new features of HTML5. Similar to how browsers adapt pieces of the spec at a time, this emulation layer could provide the same result. However, rather than having to rely on browser developers to find time to build the feature, the emulation layer can use the open source community and the already existent libraries to more quickly adapt features. The features would be smart in that they would fall back to the native browser support, if provided. It would only emulate when non-compliant browsers are used. The end result of all of this is that we build HTML5 pages today and can easily drop the emulation libraries once full support is provided.

I plan to eventually create an open source project and host it to the open source community in order to drive this into existence.  Over the next month I will be analyzing the HTML 5 spec and the already existent libraries to determine some various paths to proceed under.  If anyone is interested in joining, shoot me an email or a comment.  You can follow all of my progress on this blog.

Switch to Ubuntu

Detailed presentation for setting up FileConveyor coming soon.

It is generally a good idea to include the full path to the file, rather than just the filename.

You can change the range between {} if you have files with extension longer than four chars.

Removes _1231 from great_1231.

No recursive option for rename. You need a bash script to go further.

It’s a pity that on some system, like slackware, there’s the “wrong” version.