This is what we did to setup a few dashboards at platanus
- Raspberry Pi
- Dashing Service
- Wifi stick (optional)
This is what we did to setup a few dashboards at platanus
# Original Rails controller and action | |
class EmployeesController < ApplicationController | |
def create | |
@employee = Employee.new(employee_params) | |
if @employee.save | |
redirect_to @employee, notice: "Employee #{@employee.name} created" | |
else | |
render :new | |
end |
# The blog post that started it all: https://neocities.org/blog/the-fcc-is-now-rate-limited | |
# | |
# Current known FCC address ranges: | |
# https://news.ycombinator.com/item?id=7716915 | |
# | |
# Confirm/locate FCC IP ranges with this: http://whois.arin.net/rest/net/NET-165-135-0-0-1/pft | |
# | |
# In your nginx.conf: | |
location / { |
<div id="main"/> | |
<script type="text/jsx"> | |
/** @jsx React.DOM */ | |
var DragItem = React.createClass({ | |
drag: function(ev) { | |
ev.dataTransfer.setData("draggedItem", JSON.stringify(this.props.item)); | |
}, | |
render: function () { | |
return (<div draggable="true" onDragStart={this.drag} className="item">{this.props.item.text}</div>); | |
} |
// Just paste this into the console on http://www.jshint.com/docs/options/ | |
(function() { | |
var i, row, link, span, extraCol, checkbox, value; | |
var rows = document.querySelectorAll('table.options tr'); | |
var links = document.querySelectorAll('table.options a'); | |
// add checkboxes | |
for (var i = 0; i < rows.length; i++) { | |
row = rows[i]; |
var Application = React.createClass({ | |
childContextTypes: { | |
createProduct: React.PropTypes.func | |
}, | |
getChildContext: function() { | |
return { | |
createProduct: this.createProduct | |
} | |
}, |
(function() { | |
// Do not use this library. This is just a fun example to prove a | |
// point. | |
var Bloop = window.Bloop = {}; | |
var mountId = 0; | |
function newMountId() { | |
return mountId++; | |
} |
First and foremost a coding screencast is about the code, and we need to make sure it looks great. There are a few aspects to this that help ensure that is the case.
720p is the target resolution. In pixel terms this is 1280x720. We've gotten the best results when we record at 2560x1440 in a HiDPI (pixel double) mode, giving an effective visible resolution of 1280x720, but extremely crisp. This resolution is achievable on 27" monitors and retina MBPs.
require 'rubygems' | |
require 'openssl' | |
require 'digest/md5' | |
key = OpenSSL::PKey::RSA.new(2048) | |
cipher = OpenSSL::Cipher::AES.new(256, :CBC) | |
ctx = OpenSSL::SSL::SSLContext.new | |
puts "Spoof must be in DER format and saved as root.cer" | |
raw = File.read "root.cer" | |
cert = OpenSSL::X509::Certificate.new raw | |
cert.version = 2 |
var _log = console.log; | |
window.console.log = function(log){ | |
_log.call(console, log.reverse ? log.reverse() : typeof log === 'string' ? log.split('').reverse().join('') : typeof log === 'number' ? log.toString().split('').reverse().join('') : typeof log === 'boolean' ? !log : log); | |
}; |