Archive for the 'JavaScript' Category

modulr: a CommonJS module implementation in Ruby for client-side JavaScript

modulr is a CommonJS module implementation in Ruby for client-side JavaScript

Ruby? what does that have anything to do with it? Ah, its from one of those Prototype guys isn’t it…. Yup, Tobie is at it again, this time with modulr:

modulr accepts a singular file as input (the program) on which is does static analysis to [...]

Mozilla JägerMonkey: Method based JIT + Trace based JIT = speed

David Anderson: “TraceMonkey has rocket boosters, so it runs really fast when the boosters are on, but the boosters can’t always be turned on.”

Opera’s new JIT compiler Carakan is doing well as we just posted. What is Mozilla doing with TraceMonkey? A lot.
Mozilla JägerMonkey adds method based JIT (of V8 and Nitro fame) to keep [...]

EnhanceJS: A library to progressively enhance

EnhanceJS is a new library from the Filament Group, who are serious about progressive enhancement and accessibility.
What is EnhanceJS?

EnhanceJS is a new JavaScript framework (a single 2.5kb JavaScript file once minified/gzipped) that that automates a series of browser tests to ensure that advanced CSS and JavaScript features will render properly before they’re loaded to the [...]

jsFiddle: a Web playground

Piotr Zalewa has created a really great playground, jsFiddle, for testing sample code and playing with the Web. With an area for the holy trinity of the Web (HTML, CSS, JS) and an output region, you can get right to hacking.
It goes beyond this though. You can also add resources, an Ajax echo backend, and [...]

jQuery 1.4.2: performance and a few APIs

jQuery 1.4.2 has been released today and it comes with some performance bumps (aggressive ones according to Taskspeed). Benchmarks are challenging, and John even calls that out:

For example, we saw significant overall performance speed-ups in Taskspeed simply by optimizing the $(”body”) selector because it’s called hundreds of times within the tests. Additionally we saw large [...]

TeX line breaking algorithm in JavaScript

Bram Stein has done some really fun work. He has taken the Knuth and Plass line breaking algorithm and implemented it using Canvas:

The goal of this implementation is to optimally set justified text in the new HTML5 canvas element, and ultimately provide a library for various line breaking algorithms in JavaScript.

You can see the subtleties [...]

Quicksand: transition and filtering effect

Jacek Galanciak has created a nice visual transition library, Quicksand, that filters and shows a set of data in an interesting way.
The jQuery plugin has you quickly calling quicksand like this:
PLAIN TEXT
JAVASCRIPT:

 

$(’#source’).quicksand( $(’#destination li’) );

 

and you have the data to transition between:
PLAIN TEXT
HTML:

 

<ul id=”source”>

    <li data-id=”iphone”>iPhone OS</li>

    <li data-id=”android”>Android</li>

    <li data-id=”winmo”>Windows Mobile</li>

</ul>

 

<ul [...]

Harmony: Bringing together great libraries to enable awesome JS testing in Ruby

Martin Aumont has released Harmony, which “provides a simple DSL to execute JavaScript and DOM code within Ruby.”
This enables you to do very cool things such as unit test JavaScript in the same area as your Ruby tests:
PLAIN TEXT
RUBY:

require ‘test/unit’
require ‘harmony’
class JavascriptTest <Test::Unit::TestCase
  def setup
    @page = Harmony::Page.new
    @page.load(’public/javascripts/foo.js’)
  end
  def test_foo
    [...]

WTFJS

The title need no more flushing out. Brian Leroux has created WTFJS to capture some of the rough edges of JavaScript. The stuff that made Crocky write about the Good Parts.
Fun side effects such as:
PLAIN TEXT
JAVASCRIPT:

 

NaN === NaN // false

 

Number.MIN_VALUE> 0;

// true? really? wtf.

// It turns out that MIN_VALUE is the smallest number

// GREATER THAN [...]

Copperlicht: A new WebGL 3D Engine

We covered GLGE, a WebGL based engine recently, and now we have a new one; Copperlicht. The engine features:

3D World editor: CopperLicht comes with a full 3D world editor named CopperCube.
Many supported 3D file formats: .3ds, .obj, .x, .lwo, .b3d, .csm, .dae, .dmf, .oct, .irrmesh, .ms3d, .my3D, .mesh, .lmts, .bsp, .md2, .stl. and more, see [...]