Skip to content

Instantly share code, notes, and snippets.

@stevenleeg
stevenleeg / pie.coffee
Last active March 11, 2023 09:23
A simple d3 pie chart widget for Dashing.
class Dashing.Pie extends Dashing.Widget
@accessor 'value'
onData: (data) ->
@render(data.value)
render: (data) ->
if(!data)
data = @get("value")
if(!data)
@stevenleeg
stevenleeg / airvisual.py
Created November 30, 2021 00:38
A simple script for scraping measurements from an AirVisual meter and posting them to a URL
import tempfile
import json
import requests
from smb.SMBConnection import SMBConnection
username = ''
password = ''
host = '0.0.0.0'
conn = SMBConnection(username, password, 'test', host, is_direct_tcp=True)
@stevenleeg
stevenleeg / citibike_stations.py
Last active November 25, 2021 03:02
A simple script for fetching a CSV of active Citibike stations
import pandas as pd
import requests
resp = (
requests
.get('https://gbfs.citibikenyc.com/gbfs/en/station_information.json')
.json()
)
interesting_columns = [
@stevenleeg
stevenleeg / disable.fish
Last active September 12, 2019 21:05
Add /* eslint-disable */ to the top of all javascript files in your project
#!/usr/bin/env fish
for file in js/{,**/*}*.js
set IFS
set content (cat $file)
echo -e "/* eslint-disable */\n$content" > $file
end
@stevenleeg
stevenleeg / tictactoe.rb
Created April 11, 2019 19:14
Tic tac toe, in Ruby!
# A nice helper
class String
def is_number?
true if Float(self) rescue false
end
end
class Board
def initialize
@board = [
let itsATextInput: UITextInput = {
let input = UITextInput()
input.customProperty = "lol"
input.wat = .HelloWorld
// etc...
return input
}()
@stevenleeg
stevenleeg / auth.rb
Last active February 17, 2019 18:29
Standard Notes authentication in ruby
resp = HTTP.use(:auto_inflate).get("#{BASE_URL}/auth/params?email=#{EMAIL}")
auth_params = JSON.parse(resp.body.to_s)
salt = Digest::SHA256.hexdigest([
EMAIL,
"SF",
auth_params["version"],
auth_params["pw_cost"],
auth_params["pw_nonce"],
].join(":"))
import {generateRestfulTransitions} from 'utils/restful-transitions';
import translateTransitions from 'utils/translate-transitions';
const {
transitions: restfulTransitions,
initialState: restfulInitialState,
} = generateRestfulTransitions({
singularNoun: 'client',
pluralNoun: 'clients',
});
import Immutable from 'immutable';
import {put, take} from 'redux-saga/effects';
import {ClientActions, ClientActionTypes} from 'services/clients/transitions';
import {generateFormTransitions} from 'utils/form-transitions';
import translateTransitions from 'utils/translate-transitions';
const initialValues = Immutable.fromJS({
name: '',
});
Hi [represenative name],
As one of your supporting constituents of [town name in district] who is a
worker in the tech community I am very much so hoping that you vote against
Assembly Bill A8093. As a software engineer I can assure you that any effort to
undermine the encryption on devices will have unintended consequences that will
negatively affect our ability to maintain personal privacy and security against
malicious actors (inside and outside of the government/law enforcement).
The proposed bill would require manufacturers to create a backdoor in a