- Start an AWS EC2 Instance from the Ubuntu 16.04 Amazon image. t3a.micro will do. Open ports 22 and 2443. Assign an elastic IP so it can't change.
- Download the private key for the EC2 instance whilst creating it
- SSH into the server
- Update to the latest
sudo apt-get update
thensudo apt-get upgrade -y
- Install PiVPN
curl -L https://install.pivpn.io | bash
. Make sure to selectTCP
and notUDP
when given the option. Set the port as1194
. The rest can be left as defaults. If the screen does a strange flashy thing try ssh from Cygwin instead. - Install obfsproxy
sudo apt-get install obfsproxy
- Put the attached systemd file at
/lib/systemd/system/obfsproxy.service
- Start the service
sudo systemctl enable obfsproxy
thensudo systemctl start obfsproxy
- Add users with
pivpn add
. Then follow the steps it gives you. - Use
scp
to download the.ovpn
files and put them on relevant devices. You'll need to modify1443
to2443
as the port number in these client config files.
# get from ppa https://launchpad.net/~cassou/+archive/emacs | |
$ sudo apt-get update | |
$ sudo apt-get install | |
$ sudo apt-get purge emacs emacs-snapshot-common emacs-snapshot-bin-common emacs-snapshot emacs-snapshot-el emacs-snapshot-gtk emacs23 emacs23-bin-common emacs23-common emacs23-el emacs23-nox emacs23-lucid auctex apel emacs24 emacs24-bin-common emacs24-common emacs24-common-non-dfsg emacs-el | |
To add this PPA: | |
$ sudo add-apt-repository ppa:cassou/emacs | |
$ sudo apt-get update |
Doing a pip install reportlab
on a relatively new/clean linux setup will probably result in something similar to this:
--------------------------------------------------------------------
PIL SETUP SUMMARY
--------------------------------------------------------------------
version Pillow x.y.z
platform linux2 2.x.y (default, MM dd YYYY, 01:01:01)
brew cask install ngrok
The easiest way to use ngrok to tunnel into your localhost is if your local project is running on a specific port (e.g. not using named vhosts). You just run ngrok http [port number]
.
You can quickly boot up a local webserver using ruby. cd
into the project's root directory and run ruby -run -e httpd . -p [port number]
.
The following is the notes I took years ago on the book Ultralearning
by Scott Young. The bombastic title and promise to learn virtually anything quickly makes it sound as if its the typical marketing-powered fluff-filled nonfiction book stores are overflowing with, but something about this book stuck with me. After finishing it I quickly went back and wrote these thoughts down. While I don't follow his layout of plans regularly, I have used it to guide a lot of my own self education.
I've successfully utilized it when I needed to refresh on mathematics for my Master's degree (a host of skills that atrophied sigificantly for the dozen years between undergrad and the masters). I've also used it to self-study subjects like Robotics and Deep Learning (though I did decide in the end to go for the Master's accreditation).
I share it here with hopes that someone finds it useful.
Here is a high level overview for what you need to do to get most of an Android environment setup and maintained.
Prerequisites (for Homebrew at a minimum, lots of other tools need these too):
- XCode is installed (via the App Store)
- XCode command line tools are installed (
xcode-select --install
will prompt up a dialog) - Java
Install Homebrew:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
Here is a high level overview for what you need to do to get most of an Android environment setup and maintained.
Prerequisites (for Homebrew at a minimum, lots of other tools need these too):
- XCode is installed (via the App Store)
- XCode command line tools are installed (
xcode-select --install
will prompt up a dialog) - Java
Install Homebrew:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
Short (72 chars or less) summary
More detailed explanatory text. Wrap it to 72 characters. The blank
line separating the summary from the body is critical (unless you omit
the body entirely).
Write your commit message in the imperative: "Fix bug" and not "Fixed
bug" or "Fixes bug." This convention matches up with commit messages
We use a form of Git flow to maintain a stable master
branch, and work off feature branches to introduce new features and other code updates. The feature branches are tied to JIRA tickets.
To keep our git log clean and tidy we use git's rebase strategy. That means that instead of merging commits in and out of the master branch (resulting in many ugly merge commits) we always keep our own feature branch's commits on top of the existing master branch commits.
You can read more about the rebase strategy here: https://www.atlassian.com/git/tutorials/merging-vs-rebasing.