Skip to content

Instantly share code, notes, and snippets.

@lucassus
lucassus / machine.js
Last active April 13, 2021 11:44
Generated by XState Viz: https://xstate.js.org/viz
const vcrMachine = new Machine(
{
id: "videoMachine",
initial: "idle",
context: {
url: null,
video: null,
duration: 0,
elapsed: 0
},
@lucassus
lucassus / http.ts
Last active October 23, 2020 02:30
Angular 2 http retry logic
import { Injectable } from "angular2/core";
import { Headers, Http, Response, RequestOptionsArgs, URLSearchParams, RequestMethod } from "angular2/http";
import { Observable } from "rxjs/Observable";
import { SessionStorage } from "./session_storage.service";
import { Router } from "angular2/router";
@Injectable()
export class HttpClient {
export const fetchUser = createAsyncThunk<Cleaner>(
"authentication/fetchUser",
async () => {
const cleaner = await authenticationApi.fetchUser();
return cleaner;
}
);
@lucassus
lucassus / machine.js
Created February 12, 2020 15:18
Generated by XState Viz: https://xstate.js.org/viz
Machine({
initial: "idle",
states: {
idle: {
invoke: {
src: "fetchUser",
onDone: {
target: "mainApp"
},
onError: {
# Sets item2 tab color (rgb)
iterm_set_tab_color() {
if [ $# -eq 0 ]; then
# Reset tab color if called with no arguments
echo -ne "\033]6;1;bg;*;default\a"
return 0
fi
echo -ne "\033]6;1;bg;red;brightness;${1}\a"
echo -ne "\033]6;1;bg;green;brightness;${2}\a"
@lucassus
lucassus / bayesian rating
Created June 6, 2018 06:18 — forked from latompa/bayesian rating
bayesian rating
-- building on data from my scenario http://gist.github.com/44489
-- and bayesian rating http://www.thebroth.com/blog/118/bayesian-rating
assume we have a products table and we want to sort products based on their rating.
With bayesian rating, you get better weighting, so that a single 5 star vote won't show up as "top product"
select * from products;
mysql> select * from products;
+------+--------+---------------+--------------+---------+
| id | name | ratings_count | total_rating | weight |
const { includes, last, lowerCase, padStart } = require("lodash");
const babylon = require("babylon");
const generator = require("babel-generator").default;
const t = require("babel-types");
const traverse = require("babel-traverse").default;
const fs = require("fs");
const path = require("path");
const prettier = require("prettier");
import { async, TestBed } from '@angular/core/testing';
import {
BaseRequestOptions,
ConnectionBackend,
Http,
RequestMethod,
Response,
ResponseOptions
} from '@angular/http';
import { MockBackend, MockConnection } from '@angular/http/testing';
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>Simple Line Graph using SVG and d3.js</title>
<script src="http://mbostock.github.com/d3/d3.v2.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/ui-lightness/jquery-ui.css" type="text/css" media="all" />
require 'selenium-webdriver'
require 'selenium/webdriver/remote/http/curb'
Capybara.register_driver :selenium do |app|
client = Selenium::WebDriver::Remote::Http::Curb.new
Capybara::Selenium::Driver.new(app, http_client: client)
end
Capybara.javascript_driver = :selenium