jtyost2 + javascript 194
“Content Security Policy: Feature Detection” — Mike West
26 days ago by jtyost2
AngularJS’s latest release candidate is the first framework I’ve seen that cleanly supports a content security policy that restricts usage of eval(), new Function(), and the like. I’m thrilled to see this happening, and it’s a testament to the priority that the Angular developers place on security. CSP is quite simply one the best XSS-protection mechanisms available to developers these days in modern browsers. The more frameworks that hop on board, the faster sites can start adopting CSP, and the safer we’ll all be on the net.
All that said, the implementation isn’t as complete as it could be. Angular requires that the developer manually opt into CSP-friendly mode via the ng-csp directive. This is error-prone at best, and introduces complexity that would be better hidden away inside the framework. The Angular developers recognize this shortfall, and are explicitly requesting some sort of feature detection API that would allow frameworks to query the currently active policy to determine its boundaries, and fork their implementation accordingly.
This does seem like a great addition to the spec; I’d suggest the following implementation:
Add document.[prefix]contentSecurityPolicy as an object that exists in browsers that support CSP. This would enable trivial feature detection of CSP as a whole, which would enable frameworks to make intelligent decisions about how to proceed through the following use cases:
programming
security
JavaScript
browsers
framework
standards
ContentSecurityPolicy
from instapaper
All that said, the implementation isn’t as complete as it could be. Angular requires that the developer manually opt into CSP-friendly mode via the ng-csp directive. This is error-prone at best, and introduces complexity that would be better hidden away inside the framework. The Angular developers recognize this shortfall, and are explicitly requesting some sort of feature detection API that would allow frameworks to query the currently active policy to determine its boundaries, and fork their implementation accordingly.
This does seem like a great addition to the spec; I’d suggest the following implementation:
Add document.[prefix]contentSecurityPolicy as an object that exists in browsers that support CSP. This would enable trivial feature detection of CSP as a whole, which would enable frameworks to make intelligent decisions about how to proceed through the following use cases:
26 days ago by jtyost2
Ben Alman » Multiple var statements in JavaScript, not superfluous
27 days ago by jtyost2
I’ve asked a number of talented JavaScript programmers why they prefer a single, combined var statement with multiple declarations and assignments to multiple, individual var statements, and the only responses I’ve been able to get seem entirely subjective:
Multiple var statements are superfluous.
Multiple var statements are noobish.
Combined var statements look better.
While I can’t argue with the last point, in JavaScript, multiple var statements aren’t superfluous and they aren’t noobish. They reduce the effort it takes to maintain code.
JavaScript
programming
software
from instapaper
Multiple var statements are superfluous.
Multiple var statements are noobish.
Combined var statements look better.
While I can’t argue with the last point, in JavaScript, multiple var statements aren’t superfluous and they aren’t noobish. They reduce the effort it takes to maintain code.
27 days ago by jtyost2
Intelligist: a jQuery plugin that makes it easy to share and demo code in-page, using GitHub gists
29 days ago by jtyost2
a jQuery plugin that makes it easy to share and demo code in-page, using GitHub gists
jquery
plugin
github
javascript
29 days ago by jtyost2
mir.aculo.us JavaScript with Thomas Fuchs » Blog Archive » 5 things they told you not to use in JavaScript
4 weeks ago by jtyost2
My recommendation: learn the language, and use it to your liking; and don’t rely or blindly accept what any “wise elders” tell you. Try to do something new and crazy every day. You might not end up using the crazy, but it’s the best way to master JavaScript. Develop your own style that you are comfortable with. Experiment.
javascript
programming
software
standards
development
4 weeks ago by jtyost2
blog.izs.me: An Open Letter to JavaScript Leaders Regarding Semicolons
5 weeks ago by jtyost2
In general, n ends a statement unless:
The statement has an unclosed paren, array literal, or object literal or ends in some other way that is not a valid way to end a statement. (For instance, ending with . or , .)
The line is -- or (in which case it will decrement/increment the next token.)
It is a for() , while() , do , if() , or else , and there is no {
The next line starts with [ , ( , , * , / , - , , , . , or some other binary operator that can only be found between two tokens in a single expression.
The first is pretty obvious. Even JSLint is ok with n chars in JSON and parenthesized constructs, and with var statements that span multiple lines ending in , .
The second is super weird. I’ve never seen a case (outside of these sorts of conversations) where you’d want to do write in nj , but, point of fact, that’s parsed as i; j , not i ; j .
The third is well understood, if generally despised. if (x)ny() is equivalent to if (x) { y() } . The construct doesn’t end until it reaches either a block, or a statement.
; is a valid JavaScript statement, so if(x); is equivalent to if(x){} or, “If x, do nothing.” This is more commonly applied to loops where the loop check also is the update function. Unusual, but not unheard of.
The fourth is generally the fud-inducing “oh noes, you need semicolons!” case. But, as it turns out, it’s quite easy to prefix those lines with semicolons if you don’t mean them to be continuations of the previous line.
javascript
programming
software
standards
The statement has an unclosed paren, array literal, or object literal or ends in some other way that is not a valid way to end a statement. (For instance, ending with . or , .)
The line is -- or (in which case it will decrement/increment the next token.)
It is a for() , while() , do , if() , or else , and there is no {
The next line starts with [ , ( , , * , / , - , , , . , or some other binary operator that can only be found between two tokens in a single expression.
The first is pretty obvious. Even JSLint is ok with n chars in JSON and parenthesized constructs, and with var statements that span multiple lines ending in , .
The second is super weird. I’ve never seen a case (outside of these sorts of conversations) where you’d want to do write in nj , but, point of fact, that’s parsed as i; j , not i ; j .
The third is well understood, if generally despised. if (x)ny() is equivalent to if (x) { y() } . The construct doesn’t end until it reaches either a block, or a statement.
; is a valid JavaScript statement, so if(x); is equivalent to if(x){} or, “If x, do nothing.” This is more commonly applied to loops where the loop check also is the update function. Unusual, but not unheard of.
The fourth is generally the fud-inducing “oh noes, you need semicolons!” case. But, as it turns out, it’s quite easy to prefix those lines with semicolons if you don’t mean them to be continuations of the previous line.
5 weeks ago by jtyost2
The infernal semicolon | Brendan Eich
5 weeks ago by jtyost2
Similar hazards arise with [ , / , and unary and - . Remember, if there wasn’t an error, ASI does not apply.
This problem may seem minor, but JS file concatenation ups the ante. For this reason some style guides (Dojo, IIRC) advocate starting your reusable JS file with ; , but people don’t know and it’s easy to forget.
I wish I had made newlines more significant in JS back in those ten days in May, 1995. Then instead of ASI, we would be cursing the need to use infix operators at the ends of continued lines, or perhaps or brute-force parentheses, to force continuation onto a successive line. But that ship sailed almost 17 years ago.
The way systematic newline significance could come to JS is via an evolution of paren-free that makes it to Harmony status. I intend to work on this in the strawman , but not for ES6.
Some of the github issue comments are naive or idealistic to the point of being silly. Since when does any programming language not have syntax arguments? All living, practical languages that I know of, even those with indentation-based block structure and similar restrictions, have degrees of freedom of expression that allow abusage as well as good usage. Language designers can try to reduce degrees of freedom , but not eliminate them completely.
My two cents: be careful not to use ASI as if it gave JS significant newlines. And please don’t abuse && and || where the mighty if statement serves better.
I’ll also say that if it were up to me, in view of JS’s subtle and long history, I’d fix JSMin. But I would still log a grumpy comment or two first!
javascript
standards
programming
This problem may seem minor, but JS file concatenation ups the ante. For this reason some style guides (Dojo, IIRC) advocate starting your reusable JS file with ; , but people don’t know and it’s easy to forget.
I wish I had made newlines more significant in JS back in those ten days in May, 1995. Then instead of ASI, we would be cursing the need to use infix operators at the ends of continued lines, or perhaps or brute-force parentheses, to force continuation onto a successive line. But that ship sailed almost 17 years ago.
The way systematic newline significance could come to JS is via an evolution of paren-free that makes it to Harmony status. I intend to work on this in the strawman , but not for ES6.
Some of the github issue comments are naive or idealistic to the point of being silly. Since when does any programming language not have syntax arguments? All living, practical languages that I know of, even those with indentation-based block structure and similar restrictions, have degrees of freedom of expression that allow abusage as well as good usage. Language designers can try to reduce degrees of freedom , but not eliminate them completely.
My two cents: be careful not to use ASI as if it gave JS significant newlines. And please don’t abuse && and || where the mighty if statement serves better.
I’ll also say that if it were up to me, in view of JS’s subtle and long history, I’d fix JSMin. But I would still log a grumpy comment or two first!
5 weeks ago by jtyost2
bestiejs/lodash
5 weeks ago by jtyost2
A drop-in replacement for Underscore.js that delivers up to 8x performance improvements, bug fixes, and additional features.
javascript
framework
library
programming
5 weeks ago by jtyost2
MatthewMueller/cheerio
5 weeks ago by jtyost2
Fast, flexible, and lean implementation of core jQuery designed specifically for the server.
jquery
javascript
nodejs
programming
software
5 weeks ago by jtyost2
d0ugal/locache
6 weeks ago by jtyost2
JavaScript caching framework for client side caching in the browser using localStorage - gracefully degrades when the browser doesn't support localStorage.
cache
html5
javascript
localstorage
6 weeks ago by jtyost2
Geddy - A Structured Node.js Framework
6 weeks ago by jtyost2
A simple, structured Web framework for Node.
Geddy
framework
javascript
NodeJS
6 weeks ago by jtyost2
Rainbow - Javascript Code Syntax Highlighting
9 weeks ago by jtyost2
Rainbow is a code syntax highlighting library written in Javascript.
It was designed to be lightweight (1.2kb), easy to use, and extendable.
It is completely themable via CSS.
javascript
codehiglight
programming
webdesign
webdevelopment
It was designed to be lightweight (1.2kb), easy to use, and extendable.
It is completely themable via CSS.
9 weeks ago by jtyost2
jondot/graphene
9 weeks ago by jtyost2
Graphene is a realtime dashboard & graphing toolkit based on D3 and Backbone.
javascript
programming
software
backbone
graph
9 weeks ago by jtyost2
Tesseract
10 weeks ago by jtyost2
Tesseract is a JavaScript library for filtering large multivariate datasets in the browser. Tesseract supports extremely fast (<30ms) interaction with coordinated views, even with datasets containing a million or more records; we built it to power analytics for Square Register, allowing merchants to slice and dice their payment history fluidly.
Since most interactions only involve a single dimension, and then only small adjustments are made to the filter values, incremental filtering and reducing is significantly faster than starting from scratch. Tesseract uses sorted indexes (and a few bit-twiddling hacks) to make this possible, dramatically increasing the performance of live histograms and top-K lists. For more details on how Tesseract works, see the API reference.
javascript
library
data
visualization
filtering
programming
Since most interactions only involve a single dimension, and then only small adjustments are made to the filter values, incremental filtering and reducing is significantly faster than starting from scratch. Tesseract uses sorted indexes (and a few bit-twiddling hacks) to make this possible, dramatically increasing the performance of live histograms and top-K lists. For more details on how Tesseract works, see the API reference.
10 weeks ago by jtyost2
Using event capturing to improve Basecamp page load times
11 weeks ago by jtyost2
If you’re looking to speed up page load times in your own projects, start by profiling. Then identify the hotspots and defer them until the furthest point of intent—where you know the user is about to perform the action you need to set up.
performance
programming
jquery
javascript
11 weeks ago by jtyost2
tuseroni/stegano.js
11 weeks ago by jtyost2
a javascript and HTML based steganography encoder/decoder.
encoder.html takes a .png file as the cover and any file data file as the hidden data. the hidden data cannot be bigger than the width*the height of the cover image (in bytes)
decoder.html takes an encoded png selected by the user and extracts the data from the image.
javascript
programming
software
encryption
encoder.html takes a .png file as the cover and any file data file as the hidden data. the hidden data cannot be bigger than the width*the height of the cover image (in bytes)
decoder.html takes an encoded png selected by the user and extracts the data from the image.
11 weeks ago by jtyost2
darcyclarke/Front-end-Developer-Interview-Questions
11 weeks ago by jtyost2
A list of questions you can use to help interview potential candidates for a front-end development position.
programming
css
html
javascript
interview
career
work
11 weeks ago by jtyost2
Functional Javascript
march 2012 by jtyost2
Functional is a library for functional programming in JavaScript. It defines the standard higher-order functions such as map, reduce (aka foldl), and select (aka filter). It also defines functions such as curry, rcurry, and partial for partial function application; and compose, guard, and until for function-level programming. And all these functions accept strings, such as 'x -> x+1', 'x+1', or '+1' as synonyms for the more verbose function(x) {return x+1}.
functional
programming
javascript
library
march 2012 by jtyost2
weixiyen/messenger.js - GitHub
march 2012 by jtyost2
Insanely Fast Communication Library For Node.js Services
nodejs
javascript
programming
software
library
march 2012 by jtyost2
Taras’ Blog » Blog Archive » PSA: DOM Local Storage considered harmful
february 2012 by jtyost2
Cry, rely on browser cache. There are no viable alternative at the moment. IndexedDB is complex, requires user to approve it and isn’t widely implemented. WebSQL is all about bringing SQLite problems we’ve been studying and fixing within Firefox to every single webpage.
My best guess is that we’ll end up with webdevs using convenience libraries built on top of IndexedDB. We will likely add promptless operation to IndexedDB.
We have already made Local Storage hurt less, we have a plan to make it relatively painless, but it will always degrade user experience when compared to something like IndexedDB.
localstorage
javascript
webdevelopment
programming
html5
My best guess is that we’ll end up with webdevs using convenience libraries built on top of IndexedDB. We will likely add promptless operation to IndexedDB.
We have already made Local Storage hurt less, we have a plan to make it relatively painless, but it will always degrade user experience when compared to something like IndexedDB.
february 2012 by jtyost2
We need to kill off the localStorage API - Tales of a Developer Advocate
february 2012 by jtyost2
It is a failure of the web, browser vendors and developers that we are in this situation, but w e need to stop advocating for and building examples that use the LocalStorage API’s, it is simply not a scalable API and the more we build for it the harder it will be for us to ween ourselves off it.
LocalStorage has poor querying capabilities, terrible performance, small storage in many browsers, crazily inconsistent eventing and a nasty habit of locking. It’s saving grace is simple semantics and “browser support”.
Client-side and offline web-apps are not a reality with localStorage, and if we keep pushing it, we are never going to be in a situation where we have a compelling offline or client-side story.
We need to bite the bullet, move on and start building compelling apps, examples and demos build around IndexedDB, that is our only future (I am still aggrieved that the web dropped WebSQL, it was simple and familiar) and we need to do this by stopping to support localStorage. Period.
localstorage
html5
webdevelopment
programming
javascript
LocalStorage has poor querying capabilities, terrible performance, small storage in many browsers, crazily inconsistent eventing and a nasty habit of locking. It’s saving grace is simple semantics and “browser support”.
Client-side and offline web-apps are not a reality with localStorage, and if we keep pushing it, we are never going to be in a situation where we have a compelling offline or client-side story.
We need to bite the bullet, move on and start building compelling apps, examples and demos build around IndexedDB, that is our only future (I am still aggrieved that the web dropped WebSQL, it was simple and familiar) and we need to do this by stopping to support localStorage. Period.
february 2012 by jtyost2
Tower.js - Full Stack JavaScript Framework for Node.js and the Browser
february 2012 by jtyost2
Full Stack Web Framework for Node.js and the Browser.
javascript
programming
nodejs
framework
mongodb
redis
coffeescript
jquery
february 2012 by jtyost2
Tinycon - Favicon Alerts
february 2012 by jtyost2
Tinycon allows the addition of alert bubbles and changing the favicon image. Tinycon gracefully falls back to a number in title approach for browers that don't support canvas or dynamic favicons.
Alerts in the favicon allow users to pin a tab and easily see if their attention is needed.
favicon
javascript
programming
webdevelopment
webdesign
Alerts in the favicon allow users to pin a tab and easily see if their attention is needed.
february 2012 by jtyost2
jairajs89/Touchy.js - GitHub
february 2012 by jtyost2
Touchy.js is a simple light-weight (1.15 kb compressed) JavaScript library for dealing with touch events in the browser. With no dependencies, just add the script to your page and start hacking.
html5
javascript
mobile
touch
programming
february 2012 by jtyost2
alexmic/filtrr - GitHub
february 2012 by jtyost2
Javascript image filters library.
javascript
images
programming
filter
february 2012 by jtyost2
dangrossman/Bookmarkly - GitHub
february 2012 by jtyost2
Source of bookmarkly.com, a visual bookmarking site
javascript
nodejs
programming
webdevelopment
february 2012 by jtyost2
gildas-lormeau/zip.js - GitHub
january 2012 by jtyost2
zip.js is a library for zipping and unzipping files.
javascript
programming
software
zip
january 2012 by jtyost2
elabs/serenade.js - GitHub
january 2012 by jtyost2
Serenade.js is yet another MVC client side JavaScript framework. Why do we indulge in recreating the wheel? We believe that Serenade.js more closely follows the ideas of classical MVC than competing frameworks and has a number of other advantages as well:
Super pretty, powerful yet logic-less template language
Data bindings keep your views up-to-date without any extra work
Powerful caching features
Absolutely no dependencies, everything works without jQuery
No need to inherit from base classes anywhere (though you can if you want)
javascript
programming
framework
mvc
software
Super pretty, powerful yet logic-less template language
Data bindings keep your views up-to-date without any extra work
Powerful caching features
Absolutely no dependencies, everything works without jQuery
No need to inherit from base classes anywhere (though you can if you want)
january 2012 by jtyost2
javascript eval considered crazy -- wingolog
january 2012 by jtyost2
What can an engine do when it sees eval?
Not much. It can't even prove that it is actually eval unless eval is not bound lexically, there is no with, there is no intervening non-strict call to any identifier eval (regardless of whether it is eval or not), and the global object's eval property is bound to the blessed eval function, and is configured as DontDelete and ReadOnly (not the default in web browsers).
But the very fact that an engine sees a call to an identifier eval poisons optimization: because eval can introduce variables, the scope of free variables is no longer lexically apparent, in many cases.
I'll say it again: crazy!!!
eval
javascript
programming
webdevelopment
security
Not much. It can't even prove that it is actually eval unless eval is not bound lexically, there is no with, there is no intervening non-strict call to any identifier eval (regardless of whether it is eval or not), and the global object's eval property is bound to the blessed eval function, and is configured as DontDelete and ReadOnly (not the default in web browsers).
But the very fact that an engine sees a call to an identifier eval poisons optimization: because eval can introduce variables, the scope of free variables is no longer lexically apparent, in many cases.
I'll say it again: crazy!!!
january 2012 by jtyost2
adeel/veneer - GitHub
january 2012 by jtyost2
Modal dialogs in JavaScript. Depends on MooTools.
mootools
javascript
programming
webdevelopment
dialogs
january 2012 by jtyost2
johnpolacek/scrollorama - GitHub
january 2012 by jtyost2
The jQuery plugin for doing cool scrolly stuff
jquery
javascript
programming
webdesign
webdevelopment
january 2012 by jtyost2
fent/randexp.js - GitHub
december 2011 by jtyost2
randexp will generate a random string that matches a given RegExp Javascript object.
regularexpressions
javascript
webdevelopment
programming
december 2011 by jtyost2
The output element | HTML5 Doctor
december 2011 by jtyost2
Across the web, you’ll see a range of sites that feature calculators for working out things like loan repayments, mortgage rates, tax, insurance, and more. Until now, we’ve had no way of semantically marking up the result of those calculations. Enter: the <output> element! In this article, we’ll show you <output> and some related JavaScript tricks. Let’s get cracking.
html
html5
webdesign
webdevelopment
programming
javascript
december 2011 by jtyost2
Firefox 9 slinks onto the scene with fancy JavaScript optimizations
december 2011 by jtyost2
Another six weeks have gone by, and another version of Firefox has been released. Still not officially “live,” Firefox 9 improves on Firefox 8 with a JavaScript engine that’s up to 30 percent faster and, well, not a whole lot else. Mac OS X users will have a little more to gain, as Firefox 9 also includes two-finger gestures for backward and forward navigation on that platform.
The new version includes a number of bug fixes to improve stability and security, better support for HTML5, CSS, and MathML, and some improvements to its Do Not Track feature to allow scripts to know if tracking is enabled or not. All told, the new release includes more than one thousand bug fixes and improvements.
But if Firefox users will notice anything new in Firefox 9, it’s the JavaScript engine. The updated engine is potentially a big win for Firefox. Common JavaScript benchmarks have shown performance improvements of around 30 percent, and a paper about the new technology claims that real Web sites can see performance gains of 50 percent.
firefox
firefox9
browser
javascript
The new version includes a number of bug fixes to improve stability and security, better support for HTML5, CSS, and MathML, and some improvements to its Do Not Track feature to allow scripts to know if tracking is enabled or not. All told, the new release includes more than one thousand bug fixes and improvements.
But if Firefox users will notice anything new in Firefox 9, it’s the JavaScript engine. The updated engine is potentially a big win for Firefox. Common JavaScript benchmarks have shown performance improvements of around 30 percent, and a paper about the new technology claims that real Web sites can see performance gains of 50 percent.
december 2011 by jtyost2
HTML5 Cross Browser Polyfills - GitHub
december 2011 by jtyost2
So here we're collecting all the shims, fallbacks, and polyfills in order to implant html5 functionality in browsers that don't natively support them.
The general idea is that: we, as developers, should be able to develop with the HTML5 apis, and scripts can create the methods and objects that should exist. Developing in this future-proof way means as users upgrade, your code doesn't have to change but users will move to the better, native experience cleanly.
Looking for a way to conditionally load these scripts client-side based on feature detects? See Modernizr. Looking for a guide to writing your own polyfills? See Writing Cross-Browser JavaScript Polyfills.
html5
css3
css
html
programming
polyfill
shim
javascript
webdevelopment
The general idea is that: we, as developers, should be able to develop with the HTML5 apis, and scripts can create the methods and objects that should exist. Developing in this future-proof way means as users upgrade, your code doesn't have to change but users will move to the better, native experience cleanly.
Looking for a way to conditionally load these scripts client-side based on feature detects? See Modernizr. Looking for a guide to writing your own polyfills? See Writing Cross-Browser JavaScript Polyfills.
december 2011 by jtyost2
shutterstock/rickshaw - GitHub
december 2011 by jtyost2
Rickshaw is a JavaScript toolkit for creating interactive real-time graphs.
javascript
graph
json
programming
webdevelopment
december 2011 by jtyost2
Third Party JavaScript | Socialcast Engineering
november 2011 by jtyost2
I find it helpful to frame the Third Party JS model in terms of a diplomatic mission. As an invited guest in a foreign place, you should be both respectful and cautious of the new environment. As an emissary, you should be excited to augment the page with your own unique functionality. JavaScript gives you the opportunity to radically change an application for the better, but only when executed carefully (there is no “diplomatic immunity” for Third Party JavaScript). This article outlines some of the lessons learned from developing and supporting Reach’s JavaScript library with the Socialcast Engineering team.
javascript
programming
webdevelopment
november 2011 by jtyost2
Announcing jQuery Mobile 1.0 | jQuery Mobile
november 2011 by jtyost2
That’s right, version 1.0 is out! After more than a year of refinements, we now have a rock solid release.
When we first launched this site back in the summer of 2010, we had a few concept sketches and some very ambitions goals: to create an elegant HTML5-based user interface library for the jQuery community designed to work on all popular mobile platforms. We are built on the strengths of jQuery core and jQuery UI and strive to make mobile development efficient, accessible and maybe even a bit fun.
To reach the broadest possible audience, we decided from the start to make the framework work on every popular mobile, tablet, e-reader and even desktop platforms by embracing HTML5 and responsive design techniques. A tall order, but we’re happy to announce that we’ve achieved this goal and now support all our target platforms as of 1.0. By using a progressive enhancement approach, even less capable devices can still access the content and functionality of a jQuery Mobile site. This broad compatibility gives you the ability to reach many billions of people.
jquery
jquerymobile
javascript
webdesign
webdevelopment
programming
When we first launched this site back in the summer of 2010, we had a few concept sketches and some very ambitions goals: to create an elegant HTML5-based user interface library for the jQuery community designed to work on all popular mobile platforms. We are built on the strengths of jQuery core and jQuery UI and strive to make mobile development efficient, accessible and maybe even a bit fun.
To reach the broadest possible audience, we decided from the start to make the framework work on every popular mobile, tablet, e-reader and even desktop platforms by embracing HTML5 and responsive design techniques. A tall order, but we’re happy to announce that we’ve achieved this goal and now support all our target platforms as of 1.0. By using a progressive enhancement approach, even less capable devices can still access the content and functionality of a jQuery Mobile site. This broad compatibility gives you the ability to reach many billions of people.
november 2011 by jtyost2
DataZombies/DBi - GitHub
november 2011 by jtyost2
DBi handles all the work of creating an iOS or Safari WebSQL database and manages local/session storages.
DBi creates, tables, indices, triggers & views and populates the tables all from a single JSON file that's outputted from DBi.
html5
localstorage
websql
html
javascript
programming
webdevelopment
webdesign
DBi creates, tables, indices, triggers & views and populates the tables all from a single JSON file that's outputted from DBi.
november 2011 by jtyost2
rstacruz/jquery.transit - GitHub
november 2011 by jtyost2
Super-smooth CSS3 transformations and transitions for jQuery
jQuery Transit is a plugin for to help you do CSS transformations and transitions in jQuery.
css
jquery
webdesign
css3
CSSTransformations
CSSTransitions
javascript
jQuery Transit is a plugin for to help you do CSS transformations and transitions in jQuery.
november 2011 by jtyost2
Analyzing Network Characteristics Using JavaScript And The DOM, Part 1 - Smashing Coding
november 2011 by jtyost2
In this article, we’ll look at some methods of manipulating JavaScript to determine various network characteristics from within the browser — characteristics that were previously available only to applications that directly interface with the operating system. Much of this was discovered while building the Boomerang project to measure real user performance.
javascript
internet
programming
webdevelopment
tcp
http
november 2011 by jtyost2
jClassy
november 2011 by jtyost2
A JavaScript library is proposed and implemented, providing a class-system core for building object-oriented JavaScript programs.
javascript
library
programming
webdevelopment
november 2011 by jtyost2
Mozilla Popcorn | Making video work like the web
november 2011 by jtyost2
Popcorn makes video work like the web. We create tools and programs to help developers and authors create interactive pages that supplement video and audio with rich web content, allowing your creations to live and grow online.
javascript
video
html5
framework
mozilla
november 2011 by jtyost2
TapQuo/Lungo.js - GitHub
november 2011 by jtyost2
LungoJS
HTML5 Mobile Framework, and stuff.
javascript
html5
css3
css
html
framework
mobile
MobileFramework
HTML5 Mobile Framework, and stuff.
november 2011 by jtyost2
recurly/recurly-js - GitHub
november 2011 by jtyost2
Full Reference: http://docs.recurly.com/recurlyjs/reference/
Recurly.js is an open-source Javascript library for creating great looking credit card forms to securely create subscriptions, one-time transactions, and update billing information using Recurly. The library is designed to create fully customizable order forms while minimizing your PCI compliance scope.
This library depends on jQuery 1.5.2+. A future version may be framework agnostic.
javascript
pci
ecommerce
webdesign
webdevelopment
programming
Recurly.js is an open-source Javascript library for creating great looking credit card forms to securely create subscriptions, one-time transactions, and update billing information using Recurly. The library is designed to create fully customizable order forms while minimizing your PCI compliance scope.
This library depends on jQuery 1.5.2+. A future version may be framework agnostic.
november 2011 by jtyost2
blueimp/jQuery-File-Upload - GitHub
november 2011 by jtyost2
Multiple File Upload widget with Drag&Drop support for jQuery
jquery
javascript
ajax
FileUpload
html5
plugin
november 2011 by jtyost2
Native JavaScript H.264 decoder offers compelling demo of JS performance
november 2011 by jtyost2
Mozilla developer Michael Bebenita has released a JavaScript-based H.264 decoder that is intended to run natively in Web browsers. The decoder, which can display video at 30 frames per second on conventional hardware, is yet another compelling demonstration of JavaScript’s performance potential.
JavaScript creator Brendan Eich included a demonstration of the H.264 decoder—codenamed Broadway—during a presentation at the ACM’s annual OOPSLA conference. The demonstration attracted some attention, prompting the developers to publish the source code.
Broadway is based on the open source H.264 decoder that Google uses in Android. The Mozilla developers simplified the Android H.264 decoder—which is written in the C programming language—and converted it to JavaScript. They used Emscripten, a compiler that translates LLVM bitcode into JavaScript. In addition to the Emscripten-generated H.264 decoder, the Broadway developers are also working on a separate implementation that is coded by hand.
According to the Emscripten documentation, code generated by the compiler typically runs about 10 times slower than the equivalent binary that you would get by compiling the same C code with the -O3 flag in GCC. But some recent JavaScript performance optimizations in Firefox improve performance.
The Broadway developers caution that the H.264 decoder will only perform as expected in recent Firefox nightly builds, which incorporate the latest JavaScript performance improvements—particularly a new type inference mechanism that gives JavaScript execution speed a considerable boost.
The Broadway project offers useful insight into JavaScript performance characteristics, but its not really intended for real-world usage. Mozilla’s objections to H.264 on the basis of patent encumbrances still stand and make it unlikely that users will see the video codec supported out of the box in Firefox.
Broadway is also highly CPU-intensive, which makes it impractical to use. That could change in the future, however. Hardware acceleration could be achieved via WebGL, reducing the decoder’s load on the CPU. The initial Broadway implementation didn’t include any special optimizations, aside from the ones applied by Emscripten. The developers were able to crank its performance up by 40 percent this week with some tweaking. Bebenita says that there is still plenty of room for further speedups.
Mozilla
JavaScript
H.264
firefox
webdevelopment
browser
from instapaper
JavaScript creator Brendan Eich included a demonstration of the H.264 decoder—codenamed Broadway—during a presentation at the ACM’s annual OOPSLA conference. The demonstration attracted some attention, prompting the developers to publish the source code.
Broadway is based on the open source H.264 decoder that Google uses in Android. The Mozilla developers simplified the Android H.264 decoder—which is written in the C programming language—and converted it to JavaScript. They used Emscripten, a compiler that translates LLVM bitcode into JavaScript. In addition to the Emscripten-generated H.264 decoder, the Broadway developers are also working on a separate implementation that is coded by hand.
According to the Emscripten documentation, code generated by the compiler typically runs about 10 times slower than the equivalent binary that you would get by compiling the same C code with the -O3 flag in GCC. But some recent JavaScript performance optimizations in Firefox improve performance.
The Broadway developers caution that the H.264 decoder will only perform as expected in recent Firefox nightly builds, which incorporate the latest JavaScript performance improvements—particularly a new type inference mechanism that gives JavaScript execution speed a considerable boost.
The Broadway project offers useful insight into JavaScript performance characteristics, but its not really intended for real-world usage. Mozilla’s objections to H.264 on the basis of patent encumbrances still stand and make it unlikely that users will see the video codec supported out of the box in Firefox.
Broadway is also highly CPU-intensive, which makes it impractical to use. That could change in the future, however. Hardware acceleration could be achieved via WebGL, reducing the decoder’s load on the CPU. The initial Broadway implementation didn’t include any special optimizations, aside from the ones applied by Emscripten. The developers were able to crank its performance up by 40 percent this week with some tweaking. Bebenita says that there is still plenty of room for further speedups.
november 2011 by jtyost2
Mozilla puts Firefox on a memory diet | ExtremeTech
november 2011 by jtyost2
Firefox’s single largest consumer of RAM, its JavaScript engine SpiderMonkey, is going on the mother of all diets. At any one time, SpiderMonkey’s memory footprint can be over 50% of Firefox’s total usage — the JavaScript on the ExtremeTech homepage, for example, uses no less than 115MB of memory — and slipstreaming SpiderMonkey is by far the best change that Mozilla can make to keep Firefox on the desktop svelte and competitive with Chrome and IE, and Firefox on Android less sluggish.
If you’re not a programmer, you should probably skip this paragraph. Basically, almost every fundamental part of SpiderMonkey is being torn apart, turned over in the hands of Mozilla’s finest engineers, and rejigged to use less memory. JSObject is being cut in half, and thus JSFunction will also be slimmed down. Slots arrays will have the option of being 32-bit, rather than being forcibly being constructed of 64-bit “fatvals.” Shapes, one of SpiderMonkey’s most important data structures, are going to be almost halved in size. Mozilla is currently looking into whether scripts can be “lazily loaded,” too — as much as 70-80% of all downloaded JavaScript is never executed, and so it makes no sense to load it into memory; lazy loading, where scripts are loaded as-needed, would significantly reduce memory usage.
mozilla
firefox
javascript
spidermonkey
programming
If you’re not a programmer, you should probably skip this paragraph. Basically, almost every fundamental part of SpiderMonkey is being torn apart, turned over in the hands of Mozilla’s finest engineers, and rejigged to use less memory. JSObject is being cut in half, and thus JSFunction will also be slimmed down. Slots arrays will have the option of being 32-bit, rather than being forcibly being constructed of 64-bit “fatvals.” Shapes, one of SpiderMonkey’s most important data structures, are going to be almost halved in size. Mozilla is currently looking into whether scripts can be “lazily loaded,” too — as much as 70-80% of all downloaded JavaScript is never executed, and so it makes no sense to load it into memory; lazy loading, where scripts are loaded as-needed, would significantly reduce memory usage.
november 2011 by jtyost2
mbebenita/Broadway - GitHub
october 2011 by jtyost2
A JavaScript H.264 decoder.
javascript
browser
decoder
h.264
october 2011 by jtyost2
Truthy & Falsey
october 2011 by jtyost2
These are fundamental topics which I should have covered in more detail yesterday. There is copious information on this elsewhere online, so don’t feel limited to this post in your study.
Truthy: Something which evaluates to TRUE.
Falsey: Something which evaluates to FALSE.
It’s mostly logical. One (1) is truthy, Zero (0) is falsey. An object of any kind (including functions, arrays, RegExp objects, etc.) is always truthy. The easiest way to determine if something is truthy is to determine that it’s not falsey. There are only five falsey values in JavaScript:
undefined, null, NaN, 0, "" (empty string), and false, of course.
JavaScript
programming
softwareCode
from instapaper
Truthy: Something which evaluates to TRUE.
Falsey: Something which evaluates to FALSE.
It’s mostly logical. One (1) is truthy, Zero (0) is falsey. An object of any kind (including functions, arrays, RegExp objects, etc.) is always truthy. The easiest way to determine if something is truthy is to determine that it’s not falsey. There are only five falsey values in JavaScript:
undefined, null, NaN, 0, "" (empty string), and false, of course.
october 2011 by jtyost2
dnewcome/Donatello - GitHub
october 2011 by jtyost2
Donatello is a pure-CSS drawing library for the browser. The API is inspired in part by Raphael.js. All graphical elements are rendered using HTML DOM and CSS. The idea came together from various code snippets I had lying around for drawing circles and lines in other projects. I decided to make an attepmpt at a drawing API using these ideas after using Raphael.js in my Node Knockout team project.
css
javascript
library
raphael.js
donatello
html
api
october 2011 by jtyost2
keithamus/jwerty - GitHub
october 2011 by jtyost2
Awesome handling of keyboard events
jwerty is a JS lib which allows you to bind, fire and assert key combination strings against elements and events. It normalises the poor std api into something easy to use and clear.
jwerty is a small library, weighing in at around 1.5kb bytes minified and gzipped (~3kb minified). jwerty has no dependencies, but is compatible with jQuery, Zepto or Ender if you include those packages alongside it.
For detailed docs, please read the README-DETAILED.md file.
javascript
jquery
keyboard
library
jwerty is a JS lib which allows you to bind, fire and assert key combination strings against elements and events. It normalises the poor std api into something easy to use and clear.
jwerty is a small library, weighing in at around 1.5kb bytes minified and gzipped (~3kb minified). jwerty has no dependencies, but is compatible with jQuery, Zepto or Ender if you include those packages alongside it.
For detailed docs, please read the README-DETAILED.md file.
october 2011 by jtyost2
zynga/scroller - GitHub
october 2011 by jtyost2
Accelerated panning and zooming for HTML and Canvas
html5
html
canvas
javascript
programming
scrolling
zooming
october 2011 by jtyost2
Octopress
september 2011 by jtyost2
Octopress is a framework designed by Brandon Mathis for Jekyll, the blog aware static site generator powering Github Pages. To start blogging with Jekyll, you have to write your own HTML templates, CSS, Javascripts and set up your configuration. But with Octopress All of that is already taken care of. Simply clone or fork Octopress, install dependencies and the theme, and you’re set.
Jekyll
HTML
CSS
JavaScript
framework
blogging
from instapaper
september 2011 by jtyost2
Type and spot using jQuery’s :contains() – Webstuffshare – Learn and share. The simplest harmony.
september 2011 by jtyost2
Today I’m going to share a tutorial on how to create a simple content spotter using one of jQuery’s selector, :contains(). This selector, as in jQuery’s description, will select all elements that contain the specified text. Using that ability we can find any element that contains the text we specify and modify the selected element, for example, we have a numerous unordered list item on our webpage yet hard to find the one we need, we can use :contains() to select and spot the matched element with the text we specify.
jquery
javascript
programming
contains
september 2011 by jtyost2
idealforms - Ideal Forms is a small framework to build powerful and beautiful forms for the web. - Google Project Hosting
september 2011 by jtyost2
Ideal Forms is a small framework to build powerful and beautiful forms for the web.
It's very easy to use and requires minimal html syntax.
Absolutely everything is stylable with css, no images needed.
Support for IE7+, Firefox 3.5+, Chrome 4+, Safari 3.1+ and Opera 11+.
Degrades gracefully with javascript disabled.
Visit http://www.jqidealforms.com for more info.
jquery
javascript
programming
webdesign
webdevelopment
It's very easy to use and requires minimal html syntax.
Absolutely everything is stylable with css, no images needed.
Support for IE7+, Firefox 3.5+, Chrome 4+, Safari 3.1+ and Opera 11+.
Degrades gracefully with javascript disabled.
Visit http://www.jqidealforms.com for more info.
september 2011 by jtyost2
cmpolis/Pagify - GitHub
september 2011 by jtyost2
Effortlessly create single page web sites with this jQuery plugin.
programming
javascript
jquery
design
september 2011 by jtyost2
jamespadolsey/jQuery.Interface - GitHub
september 2011 by jtyost2
Sub classing jQuery methods to creating your own classes with DOM interfaces
jquery
javascript
programming
september 2011 by jtyost2
paulca/eyeballs.js - GitHub
september 2011 by jtyost2
eyeballs.js is a slim javascript library designed to sit on top of a javascript framework, such as jQuery or Prototype.
The goals are:
Organisation of client-side web app code using the Model-View-Controller pattern.
Simple model implementation for handling non event-related concerns.
Simple routing layer for hash-tag change based navigation, preserving the back-button
Rapid development of javascript apps using strong conventions.
Easing the pain of building fast, responsive interfaces.
Exploring the possibilities of offline web apps.
The implementation is owes a lot to Ruby on Rails, but also attempts to be idiomatic javascript.
javascript
framework
library
The goals are:
Organisation of client-side web app code using the Model-View-Controller pattern.
Simple model implementation for handling non event-related concerns.
Simple routing layer for hash-tag change based navigation, preserving the back-button
Rapid development of javascript apps using strong conventions.
Easing the pain of building fast, responsive interfaces.
Exploring the possibilities of offline web apps.
The implementation is owes a lot to Ruby on Rails, but also attempts to be idiomatic javascript.
september 2011 by jtyost2
davatron5000/FitVids.js - GitHub
september 2011 by jtyost2
A lightweight, easy-to-use jQuery plugin for fluid width video embeds.
FitVids automates the Intrinsic Ratio Method by Thierry Koblentz to achieve fluid width videos in your responsive web design.
jquery
javascript
responsivewebdesign
webdesign
webdevelopment
FitVids automates the Intrinsic Ratio Method by Thierry Koblentz to achieve fluid width videos in your responsive web design.
september 2011 by jtyost2
Reflecting on Chrome as browser hits third birthday
september 2011 by jtyost2
Google launched its Chrome Web browser on September 1, 2008—three years ago today. In the time since its debut, Google's Web browser has attracted a considerable following and influenced other browser vendors. To celebrate the anniversary, Google has published an interactive HTML5 infographic that presents the history of the major Web browsers and Web standards.
Chrome's contributions to the Web and browser design are significant. Google set the pace of development for modern browsers by being the first browser vendor to adopt a radically shorter development cycle and a release management strategy that emphasizes fast-paced incremental improvement. Chrome's transparent update system and channel-based prerelease distribution model are being adopted by Firefox and could eventually be picked up by other browser vendors.
Chrome's distinctive minimalist design has also changed the way that browser vendors think about usability. Chrome's approach to paring down the interface and offering a more streamlined user experience has been embraced by other browsers. Google took the lead on some controversial moves, like not displaying "http" in the location bar.
The technical influence of Chrome can even be felt outside of the browser ecosystem. The performance of Chrome's sophisticated V8 JavaScript engine and the ease with which it can be embedded in other software have led to its adoption in a range of other environments. For example, V8 was used to produce Node.js, a server-side JavaScript runtime that is popularizing the use of JavaScript for backend Web development.
Although Chrome has come a long way, the browser still lags behind its competitors in some key ways. When we first reviewed Chrome in 2008, one of our biggest gripes with the user interface was the lack of tab overflow handling. After three years, this issue still hasn't been fixed. Chrome's user interface for browsing history is another major weak area relative to other browsers. History autocompletion in the Omnibox is also quite limited compared to Firefox's AwesomeBar.
Despite the limitations, Chrome's audience has grown explosively since its 2008 launch. According to statistics from StatCounter, the browser's marketshare hit 10 percent last year and continued growing to 23 percent, as of this month. It's become an important part of Google's product landscape, serving as the central pillar of the company's ambitious Chrome OS operating system.
After three great years of innovation and raising the bar, Chrome's future looks bright.
googlechrome
browser
javascript
html
html5
css
css3
webdesign
webstandards
webdevelopment
Chrome's contributions to the Web and browser design are significant. Google set the pace of development for modern browsers by being the first browser vendor to adopt a radically shorter development cycle and a release management strategy that emphasizes fast-paced incremental improvement. Chrome's transparent update system and channel-based prerelease distribution model are being adopted by Firefox and could eventually be picked up by other browser vendors.
Chrome's distinctive minimalist design has also changed the way that browser vendors think about usability. Chrome's approach to paring down the interface and offering a more streamlined user experience has been embraced by other browsers. Google took the lead on some controversial moves, like not displaying "http" in the location bar.
The technical influence of Chrome can even be felt outside of the browser ecosystem. The performance of Chrome's sophisticated V8 JavaScript engine and the ease with which it can be embedded in other software have led to its adoption in a range of other environments. For example, V8 was used to produce Node.js, a server-side JavaScript runtime that is popularizing the use of JavaScript for backend Web development.
Although Chrome has come a long way, the browser still lags behind its competitors in some key ways. When we first reviewed Chrome in 2008, one of our biggest gripes with the user interface was the lack of tab overflow handling. After three years, this issue still hasn't been fixed. Chrome's user interface for browsing history is another major weak area relative to other browsers. History autocompletion in the Omnibox is also quite limited compared to Firefox's AwesomeBar.
Despite the limitations, Chrome's audience has grown explosively since its 2008 launch. According to statistics from StatCounter, the browser's marketshare hit 10 percent last year and continued growing to 23 percent, as of this month. It's become an important part of Google's product landscape, serving as the central pillar of the company's ambitious Chrome OS operating system.
After three great years of innovation and raising the bar, Chrome's future looks bright.
september 2011 by jtyost2
davidcalhoun/touche - GitHub
september 2011 by jtyost2
Mouse event to touch event mapping for testing touch interfaces with desktop browsers. This means that touchstart, touchmove, and touchend are hooked up to mousedown, mousemove, and mouseend, respectively. This is generally recommended for testing purposes.
html5
javascript
iphone
touchevents
mouseevents
browser
from twitter
september 2011 by jtyost2
Firefox 9 JavaScript performance will be improved by 20-30% | ExtremeTech
september 2011 by jtyost2
After more than 18 months of hard graft, Mozilla has finally succeeded in landing a big addition to Firefox’s JavaScript engine that, upon initial testing, speeds up the web — or at least the vast swaths of it that use JavaScript — by around 20 to 30%. The new feature is the introduction of type inference to Firefox’s JaegerMonkey JIT compiler, and it will debut with Firefox 9. It was originally meant to land a few months ago, in time for Firefox 5, but it took until now to reach a stage where it’s almost ready for primetime.
javascript
complier
JaegerMonkey
firefox
september 2011 by jtyost2
Mottie/AnythingZoomer - GitHub
august 2011 by jtyost2
Zoom in on images or content
jquery
javascript
webdesign
webdevelopment
programming
august 2011 by jtyost2
Matasano Security - Matasano Web Security Assessments for Enterprises
august 2011 by jtyost2
What do you mean, "Javascript cryptography"?
We mean attempts to implement security features in browsers using cryptographic algoritms implemented in whole or in part in Javascript.
You may now be asking yourself, "What about Node.js? What about non-browser Javascript?". Non-browser Javascript cryptography is perilous, but not doomed. For the rest of this document, we're referring to browser Javascript when we discuss Javascript cryptography.
javascript
cryptography
security
browsers
ssl
http
https
We mean attempts to implement security features in browsers using cryptographic algoritms implemented in whole or in part in Javascript.
You may now be asking yourself, "What about Node.js? What about non-browser Javascript?". Non-browser Javascript cryptography is perilous, but not doomed. For the rest of this document, we're referring to browser Javascript when we discuss Javascript cryptography.
august 2011 by jtyost2
madrobby/keymaster - GitHub
august 2011 by jtyost2
keymaster.js is a simple micro-library for defining and dispatching keyboard shortcuts. It has no dependencies.
keyboard
javascript
programming
august 2011 by jtyost2
imakewebthings/deck.js - GitHub
august 2011 by jtyost2
A JavaScript library for building modern HTML presentations. deck.js is flexible enough to let advanced CSS and JavaScript authors craft highly customized decks, but also provides templates and themes for the HTML novice to build a standard slideshow.
html
programming
html5
javascript
jquery
css
presentation
august 2011 by jtyost2
fgnass/spin.js - GitHub
august 2011 by jtyost2
A spinning activity indicator
css
webdesign
webdevelopment
javascript
jquery
august 2011 by jtyost2
Infinite All-CSS Scrolling Slideshow | CSS-Tricks
august 2011 by jtyost2
Just for kicks I wanted to see if I could make a row of images animate across a page and repeat indefinitely. Turns out it's really not that hard. The way I did it was to make one big long graphic where the first part and the last part are visually identical.
css
images
webdesign
webdevelopment
css3
jquery
javascript
august 2011 by jtyost2
Location, location
august 2011 by jtyost2
location = location
... and a 534 other ways to reload the page with JavaScript
javascript
programming
webdevelopment
... and a 534 other ways to reload the page with JavaScript
august 2011 by jtyost2
jFontSize | jQuery plugin | Font Size | Font Resize | Change font-size | Javascript
august 2011 by jtyost2
The jFontSize plugin was developed to facilitate the process of creating the famous buttons A+ and A-, which alter the font size on sites with very large texts, such as blogs, journals, tutorials, etc.
This tool is also used to increase the accessibility of sites, helping people who have visual problems to see better content
jquery
javascript
plugin
webdesign
webdevelopment
programming
fontsize
This tool is also used to increase the accessibility of sites, helping people who have visual problems to see better content
august 2011 by jtyost2
harvesthq/chosen - GitHub
august 2011 by jtyost2
Chosen is a library for making long, unwieldy select boxes more friendly.
jquery
javascript
html
webdesign
webdevelopment
programming
css
form
august 2011 by jtyost2
tdreyno/iphone-style-checkboxes - GitHub
august 2011 by jtyost2
Turn your checkboxes into iPhone-style binary switches
form
html
css
webdesign
webdevelopment
javascript
jquery
august 2011 by jtyost2
gre/flexible-nav - GitHub
august 2011 by jtyost2
Improve your navigation experience - this jQuery lib improves a webpage navigation and helps to visualize different sections. of a document, an article,.. any web page
jquery
javascript
programming
navigation
webdesign
august 2011 by jtyost2
JamieLottering/DropKick - GitHub
august 2011 by jtyost2
A jQuery plugin for creating beautiful, graceful, and painless custom dropdowns.
jquery
javascript
programming
webdesign
webdevelopment
dropdown
form
august 2011 by jtyost2
jQuery.fracs · larsjung.de
august 2011 by jtyost2
jQuery.fracs determines the fraction of an HTML element that is currently in the viewport, as well as the fraction it takes of the complete viewport and the fraction of the area that might possibly be visible. It also provides the coordinates of the visible rectangle in document, element and viewport space.
jquery
javascript
plugin
august 2011 by jtyost2
voidlabs/ElyCharts - GitHub
august 2011 by jtyost2
Interactive Javascript (SVG|VML) Charting Library
javascript
programming
svg
vml
august 2011 by jtyost2
pixelmatrix/mapkey - GitHub
july 2011 by jtyost2
A simple jQuery plugin to easily map keyboard characters to links or functions
jquery
javascript
keyboard
plugin
july 2011 by jtyost2
Joint - JavaScript diagramming library.
july 2011 by jtyost2
JointJS is a JavaScript library for creating diagrams. The diagrams can be fully interactive. Joint library is suitable for both implementing a diagramming tool as well as simply for publishing your diagrams.
javascript
graph
framework
library
diagram
july 2011 by jtyost2
zacstewart/Meow - GitHub
july 2011 by jtyost2
A Growl work-a-like plugin for jQuery
jquery
javascript
webdesign
webdevelopment
july 2011 by jtyost2
related tags
adobe ⊕ advertising ⊕ ajax ⊕ ala ⊕ alert ⊕ android ⊕ api ⊕ apple ⊕ apprise ⊕ audio ⊕ audo ⊕ backbone ⊕ banner ⊕ benchmark ⊕ bestpractices ⊕ blackberry ⊕ blogging ⊕ browser ⊕ browsers ⊕ business ⊕ cache ⊕ CakePHP ⊕ canvas ⊕ captcha ⊕ career ⊕ codehiglight ⊕ coffeescript ⊕ communication ⊕ complier ⊕ contains ⊕ ContentSecurityPolicy ⊕ creditcard ⊕ cryptography ⊕ css ⊕ css3 ⊕ CSSAnimation ⊕ CSSTransformations ⊕ CSSTransitions ⊕ data ⊕ decoder ⊕ design ⊕ development ⊕ diagram ⊕ dialog ⊕ dialogs ⊕ dojo ⊕ dom ⊕ donatello ⊕ draganddrop ⊕ dropdown ⊕ ebooks ⊕ ecommerce ⊕ encryption ⊕ epub ⊕ eval ⊕ favicon ⊕ FileUpload ⊕ filter ⊕ filtering ⊕ firefox ⊕ firefox4 ⊕ firefox9 ⊕ flash ⊕ fontsize ⊕ foreach ⊕ forloop ⊕ form ⊕ framework ⊕ functional ⊕ Geddy ⊕ github ⊕ google ⊕ googlechrome ⊕ googlechromeframe ⊕ googlecode ⊕ GooglePageSpeed ⊕ graph ⊕ graphics ⊕ graphing ⊕ gravatar ⊕ h.264 ⊕ heatmap ⊕ helper ⊕ highcharts ⊕ hover ⊕ html ⊕ html5 ⊕ html5audio ⊕ html5form ⊕ html5video ⊕ http ⊕ https ⊕ ibooks ⊕ ide ⊕ ie ⊕ ie6 ⊕ ie8 ⊕ iframe ⊕ images ⊕ internet ⊕ internetexplorer ⊕ interview ⊕ ios ⊕ ios5 ⊕ iphone ⊕ JaegerMonkey ⊕ java ⊕ javascript ⊖ Jekyll ⊕ jpeg ⊕ jquery ⊕ jquerymobile ⊕ jqueryui ⊕ json ⊕ keyboard ⊕ language ⊕ less ⊕ library ⊕ lifestream ⊕ localstorage ⊕ map ⊕ media ⊕ microsoft ⊕ mobile ⊕ MobileFramework ⊕ mobilesafari ⊕ mongodb ⊕ mootools ⊕ mouseevents ⊕ mozilla ⊕ mp3 ⊕ multiselect ⊕ mvc ⊕ mysql ⊕ navigation ⊕ node.js ⊕ nodejs ⊕ notification ⊕ optimization ⊕ pci ⊕ pdf ⊕ performance ⊕ perl ⊕ photography ⊕ photoshop ⊕ php ⊕ plugin ⊕ polyfill ⊕ precedence ⊕ presentation ⊕ privacy ⊕ programming ⊕ prototype ⊕ QapTcha ⊕ qrcode ⊕ raphael.js ⊕ redis ⊕ regularexpressions ⊕ research ⊕ responsivewebdesign ⊕ rotator ⊕ rubyonrails ⊕ safari ⊕ sass ⊕ scalability ⊕ scrolling ⊕ sdk ⊕ searchengine ⊕ security ⊕ shim ⊕ slider ⊕ slideshow ⊕ software ⊕ softwareCode ⊕ sorting ⊕ spidermonkey ⊕ sprites ⊕ ssl ⊕ standards ⊕ statistics ⊕ svg ⊕ Swiffy ⊕ tables ⊕ tabs ⊕ tcp ⊕ template ⊕ test ⊕ testing ⊕ tooltip ⊕ touch ⊕ touchevents ⊕ tutorial ⊕ twitter ⊕ ui ⊕ unittesting ⊕ usability ⊕ userexperience ⊕ validation ⊕ vectormap ⊕ video ⊕ visualization ⊕ vml ⊕ w3c ⊕ webdesign ⊕ webdevelopment ⊕ webgl ⊕ websql ⊕ webstandards ⊕ wordpress ⊕ wordpress-plugin ⊕ wordpress-themes ⊕ work ⊕ xml ⊕ youtube ⊕ zip ⊕ zooming ⊕Copy this bookmark: