I hereby claim:
- I am robla on github.
- I am robla (https://keybase.io/robla) on keybase.
- I have a public key ASCNQx8NKhpIwCSsDw5BeXa9ojdNLNBkYrdpMcZKOa9ZLAo
To claim this, I am signing this object:
#!/usr/bin/env python | |
# | |
# Copyright (c) 2013 Rob Lanphier, Wikimedia Foundation | |
# | |
# Permission is hereby granted, free of charge, to any person obtaining a copy | |
# of this software and associated documentation files (the "Software"), to deal | |
# in the Software without restriction, including without limitation the rights | |
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
# copies of the Software, and to permit persons to whom the Software is | |
# furnished to do so, subject to the following conditions: |
#!/usr/bin/env python | |
# | |
# Copyright 2016 Rob Lanphier | |
# | |
# Licensed under the Apache License, Version 2.0 (the "License"); | |
# you may not use this file except in compliance with the License. | |
# You may obtain a copy of the License at | |
# | |
# http://www.apache.org/licenses/LICENSE-2.0 | |
# |
#!/usr/bin/python | |
import os | |
import socket | |
import sys | |
import urllib | |
def sftppath(file): | |
fqdn=socket.getfqdn() | |
fullpath=os.path.realpath(os.path.expanduser(file)) | |
return "sftp://" + fqdn + urllib.quote(fullpath) |
Verifying that "roblan.id" is my Blockstack ID. https://onename.com/roblan |
I hereby claim:
To claim this, I am signing this object:
#!/bin/bash | |
# sqlite3-csv: dump an table from sqlite db as csv | |
summary="$0: dump an sqlite db as csv" | |
usageline=" usage: $0 thisdb [thistable]" | |
usage="${summary}\n\n${usageline}\n\n" | |
if [ -z "$1" ]; then | |
printf "$usage" | |
exit; |
#!/usr/bin/env python3 | |
# MIT License | |
# | |
# Copyright (c) 2018 Rob Lanphier | |
# | |
# Permission is hereby granted, free of charge, to any person obtaining a copy | |
# of this software and associated documentation files (the "Software"), to deal | |
# in the Software without restriction, including without limitation the rights | |
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
# copies of the Software, and to permit persons to whom the Software is |
47 AMY+FARAH+WEISS=1 | |
4 AMY+FARAH+WEISS=1&ANGELA+ALIOTO=2 | |
38 AMY+FARAH+WEISS=1&ANGELA+ALIOTO=2&ELLEN+LEE+ZHOU=3 | |
31 AMY+FARAH+WEISS=1&ANGELA+ALIOTO=2&JANE+KIM=3 | |
29 AMY+FARAH+WEISS=1&ANGELA+ALIOTO=2&LONDON+BREED=3 | |
27 AMY+FARAH+WEISS=1&ANGELA+ALIOTO=2&MARK+LENO=3 | |
20 AMY+FARAH+WEISS=1&ANGELA+ALIOTO=2&MICHELLE+BRAVO=3 | |
8 AMY+FARAH+WEISS=1&ANGELA+ALIOTO=2&None=3 | |
15 AMY+FARAH+WEISS=1&ANGELA+ALIOTO=2&RICHIE+GREENBERG=3 | |
1 AMY+FARAH+WEISS=1&ANGELA+ALIOTO=3 |
#!/bin/bash | |
# Very crude tool to tally the output of sfballotparse.py for 2018 in particular | |
# (with hardcoded last names for the top 3 candidates this past election) | |
votefile=${1} | |
if [ ! -f "${votefile}" ]; then | |
echo "${votefile} not found" | |
exit | |
fi |
#!/usr/bin/python3 | |
# Script for generating an answer to this: | |
# <https://www.reddit.com/r/Voting/comments/aqsxft/condorcet_winner_from_counts_of_ranks_possible/> | |
import json | |
import itertools | |
from collections import Counter | |
innerperm = [x for x in itertools.permutations(['P1', 'P2', 'P3'], 3)] |