Relay | Apollo | |
---|---|---|
Built by | Facebook (Check out the project on GitHub) | Meteor (Check out the project on GitHub) |
Frontend Technologies | Requires React / React Native and configuration of Babel plugin | Framework and platform agnostic (works with any JS framework such as React, Angular or Vue as well as on the native mobile platforms) |
GraphQL API | Requires a certain structure in the GraphQL schema | Works with any GraphQL schema |
Complexity | Slow learning curve: Lots of powerful magic happening behind the scenes | Low entrance barrier: Let's you get started quickly and involves more manual work for certain features |
Flexibility | Almost no flexibility, strict rules how to |
// Polyfill so we can run this in Node.js as well | |
if (typeof atob !== 'function') { | |
var atob = a => Buffer.from(a, 'base64').toString('binary') | |
var btoa = b => Buffer.from(b).toString('base64'); | |
} | |
// 511 bytes after minify | |
var a=[ | |
["#1b6f3f", "#10c5b4", "#ade4cd", "#29ec19"], | |
["#96bde8", "#246a85", "#3483e4", "#b168f6"], |
var fs = require('fs'); | |
require('shelljs/global'); | |
const EXAMPLES_DIR = './node_modules/three/examples/js' | |
const DEST_DIR = './src/js/lib/three/examples' | |
mkdir('-p', DEST_DIR); | |
const files = [ | |
`${EXAMPLES_DIR}/loaders/GLTFLoader.js`, |
A top-level App
component returns <Button />
from its render()
method.
-
What is the relationship between
<Button />
andthis
in thatButton
’srender()
? -
Does rendering
<Button><Icon /></Button>
guarantee that anIcon
mounts? -
Can the
App
change anything in theButton
output? What and how?
Using Apple’s Aerial Screensavers on Ubuntu After coming across the [Aerial] (https://github.com/JohnCoates/Aerial) screensavers for Mac, and installing them, I decided that I had had enough of the graphics-demos of my Ubuntu Precise system. I hope to provide a simple guide on how to add them to your setup as well.
First, you need to install xscreensaver (for example with aptitude, but your distro should have it):
sudo aptitude install xscreensaver
As soon as I saw the new YouTube Player and its new morphing play/pause button, I wanted to understand how it was made and replicate it myself.
From my analysis it looks like YouTube is using [SMIL animations][1]. I could not get those animations to work on browsers other than Chrome and it appears [that they are deprecated and will be removed][2]. I settled for the following technique:
-
Define the icon
path
elements inside adefs
element so that they are not drawn. -
Draw one icon by defining a
use
element whosexlink:href
attribute points to one of thepath
s defined in the previous step. Simply [changing this attribute to point to the other icon is enough to swap them out][3], but this switch is not animated. To do that, -
Replace the
use
with the actualpath
when the page is loaded.
This is the list of information compiled by scotjl off the Massdrop listed below. | |
Original product drop - https://www.massdrop.com/buy/kc60-mechanical-keyboard Configurator web page - http://123.57.250.164:9128/ | |
Flashing information - https://www.keychatter.com/2015/07/05/programming-the-kc60/ https://github.com/tmk/tmk_keyboard https://geekhack.org/index.php https://github.com/kairyu/tkg-toolkit | |
Reviews - livingspeedbump - https://www.keychatter.com /2015/07/01/review-kc60-3/ | |
USB cable sources - |
/* | |
* Steps | |
* 1. Rename your gulpfile.js to gulpfile.babel.js | |
* 2. Add babel to your package.json (npm install -D babel) | |
* 3. Start writing ES6 in your gulpfile! | |
*/ | |
import gulp from 'gulp'; // ES6 imports! | |
import sass from 'gulp-sass'; | |
var domIsReady = (function(domIsReady) { | |
var isBrowserIeOrNot = function() { | |
return (!document.attachEvent || typeof document.attachEvent === "undefined" ? 'not-ie' : 'ie'); | |
} | |
domIsReady = function(callback) { | |
if(callback && typeof callback === 'function'){ | |
if(isBrowserIeOrNot() !== 'ie') { | |
document.addEventListener("DOMContentLoaded", function() { | |
return callback(); |
# oh-my-zsh Customized Bureau Theme | |
### NVM | |
ZSH_THEME_NVM_PROMPT_PREFIX="(node-" | |
ZSH_THEME_NVM_PROMPT_SUFFIX=")" | |
### RVM | |
ZSH_THEME_RVM_PROMPT_PREFIX="(" | |
ZSH_THEME_RVM_PROMPT_SUFFIX="" |