Skip to content

Instantly share code, notes, and snippets.

@matthewjackowski
matthewjackowski / browser_remote.py
Created March 23, 2019 21:44
Raspberry Pi Remote Browser
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--noerrdialogs")
chrome_options.add_argument("--disable-infobars")
chrome_options.add_argument("--kiosk")
chrome_options.add_argument("--start-maximized")
chrome_options.accept_untrusted_certs = True
chrome_options.assume_untrusted_cert_issuer = True
import javax.net.ssl.HttpsURLConnection;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
public class Main
{
public static void main(String[] args) {
@matthewjackowski
matthewjackowski / pg-cron-setup.sh
Created July 12, 2017 08:01
Pg-cron on a Amazon AMI
sudo yum -y update
sudo yum -y localinstall https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-ami201503-96-9.6-2.noarch.rpm
sudo yum -y install postgresql96 postgresql96-server
sudo su - postgres -c "/usr/pgsql-9.6/bin/initdb"
sudo service postgresql-9.6 start
curl https://install.citusdata.com/community/rpm.sh | sudo bash
sudo yum install -y pg_cron_96
sudo -u postgres echo "shared_preload_libraries = 'pg_cron'" >> /var/lib/pgsql/9.6/data/postgresql.conf
@matthewjackowski
matthewjackowski / Facade.py
Created June 10, 2017 17:21
Pythonic Facade
# ChangeInterface/Facade.py
class A:
def __init__(self, x): pass
class B:
def __init__(self, x): pass
class C:
def __init__(self, x): pass
# Other classes that aren't exposed by the
# facade go here ...
@matthewjackowski
matthewjackowski / remove-translation-segmentation.rb
Created July 28, 2016 06:10
For XLIFF files - remove segmentation markup
#!/usr/bin/env ruby
require 'optparse'
require 'nokogiri'
# This will hold the options we parse
options = {}
# Build command line parser
OptionParser.new do |p|
@matthewjackowski
matthewjackowski / run-varnishd
Created April 2, 2016 20:07
Manually run a very small varnish
#!/bin/bash
set -e
exec bash -c \
"exec /usr/local/sbin/varnishd -F \
-a :80 \
-a :6443 \
-S /etc/varnish/secret \
-f /etc/varnish/default.vcl \
@matthewjackowski
matthewjackowski / appcache.vcl
Last active April 5, 2016 14:46
A basic vcl for the app
vcl 4.0;
# Default backend definition. Set this to point to your content server.
backend default {
.host = "wordpress";
.port = "80";
}
acl edgecache {
"172.31.12.197";
@matthewjackowski
matthewjackowski / edgecache.vcl
Last active June 19, 2021 01:35
A basic vcl setup for edge caching
# A basic setup for the edge
# Strips cookies and un-needed params
# Does a few redirects
# Sets forwarded proxy headers
# Custom error page
vcl 4.0;
import std;
# Backend setup
backend default {
@matthewjackowski
matthewjackowski / Message.php
Created March 30, 2016 08:53
Refactoring to Factory Function in PHP
<?php
/**
* Message object class used to control when messages are output
* @package Brilliantcoding
*/
/**
* Message Class
*/
@matthewjackowski
matthewjackowski / Dockerfile
Last active October 9, 2016 23:34
An opinionated Docker build for Txgh
FROM alpine:3.3
MAINTAINER Matthew Jackowski <matthew@transifex.com>
# Update and install all of the required packages.
# At the end, remove the apk cache
RUN apk update && \
apk upgrade && \
apk add bash curl-dev ruby-dev build-base && \
apk add ruby ruby-io-console ruby-bundler && \
rm -rf /var/cache/apk/*