June 2012
American and Israeli researchers have used twisted vortex beams to transmit data at 2.5 terabits per second. As far as we can discern, this is the fastest wireless network ever created — by some margin. This technique is likely to be used in the next few years to vastly increase the throughput of both wireless and fiber-optic networks.
These twisted signals use orbital angular momentum (OAM) to cram much more data into a single stream. In current state-of-the-art transmission protocols (WiFi, LTE, COFDM), we only modulate the spin angular momentum (SAM) of radio waves, not the OAM. If you picture the Earth, SAM is our planet spinning on its axis, while OAM is our movement around the Sun. Basically, the breakthrough here is that researchers have created a wireless network protocol that uses both OAM and SAM.
In this case, Alan Willner and fellow researchers from the University of Southern California, NASA’s Jet Propulsion Laboratory, and Tel Aviv University, twisted together eight ~300Gbps visible light data streams using OAM. Each of the eight beams has a different level of OAM twist. The beams are bundled into two groups of four, which are passed through different polarization filters. One bundle of four is transmitted as a thin stream, like a screw thread, while the other four are transmitted around the outside, like a sheathe. The beam is then transmitted over open space (just one meter in this case), and untwisted and processed by the receiving end. 2.5 terabits per second is equivalent to 320 gigabytes per second, or around seven full Blu-ray movies per second.
This huge achievement comes just a few months after Bo Thide finally proved that OAM is actually possible.
Polycode is a free, open-source, cross-platform framework for creative code. You can use it as a C++ API or as a standalone scripting language to get easy and simple access to accelerated 2D and 3D graphics, hardware shaders, sound and network programming, physics engines and more.
CBS MoneyWatch recently published what they called the “20 Craziest Job Interview Questions.” The questions, they claimed, were real job interview questions that “such companies as Google, Capital One, and Goldman Sachs asked internship candidates.” Our writer Giles Turnbull could do with a proper job, so we assigned him all 20 questions to see how he’d fare in the global marketplace. Headhunters, contact us for his direct line.
Facebook: Twenty-five racehorses, no stopwatch, five tracks. Figure out the top three fastest horses in the fewest number of races.
The fewest number of races is one. Just keep those suckers running round and round and round until they collapse from exhaustion. The final three make it through, the rest end up as dog food. Actually, I thought that’s how they make dog food.
Goldman Sachs: Suppose you had eight identical balls. One of them is slightly heavier and you are given a balance scale. What’s the fewest number of times you have to use the scale to find the heavier ball?
You don’t need the scales at all, you just juggle those cuties. The heaviest one will be revealed in seconds. I did a juggling course at college, I totally know what I’m doing here. You’ve seen that trick where people juggle a chainsaw, a dead rodent, and a lemon? Turns out you can tell which one is the chainsaw even if you’re juggling with your eyes closed. You can just tell what’s heavy as it passes through your hands. And that’s science.
Towers Watson: Estimate how many planes there are in the sky.
What, the sky just here? Or the whole sky, everywhere? And do you just mean big planes like 747s, or are you including itty-bitty one-seaters, and training flights for learner pilots? What about remote-control planes? Those drones the Army uses to spy on people? They could have thousands of those and none of us would know. That’s a very wide question. I’m going to say six. No, 14.
Diageo North America: If you walk into a liquor store to count the unsold bottles, but the clerk is screaming at you to leave, what do you do?
What in the name of God would I be doing counting unsold bottles in a liquor store? Are you trying to fuck with my mind? I mean, what is that supposed to even mean?
The team over at Development Seed has released Prose, a really cool project that allows you to edit text-based content in your GitHub repositories (inside of your browser). Prose will allow you to edit any of your text files, but is especially suited for Jekyll sites - which are supported by GItHub Pages..
When Prose was launched, Michael Aufreiter of Development Seed, wrote up a great article describing some of the features in detail.
Try it now or browse the source on GitHub.
A few months back Bartek Szopka released impress.js, a JavaScript presentation tool that uses CSS3 for all of the transitions and transformations in modern browsers.
While impress.js is a little different than the projects we usually cover on the changelog, it is a very cool tool in it’s own right. Being one of the highest watched repositories on github, it obviously has drawn the attention of many.
Impress got it’s inspiration from prezi.com, and the possibilities are endless. Using it takes a little setup (developing, designing, and laying out your “slides”). Once your content is setup, initializing impress is simple:
Use the source, Luke!<script src="js/impress.js"></script> <script> impress().init(); </script>Bartek strongly encourages you to read through the source to understand what impress is doing. If you look at the official example, you will see commented source code explaining how to use impress.js.
As the documentation explains:
The only limit is your imagination
Checkout a few more examples to see it in action. You can also browse the source at GitHub.
Caolan McMahon, the creator of Async, has released a new project called Jam. After using this project for a short while, I can say this project has huge potential. It is a package management tool that allows you to install, use and compile (minify) JavaScript libraries. Jam is a browser-focused project that uses RequireJS (AMD Modules) to load your website’s requirements.
Installation is simple:
npm install -g jamjsLikewise, installing libraries is easy:
jam install jqueryFinally, you use the RequireJS to include the libraries:
<script src="jam/require.js"></script> <script> require(['query'], function($){ console.log("jQuery loaded!"); }); </script>One of the coolest features is the compilation, which will package all (optionally a specific set) of your libraries with RequireJS and allow you to load the optimized library as one optimized file.
jam compile jam/compiled.min.jsThen include compiled.min.js instead of require.js, the rest works like before:
<script src="jam/compiled.min.js"></script> <script> require(['query'], function($){ console.log("optimized jQuery loaded!"); }); </script>If you have a library you would like added as a package, feel free to fork the project and add it in. If, in the process, you run into conflicts or issues with NPM’s package.json, Caolan wants to hear about it!
Head on over to the project page or browse the source on GitHub.
How to start using ARC within your Cocos2D projects.
In this three part tutorial series, the main goal is to describe how jQuery Mobile can be used to develop a native Android application. First, It will develop a stand-alone, sample web application that will browse articles from Yahoo! News using jQuery Mobile. Then it will convert that web application into a native Android application with minimal effort.
Demo of an single-page application created using Backbone.js an Bootstrap. This site has also many interesting articles about web development.
I don’t often toot my own horn on this blog, but I thought this was worth a mention. Over at Official.fm Labs, we just released FLAC.js our JavaScript FLAC audio decoder, and Aurora.js, our framework to make building JS audio decoders easier. Check out our blog post over there for more…
Tumblr Kit is a jQuery framework for ajax loading post content via Tumblr’s v2 API and rendering it in your document using customisable JsRender templates. (via Matthew Buchanan)
Grunt is a project that allows you to use JavaScript to configure and run command line tasks. It is installed as an npm module, and very simple to get started with. If you have Node.js and npm installed, simply run:
npm install -g gruntSome of the common tasks include: JavaScript Lint, QUnit, minify, JSHint and file concatenation.
Any project that has grunt.js in it’s root (or subdirectories) can use grunt tasks. An example configuration to use
grunt lint:module.exports = function(grunt){ grunt.initConfig({ lint: { all: ['grunt.js', 'lib/**/*.js''test/**/*.js'] } }); };Whenever you run
grunt lintin this project, the array of files (grunt.js, every JavaScript file in lib/ and every JavaScript file in test/) will be run through JavaScript Lint.For some extra grunts and giggles, you can checkout grunt’s own gruntfile. They showcase some common uses and are very self explanatory.
As a disclaimer, grunt is currently in beta, and could possibly (will probably) change before 1.0. The good news is the changes will be based on your feedback. Head on over to GitHub to browse the source code and help get this project to it’s final release!