| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1"> | |
| <title>Signup peekaboo 👻</title> | |
| <script type="module"> | |
| import { Application, Controller } from "https://cdn.jsdelivr.net/npm/@hotwired/[email protected]/+esm"; |
| # frozen_string_literal: true | |
| # config/initializers/colorized_logger.rb | |
| # This initializer adds color to the Rails logger output. It's a nice way to | |
| # visually distinguish log levels. | |
| module ColorizedLogger | |
| COLOR_CODES = { | |
| debug: "\e[36m", # Cyan | |
| info: "\e[32m", # Green | |
| warn: "\e[33m", # Yellow |
| /* bling.js */ | |
| window.$ = document.querySelector.bind(document); | |
| window.$$ = document.querySelectorAll.bind(document); | |
| Node.prototype.on = window.on = function(name, fn) { this.addEventListener(name, fn); }; | |
| NodeList.prototype.__proto__ = Array.prototype; | |
| NodeList.prototype.on = function(name, fn) { this.forEach((elem) => elem.on(name, fn)); }; |
| # For SCSS-Lint v0.31.0 | |
| linters: | |
| BangFormat: | |
| enabled: true | |
| space_before_bang: true | |
| space_after_bang: false | |
| BorderZero: |
A while ago I did some rage tweeting about job ads. Here is a list of helpful things people sent me to read then and since:
- (diverse hiring generally) https://modelviewculture.com/pieces/25-tips-for-diverse-hiring
- (hiring and retaining women) http://geekfeminism.wikia.com/wiki/HOWTO_recruit_and_retain_women_in_tech_workplaces
- (Buzzfeed's approach to building a diverse team) http://www.buzzfeed.com/bensmith/what-were-doing-to-keep-building-a-diverse-editorial-operati#3jjmnvr
I say "animated gif" but in reality I think it's irresponsible to be serving "real" GIF files to people now. You should be serving gfy's, gifv's, webm, mp4s, whatever. They're a fraction of the filesize making it easier for you to deliver high fidelity, full color animation very quickly, especially on bad mobile connections. (But I suppose if you're just doing this for small audiences (like bug reporting), then LICEcap is a good solution).
- Launch quicktime player
- do Screen recording
| <script type="text/javascript"> | |
| (function () { | |
| "use strict"; | |
| // once cached, the css file is stored on the client forever unless | |
| // the URL below is changed. Any change will invalidate the cache | |
| var css_href = './index_files/web-fonts.css'; | |
| // a simple event handler wrapper | |
| function on(el, ev, callback) { | |
| if (el.addEventListener) { | |
| el.addEventListener(ev, callback, false); |
(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.
| <script type="text/javascript"> | |
| (function () { | |
| "use strict"; | |
| // once cached, the css file is stored on the client forever unless | |
| // the URL below is changed. Any change will invalidate the cache | |
| var css_href = './index_files/web-fonts.css'; | |
| // a simple event handler wrapper | |
| function on(el, ev, callback) { | |
| if (el.addEventListener) { | |
| el.addEventListener(ev, callback, false); |
