Skip to content

Instantly share code, notes, and snippets.

Avatar
🌎

Steve Gattuso stevenleeg

🌎
View GitHub Profile
@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
View airvisual.py
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
View citibike_stations.py
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
View disable.fish
#!/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!
View tictactoe.rb
# A nice helper
class String
def is_number?
true if Float(self) rescue false
end
end
class Board
def initialize
@board = [
@stevenleeg
stevenleeg / auth.rb
Last active February 17, 2019 18:29
Standard Notes authentication in ruby
View auth.rb
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(":"))
View 1. services-clients.js
import {generateRestfulTransitions} from 'utils/restful-transitions';
import translateTransitions from 'utils/translate-transitions';
const {
transitions: restfulTransitions,
initialState: restfulInitialState,
} = generateRestfulTransitions({
singularNoun: 'client',
pluralNoun: 'clients',
});
View 1. pages-clients-configuration-transitions.js
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: '',
});
View gist:5bf9670ec6c69dcaa0bc
/srv/http/localhost/rochack
From https://github.com/rochack/rochack.org
54edf6a..6031486 master -> origin/master
HEAD is now at 6031486 Removing stale image
/usr/lib/ruby/2.3.0/rubygems/dependency.rb:319:in `to_specs': Could not find 'jekyll' (>= 0) among 11 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/srv/http/.gem/ruby/2.3.0:/usr/lib/ruby/gems/2.3.0', execute `gem env` for more information
from /usr/lib/ruby/2.3.0/rubygems/dependency.rb:328:in `to_spec'
from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_gem.rb:65:in `gem'
from /usr/bin/jekyll:22:in `<main>'
View letter.txt
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
View awesome.swift
let itsATextInput: UITextInput = {
let input = UITextInput()
input.customProperty = "lol"
input.wat = .HelloWorld
// etc...
return input
}()