Skip to content

Instantly share code, notes, and snippets.

View sballesteros's full-sized avatar

Sebastien Ballesteros sballesteros

View GitHub Profile
@sballesteros
sballesteros / machine.js
Last active March 2, 2021 03:13
State machine for the Chrome Change back to Google Search dialogue
Machine(
{
id: 'ChromeChangeBackToGoogleSearchDialogue',
initial: 'vanilla',
context: {
hadGoogleAsDefaultSearchEngine: true,
userActionedDialogue: false,
dialogueWasDisplayedDuringSession: false,
searchProvider: 'Google',
extensionSearchProvider: 'Google',
@sballesteros
sballesteros / slider.js
Created February 10, 2021 23:18
React Slider
import React, {
useState,
useEffect,
useCallback,
useRef,
useContext
} from 'react';
import classNames from 'classnames';
import PropTypes from 'prop-types';
import styles from './slider.module.css';
@sballesteros
sballesteros / machine.js
Last active November 17, 2020 01:58
DDG onboarding machine (desktop)
Machine(
{
id: 'DesktopOnboarding',
initial: 'vanilla',
context: {
canShowExtensionWelcomeBanner: true,
hasExtension: false,
hasDismissedExtensionPopup: false,
hasDismissedAppPopup: false,
hasSeenAppPromoForALongTime: false

Keybase proof

I hereby claim:

  • I am sballesteros on github.
  • I am sballesteros (https://keybase.io/sballesteros) on keybase.
  • I have a public key ASADULHXGdZmKxYZGQGkHoG7-7B1R43VV7u6ybuUJ8x3_go

To claim this, I am signing this object:

@sballesteros
sballesteros / rep.js
Last active August 29, 2015 14:17
testing CouchDB to PouchDB replication
var assert = require('assert');
var PouchDB = require('pouchdb');
window.db = db = new PouchDB('rep');
window.remote = remote = new PouchDB('http://127.0.0.1:5984/testrep/');
remote.bulkDocs([
{
_id: '_design/d',
filters: {
var pubListener = 'tcp://127.0.0.1:5555';
var subListener = 'tcp://127.0.0.1:5556';
var hwm = 1000;
var verbose = 0;
// The xsub listener is where pubs connect to
var subSock = zmq.socket('xsub');
subSock.identity = 'subscriber' + process.pid;
subSock.bindSync(subListener);
@sballesteros
sballesteros / jsonld-framer-stream.js
Last active August 29, 2015 14:15
jsonld framer stream
var Framer = require('jsonld-framer-stream'); //TO BE DONE...
var ldf = require('ldf-client');
//all the headlines of the volume 4 of PLOS ONE
var query = 'SELECT * { ' + arq.join(' ') + ' } LIMIT 100';
var arq = [
'?s a schema:ScholarlyArticle .',
'?s schema:headline ?o .',
'?s schema:isPartOf ?volume .',
'?volume schema:volumeNumber 4 .',
npm config set spin=false
npm config set loglevel=http
@sballesteros
sballesteros / main.js
Created September 26, 2014 02:47
Compute checksums (SHA1 and MD5) by chunks in the browser using the FileReader API
var webworkify = require('webworkify');
var worker = webworkify(require('./worker'));
worker.postMessage({id:0, file:file}) //file comes from <input type="file"/> and co.
@sballesteros
sballesteros / gist:8226631
Last active January 2, 2016 00:49
json-ld @type expansion
http://json-ld.org/playground/?json-ld=%7B%22%40context%22%3A%7B%22%40base%22%3A%22http%3A%2F%2Fregistry.standardanalytics.io%22%2C%22sch%22%3A%22http%3A%2F%2Fschema.org%2F%22%2C%22name%22%3A%22sch%3Aname%22%2C%22dependencies%22%3A%7B%22%40id%22%3A%22http%3A%2F%2Fschema.standardanalytics.io%2Fdependencies%22%2C%22%40type%22%3A%22%40id%22%2C%22%40container%22%3A%22%40set%22%7D%2C%22resources%22%3A%7B%22%40id%22%3A%22http%3A%2F%2Fschema.standardanalytics.io%2Fresources%22%2C%22%40type%22%3A%22sch%3ADataSet%22%2C%22%40container%22%3A%22%40set%22%7D%7D%2C%22%40type%22%3A%22sch%3ADataCatalog%22%2C%22name%22%3A%22dpkg%22%2C%22dependencies%22%3A%5B%22mydpkg%2F0.0.1%22%2C%22another-one%2F0.0.3%22%5D%2C%22resources%22%3A%5B%7B%22name%22%3A%22myresource%22%7D%2C%7B%22name%22%3A%22myresource2%22%7D%5D%7D&frame=%7B%7D&context=%7B%7D&startTab=tab-compacted
{
"@context": {
"@base": "http://registry.standardanalytics.io",
"sch": "http://schema.org/",
"name": "sch:name",
"dependencies": {
"@id": "ht