Skip to content

Instantly share code, notes, and snippets.

View massenz's full-sized avatar
🏠
Working from home

Marco Massenzio massenz

🏠
Working from home
View GitHub Profile
@massenz
massenz / Preferences.sublime.json
Last active December 30, 2015 02:19
My finely-tuned Sublime Text 2 personal preferences (you'll have to rename it - remove the .json: I'm using it only because Github loses the syntax highlight unless the extension is recognized).
{
"auto_complete_commit_on_tab": true,
"auto_complete_selector": "source - comment",
"margin": 4,
"rulers": [80, 100],
"draw_white_space": "all",
"ensure_newline_at_eof_on_save": true,
"highlight_line": true,
@massenz
massenz / SamplePlugin.java
Last active December 27, 2015 22:59
Dynamic plugins loading using JCL (https://github.com/kamranzafar/JCL/) This is an example of a plugin that can be used with the babysitter server (https://github.com/massenz/babysitter)
package com.rivermeadow.plugins.simple;
import com.rivermeadow.babysitter.alerts.AlertPlugin;
import com.rivermeadow.babysitter.alerts.Context;
import com.rivermeadow.babysitter.alerts.Pager;
import com.rivermeadow.babysitter.model.Server;
/**
* Simplest example of a ``babysitter`` plugin, does nothing but demonstrate how to create a pluggable component.
*
@massenz
massenz / JsonSerialize.java
Last active December 7, 2021 15:57
How to convert from JSON to Inet4Address in Java - incidentally, this is the only way to create an InetAddress object for a host that is not DNS-resolvable (see in the example, how it sets both hostname and IP for an arbitrary server).
package com.alertavert.samples;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.net.Inet4Address;
/**
* Simple example to show how to create a Java @link{InetAddress} from a JSON representation.
*
* <p>Jackson will try to use the @link{Inet4Address#Inet4Address(String, int)} constructor, and it
@massenz
massenz / truncate.cpp
Created September 4, 2013 23:05
A simple implementation of the Linux `truncate` function - this is missing in Mac OSX so I decided to implement it. The binary is a Release build for Mac OSX 10.8.4; should run in most versions.
/*
* truncate.cpp
*
* Created on: Sep 4, 2013
* Author: marco
*/
#include <iostream>
#include <stdio.h>
#include <unistd.h>
@massenz
massenz / scp-pub-remote.sh
Created August 16, 2013 05:30
Having to type a thousand times the password when SSH'ing into a server commonly used is a pain: the obvious solution is to use key-based auth - this is a handy script that takes out even the effort of having to remember (not to mention) type up every time the same set of commands. You will have to enter the password to the remote host twice, bu…
#!/bin/bash
#
# Copies the PUB key to a server via SCP then adds it to
# .ssh/authorized_keys.
#
# Must be invoked like this:
# scp-pub-remote.sh user@server
declare -r REMOTE=$1
@massenz
massenz / repset_mongo.sh
Last active March 1, 2017 12:57
Creates and initializes a MongoDb replica set: allows the user to choose the number of members and the starting port number; this should also work on a remote host, but I have only tested it so far on localhost
#!/bin/bash
#
# Starts up a MongoDB replica set
#
# There is a lot of documentation about replica sets:
#
# http://docs.mongodb.org/manual/reference/replica-configuration/
# http://docs.mongodb.org/manual/administration/replica-sets/
#
# To read data from a SECONDARY, when in the client, use:
@massenz
massenz / venv.sh
Created March 28, 2013 00:00
Derived from: https://gist.github.com/codysoyland/2198913 Enables automatic activation of a virtualenv once one navigates to a directory with a .venv file whose contents are the path to a virtual environment
#!/bin/bash
# venv.sh
#
# Installation:
# Add this line to your .bashrc or .bash-profile:
#
# source /path/to/venv.sh
#
# Whenever a directory has a file called `.venv` its contents
# will be interpreted as the path to a base directory of