https://jira.dev.bbc.co.uk/browse/NEWS-0000
- #0000
| // Paste this into https://preactjs.com/repl to see it working | |
| // This function takes any component, and returns a higher-order (wrapper) | |
| // component. This wrapper attempts to render the wrapped component, catching | |
| // any errors. | |
| const safeComponent = (Component) => function WrappedComponent () { | |
| // Handle both class components and stateless functional components | |
| const wrappedRender = Component.prototype.render || Component | |
| try { |
| import React from 'react' | |
| import ReactDOM from 'react-dom' | |
| const hydrateComponent = (scriptEl) => { | |
| const componentId = scriptEl.getAttribute('data-hydration-data-id') | |
| const componentElement = document.querySelector(`[data-hydration-component-id="${componentId}"]`) | |
| const props = JSON.parse(scriptEl.innerHTML) | |
| import(componentId).then(Component => ReactDOM.render(<Component {...props} />, componentElement)) | |
| } |
| var page = require('webpage').create() | |
| var system = require('system') | |
| if (system.args.length === 1) { | |
| console.log('Usage: morph-style-checker.js <URL>') | |
| phantom.exit(1) | |
| } | |
| var url = system.args[1] |
| #!/usr/bin/env bash | |
| # Generate an ED25519 key and display the public key | |
| ssh-keygen -o -a 100 -t ed25519 | |
| cat ~/.ssh/id_ed25519.pub | |
| read -p 'You should add your public key to GitHub now. Press any key to continue...' | |
| read -p 'Now you will generate a GPG key. Please use RSA/RSA with a keysize of 4096 bits. Press any key to continue...' | |
| gpg --default-new-key-algo rsa4096 --gen-key |
| REGISTRY=registry.yourdomain.com | |
| # You may want/need to pull the latest images on a machine which has access to the registry | |
| docker pull $REGISTRY/foo | |
| docker pull $REGISTRY/bar | |
| # You can save the images as tarballs and distribute them as you please | |
| docker save --output=/home/user/images/foo.tar $REGISTRY/foo | |
| docker save --output=/home/user/images/bar.tar $REGISTRY/bar |
| (function() { | |
| 'use strict' | |
| var container = document.querySelector('.post-content') | |
| var items = container.querySelectorAll('[data-collection-item]') | |
| [].slice.call(items).forEach(function(item) { | |
| // ... | |
| }) |
| // Fuck the addition operator. Real programmers work in binary! | |
| function add(a, b) { | |
| // XOR to get the sum of the bits | |
| var sum = a ^ b; | |
| // "Carry" bits are common to both numbers | |
| var carry = (a & b) << 1; | |
| if (sum & carry) { | |
| // Rinse and repeat until there are no leftover bits |