The tree
layout implements the Reingold-Tilford algorithm for efficient, tidy arrangement of layered nodes. The depth of nodes is computed by distance from the root, leading to a ragged appearance. Cartesian orientations are also supported. Implementation based on work by Jeff Heer and Jason Davies using Buchheim et al.'s linear-time variant of the Reingold-Tilford algorithm. Data shows the Flare class hierarchy, also courtesy Jeff Heer.
CREATE TABLE `user` ( | |
`twitter_id` int(10) unsigned NOT NULL, | |
`created_at` timestamp NOT NULL default '0000-00-00 00:00:00', | |
`name` varchar(80) NOT NULL, | |
`screen_name` varchar(30) NOT NULL, | |
`location` varchar(120) default NULL, | |
`description` varchar(640) default NULL, | |
`profile_image_url` varchar(400) NOT NULL, | |
`url` varchar(100) default NULL, |
<?php | |
class CalendarEvent { | |
/** | |
* | |
* The event ID | |
* @var string | |
*/ | |
private $uid; |
var getData = function(callback) { | |
$.getJSON('https://api.twitter.com/1/users/show.json?screen_name=brunch&callback=?').done(function(twitter) { | |
$.getJSON('https://api.github.com/repos/brunch/brunch').done(function(github) { | |
callback({github: github.watchers, twitter: twitter.followers_count}); | |
}); | |
}); | |
}; | |
getData(); |
// js-ajax-parallel-load-pages.js | |
// Deps: jQuery, underscore, async.js | |
// Gets HTML from all URLs, parses it, makes DOM query with CSS selector and returns the info. | |
// urls - urls to get data | |
// selector - DOM query that will be executed on every url HTML | |
// itemHandler - function that will be executed on every matched element with selector | |
// | |
// Examples: |
// create a 2d array | |
function createGrid(rows, columns) { | |
var grid = new Array(rows); | |
for(var i = 0; i < rows; i++) { | |
grid[i] = new Array(columns); | |
for(var j = 0; j < columns; j++) { | |
grid[i][j] = 0; | |
} | |
} | |
return grid; |
// create a 2d array | |
function createGrid(rows, columns) { | |
var grid = new Array(rows); | |
for(var i = 0; i < rows; i++) { | |
grid[i] = new Array(columns); | |
for(var j = 0; j < columns; j++) { | |
grid[i][j] = 0; | |
} | |
} | |
return grid; |
if (typeof window.localStorage == 'undefined' || typeof window.sessionStorage == 'undefined') (function () { | |
var Storage = function (type) { | |
function createCookie(name, value, days) { | |
var date, expires; | |
if (days) { | |
date = new Date(); | |
date.setTime(date.getTime()+(days*24*60*60*1000)); | |
expires = "; expires="+date.toGMTString(); |
This article will explain how to set up a secure web server with NodeJS which only accepts connection from users with SSL certificates that you have signed. This is an efficient way to ensure that no other people are able to access the web server, without building a login system which will be significantly weaker.
I will not explain how to create a certificate authority (CA), create certificates or sign them. If you need to read up on this, have a look at this excelent article on how to do it with OpenSSL (Mac and Linux): https://help.ubuntu.com/community/OpenSSL#Practical_OpenSSL_Usage It is also possible to do this on a MAC with the keychain application, and I assume it is possible on a Windows machine aswell.
This architecture will allow you to have one web server communicating with an array of trusted clients, the web server itself can be on the public internet, that will not decrease the level of security, but it will only ser