-
Go to https://developer.apple.com/downloads/index.action and search for "Command line tools" and choose the one for your Mac OSX
-
Go to http://brew.sh/ and enter the one-liner into the Terminal, you now have
brew
installed (a better Mac ports) -
Install transmission-daemon with
brew install transmission
-
Copy the startup config for launchctl with
ln -sfv /usr/local/opt/transmission/*.plist ~/Library/LaunchAgents
In some cases for Python unit tests, we want to automatically perform setUp
methods in as declared in a base class. However, we still want setUp
to work as per normal in the subclass. The following code will proxy the new setUp
function to run it's base class' and the new one.
# Define a common test base for starting servers
class MyBaseTestCase(unittest.TestCase):
@classmethod
def setUpClass(cls):
"""On inherited classes, run our `setUp` method"""
# Inspired via http://stackoverflow.com/questions/1323455/python-unit-test-with-base-and-sub-class/17696807#17696807
if cls is not MyBaseTestCase and cls.setUp is not MyBaseTestCase.setUp:
"""XLS -> json converter | |
first: | |
$ pip install xlrd | |
then: | |
$ cat in.xls | |
date, temp, pressure | |
Jan 1, 73, 455 | |
Jan 3, 72, 344 |
class CSVLibrary(object): | |
def read_csv_file(self, filename): | |
file = open(filename, 'r') | |
csvfile = csv.reader(file) | |
file.close | |
return [row for row in csvfile] |
This notes is written by Sheldon. You can find me with #iOSBySheldon in Github, Youtube, Facebook, etc.
Convert .mov/.MP4 to .gif
As a developer, I feel better to upload a short video when I create the pull request to show other viewers what I did in this PR. I tried .mov format directly got after finishing recording screen using Quicktime, however, gif offers preview in most web pages, and has smaller file size.
This is not limited to developer, anyone has this need can use this method to convert the files.
#!/bin/sh | |
# Author: Chad Armstrong | |
# Date: 29 August 2018 | |
# Description: Clear the cached calendars for macOS Calendar | |
# References: | |
# https://michaelkummer.com/technology/fix-calendar-cant-save-event-x-exchange/ | |
# https://wilkinsit.ca/mac-osx/clear-calendar-cache-mac-os/ | |
# https://stackoverflow.com/a/3510850/955122 |
#!/usr/bin/python3 | |
import asyncio | |
import time | |
import socket | |
import argparse | |
import aiohttp | |
class MyConnector(aiohttp.TCPConnector): |
""" | |
This is my understanding of the Anki scheduling algorithm, which I mostly | |
got from watching https://www.youtube.com/watch?v=lz60qTP2Gx0 | |
and https://www.youtube.com/watch?v=1XaJjbCSXT0 | |
and from reading | |
https://faqs.ankiweb.net/what-spaced-repetition-algorithm.html | |
There is also https://github.com/dae/anki/blob/master/anki/sched.py but I find | |
it really hard to understand. | |
Things I don't bother to implement here: the random fudge factor (that Anki |