Category Archives: Technology
The Replacer
Link
My favorite ad agency does it again. These Chiat\Day tv spots have a definite signature to them.
Internet’s Down
Amazon Web Services EC2 cloud volumes for N. Virginia is down and they are having trouble launching new instances.
Here’s the full text direct from the console:
10:38 AM PDT We are currently investigating degraded performance for a small number of EBS volumes in a single Availability Zone in the US-EAST-1 Region.
11:11 AM PDT We can confirm degraded performance for a small number of EBS volumes in a single Availability Zone in the US-EAST-1 Region. Instances using affected EBS volumes will also experience degraded performance.
11:26 AM PDT We are currently experiencing degraded performance for EBS volumes in a single Availability Zone in the US-EAST-1 Region. New launches for EBS backed instances are failing and instances using affected EBS volumes will experience degraded performance.
12:32 PM PDT We are working on recovering the impacted EBS volumes in a single Availability Zone in the US-EAST-1 Region.
1:02 PM PDT We continue to work to resolve the issue affecting EBS volumes in a single availability zone in the US-EAST-1 region. The AWS Management Console for EC2 indicates which availability zone is impaired.EC2 instances and EBS volumes outside of this availability zone are operating normally. Customers can launch replacement instances in the unaffected availability zones but may experience elevated launch latencies or receive ResourceLimitExceeded errors on their API calls, which are being issued to manage load on the system during recovery. Customers receiving this error can retry failed requests.
UPDATE: As I write this, I’m seeing services coming back up.
A Novel Approach to High Frequency Trading
Quote
Interesting…
HFT has proven to be singularly destructive. Despite the claims of it defenders, it does not increase market liquidity; it merely increases trading volumes without improving ease of execution. 60% of US stock market trading volume comes from HFT. HFT has undermined how markets operate. Institutional investors have diverted some of their trades to “dark pools” to escape the pred Retail traders have become increasingly distrustful of equity markets, thanks to HFT-related debacles like the flash crash and Kraft’s first trading day at NASDAQ, when its initial trades had to be cancelled.
via It’s Time for a Tax to Kill High Frequency Trading « naked capitalism.
Four Percent of all NASDAQ Trades Last Week Attributed to Single Mystery Algorithm; Robo-trader Consumed 10% of Network Bandwidth
I thought we’d have another decade or two until the machines took over.
The scariest part of this single program was that its millions of quotes accounted for 10 percent of the bandwidth that is allowed for trading on any given day, according to Nanex. (The size of the bandwidth pipe is determined by a group made up of the exchanges called the Consolidated Quote System.)
via Mysterious Algorithm Was 4% of Trading Activity Last Week – CNBC.com – US Business News – CNBC.
Fun with JavaScript Profiling, Minification, and JSLint
I’ve been working with JSLint profiling and what they say is true: minification is more efficient if you write your JavaScript following certain JavaScript sub-standards (I know there’s a better way to phrase that).
File Sizes
Original: 27,542 bytes
Original (minified): 21,179
Linted: 30,714
Linted (minified): 20,899
Here’s the scoop. The original file size was 27,542 bytes. When rewritten using Crockford’s “Good Parts” settings in JSLint the file size grew to 30,714 bytes (by ~12%). The original file size minified to 21,179, a savings of 6,363 bytes (~23%).
Here’s where it gets cool.
Linting the file added 3,172. But doing so allowed the compression to reduce the file size to 20,899 bytes, shrinking it by 31% and making it even smaller than the original file was when it was minified!
Awesome and weird, right?
“JavaScript Wranglin’” or “How I learned To Stop Worrying and Love the DOM”
SUBJECT
A short, abstract assessment of how one might improve performance, maintainability, and extensibility of the legacy JavaScript architecture on a high-traffic enterprise website; to create automated processes to perform continuous profile, test, build, integrate, and deployment work; to furnish a well-documented codebase to future developers.
MAKE THE JAVASCRIPT UNOBTRUSIVE
First, make the JavaScript unobtrusive. This means separating the JavaScript from the HTML. All inline function calls must be removed from their respective elements and placed inside <script> blocks. If using jQuery, event handlers can be relocated to a $(document).ready block. Any JavaScript written inline should also be moved into separate (*.js) JavaScript files. When relying on dynamic, server-generated JavaScript, we might consider a solution like Node.js server that can create dynamic asynchronous JavaScript naturally.
INVENTORY THE VARIABLES
Once this is done, we can start effectively using automation tools to improve the performance, maintainability, portability, and enhance-ability of the site’s JavaScript architecture. Among these utilities like JSLint, a JavaScript validation tool that can be customized to determine the compliance of a variety of different JavaScript coding standards (Douglas Crockford’s “Good Parts” being only one of many possible configurations).
In addition to this, it is helpful to trace variable declaration and instantiation; as well as calls to functions, their definitions, and the interdependency of the various <script> blocks and their data.
KEEP IT CLEAN
Part of this inventory process should involve narrowing the scope of our variable declarations. A cluttered global namespace (variable declarations in the root window object) leaves our data precariously vulnerable to unintended modification. And this risk only increases as the codebase grows in size and complexity. All of JavaScript should eventually be consolidated within the scope of a single short global root namespace, e.g. jQuery’s $ or the _ character in Underscore.js. Once the scope of our JavaScript is enclosed this way – and our code is starting to look more object-oriented – we can start looking at ways to logically organize functionality. This is where profiling can be more successfully leveraged for Big-O notation levels of scalability.
BUILD TOOLS
Beyond this we can look at our deployment process as having numerous facets, each with its own set of benefits. One example of this can be achieved once we have mapped out all of our variable declarations and file dependencies, we can use automated build tools for both unit- and integration-testing, as well as scheduled deployment of production-optimized JavaScript. These can be integrated into any cron jobs that might already be used for deployment. I’m still monkeying around with these, but both Maven and Ant can be used to automate build processes, integration testing, and production deployments.
JSDOC
JSDoc is a system of code comments that can be used to automatically create detailed visual documentation of an object model. It is extremely helpful in keeping track of how everything in your ecosystem is working.
Inside Apple’s New Flagship Third Street Promenade Store
Gallery
This gallery contains 10 photos.
I got a sneak peek inside Apple’s new flagship retail store during its construction. The location is in the lot formerly occupied by the Borders book store. The build requires the tallest construction crane currently in Santa Monica because the ceiling … Continue reading