Google, Facebook, Banks, Blockchain, WTF is Happening?

I haven’t been posting on Facebook in a while and I have never written something like this on my blog but here we go.


A lot of issues regarding Facebook’s walled gardens and Google’s projects (AMP and others) have spurred regular people to start considering their online behavior. This is a good thing. As society becomes more technocratic, we evolve to understand our tools and consider the consequences.

Combine this newfound understanding with a strong sense of distrust in governments and financial institutions. What happens? Blockchain.

Havard scholar “thefuture420” breaks the movement down for us


The blockchain movement isn’t simply about currency anymore. It’s about decentralization, distribution and the “property rights” of your “bits and bytes”. While you don’t need a blockchain to decentralize and distribute a file system, you do need incentives for participants to host and transfer files. For example if you’re not close to India, someone in India can get a copy of your file to someone who wants it, or if you are disconnected and your hard drive erased, some node on the network still has your file.

The issues of trust (ironically), incentive, compensation models and simply “will this replace my YouTube cat videos” are still being developed and debated.

Most promising are the concepts that fully engage both users and devices in distributed publishing and consumption of content. Web 2.0 has become an oligarchy of centralized services that funnel users traffic and attention through stratified pricing tiers.

YouTube stars are moaning over compensation, publishers are clueless / desperate and journalists are hopeless.

We have an internet of information, we need an internet of value.

The Last Mile

It was a problem for the internet in the 90’s and it’s a problem today. All of this fervor and excitement is flying in the face of practicality and profits, which are necessary evils in ANY form of society.

Ideas are happening fast… without tangible adoption. How do I buy a sandwich, a beer, surf a website, stream a video, store my DNA forever?

IMHO the current bubble around blockchain technology as a whole will have a correction, but like the 90’s and web 1.0 it will all eventually take root, it has to.

Posted in News | Leave a comment

Introduction to Web and Information Design

I just finished teaching a course on the fundamentals of web and general information design.

We focused on the principles of user experience, visual fundamentals such as gestalt principles and introduced the students to the wonderful world of frontend web design.

Find out more here:

Posted in Code | Leave a comment

Mobile Web Application Design and Development

Recently I taught a course on mobile applications using modern web technologies.

We covered topics such as: touch, accelerometer, location, audio, viewport, angular js, react js and more, all using HTML CSS and JS.

Check it out here:

Posted in Code | Leave a comment

Audio and Visual Signal Processing in JavaScript

I recently taught a course in audio and visual programming and decided to use Javascript as the language.

We explored the canvas, transformations, pixel manipulations, filters, kernels, the web audio api, pass filters and more.

Take a look here:

Posted in Code | Leave a comment

Center image vertically and horizontally, CSS and jQuery a.k.a. image lightbox

In my opinion you should use libraries rather than role your own solution, but I came across this Stackoverflow question and couldn’t resist rolling my own lightweight, lightbox implementation.

Here is a link and to my jsFiddle where the magic happens.

Check out the results:

Lightbox CSS jQuery Sample

Posted in Code | Leave a comment

Socualizer – Social Media Visualizer


Socualizer Social Media Visualizer


Socualizer is a product I’ve been developing for the past 3 months with the goal of integrating Social Media streams with high-end, club / concert grade visuals. The end result will be a turn-key, brandable, social media visualizer, with a powerful dashboard to control the streams and entire visual experience.

Technically, Socualizer is built using node.js, node-twitter, instagram-node-libthree.js, tween.js and WebGL and some soon to be released on GitHub utility classes developed by myself to push the limits of double sided planes using WebGL.

Socualizer is currently in private beta.

Posted in Works | Leave a comment

Playground – Multiplayer, Collaborative, Visual Experience for Mobile

Recently I was asked to join Tangible Interaction in developing a Chrome Experiment that used WebRTC, an emerging web technology that enables P2P browser interaction (tabs talking to other tabs), without sending the data over the server.

We developed Playground, which enables 5 friends in close proximity (100m) to join a “room” where each player will have a different controller that determines a visual outcome.

The project was a lot of fun to develop and break new ground using an up and coming web technology on mobile.

The app can be found on Chrome Experiments here.

Playground Example Controller

Posted in Works, Code | Leave a comment

Code Tabs: Online HTML, JS, CSS, and Processing Editor with TABS

I’ve released an early stage version of my online editor for html, js, css, and processing called “Code Tabs” today.

One thing missing from a lot of online editors is the ability to create custom tabs, a pretty essential feature for any project with more than a couple of hundred lines of code.

I’ll be using and testing Code Tabs this summer in a course at my school: IAT 167 Digital Games. The course is basically an introduction to game programming for students with a multimedia / multidisciplinary background.

You can find Code Tabs on GitHub.

See this post for a list of features.

Posted in Works, Code, News, Processing | Leave a comment

Code Tabs Preview

Simple HTML, CSS, JS, and Processing editor, with TABS!



  • TABS! No other online editor has them!
  • Code hinting (autocomplete suggestions) for above languages
  • Syntax highlighting (obvies…)
  • Selection match highlighting
  • Brace match highlighting
  • Brace / Tag completion
  • Brace / Tag folding
  • Import and use any Javascript library (image ex: three.js)
  • Import or Drag and Drop images for use in Processing and Javascript tabs (it’s a cat!)
  • Built in webcam module (data-webcam=”true”)
  • Fullscreen mode
  • Mobile friendly
  • Export .zip of all tabs in tidy project folder
  • Setup in HTML markup using: data-option=”value” (easy as pie!)
Posted in Works, Code, News, Processing | 1 Response

Close a Twitter Bootstrap Popover when Clicking Outside

A vexing topic for me and a bunch of other people on stackoverflow, the problem being that Twitter Bootstrap Popovers don’t close when you click outside to anywhere else on the document.

This might not be your desired outcome, simply: when clicking outside a popover, wouldn’t you want it to close?

The code below makes this possible:


$('body').on('click', function (e) {
    $('[data-toggle="popover"]').each(function () {
        //the 'is' for buttons that trigger popups
        //the 'has' for icons within a button that triggers a popup
        if (!$(this).is( && $(this).has( === 0 && $('.popover').has( === 0) {

A note about the use of $(':not(#anything)') as my body selector. This is due to iOS not binding click events to ‘html’ or ‘body’.

To put it short, this is a bulletproof way to detect clicks anywhere on the document (providing you don’t have a div with an id of ‘anything’).

Live Example Here

Posted in Bootstrap, Code | 30 Responses