Skip to content

Instantly share code, notes, and snippets.

View fetimo's full-sized avatar

Tim fetimo

View GitHub Profile
@fetimo
fetimo / leif-poc.rb
Created July 9, 2022 21:00
Charging energy -> CO2 output
#!/usr/bin/env ruby
# TODO: Need to work out how to do impact this charging session and impact overall
# <xbar.title>Lush Energy</xbar.title>
# <xbar.version>v1.0</xbar.version>
# <xbar.author>Tim Stone</xbar.author>
# <xbar.author.github>fetimo</xbar.author.github>
# <xbar.desc>This plugin displays the current carbon (gC02equivalent) emmissions per kWh of produced electric energy in the requested country/region </xbar.desc>
# <xbar.dependencies>ruby, CO2 Signal</xbar.dependencies>
@fetimo
fetimo / gateway.js
Created June 7, 2022 08:50
Basic Apollo gateway
import { ApolloServer } from 'apollo-server-micro';
import { ApolloGateway, IntrospectAndCompose } from '@apollo/gateway';
const apolloServer = new ApolloServer({
gateway: new ApolloGateway({
supergraphSdl: new IntrospectAndCompose({
subgraphs: [
{ name: 'saleor', url: process.env.SALEOR_GRAPHQL },
],
}),
@fetimo
fetimo / spelling-test.rb
Created May 24, 2017 21:10
Spelling test
require 'httparty'
WORDS = [
'quixotic',
'abstemious',
'piquancy',
'potentate',
'proselytized',
'parricide',
'épater',
(function (id) {
'use strict';
var container = document.getElementById(id);
if (!container) {
console.warn('No keep-it-on element found on page.');
}
var text = container.textContent.trim();
/**
* Created by yailanderson on 10/06/16.
*/
// install : cordova plugin add https://github.com/Wikitude/wikitude-cordova-plugin.git
(function (angular) {
angular.module('ngCordova.plugins.wikitudePlugin', [])
.factory('$wikitudePlugin', ['$q', '$window', '$exceptionHandler', function ($q, $window, $exceptionHandler) {
@fetimo
fetimo / package.json
Created April 17, 2016 10:13
CSS Modules package.json
{
"name": "css-modules-demo",
"version": "1.0.0",
"description": "Showing off CSS Modules.",
"main": "src/index.js",
"scripts": {
"test": "webpack",
"start": "webpack-dev-server",
"clean": "rm -rf dist",
"build": "npm run clean && webpack -p"
@fetimo
fetimo / recipes.js
Created January 30, 2016 10:44
Recipe data
var recipes = [{"publisher": "The Pioneer Woman", "f2f_url": "http://food2fork.com/view/47024", "title": "Perfect Iced Coffee", "source_url": "http://thepioneerwoman.com/cooking/2011/06/perfect-iced-coffee/", "recipe_id": "47024", "image_url": "http://static.food2fork.com/icedcoffee5766.jpg", "social_rank": 100.0, "publisher_url": "http://thepioneerwoman.com"}, {"publisher": "Closet Cooking", "f2f_url": "http://food2fork.com/view/35382", "title": "Jalapeno Popper Grilled Cheese Sandwich", "source_url": "http://www.closetcooking.com/2011/04/jalapeno-popper-grilled-cheese-sandwich.html", "recipe_id": "35382", "image_url": "http://static.food2fork.com/Jalapeno2BPopper2BGrilled2BCheese2BSandwich2B12B500fd186186.jpg", "social_rank": 100.0, "publisher_url": "http://closetcooking.com"}, {"publisher": "The Pioneer Woman", "f2f_url": "http://food2fork.com/view/47319", "title": "Crash Hot Potatoes", "source_url": "http://thepioneerwoman.com/cooking/2008/06/crash-hot-potatoes/", "recipe_id": "47319", "image_url": "http:
@fetimo
fetimo / endangered-species.json
Last active December 31, 2015 11:19
A JSON representation of endangered species in the UK. Includes common name, Latin name, description (usually location), IUCN conservation status code, and kingdom (although this isn't scientifically accurate).
{
"records": [
{
"common_name": "Bottlenose dolphin",
"latin_name": "Tursiops truncatus",
"description": "warm and temperate seas worldwide",
"conservation_status": "LC",
"kingdom": "mammal"
},
{
@fetimo
fetimo / Class Manipulation
Last active December 11, 2015 05:58
A simple collection of functions to add classes, remove classes, and toggle classes on elements.
var Class = (function() {
'use strict';
function addClass(el, className) {
/**
* Adds a string to the class name.
*
* @param {Node} el Any element
* @param {String} className The new class name to add
@fetimo
fetimo / localstorage-and-progress-meter.js
Created February 18, 2012 17:54
A quick way to attach a progress meter to checked inputs and store them locally
(function() {
var inputs = document.getElementsByTagName('input'),
j = inputs.length,
checkedBoxes = 0;
//adds click event listener to each input
for (var i = 0; i < j; i += 1) {
inputs[i].addEventListener("click", function(){changeState(this);});
if (inputs[i].checked == true) checkedBoxes += 1;
}