In addition to the techniques described in the
Asynchronous Routing Guide,
the Ember Router provides powerful yet overridable
conventions for customizing asynchronous transitions
between routes by making use of error
and loading
substates.
/* node UPNP port forwarding PoC | |
This is a simple way to forward ports on NAT routers with UPNP. | |
This is a not-for-production hack that I found useful when testing apps | |
on my home network behind ny NAT router. | |
-satori | |
usage: |
/* | |
Older email clients and (some) webmail clients (Gmail!) will apply | |
this rule. Some clients (like older Lotus Notes) don't | |
support background-color on links, so I didn't want white | |
links on a white background. | |
*/ | |
a.button { | |
background-color: #FFFFFF; | |
color: #d9286b; | |
} |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
iron_mq = require 'iron_mq' | |
Promises = require 'bluebird' | |
Promises.promisifyAll iron_mq.Client.prototype; # here be magick | |
# Example | |
imq = new iron_mq.Client | |
project_id: 'dsdadasdasdas' | |
token: 'lqwe7skjancc' | |
queue = imq.queue 'myQueue' |
defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Max (editable)" 80 | |
defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" 48 | |
defaults write com.apple.BluetoothAudioAgent "Apple Initial Bitpool (editable)" 40 | |
defaults write com.apple.BluetoothAudioAgent "Negotiated Bitpool" 48 | |
defaults write com.apple.BluetoothAudioAgent "Negotiated Bitpool Max" 53 | |
defaults write com.apple.BluetoothAudioAgent "Negotiated Bitpool Min" 48 | |
defaults write com.apple.BluetoothAudioAgent "Stream – Flush Ring on Packet Drop (editable)" 30 | |
defaults write com.apple.BluetoothAudioAgent "Stream – Max Outstanding Packets (editable)" 15 | |
defaults write com.apple.BluetoothAudioAgent "Stream Resume Delay" "0.75" |
I recently had several days of extremely frustrating experiences with service workers. Here are a few things I've since learned which would have made my life much easier but which isn't particularly obvious from most of the blog posts and videos I've seen.
I'll add to this list over time – suggested additions welcome in the comments or via twitter.com/rich_harris.
Chrome 51 has some pretty wild behaviour related to console.log
in service workers. Canary doesn't, and it has a load of really good service worker related stuff in devtools.
const puppeteer = require('puppeteer'); | |
(async () => { | |
const browser = await puppeteer.launch(); | |
const page = await browser.newPage(); | |
// Adjustments particular to this page to ensure we hit desktop breakpoint. | |
page.setViewport({width: 1000, height: 600, deviceScaleFactor: 1}); | |
await page.goto('https://www.chromestatus.com/samples', {waitUntil: 'networkidle'}); |
Hey everyone - this is not just a one off thing, there are likely to be many other modules in your dependency trees that are now a burden to their authors. I didn't create this code for altruistic motivations, I created it for fun. I was learning, and learning is fun. I gave it away because it was easy to do so, and because sharing helps learning too. I think most of the small modules on npm were created for reasons like this. However, that was a long time ago. I've since moved on from this module and moved on from that thing too and in the process of moving on from that as well. I've written way better modules than this, the internet just hasn't fully caught up.
@broros
otherwise why would he hand over a popular package to a stranger?
If it's not fun anymore, you get literally nothing from maintaining a popular package.
One time, I was working as a dishwasher in a restu