Skip to content

Instantly share code, notes, and snippets.

@yefim
yefim / Gemfile
Last active Feb 13, 2020
bundle - bundle exec ruby server.rb - bundle exec ruby cdn.rb -p 4321
View Gemfile
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
# gem "rails"
gem 'sinatra'
gem 'sinatra-contrib'
@yefim
yefim / Code.js
Last active Jan 27, 2020
To install into Google Sheets, follow the "Creating a custom function" instructions found here: https://developers.google.com/apps-script/guides/sheets/functions and paste the snippet below into the editor. Follow the instructions to create a personal access token. After you install, use =TOTAL_CONTRIBUTIONS("yefim") in your sheet.
View Code.js
/**
*
* YOUR GITHUB PERSONAL ACCESS TOKEN GOES BELOW!
*
* To create a token, follow these instructions: https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line
* For Step 7, only select the "read:user" scope.
*/
var PERSONAL_ACCESS_TOKEN = 'yourtokengoeshere';
var getDateRange = function(days) {
View main.dart
import 'dart:html';
void main() {
window.onMessage.listen((message) { print('1'); });
window.onMessage.listen((message) { print('2'); });
window.onMessage.listen((message) { print('3'); });
window.onMessage.listen((message) { print('4'); });
window.postMessage({'a': 'b'}, '*');
}
View main.dart
void main() async {
final t1 = () => Future.delayed(Duration(seconds: 1), () => true); // should short circuit
final t2 = () => Future.delayed(Duration(seconds: 3), () => true);
final t3 = () => Future.delayed(Duration(seconds: 2), () => false);
final timers = [t1, t2, t3];
bool isDirty = false;
print('Running');
View main.dart
void main() async {
final t1 = () => Future.delayed(Duration(seconds: 1), () => print('1'));
final t2 = () => Future.delayed(Duration(seconds: 3), () => print('3'));
final t3 = () => Future.delayed(Duration(seconds: 2), () => print('2'));
final timers = [t1, t2, t3];
print('Running');
Stopwatch stopwatch = new Stopwatch()..start();
View main.dart
void main() async {
final t1 = () => Future.delayed(Duration(seconds: 1), () => print('1'));
final t2 = () => Future.delayed(Duration(seconds: 3), () => print('3'));
final t3 = () => Future.delayed(Duration(seconds: 2), () => print('2'));
final timers = [t1, t2, t3];
print('Running');
Stopwatch stopwatch = new Stopwatch()..start();
View spelling-bee-solver.js
const wordListPath = require('word-list'); // https://github.com/sindresorhus/word-list
const readlines = require('gen-readlines'); // https://github.com/neurosnap/gen-readlines
const isSuperset = (set, subset) => {
for (const elem of subset) {
if (!set.has(elem)) {
return false;
}
}
return true;
View promise-or-callback.js
const promiseOrCallback = (cb) => {
if (cb) {
cb('callback');
} else {
return Promise.resolve('promise');
}
};
const main = async () => {
console.log(await promiseOrCallback());
@yefim
yefim / Stylefile.yml
Created Jul 27, 2018
Customizations for yef.im via StyleURL.
View Stylefile.yml
---
version: 1.0
domains:
- yef.im
url_patterns:
- yef.im/*
timestamp: '2018-07-27T06:23:43Z'
id: AsiK
redirect_url: https://yef.im/
shared_via: StyleURL – import and export CSS changes from Chrome Inspector to a Gist
@yefim
yefim / Stylefile.yml
Created Jul 27, 2018
Customizations for yef.im via StyleURL.
View Stylefile.yml
---
version: 1.0
domains:
- yef.im
url_patterns:
- yef.im/*
timestamp: '2018-07-27T06:22:31Z'
id: _miH
redirect_url: https://yef.im/
shared_via: StyleURL – import and export CSS changes from Chrome Inspector to a Gist