Skip to content

Instantly share code, notes, and snippets.

@ramsrib
ramsrib / setup port forwarding to enable remote debugging in vagrant vm.md Getting the remote debugger to work with a java process running in a vagrant vm

Vagrant vm network config

In the Vagrantfile, do :

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
  config.vm.network :public_network
#http://googledevjp.blogspot.com/2011/04/google-code-jam-2011.html
def solve(rest, boards, counts):
if boards == []:
return rest == 0
board = boards[-1]
count = rest / board
rest = rest % board
while count >= 0:
if solve(rest, boards[0:-1], counts):
@ramsrib
ramsrib / JDBCTestDropwizardApp.java
Created April 28, 2018 00:17 — forked from asamaraw/JDBCTestDropwizardApp.java
Distributed JDBC session store for Dropwizard 1.2.2
@Override
public void run(TestDropwizardConfiguration configuration, Environment environment)
throws Exception
{
env.lifecycle().addLifeCycleListener(new AbstractLifeCycleListener()
{
@Override
public void lifeCycleStarting(LifeCycle event)
{
if (!(event instanceof Server))
@ramsrib
ramsrib / fields.py
Last active May 2, 2023 22:32 — forked from ambivalentno/svgimagefield.py
A form field to handle validation of image + svg in Django 3
import sys
import xml.etree.cElementTree as et
from io import BytesIO
from django.core.exceptions import ValidationError
from django.core.validators import (
FileExtensionValidator,
get_available_image_extensions,
)
from django.forms import ImageField as DjangoImageField
@ramsrib
ramsrib / db_backup.sh
Created June 24, 2020 02:49 — forked from bendavis78/db_backup.sh
A simple database backup / rotation / prune script
#!/bin/bash
# for use with cron, eg:
# 0 3 * * * postgres /var/db/db_backup.sh foo_db
if [[ -z "$1" ]]; then
echo "Usage: $0 <db_name> [pg_dump args]"
exit 1
fi
@ramsrib
ramsrib / allow_paste.js
Created September 7, 2020 21:27
allow paste using javascript
var allowPaste = function(e){
e.stopImmediatePropagation();
return true;
};
document.addEventListener('paste', allowPaste, true);