Skip to content

Instantly share code, notes, and snippets.

@arthurtsang
arthurtsang / gist:d1c77f7a84443d893646
Created February 9, 2015 00:48
Ratpack 0.9.13 main
public class MyAppMain {
private final static Logger logger = LoggerFactory.getLogger(MyAppMain.class);
private final static String ENV_PREFIX_PROPERTY = "MYAPP_ENV_PREFIX";
private final static String ENV_PREFIX_DEFAULT = "MYAPP_";
public static void main(String[] args) {
String propertyPrefix = System.getenv().getOrDefault(ENV_PREFIX_PROPERTY, ENV_PREFIX_DEFAULT);
ConfigData configData = ConfigData.of()
.yaml(ClassLoader.getSystemResource("application.yaml"))
@arthurtsang
arthurtsang / gist:f7a3f3bd4af39c789c28
Created February 9, 2015 00:55
simple application.yaml for ratpack
server:
port: 9500
idol:
host: localhost
indexPort: 9001
searchPort: 9000
@arthurtsang
arthurtsang / gist:403ebbacee3cf5497187
Created February 9, 2015 01:01
Ratpack 0.9.13 HandlerFactory
public class HandlerFactory implements ratpack.launch.HandlerFactory{
private final static Logger logger = LoggerFactory.getLogger(HandlerFactory.class);
private ConfigData configData;
public HandlerFactory(ConfigData configData) {
this.configData = configData;
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
@arthurtsang
arthurtsang / gist:9470ffac0d0f9a674984
Created February 9, 2015 01:05
Ratpack 0.9.13 IdolConfig
import lombok.Data;
@Data
public class IdolConfig {
String host;
int indexPort;
int searchPort;
}
@arthurtsang
arthurtsang / introrx.md
Created January 31, 2017 19:20 — forked from staltz/introrx.md
The introduction to Reactive Programming you've been missing
@arthurtsang
arthurtsang / conv_deconv_variational_autoencoder.py
Created February 14, 2017 06:29 — forked from Newmu/conv_deconv_variational_autoencoder.py
Prototype code of conv/deconv variational autoencoder, probably not runable, lots of inter-dependencies with local codebase =/
import theano
import theano.tensor as T
from theano.sandbox.rng_mrg import MRG_RandomStreams as RandomStreams
from theano.tensor.signal.downsample import max_pool_2d
from theano.tensor.extra_ops import repeat
from theano.sandbox.cuda.dnn import dnn_conv
from time import time
import numpy as np
from matplotlib import pyplot as plt
@arthurtsang
arthurtsang / gmail-html.utils.ts
Last active August 30, 2019 18:14
Extracting HTML from GMail
/**
* search for email with gmailSearchQuery (e.g. "to: [email protected] subject: spam")
* and get the raw content of the mail
*/
async searchEmail(gmailSearchQuery: string): Promise<any[]> {
const auth = await this.authorize();
const gmail = google.gmail({ version: 'v1', auth });
return new Promise((resolve, reject) => {
gmail.users.messages.list(
{
@arthurtsang
arthurtsang / app.po.ts
Last active August 30, 2019 17:08
Simple utility class for protractor
import { browser, ElementFinder, ExpectedConditions, ProtractorBrowser, by } from 'protractor';
export const defaultTimeout = 10000;
export class AppPo {
browserWindow: ProtractorBrowser;
constructor(browserWindow: ProtractorBrowser = browser) {
this.browserWindow = browserWindow;
}
@arthurtsang
arthurtsang / gmail-auth.utils.ts
Created August 30, 2019 16:59
authorize and get token from gmail api using protractor
import gmailCred from '../resources/gmail.credentials.json';
import { gmail_v1, google } from 'googleapis';
import * as fs from 'fs';
import { OAuth2Client } from 'google-auth-library';
import { browser, by, ElementFinder } from 'protractor';
// If modifying these scopes, delete token.json.
const SCOPES = ['https://www.googleapis.com/auth/gmail.readonly'];
// The file token.json stores the user's access and refresh tokens, and is
// created automatically when the authorization flow completes for the first
@arthurtsang
arthurtsang / Dockerfile
Last active September 25, 2019 06:48
Dockerfile for Git Server
FROM nextflow:19.07.0
# copy nextflow pipeline to /bfx/nextflow
ADD . /bfx/nextflow
# install git (and configure it), nginx, fcgiwrap and apache2-utils
RUN apt-get update && \
apt-get install -y git && \
git config --global user.email "[email protected]" && \
git config --global user.name "company admin" && \