Sunday, April 17, 2011

Thursday, April 7, 2011

PhantomJS

Full web stack
No browser required

PhantomJS is a headless WebKit with JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.

PhantomJS is an optimal solution for headless testing of web-based applications, site scraping, pages capture, SVG renderer, PDF converter and many other use cases.

http://www.phantomjs.org/

Using Local Storage as a Light Database for Form Submissions

Local storage, which is a widely supported component of HTML5 (including iOS which was the target medium for the app) seemed the best route to take. A connection to the server is irrelevant, you can store up to 5MB before the browser displays a grouchy warning, and the API was dead simple to integrate into the jQuery framework I was already building.

http://www.graphicpush.com/using-localstorage-api-as-a-light-database

gury

gury (pronounced "jury") is a JavaScript library designed to aid in the creation of HTML5/Canvas applications by providing an easy-to-use chain based interface.
With gury you can create a canvas tag, resize and style it, add renderable objects, animate those objects, and place it anywhere on the page in a single chained expression.

http://guryjs.org/

Monday, April 4, 2011

Microsoft Mathematics 4.0

Microsoft Mathematics provides a graphing calculator that plots in 2D and 3D, step-by-step equation solving, and useful tools to help students with math and science studies.

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9caca722-5235-401c-8d3f-9e242b794c3a

Sunday, April 3, 2011

Understanding CSS3 2D Transforms

What Are Transform(ation)s?

Transformations, in their strictest and broadest mathematical sense, are mathematical operations that map a set of items X onto another set, Y. In geometric terms, this means that we can apply a mathematical operation on a set of objects in space to map them onto a new space geometry.
In layman's terms, we can take an object and apply what we call transformation groups. These are ordered lists of operations (called transforms) that we can use to movescalereflectrotate and skew objects. Sounds simple enough, right?
But before we jump right into the whole business of object manipulation, we need to look into how these transformation groups work, exactly. As mentioned, transformation groups are an ordered set of transformation operations, the implication being that the order of transformations matters and gives different results depending on the ordering of those operations. This is because transformations take into account every object's geometric properties, including its current position.

http://msdn.microsoft.com/en-us/scriptjunkie/gg709742.aspx

Wednesday, March 23, 2011

HTML5 Offline

HTML5 provides two robust offline capabilities already implemented in popular mobile devices, such as the iPhone and Android, and on modern desktop browsers based on the Webkit and Gecko rendering engines.

The easiest way to use Rack::Offline is by using Rails::Offline in a Rails application.
In your router:
match "/application.manifest" => Rails::Offline
This will automatically cache all JavaScript, CSS, and HTML in your public
directory, and will cause the cache to be updated each request in development
mode.
You can fine-tune the behavior of Rack::Offline by using it directly:
offline = Rack::Offline.configure do
  cache "images/masthead.png"

  public_path = Rails.public_path
  Dir[public_path.join("javascripts/*.js")].each do |file|
    cache file.relative_path_from(public_path)
  end

  network "/"
end
https://github.com/wycats/rack-offline