#javascript

583 bookmarks tagged with #javascript · RSS Feed · ← All Tags

Saying goodbye to asm.js | SpiderMonkey JavaScript/WebAssembly Engine

https://spidermonkey.dev/blog/2026/05/20/saying-goodbye-to-asmjs.html
asm.js was Mozilla’s response to the question posed by NaCl and PNaCl: how can the web run code at native speeds? The idea was clever: pick a strict, statically-typed subset of JavaScript that an engine could recognize on the fly and compile down to native code. We could get performance similar to NaCl/PNaCl and still have code live inside web content and use web API’s (no separate sandbox, IPC, or alternative API’s). asm.js shipped in Firefox 22 back in 2013 and was a success. It let projects like Unity and Unreal ship C/C++ codebases to the web for the first time, using just standard web technologies. The Epic Citadel demo was ported to the web in just four days. It was a landmark achievement, and a fond memory for the original asm.js team.

FAQ | TinyBase

https://tinybase.org/guides/faq/
TinyBase is well suited for JavaScript applications where you need to manage structured data, such as those that have multiple 'records' to represent many of one type of object that might share fields. For example, in a Todo app, you can imagine using a Row in a Table for each todo. TinyBase makes it easy to set, get, respond to, and enumerate over this data and build user interfaces with it.

Feedsmith — Fast & Powerful JavaScript Feed Parser

https://feedsmith.dev/
Fast, all‑in‑one JavaScript feed parser and generator for RSS, Atom, RDF, and JSON Feed, with support for popular namespaces and OPML files. Feedsmith offers universal and format‑specific parsers that maintain the original feed structure in a clean, object-oriented format while intelligently normalizing legacy elements. Access all feed data without compromising simplicity.

In 1995, a Netscape employee wrote a hack in 10 days that now runs the Internet - Ars Technica

https://arstechnica.com/gadgets/2025/12/in-1995-a-netscape-employee-wrote-a-hack-in-10-days-that-now-runs-the-internet/
The 10-day creation story has become programming folklore, but even with that kernel of truth we mentioned, it tends to oversimplify the timeline. Eich’s sprint produced a working demo, not a finished language, and over the next year, Netscape continued tweaking the design. The rushed development left JavaScript with quirks and inconsistencies that developers still complain about today. So many changes were coming down the pipeline, in fact, that it began to annoy one of the industry’s most prominent figures at the time.

Going build-free with native JavaScript modules | Weblog | Django

https://www.djangoproject.com/weblog/2025/nov/19/going-build-free-with-native-javascript-modules/
Modern CSS supports many of the features natively that the build tools were created for. CSS nesting to organize code, variables, @supports for feature detection. JavaScript ES6 / ES2015 was a big step forward, and the language has been progressing steadily ever since. It now has native module support with the import / export keywords Meanwhile, with HTTP/2 performance improvements, parallel requests can be made over the same connection, removing the constraints of the HTTP/1.x protocol.

SmallJS - Home

https://small-js.org/Home/Home.html
SmallJS is a free and open source implementation of the elegant and powerful Smalltalk-80 (ST) language. It compiles to JavaScript (JS) that runs in modern browsers or in Node.js.

Scroll Buddy

https://focusfurnace.com/scroll_buddy.html
Instead of a boring scrollbar thought it would be fun to have an animated stick figure that walks up and down the side of your page when you scroll.

Belle Nuit Montage - A web component called tiny-ps

https://belle-nuit.com/a-web-component-called-tiny-ps
What if you could add PostScript code just into your HTML code and forget about all the JavasScript? What if you could configure it just with the properties of the tag, having your PostScript graphics at the size as you want and at the format you want? Like an canvas tag, but without JavaScript. Like an SVG tag, but programmable.

Importing a frontend Javascript library without a build system

https://jvns.ca/blog/2024/11/18/how-to-import-a-javascript-library/
I like writing Javascript without a build system and for the millionth time yesterday I ran into a problem where I needed to figure out how to import a Javascript library in my code without using a build system, and it took FOREVER to figure out how to import it because the library’s setup instructions assume that you’re using a build system.

Why would anyone need JavaScript generator functions?

https://jrsinclair.com/articles/2022/why-would-anyone-need-javascript-generator-functions/
Generators are an odd part of the JavaScript language. And some people find them a bit of a puzzle. You might be a successful developer for decades and never feel the need to reach for them. Which raises the question, if you can go so long without ever needing them, what are they good for?

Don't Sleep on AbortController - kettanaito.com

https://kettanaito.com/blog/dont-sleep-on-abort-controller
If you are creating libraries in JavaScript where aborting or cancelling operations makes sense, I highly encourage you to look no further than the AbortController API. It's incredible! And if you are building applications, you can utilize the abort controller to a great effect when you need to cancel requests, remove event listeners, abort streams, or teach any logic to be abortable.

What Is React.js?

https://briefs.video/videos/what-is-react/
Highlight:Its proponents can be weird, it takes itself far too seriously, and its documentation is interminable. These are some ways that some people have described Christianity. This video is about React.js. A video from Webbed Briefs

Server-side rendering (SSR) – Lit

https://lit.dev/docs/ssr/overview/
Lit supports server-side rendering through the Lit SSR package. Lit SSR renders Lit components and templates to static HTML markup in non-browser JavaScript environments like Node. It works without fully emulating the browser's DOM, and takes advantage of Lit's declarative template format to enable fast performance, achieve low time-to-first-byte, and support streaming.

Server-side rendering (SSR) – Lit

https://lit.dev/docs/ssr/overview
Lit supports server-side rendering through the Lit SSR package. Lit SSR renders Lit components and templates to static HTML markup in non-browser JavaScript environments like Node. It works without fully emulating the browser's DOM, and takes advantage of Lit's declarative template format to enable fast performance, achieve low time-to-first-byte, and support streaming.

Six nifty ES6 tricks

http://www.2ality.com/2016/05/six-nifty-es6-tricks.html
const Storage = Sup => class extends Sup { save(database) { ··· } }; const Validation = Sup => class extends Sup { validate(schema) { ··· } }; You can use them to compose a class Employee as follows. class Person { ··· } class Employee extends Storage(Validation(Person)) { ··· }

SqueakJS by Bert Freudenberg

http://bertfreudenberg.github.io/SqueakJS/
SqueakJS executes Squeak in a web page without a plugin. It is a fully capable virtual machine implemented in pure JavaScript running unmodified Squeak images. Squeak is a modern implementation of Smalltalk, the original dynamic object-oriented programming environment. It runs bit-identically on virtually any platform, and now in the web browser, too.

SqueakJS by Bert Freudenberg

http://bertfreudenberg.github.io/SqueakJS
SqueakJS executes Squeak in a web page without a plugin. It is a fully capable virtual machine implemented in pure JavaScript running unmodified Squeak images. Squeak is a modern implementation of Smalltalk, the original dynamic object-oriented programming environment. It runs bit-identically on virtually any platform, and now in the web browser, too.

Seth Ladd's Blog: Minification is not enough, you need tree shaking

http://blog.sethladd.com/2013/01/minification-is-not-enough-you-need.html
I believe that web developers need a better workflow that automates tree shaking, dead code elimination, minification, and more. Stop caring how big a library is, and instead let a tool or build step produce the smallest output possible for you, ideally by tree shaking the application.

OCRAD.js: Pure Javascript OCR via Emscripten – Blog

http://antimatter15.com/wp/2013/12/ocrad-js-pure-javascript-ocr-via-emscripten/
The idea of the extension was kind of simple and also kind of magical: a browser extension that allowed users to highlight, copy, and paste text from any image as if it were plain text. Of course the implementation is a bit difficult and actually relies on the advent of a number of newfangled technologies.

OCRAD.js: Pure Javascript OCR via Emscripten – Blog

http://antimatter15.com/wp/2013/12/ocrad-js-pure-javascript-ocr-via-emscripten
The idea of the extension was kind of simple and also kind of magical: a browser extension that allowed users to highlight, copy, and paste text from any image as if it were plain text. Of course the implementation is a bit difficult and actually relies on the advent of a number of newfangled technologies.

Should JavaScript devs build real things? | Technology Treason

http://ajfisher.me/2013/08/21/should-javascript-devs-build-real-things/
If you’re a web developer and you’re looking at playing with hardware, don’t shy away from the electronics. There are no magic bits of hardware that will give you full control of the physical world in a box – though there are plenty of attempts at this. Develop your knowledge the same way you do with the web – by reading, tinkering, playing with code and breaking stuff. Go join a hackerspace, get some learning materials, visit electronics shops, pull things apart and learn how they work.

Should JavaScript devs build real things? | Technology Treason

http://ajfisher.me/2013/08/21/should-javascript-devs-build-real-things
If you’re a web developer and you’re looking at playing with hardware, don’t shy away from the electronics. There are no magic bits of hardware that will give you full control of the physical world in a box – though there are plenty of attempts at this. Develop your knowledge the same way you do with the web – by reading, tinkering, playing with code and breaking stuff. Go join a hackerspace, get some learning materials, visit electronics shops, pull things apart and learn how they work.

Concurrency in JavaScript | TypedArray.org

http://typedarray.org/concurrency-in-javascript/
Web Workers are now broadly available in most browsers even on mobile (caniuse.com stats for Web Workers) and give you the power of concurrency from within JavaScript. It will allow you to move expensive computations to other threads, to permit best responsive programming, and ideally open the doors in the future to true parallelization in JavaScript. Let’s have a look at the reasons why you may be interested into leveraging Web Workers.

Concurrency in JavaScript | TypedArray.org

http://typedarray.org/concurrency-in-javascript
Web Workers are now broadly available in most browsers even on mobile (caniuse.com stats for Web Workers) and give you the power of concurrency from within JavaScript. It will allow you to move expensive computations to other threads, to permit best responsive programming, and ideally open the doors in the future to true parallelization in JavaScript. Let’s have a look at the reasons why you may be interested into leveraging Web Workers.

Announcing StrongLoop Node 1.0 GA – an Enterprise Ready Node.js Distribution | StrongLoop

http://blog.strongloop.com/announcing-strongloop-node-1-0-ga-an-enterprise-ready-node-js-distribution/
Back in March we first announced the availability of StrongLoop Node, our commercially supported distribution of Node.js based on v0.10. After three Beta releases, lots of feedback from the community and our customers, plus testing and more testing, we are pleased to announce the general availability of StrongLoop Node 1.0.

Announcing StrongLoop Node 1.0 GA – an Enterprise Ready Node.js Distribution | StrongLoop

http://blog.strongloop.com/announcing-strongloop-node-1-0-ga-an-enterprise-ready-node-js-distribution
Back in March we first announced the availability of StrongLoop Node, our commercially supported distribution of Node.js based on v0.10. After three Beta releases, lots of feedback from the community and our customers, plus testing and more testing, we are pleased to announce the general availability of StrongLoop Node 1.0.

MPEG1 Video Decoder in JavaScript - PhobosLab

http://phoboslab.org/log/2013/05/mpeg1-video-decoder-in-javascript
An MPEG1 decoder sounded like a relatively simple and fun weekend project. While the real world use cases for this are of course a bit limited, I still learned a whole lot about video codecs in the process. The size of the source is just around 15kb gzipped and the performance is quite okay-ish - a 320x240 video easily plays with 30fps on the iPhone5.

CLI all the things: Introducing Josh.js - ILoggable

http://www.claassen.net/geek/blog/2013/03/cli-all-the-things-introducing-josh-js.html
Everytime I click my way through a hierarchy tree, I long for a simple BASH shell with TAB completion. It’s such a simple thing, but TAB completion (usually implemented via the trusty Readline library) still ranks as one of the most productive tools in my book. So as I was once again trying to navigate to some page in a MindTouch site, I thought that all I really want is to treat this documentation hierarchy like a file system and mount it with a bash shell.

JavaScript Stardate Converter

http://www.stevepugh.net/fleet/stardate.html
These conversion routines convert to and from Star Trek: The Next Generation style Stardates. These stardates take the form YYXXX.XX where the first two digits refer to the year with 2323 being year zero and the remaining digits being the decimal portion of the year. The last digit before the decimal point is one stardate and is approximately eight and three quarters hours in length.

Mechanics of Flite - Underappreciated NPM Commands Developers Should Know About

http://mechanics.flite.com/blog/2012/12/11/underappreciated-npm-commands/
npm, the package manager that comes bundled with node.js, is generally described as “awesome”. While it was originally a separate project, npm has been bundled with node.js for the past few releases and the number of npm packages available in the npm registry has exploded.

Mechanics of Flite - Underappreciated NPM Commands Developers Should Know About

http://mechanics.flite.com/blog/2012/12/11/underappreciated-npm-commands
npm, the package manager that comes bundled with node.js, is generally described as “awesome”. While it was originally a separate project, npm has been bundled with node.js for the past few releases and the number of npm packages available in the npm registry has exploded.

URI.js - URLs in Javascript

http://medialize.github.com/URI.js
URI.js is a javascript library for working with URLs. It offers a "jQuery-style" API (Fluent Interface, Method Chaining) to read and write all regular components and a number of convenience methods like .directory() and .authority().

JS adolescence – James Padolsey

http://james.padolsey.com/javascript/js-adolescence/
For me there was a time that can only be described as adolescence in the field of programming and more specifically JavaScript. This period was characterised by a certain laziness and hubris. I thought I was right. I thought others were wrong. I could see no path but the very strict one that I had boxed myself into through a process in which I longed for certainty and the expulsion of realistic doubt.

JS adolescence – James Padolsey

http://james.padolsey.com/javascript/js-adolescence
For me there was a time that can only be described as adolescence in the field of programming and more specifically JavaScript. This period was characterised by a certain laziness and hubris. I thought I was right. I thought others were wrong. I could see no path but the very strict one that I had boxed myself into through a process in which I longed for certainty and the expulsion of realistic doubt.

WidgetWorx > SpriteLib

http://www.widgetworx.com/widgetworx/portfolio/spritelib.html
SpriteLib is a collection of static and animated graphic objects (also commonly known as sprites). It was created to provide hobbyist game developers with an assortment of images to use in their creations. Because of SpriteLib, developers don't have to waste precious time or money creating graphics from scratch.

Hallo.js, a simple rich text editor for the web - Henri Bergius in Berlin, Germany

http://bergie.iki.fi/blog/hallo-editor/
Hallo.js is a simple rich text editor built as a jQuery UI widget and utilizing the HTML5 contentEditable functionality for allowing in-place editing. This sort of real in-place editing differs from more traditional editors like TinyMCE in that the content is never detached from its place on a page, and so for instance all CSS rules apply to it. This makes the editing experience much more true WYSIWYG.

Hallo.js, a simple rich text editor for the web - Henri Bergius in Berlin, Germany

http://bergie.iki.fi/blog/hallo-editor
Hallo.js is a simple rich text editor built as a jQuery UI widget and utilizing the HTML5 contentEditable functionality for allowing in-place editing. This sort of real in-place editing differs from more traditional editors like TinyMCE in that the content is never detached from its place on a page, and so for instance all CSS rules apply to it. This makes the editing experience much more true WYSIWYG.

John Resig - Secret Omens: Book Update

http://ejohn.org/blog/secret-omens/
To the point of Jeff’s post, I would absolutely not write a technical book again. It’s a tedious process and unless you LOVE writing and are really good at it (like Nicholas Zakas or Dave Flanagan) then I suggest that you stick with the medium that is truly successful: Writing long-form articles/blog posts and possibly spinning them off into purchasable ebooks. (As an example, I’d point to Juriy Zaytsev and Peter-Paul Koch both of whom could get any JavaScript position in the world purely based upon the quality of their articles and sites, without ever having written a book.)

John Resig - Secret Omens: Book Update

http://ejohn.org/blog/secret-omens
To the point of Jeff’s post, I would absolutely not write a technical book again. It’s a tedious process and unless you LOVE writing and are really good at it (like Nicholas Zakas or Dave Flanagan) then I suggest that you stick with the medium that is truly successful: Writing long-form articles/blog posts and possibly spinning them off into purchasable ebooks. (As an example, I’d point to Juriy Zaytsev and Peter-Paul Koch both of whom could get any JavaScript position in the world purely based upon the quality of their articles and sites, without ever having written a book.)

MESS in a browser!

http://jsmess.textfiles.com/
You are looking at a javascript version of the MESS emulator, a program that emulates hundreds of machine types and will, eventually, be capable of running most known computer software programs. What you see here (and if you don't see anything, we apologize) is a Colecovision emulator running the homebrew Colecovision cartridge "Cosmo Fighter 2", in demo mode.

MESS in a browser!

http://jsmess.textfiles.com
You are looking at a javascript version of the MESS emulator, a program that emulates hundreds of machine types and will, eventually, be capable of running most known computer software programs. What you see here (and if you don't see anything, we apologize) is a Colecovision emulator running the homebrew Colecovision cartridge "Cosmo Fighter 2", in demo mode.

Uploading directly from HTML5 canvas to imgur — Jonas Wagner's Blog

http://29a.ch/2011/9/11/uploading-from-html5-canvas-to-imgur-data-uri
For an upcoming canvas project I want to give the users the ability to upload the content of the canvas to an image sharing service. When looking for a suitable API I came across imgur.com the registration was trivial, and they support CORS and base64/dataurl uploads, perfect!

Demoing and displaying JavaScript at the same time using CSS | Christian Heilmann

http://christianheilmann.com/2012/05/08/demoing-and-displaying-javascript-at-the-same-time-using-css/
If you do a view-source you find no other script in use, yet it displays in the page. What is this sourcery*? Simple, and it was Mathias Bynens who got me onto it: just display script elements as block and add some generated content to show the “Source” text:

Demoing and displaying JavaScript at the same time using CSS | Christian Heilmann

http://christianheilmann.com/2012/05/08/demoing-and-displaying-javascript-at-the-same-time-using-css
If you do a view-source you find no other script in use, yet it displays in the page. What is this sourcery*? Simple, and it was Mathias Bynens who got me onto it: just display script elements as block and add some generated content to show the “Source” text:

Of parser-fetishists and semi-colons | Christian Heilmann

http://christianheilmann.com/2012/04/16/of-parser-fetishists-and-semi-colons/
I think it is a sign that as developers we are either terribly bored or we are out of ideas when we start to go down to bickering about violating accepted ways of development. We should concentrate on building amazing tools and experiences for users out there rather than smugly trying to undo conventions we’ve been following for years now. The web standards movement was not about enforcing arbitrary code syntax on poor developers who now have to type a few keys more. It is about making code predictable, extensible and easy to explain to newcomers. Confusing these matters doesn’t help the cause of making a new generation of developers embrace the web as a platform. Don’t be that guy.

Of parser-fetishists and semi-colons | Christian Heilmann

http://christianheilmann.com/2012/04/16/of-parser-fetishists-and-semi-colons
I think it is a sign that as developers we are either terribly bored or we are out of ideas when we start to go down to bickering about violating accepted ways of development. We should concentrate on building amazing tools and experiences for users out there rather than smugly trying to undo conventions we’ve been following for years now. The web standards movement was not about enforcing arbitrary code syntax on poor developers who now have to type a few keys more. It is about making code predictable, extensible and easy to explain to newcomers. Confusing these matters doesn’t help the cause of making a new generation of developers embrace the web as a platform. Don’t be that guy.

Escapes.js

http://256.io/escapes.js/
escapes.js is a small JavaScript library for rendering ANSI art, a form of computer art that flourished in the mid 90s. ANSI art was composed by colorizing sequences of characters and blocks drawn in the built-in system font, which made it easy to transmit across telephone wires. As a result, ANSI art was especially popular on Bulletin Board Systems (BBSes).

Escapes.js

http://256.io/escapes.js
escapes.js is a small JavaScript library for rendering ANSI art, a form of computer art that flourished in the mid 90s. ANSI art was composed by colorizing sequences of characters and blocks drawn in the built-in system font, which made it easy to transmit across telephone wires. As a result, ANSI art was especially popular on Bulletin Board Systems (BBSes).

Mozilla developing Web push notification system for Firefox

http://arstechnica.com/business/news/2012/02/mozilla-developing-web-push-notification-system-for-firefox.ars
Mozilla is developing a push notification system for the Firefox Web browser. It will allow users to receive notifications from websites without having to keep those sites open in their browser. The system will also be able to relay push notifications to mobile devices.

Introducing Push Notifications

http://jbalogh.me/2012/01/30/push-notifications
Push notifications are a way for websites to send small messages to users when the user is not on the site. iOS and Android devices already support their own push notification services, but we want to make notifications available to the whole web. We’re making prototypes and designing the API right now and want to share our progress.

2011: A Badass JavaScript Year In Review - Badass JavaScript

http://badassjs.com/post/15082876071/2011-a-badass-javascript-year-in-review?72f783a8=
2011 has been a great year for JavaScript. Web browsers have given us great new tools to use and we have taken web applications to new heights, competing with native applications and bringing sexy back to the web with countless impressive demos. A week or so ago, we put out a survey to all of you asking what you thought the most badass JavaScript demo of 2011 was. Of course, this would be a boring post if we just said what the outcome was, so we’re going to list the top JavaScript accomplishments of 2011 here, from demos to libraries and applications themselves. And to all of you in the JS community, Happy New Year and keep up the good work in 2012!

The rise and rise of JavaScript « DanNorth.net

http://dannorth.net/2011/12/19/the-rise-and-rise-of-javascript
JavaScript had a difficult childhood. It grew up in lawless neighbourhoods surrounded by gangs. It spent a lot of time listening to its parents fighting with one another about what they wanted it to be when it grew up. As any young language would, it tried hard to please its parents (and that barmy committee of uncles, and all the other random people trying to shape its future). As a result it suffers from what can only be described as behavioural quirks. Depending on which gang it’s hanging out with it will sometimes happily talk to you through its console.log, at other times refuse to say anything, and yet other times it will blow up in your face (but not tell you why).

bl.ocks.org - 1377729 - Force-based label placement

http://bl.ocks.org/1377729
A small demo of a pleasant, yet simple label placement algorithm for densely packed visualizations. The basic idea is to have labels orbit around their target node at a fixed distance, but repeal each other, so that they don't overlap, and orient themselves to the outside of clusters. To support that, labels on the right of their target node are left-aligned, and labels on the left of their target node are right-aligned; in between, we interpolate. In this example, one force layout governs the node placement, and the second one the label placement, but of course, the node placement could be computed by any other algorithm.

Setting up a Node.js development environment with NPM and Cloud9 IDE installed locally - Cambus.net

http://www.cambus.net/setting-up-a-node-js-development-environment-with-npm-and-cloud9-ide-installed-locally
In this tutorial, you will learn how to setup a complete Node.js development environment, including NPM (the Node Package Manager) and Cloud9 IDE to edit, run, and debug Node programs. The following installation instructions have been sucessfully tested on Debian 6.0 “Squeeze” and on Ubuntu 11.10 “Oneiric Ocelot”, but they should also work properly on previous versions as well.

Web 2.0 Development and Business Lessons: CoffeeScript Means Giving Up on JavaScript

http://www.w2lessons.com/2011/11/coffeescript-means-giving-up-on.html
While many of you will probably disagree with me, I find the trend towards writing in languages that compile to JavaScript somewhat alarming. The most notable of these languages CoffeeScript, and it's one that has gained a good degree of traction over the last year or so.

Loyal Opposition to Const, Private, Freeze, Non-Configurable, Non-Writable...

https://mail.mozilla.org/pipermail/es-discuss/2011-November/017872.html
And JavaScript is one of the *most* dynamic of the mainstream programming languages. Not only can you can pass any object to any function, but you can call a method with any number of arguments, easily modify the prototypes of other objects, introspect on any object's properties with a simple loop, replace any member function with a wrapped version, attach new properties to any object ... the list goes on.

Tab Override | WJBryant.com

http://wjbryant.com/projects/tab-override
Tab Override is a plugin for WordPress and jQuery that allows tabs to be entered into textareas. In WordPress, it affects the HTML editor on admin pages. The WordPress plugin was originally written by Mathew Tinsley.

hij1nx/weld - GitHub

https://github.com/hij1nx/weld
Simple. Weld binds data to markup, and can generate markup based on your data. There's NO special syntax or data reshaping required. It works in the browser and in node.js! Weld is currently 3.66Kb uglified with no dependencies other than a valid DOM. Weld will apply values to elements the way that elements expect to have their values set.

Generating XML With node.js - WezM.net

http://www.wezm.net/technical/2011/01/generating-xml-with-node-js
For a node.js project I’m working on I wanted to generate a Sphinx xmlpipe2 data stream. The options for generating XML with node.js seemed a bit limited. The main contender appeared to be libmljs but it segfaulted whenever I tried to use it. So with previous experience using Tim Bray’s Genx C library I decided to write bindings for node. The result is node-genx, which is available via npm.

Labs/Secret - MozillaWiki

https://wiki.mozilla.org/Labs/Secret
"The Secret library (real name TBD) is a general-purpose cryptography API and implementation for JavaScript. Our plan is to design a modern API and first expose it to chrome JS (for browser add-ons), and later expose it to content as well. "

JavaScript Commodore Emulator

http://www.kingsquare.nl/jsc64
"jsc64 is a Commodore 64 emulator written in JavaScript by Tim de Koning. It's a port of the FC64, the Commodore 64 emulator written in Actionscript by Darron Schall and Claus WahlersThis emulator is meant as a 'proof of concept' and uses the HTML5 Canvas-element to render the Commodore 64 screen layout. This means it will work on all modern browsers, being the lastest version of Firefox, Google Chrome and Safari. Rendering on Internet Explorer should be possible with some minor fixes in the 'Renderer class', but I'm afraid performance will be appalling.his emula"

iProcessing

http://luckybite.com/iprocessing
"iProcessing is an open programming framework to help people develop native iPhone applications using the Processing language. It is an integration of the Processing.js library and a Javascript application framework for iPhone. The iProcessing download consists of a set of example XCode projects that demonstrate many of the Basic Examples from the Processing web site (originally written by Casey Reas and Ben Fry unless otherwise stated) as well a number that demonstrate the use of various iPhone features such as multitouch, accelerometer, orientation, location, sound play/record, app state saving and so on"

Palm Developer Network Blog » Project Ares Open Beta

http://pdnblog.palm.com/2009/12/project-ares-open-beta
"The heart of Ares is its visual drag-and-drop interface builder. The interface builder makes it simple to build complex layouts that adapt to orientation changes and support multiple webOS devices. The visual debugger in Ares goes far beyond the debugging tools previously available to webOS developers, and Ares’ code editor (based on the pioneering work of Mozilla’s Bespin delivers a great experience. Even in beta, we think you’ll find Ares to be the most complete and efficient environment for building webOS apps."

W3C FileAPI in Firefox 3.6 at hacks.mozilla.org

http://hacks.mozilla.org/2009/12/w3c-fileapi-in-firefox-3-6
"Often, web applications will prompt the user to select a file, typically to upload to a server. Unless the web application makes use of a plugin, file selection occurs through an HTML input element, of the sort . Firefox 3.6 now supports much of the W3C File API, which specifies the ability to asynchronously read the selected file into memory, and perform operations on the file data within the web application (for example, to display a thumbnail preview of an image, before it is uploaded, or to look for ID3 tags within an MP3 file, or to look for EXIF data in JPEG files, all on the client side). This is a new API, and replaces the file API that was introduced in Firefox 3."

Events/live - jQuery JavaScript Library

http://docs.jquery.com/Events/live
"When you bind a "live" event it will bind to all current and future elements on the page (using event delegation). For example if you bound a live click to all "li" elements on the page then added another li at a later time - that click event would continue to work for the new element (this is not the case with bind which must be re-bound on all new elements). "

Dynamically including Github code | PeterBraden.co.uk

http://peterbraden.co.uk/article/github-include
"pasted code is dead code - real living code changes, and short of going back and repasting, the code on the web quickly becomes out of date. So this is a little snippet I whipped up to dynamically (by the wonders of cross-site ajax) load code from a github branch. This means, when you update the git branch and repush, the code will update."

Doloto

http://msdn.microsoft.com/en-us/devlabs/ee423534.aspx
Sounds interesting. Too bad it's in .NET. "Doloto is an AJAX application optimization tool, especially useful for large and complex Web 2.0 applications that contain a lot of code, such as Bing Maps, Hotmail, etc. Doloto analyzes AJAX application workloads and automatically performs code splitting of existing large Web 2.0 applications. After being processed by Doloto, an application will initially transfer only the portion of code necessary for application initialization. The rest of the application’s code is replaced by short stubs—their actual function code is transferred lazily in the background or, at the latest, on-demand on first execution. Since code download is interleaved with application execution, users can start interacting with the Web application much sooner, without waiting for the code that implements extra, unused features."

Some Notes On iTunes LP · Jay Robinson

http://jayrobinson.org/2009/09/11/some-notes-on-itunes-lp
"The iTunes LP experience is accomplished with HTML 4.01, CSS and JS. The interface feels very Flash-like, but there is no trace of it. The CSS animations are elaborate and smooth. ... As a music fan, and as a web developer, I couldn’t be more pleased with the new iTunes LP offering. If your audience is significantly Apple-oriented (e.g. a site about Mac rumors or a popular iPhone app) this proves that you can provide an incredible experience using only JavaScript and some proposed CSS3 properties."

Hallvord R. M. Steen - Most expensive javascript ever?

http://my.opera.com/hallvors/blog/2009/07/20/most-expensive-javascript-ever
"However, one of the world's biggest hardware vendors - whose name every single reader will be familiar with, and whose hardware a good share of you will be using right now - apparently didn't do their homework. When Opera's sysadmin booted up the server to test its web-based administration interface, they came across a single JavaScript statement that managed to piss off everyone up to and including the CTO."

Palm Pre Mojo SDK experiments at updates @ m.blog

http://mroth.info/blog/2009/07/08/palm-pre-mojo-sdk-experiments
"As a new Pre owner, I was curious to learn to code for the Palm WebOS SDK (Mojo). Whenever I try to learn a new technology, I try to build a functional test project. So… what to build for WebOS? Since the Pre’s web browser doesn’t currently support the W3C Geolocation spec used by Flickr Nearby, I figured a good “Hello World” might be an application to get the GPS coordinates from the Pre, and then load the appropriate Flickr page for that location."

jwz - Palm WebOS Dali Clock

http://jwz.livejournal.com/1057786.html
"Let's take a moment to ponder this version and the Alto version, and just how many wasted instructions, layers of abstraction, frameworks, toolkits and outright cruft have gotten between the algorithm and the frame buffer in the intervening twenty-seven years. This program makes my phone hot. Hot, I tell you. "

Using JavaScript in PHP with PECL and SpiderMonkey

http://devzone.zend.com/article/4704-Using-JavaScript-in-PHP-with-PECL-and-SpiderMonkey
"SpiderMonkey support in PHP comes through PECL's ext/spidermonkey extension, which is maintained by Christophe Robin, and provides an object-oriented API for accessing the SpiderMonkey library. Although this extension is currently in beta, it still allows you to do some fairly interesting things, including registering and using variables, functions and classes from PHP in JavaScript."

XUI | javascript micro-framework

http://xuijs.com
"We hear your words. Why another JavaScript framework?! When development of PhoneGap was under way we noticed slow load times for modern JavaScript frameworks (such as Prototype, MooTools, YUI, Ext and (yes) even jQuery. A big reason why these libraries are so big is because is mostly they contain a great deal of cross browser compatibility code. The mobile space has less browser implementations (so far) and different needs. Thus XUI."

Improve your jQuery - 25 excellent tips

http://www.tvidesign.co.uk/blog/improve-your-jquery-25-excellent-tips.aspx
"I'd call myself an "intermediate" jQuery user and I thought some others out there could benefit from all the little tips, tricks and techniques I've learned over the past year. The article also ended up being a lot longer than I thought it was going to be so I'll start with a table of contents so you can skip to the bits you're interested in."

Advogato: Blurring of MVC lines: Programming the Web Browser.

http://advogato.org/article/993.html
I think this whole "abstract the browser away behind my favorite language" thing is kind of batshit insane. The problem is, though, I've yet to think out a well-articulated argument against it and the arguments for seem very compelling. Of course, I also happen to *like* JavaScript. "Only by going the whole hog - fully into Javascript, augmented by Compiler Technology such as GWT and Pyjamas (and more specifically Unity) that allows both the Web Server and the Web Client to be programmed in exactly the same language - can the MVC approach be properly implemented and the user's expectations be satisfied, and thus both the developers' and the user's lives made easier. Gmail is the quintessential example of how this "whole-hog-Javascript" MVC approach can be achieved successfully. "

matt.west.co.tt » Blog Archive » JSSpeccy: A ZX Spectrum emulator in Javascript

http://matt.west.co.tt/spectrum/jsspeccy
"I’m really typecasting myself here. If there were an international “Person most likely to write a Spectrum emulator in Javascript” award, I’d have taken it for the last five years running. So here it is - probably the most stereotypical project I’ll ever come up with."

Dynamic programming futures | InfoWorld | Test Center | October 13, 2008 | By Peter Wayner, IDG News Service

http://weblog.infoworld.com/archives/emailPrint.jsp?A=/article/08/10/13/42TC-dynamic-futures_1.html&R=printThis
"What will the world of dynamic programming languages and Web applications look like in five years? This is one of those highly personal and deeply philosophical questions best saved for after dessert is served, the drinks are poured, and the sidearms are safely locked away."

Foo Hack » YUI’s “Module Pattern” vs. Prototype’s Class Function

http://foohack.com/2007/08/yui-crockford-module-pattern-vs-prototypes-class-function
Interesting perspective, with which I agree somewhat. Though, there's certainly something to be said for building a domain-specific language of convenience for DOM manipulation. "The more time someone spends building applications with a library like Prototype, the further they get from Javascript, and the more dependent they become on the library. By contrast, time spent using YUI tends to breed developers who are experts in Javascript, and that skill is far more useful than being an expert in a particular library."

rephrase § E4X

http://rephrase.net/days/07/06/e4x
"E4X, short for “ECMASCript for XML”, is an extension to ECMAScript (i.e. JavaScript, JScript, ActionScript…) with new syntax and built-in objects for more convenient handling of XML fragments. It seems to be used most frequently with ActionScript 3 (Flash), but is also available in recent Mozilla/Firefox releases."

webdev.stephband.info

http://webdev.stephband.info/parallax.html
"Parallax turns a selected element into a 'window', or viewport, and all its children into absolutely positioned layers that can be seen through the viewport. These layers move in response to the mouse, and, depending on their dimensions (and options for layer initialisation), they move by different amounts, in a parallaxy kind of way."

Cross-Browser.com

http://cross-browser.com
Wow, "X" - what an unsearchably-named framework. "X is a collection of loosely-bound, cross-browser, Javascript functions and objects. It is intended to be a resource from which you pick and choose - you do not have to include the entire library in your application. It contains core DOM/Style functions, unobtrusive enhancements, utility functions, objects such as menus and tab panels, and also has some experimental stuff. I've been developing this library since 2001 (I started its predecessor around 1999). Thanks to thousands of people like yourself X has been extensively tested on a wide range of operating systems and browsers. Thanks to your contributions X continues to improve, grow and evolve."

jQuery PHP library

http://jquery.hohli.com
"jQuery-PHP is a PHP library that allows to tie jQerry with PHP most natural way. You don't need to think in terms of transmission, parsing and other boring staff. Now you have a bridge that brings DOM right onto your server :) and you can ealisy manipulate it in jQuerry-style way." This seems like one of the worst ideas - maybe it's just me, but "shortcuts" and other encapsulations of client-side JS within server-side code-generation in PHP / Ruby / Python / Perl / etc seems like one of the worst forms of magical obfuscation there is in webdev. Of course, I also feel the same way about most psuedo-ORM SQL / database abstractions.

parchment - Google Code

http://code.google.com/p/parchment
"Parchment aims to be a web-based Z-machine interpreter that uses open web technologies to provide the same level of functionality that desktop-based Z-machines offer, with added conveniences that only the web can provide. "

Creating accessible charts using canvas and jQuery | Filament Group, Inc., Boston, MA

http://www.filamentgroup.com/lab/creating_accessible_charts_using_canvas_and_jquery
"Data visualization in HTML has long been tricky to achieve. Past solutions have involved non-standard plugins, proprietary behavior, and static images. But this has changed with the recent growth in support for the new HTML Canvas element, which provides a native drawing API that can be addressed with simple Javascript. This article is a proof of concept for visualizing HTML table data with the canvas element."

Wait till I come! » Blog Archive » Planning JavaScript and Ajax for larger teams, equine invigorating imagery, one voice for libraries and a lot of good speakers - this was @mediaAjax 2007

http://www.wait-till-i.com/2007/11/21/planning-javascript-and-ajax-for-larger-teams-equine-invigorating-imagery-one-voice-for-libraries-and-a-lot-of-good-speakers-this-was-mediaajax-2007
"I didn’t cover many technical issues but instead tried to convince some people to recognize that the way you use JavaScript in your team is the most important part of development."

mjt

http://mjtemplate.org
"Mjt is an HTML templating engine that runs entirely in a web browser. It was built for the Freebase service, but it can be used for many other web services. It is distributed as open source."

Memory leak patterns in JavaScript

http://www-128.ibm.com/developerworks/web/library/wa-memleak
"Plugging memory leaks in JavaScript is easy enough when you know what causes them. In this article authors Kiran Sundar and Abhijeet Bhattacharya walk you through the basics of circular references in JavaScript and explain why they can cause problems in

JSMIN, The JavaScript Minifier

http://www.crockford.com/javascript/jsmin.html
"JSMin is a filter which removes comments and unnecessary whitespace from JavaScript files. It typically reduces filesize by half, resulting in faster downloads. It also encourages a more expressive programming style because it eliminates the download cos

Jack Slocum's Blog - DomHelper - Create Elements using DOM, HTML fragments and Templates

http://www.jackslocum.com/yui/2006/10/06/domhelper-create-elements-using-dom-html-fragments-or-templates
"The DomHelper class in the 0.32.2 release provides a layer of abstraction from DOM and transparently supports creating elements via DOM or using HTML fragments. It also has the ability to create HTML fragment templates from your DOM building code."

YUI: DragDrop Nested targets

http://blog.davglass.com/files/yui/dd2
"Basically, all I am doing is setting a var (lastTarget) onDragOver to the element that we are over. Then in the onDragDrop function, I am checking to see if the id that is returned matches the id that is stored in lastTarget. If it is, display the text i

Web Development Bookmarklets

http://www.squarefree.com/bookmarklets/webdevel.html#generated_source
"These bookmarklets let you see how a web page is coded without digging through the source, debug problems in web pages quickly, and experiment with CSS or JS without editing the actual page."

Drawing lines in JavaScript | www.p01.org

http://www.p01.org/articles/DHTML_techniques/Drawing_lines_in_JavaScript
'You probably already said to yourself : " it'd be great if I could draw and move some lines at will in JavaScript. " If you don't, let's pretend you did.' Similar to, probably better than what I came up with yesterday

.: jsolait.net :.

http://jsolait.net
"The goal is to ease JavaScript development by building a library of reusable modules and components and enhancing JavaScript with simpler Class and Module handling mechanisms."

JavaScriptTemplates - TrimPath - Trac

http://trimpath.com/project/wiki/JavaScriptTemplates
"For web application developers, the JavaScript Templates engine from TrimPath is a lightweight APL / GPL open-source component that lets you have template-based programming (like PHP/ASP/JSP) while running in a web browser."

DOMForm

http://wwwsearch.sourceforge.net/DOMForm
"DOMForm is a Python module for web scraping and web testing. It knows how to evaluate embedded JavaScript code in response to appropriate events."

document.getElementsByWhatever

http://slayeroffice.com/code/getElementsByWhatever.html
"This method will return a collection of objects who's tag name, attribute names, attribute values or (optionally) text nodes match the "whatever" argument."