background preloader

AltJS compile-to-JavaScript language list

AltJS compile-to-JavaScript language list
Related:  javascript

About php.js php.js is a resource that offers community-built JavaScript alternatives to PHP functions. Why on earth would you port php to js? to see if we canto learn JavaScriptto help others learn JavaScriptto see how php scripts perform with V8 strapped on their backsto profit from helpful functions like: strip_tags, strtotime, md5, strftime, number_format, wordwrap, vsprintf, and date, that are too high-level for JavaScript. PHP is a language with many high-level functions and while they’re not always implemented as consistently as we’d like (mimicking their underlying C parts), they do get many programming jobs done without the need for additional libraries or abstraction. We recognize JS has beautiful language features, and we encourage you to learn them (never let php.js be an excuse not to!). That said, we do think it’s a challenge to port everything and decided to also port low-level PHP functions like strpos that have perfectly good (and more performant!) And what not. Contributing Licensing

New Tricks in XMLHttpRequest2 Introduction One of the unsung heros in the HTML5 universe is XMLHttpRequest. Strictly speaking XHR2 isn't HTML5. Turns out our old friend got a huge makeover but many folks are unaware of its new features. This tutorial highlights some of the new features in XMLHttpRequest, especially those that can be used for working with files. Fetching data Fetching a file as a binary blob has been painful with XHR. The old way to fetch an image: var xhr = new XMLHttpRequest();'GET', '/path/to/image.png', true); // Hack to pass bytes through unprocessed.xhr.overrideMimeType('text/plain; charset=x-user-defined'); xhr.onreadystatechange = function(e) { if (this.readyState == 4 && this.status == 200) { var binStr = this.responseText; for (var i = 0, len = binStr.length; i < len; ++i) { var c = binStr.charCodeAt(i); //String.fromCharCode(c & 0xff); var byte = c & 0xff; // byte at offset i } }}; xhr.send(); While this works, what you actually get back in the responseText is not a binary blob.

Benvie/continuum jQuery Mobile Home · kripken/emscripten Wiki LLJS : Low-Level JavaScript ES6 Overview in 350 Bullet Points Apologies about that long table of contents, and here we go. ES6 – also known as Harmony, es-next, ES2015 – is the latest finalized specification of the language The ES6 specification was finalized in June 2015, (hence ES2015) Future versions of the specification will follow the ES[YYYY] pattern, e.g ES2016 for ES7 Yearly release schedule, features that don’t make the cut take the next train Since ES6 pre-dates that decision, most of us still call it ES6 Starting with ES2016 (ES7), we should start using the ES[YYYY] pattern to refer to newer versions Top reason for naming scheme is to pressure browser vendors into quickly implementing newest features (back to table of contents) A new primitive type in ES6 You can create your own symbols using var symbol = Symbol() You can add a description for debugging purposes, like Symbol() Symbols are immutable and unique. Time for a bullet point detox. Then again, I did warn you to read the article series instead.

jwagner/smartcrop.js Calipers: The Fastest Way to Measure Image Dimensions in Node Every JPG, PNG and PDF file passed to Lob’s Print & Mail API is measured to guarantee that the dimensions of the provided file match the dimensions of the medium. For example, 4.25”x6.25” postcards requires an image of at least 1275 x 1875 pixels, and a PDF document with a page size of 8.5” x 11” is required for letters. A common way to retrieve the dimensions of images and PDFs is to use the premier tool for working with images, ImageMagick’s identify tool. However, dealing with the huge volume of files we receive every day revealed performance issues when using ImageMagick. It is important to note that the measurements we take on images take place during the life-cycle of a single API request. Calipers Source Code Benchmarks Simple benchmarks of Calipers show how much more performant it is than spawning additional process like ImageMagick’s identify. ImageMagick Performance There were two main factors limiting the performance when shelling-out to ImageMagick. How it Works Callback Promise