Install homebrew https://brew.sh/
brew cask install homebrew/cask-versions/adoptopenjdk8
brew cask install android-sdk
#!/bin/bash | |
# Set up a Raspberry Pi 4 as a USB-C Ethernet Gadget | |
# Based on: | |
# - https://www.hardill.me.uk/wordpress/2019/11/02/pi4-usb-c-gadget/ | |
# - https://pastebin.com/VtAusEmf | |
if ! $(grep -q dtoverlay=dwc2 /boot/config.txt) ; then | |
echo "Add the line dtoverlay=dwc2 to /boot/config.txt" | |
exit | |
fi |
brew cask install homebrew/cask-versions/adoptopenjdk8
brew cask install android-sdk
import { ApolloServer, gql } from 'apollo-server-micro'; | |
const typeDefs = gql` | |
type Query { | |
sayHello: String | |
} | |
`; | |
const resolvers = { | |
Query: { |
// @flow | |
import React, { Component } from 'react' | |
import type { Node } from 'react' | |
import { StyleSheet, Text, View } from 'react-native' | |
import { default as Modal } from 'react-native-modal' | |
import { styles } from './styles.js' | |
// CONTAINER ///////////////////////////////////////////////////////////////////////////// |
Operator Mono w/ Italics on OSX Vim
#Why Functional Programming Matters (to me)
This is my response to being asked not to use functional programming techniques.
###What I mean by "Functional Programming" Different people mean different things by "Functional Programming". Here's what it means to me:
The issue:
..mobile browsers will wait approximately 300ms from the time that you tap the button to fire the click event. The reason for this is that the browser is waiting to see if you are actually performing a double tap.
(from a new defunct https://developers.google.com/mobile/articles/fast_buttons article)
touch-action
CSS property can be used to disable this behaviour.
touch-action: manipulation
The user agent may consider touches that begin on the element only for the purposes of scrolling and continuous zooming. Any additional behaviors supported by auto are out of scope for this specification.
/* | |
##Device = Desktops | |
##Screen = 1281px to higher resolution desktops | |
*/ | |
@media (min-width: 1281px) { | |
/* CSS */ | |
All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.
Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.
elem.offsetLeft
, elem.offsetTop
, elem.offsetWidth
, elem.offsetHeight
, elem.offsetParent
var obj = {b: 3, c: 2, a: 1}; | |
_.sortKeysBy(obj); | |
// {a: 1, b: 3, c: 2} | |
_.sortKeysBy(obj, function (value, key) { | |
return value; | |
}); | |
// {a: 1, c: 2, b: 3} |