Thursday, January 16, 2014

JavaScript "Promises'

Promises/A+:
"A promise represents the eventual result of an asynchronous operation. The primary way of interacting with a promise is through its then method, which registers callbacks to receive either a promise’s eventual value or the reason why the promise cannot be fulfilled"

What’s so great about JavaScript Promises? | Parse Blog

JavascriptPromise by Martin Fowler
Promise - JavaScript @ Mozila Developer Network

JavaScript Promises: There and back again - HTML5 Rocks

An Overview of JavaScript Promises - SitePoint

ClojureScript vs JavaScript, Clojure code.async

Himera Synonym:
side-by-side examples in ClojureScript and "native" JavaSctipt.
(ClojureScript is Clojure complied to JavaScript)

clojure/clojurescript @ GitHub

Clojure - Wikipedia, the free encyclopedia

Core.async - Communicating Sequential Processes using Channels, in Clojure @ InfoQ
"Rich Hickey presents the motivation, design and use of the Clojure core.async library, the reasons for choosing the CSP approach and how it helps to structure applications"
Clojure core.async @ InfoQ

Instead of "syntactic sugar" like async/await in C# and similar concepts in Scala,
Clojure is being extended by macros for adding dedicated queuing of requests.
He claims that greatly simplifies code compared to typical "callback" based async handling.

ClojureScript 101

core.async/examples/walkthrough.clj at master · clojure/core.async @ GiHub



Chrome: new tab icons, browser-desktop

Chrome’s Windows 8 Chrome OS-lookalike gets a stable release | Ars Technica: "Chrome now has a trio of icons to help out. If a tab is making a noise, Chrome will put a little speaker in the tab itself. This gives instant, at-a-glance detection of noisy tabs. The other two icons are less important, but still useful. If one tab is accessing your webcam, it'll be adorned with a little red recording icon. A tab that's being cast to your TV with a Chromecast will show a little TV icon."



Chrome OS-like Metro mode browser... a Chrome "desktop." Along the bottom of the screen is a taskbar of sorts, used for launching Web apps of your choosing. Populating the main area of the screen are one or more browser windows.

“next-gen” filesystems

Bitrot and atomic COWs: Inside “next-gen” filesystems | Ars Technica:
ZFS and btrfs

"bitrot," the silent corruption of data on disk or tape. One at a time, year by year, a random bit here or there gets flipped. If you have a malfunctioning drive or controller—or a loose/faulty cable—a lot of bits might get flipped. Bitrot is a real thing, and it affects you more than you probably realize.

Contrary to popular belief, conventional RAID won't help with bitrot, either. "But my raid5 array has parity and can reconstruct the missing data!" you might say. That only works if a drive completely and cleanly fails. If the drive instead starts spewing corrupted data, the array may or may not notice the corruption (most arrays don't check parity by default on every read). Even if it does notice... all the array knows is that something in the stripe is bad; it has no way of knowing which drive returned bad data—and therefore which one to rebuild from parity (or whether the parity block itself was corrupt)...