JavaScript

Javascript Module Pattern

Javascript Module Pattern In Depth at Adequately Good is a very good article about how to make JS modules that don't pollute the global namespace.

Function-Generating Functions in Javascript

I wrote this before I practiced with the module pattern and with adding methods to prototypes. So this article doesn't explain a best practice. Still, it's a pretty good pattern. See also the Javascript Patterns book.

OMFG - the future of software, in Javascript, Xopus

Xopus is an XML editor, written in Javascript and HTML5. It's not just JS, but it's licensed software for your desktop. I'm blown away. This is Google Docs, Angry Birds, Yahoo Pipes level blown away. Check it out.

Javascript and Lisp (erm Scheme or Guile)

I was reading up on Guile, figuring I should revisit Scheme annually. Found some examples, and translated them into Javascript.

(lambda (x) (+ x x))

(define add4 (let ((x 4)) (lambda (y) (+ x y))))

(define factorial (x) (if (zerop x) 1 (* x (factorial (- x 1)))))

function(x) { return add(x,x); }

function _defunmaker() { var x=4; return function(y) { return x + y; } }
var add4 = _defunmaker();
_defunmaker = null;

var factorial = function(x) { if (x==0) { return 1; } else { return x * factorial(x-1); }; };

A Demo of Transmitting Passwords Encrypted

This is a demo of a technique to transmit password encrypted. It's not a perfect solution yet, but it's getting there.

Interstitial Ad in jQuery

Normally, you should use canned Javascript or canned PHP modules to implement web features, but sometimes, that can suck. Typically, these products, if they're popular, start to suffer from feature bloat. Such was the case with some code for "interstitials", which are those ads that pop up on some web pages, interrupting your reading. Popups have been around a long time, and the drop-in code is just really huge.

Loop Faster

nzakas has a great presentation about speeding up Javascript loops but it applies to any language that uses C-like loop structures.

Caching Data for AJAX with Javascript

Here's a way to cache data on the client side, via javascript. This was tested on Firefox 3.6.3 on Ubuntu.

The idea is to convert your data into Javascript, and then load it with the SCRIPT tag. You then use the Expires HTTP header to tell the client how long to cache the data. Finally, you use some Javascript code to display the data.

Strip Non-Numeric Characters from Data

This Javascript widget strips non-numeric characters from the input. The result will be a space-separated list of numbers.

Nutty Hack - Dojo Javascript Front End to OpenOffice.org through Servlets

This is weird. The authors turn OpenOffice.org into a spreadsheet server -- and then create a front end in Dojo with Javascript, and tunnel events from the front end to the OOo spreadsheet via a Tomcat servlet.

TinyMCE, Firefox, IE 8, Adblock Plus Total Weirdness

At work I run Firefox without the (great) Adblock Plus plug-in. Adblock Plus mangles the HTML code to insert its own code that displays the "Block Ad" tabs, and this interferes with our CMS. Whenever I insert some code to embed video, Adblock Plus sees it and then adds its own code, ruining the code.

I forgot this, and installed ABP and then had to uninstall it.

Then, I started noticing that TinyMCE was altering URLs in links, so a url like http://example.com/go.php?id=100&start=344 would get mangled, so the ampersand (&) was replaced with & the HTML entity. I'd see: http://example.com/go.php?id=100&start=344

It turns out this is correct behavior, because xml doesn't allow & to be in an attribute. It needs to be escaped. The only problem is that IE6 won't handle these links correctly.

Hello, World in Javascript Encoded as a Data URI

This is the Hello, World program, written in Javascript and encoded as a data URI.

<script src='data:application/javascript;base64,ZG9jdW1lbnQud3JpdGUoIkhlbGxvLCB3b3JsZCEiKQ=='></script>

Dusting Off Coroutines

Coroutines are back! They never really left, but, it looks like different languages are adding native support for coroutines.

Javascript Functions and Closures for Private Properties

A JavaScript Module Pattern is a fantastic example of how to use closures.

Javascript Closures has more detailed information.

Douglas Crockford brought the style over to JS, and his site has a lot of important articles about Javascript hacking (as a functional language).

Resize YouTube Video (works with Vimeo and most sites)

This is a script to resize youtube video embed codes. It also works with other site. The youtube video is scaled proportionately. It should work with other video sites like Revver, Vimeo, LiveLeak, and even non-video embed codes.
Syndicate content