The always enthusiastic and knowledgeable mr. @jasaltvik shared with our team an article on writing (good) Git commit messages: How to Write a Git Commit Message. This excellent article explains why good Git commit messages are important, and explains what constitutes a good commit message. I wholeheartedly agree with what @cbeams writes in his article. (Have you read it yet? If not, go read it now. I'll wait.) It's sensible stuff. So I decided to start following the
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# !/usr/bin/env python | |
# -*- coding: utf-8; py-indent-offset:4 -*- | |
from __future__ import (absolute_import, division, print_function, | |
unicode_literals) | |
import sys | |
import time | |
from datetime import datetime, timedelta | |
import backtrader as bt | |
import ccxt |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Install Oracle Java 8 | |
FROM ubuntu:16.04 | |
MAINTAINER Huong Nguyen [email protected] | |
# Update the package repository | |
RUN echo "deb http://archive.ubuntu.com/ubuntu xenial main universe" > /etc/apt/sources.list | |
RUN apt-get -y update | |
# Install python-software-properties | |
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q python-software-properties software-properties-common |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import zmq | |
def main(): | |
try: | |
context = zmq.Context(1) | |
frontend = context.socket(zmq.SUB) | |
frontend.bind('tcp://*:5559') | |
frontend.setsockopt(zmq.SUBSCRIBE, '') |
Here are a list of headless browsers that I know about:
- [HtmlUnit][1] - Java. Custom browser engine. JavaScript support/DOM emulated. Open source.
- [Ghost][2] - Python only. WebKit-based. Full JavaScript support. Open source.
- [Twill][3] - Python/command line. Custom browser engine. No JavaScript. Open source.
- [PhantomJS][4] - Command line/all platforms. WebKit-based. Full JavaScript support. Open source.
- [Awesomium][5] - C++/.Net/all platforms. Chromium-based. Full JavaScript support. Commercial/free.
- [SimpleBrowser][6] - .Net 4/C#. Custom browser engine. No JavaScript support. Open source.
- [ZombieJS][7] - Node.js. Custom browser engine. JavaScript support/emulated DOM. Open source.
- [EnvJS][8] - JavaScript via Java/Rhino. Custom browser engine. JavaScript support/emulated DOM. Open source.