Skip to content

Instantly share code, notes, and snippets.

View petri's full-sized avatar

Petri Savolainen petri

View GitHub Profile

Keybase proof

I hereby claim:

To claim this, I am signing this object:

@petri
petri / copy_backups.sh
Created October 26, 2017 11:58
scp copy cron job
sshpass -f "/etc/default/backups/remotepasswd" scp -r /var/backups/mysql/weekly/* remotebackup@myserver.com:/var/backups/remotebackup/weekly/
@petri
petri / mysql_backup.sh
Created October 26, 2017 08:52
mysql backup bash script
# list of databases to back up (all of them except information_schema, see below)
declare -a databases=("mydatabase" "mysql" "performance_schema")
# current day of week as a number from 1 to 7 starting monday
# for week of year use %V (for ISO weeks from 1 to 53)
day_num=$(date +%u)
echo backing up for day "$day_num"
# where the backups are written
cd /var/backups/mysql/daily
@petri
petri / loader.py
Created January 5, 2017 13:30 — forked from joshbode/LICENSE.md
YAML Loader with include constructor (Python 3)
import yaml
import os.path
class LoaderMeta(type):
def __new__(metacls, __name__, __bases__, __dict__):
"""Add include constructer to class."""
# register the include constructor on the class
cls = super().__new__(metacls, __name__, __bases__, __dict__)
@petri
petri / openssl-create-CA.sh
Created December 9, 2016 11:01 — forked from xynova/openssl-create-CA.sh
Create Root CA certs with openssl
# Create the Root CA private key
## ref> https://www.openssl.org/docs/manmaster/apps/genrsa.html
openssl genrsa -out myRootCA.key 4096
# Generate the Root CA certificate signed with the private key
## ref> https://www.openssl.org/docs/manmaster/apps/req.html
openssl req -x509 -new -nodes -key myRootCA.key -days 3650 -out myRootCA.pem
# Country Name (2 letter code) [AU]:AU
# State or Province Name (full name) [Some-State]:NSW
@petri
petri / gist:a2e37a432ffacffd7324750e6e128c44
Created November 28, 2016 14:22 — forked from mtigas/gist:952344
Mini tutorial for configuring client-side SSL certificates.

Client-side SSL

For excessively paranoid client authentication.

Using self-signed certificate.

Create a Certificate Authority root (which represents this server)

Organization & Common Name: Some human identifier for this server CA.

openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
@petri
petri / digicheck.py
Last active October 19, 2021 03:05
Single-file Python digital signature maker and checker
"""digicheck - create and verify signatures for files
Usage:
digicheck keys
digicheck public <keyfilename>
digicheck sign <filename> <keyfilename>
digicheck check <filename> <keyfilename> <signaturefilename>
digicheck (-h | --help)
digicheck --version
@petri
petri / gist:a4a811e08aa4753ba280
Created October 6, 2015 06:14
Example ZCML registration of Zope 3-based exception views for various exceptions raised by Zope
<browser:page
for="zope.publisher.interfaces.INotFound"
class=".view.SomeView"
name="index.html"
permission="zope.Public" />
@petri
petri / registry.xml
Created September 2, 2015 09:34
Define a Choice field for Plone portal registry, with a vocabulary to choose from and a default value
<registry>
<record name="some.record.identifier">
<field type="plone.registry.field.Choice">
<title>TheTitle</title>
<description>TheDescription</description>
<value_type type="plone.registry.field.TextLine" />
<values purge="true">
<element>choice 1</element>
<element>choice 2</element>
@petri
petri / javascript_resources.md
Last active August 29, 2015 14:12 — forked from jookyboi/javascript_resources.md
Here are a set of libraries, plugins and guides which may be useful to your Javascript coding.

Libraries

  • jQuery - The de-facto library for the modern age. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.
  • Backbone - Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
  • AngularJS - Conventions based MVC framework for HTML5 apps.
  • Underscore - Underscore is a utility-belt library for JavaScript that provides a lot of the functional programming support that you would expect in Prototype.js (or Ruby), but without extending any of the built-in JavaScript objects.
  • lawnchair - Key/value store adapter for indexdb, localStorage