Skip to content

Instantly share code, notes, and snippets.

@janzikan
janzikan / add_watermark.php
Last active October 6, 2015 12:38
PHP: Add watermark to image
/**
* Create JPEG image with watermark.
* @param string $sourceImage path to source JPEG image
* @param string $watermark path to watermark in GIF format
* @param string $targetImage path to final JPEG image file
* @param int $transparency watermark transparency (0 transparent - 100 solid)
* @param int $quality quality of final image (0-100)
* @param int offsetX offset of watermark from edge in horizontal direction
* @param int $offsetY offset of watermark from edge in vertical direction
* @param string $alignX alignment of watermark in horizontal direction (left, middle, right)
@janzikan
janzikan / resize_image.php
Last active May 13, 2024 09:05
PHP: Resize image - preserve ratio of width and height
/**
* Resize image - preserve ratio of width and height.
* @param string $sourceImage path to source JPEG image
* @param string $targetImage path to final JPEG image file
* @param int $maxWidth maximum width of final image (value 0 - width is optional)
* @param int $maxHeight maximum height of final image (value 0 - height is optional)
* @param int $quality quality of final image (0-100)
* @return bool
*/
function resizeImage($sourceImage, $targetImage, $maxWidth, $maxHeight, $quality = 80)
@janzikan
janzikan / bck_mysql
Last active November 22, 2015 01:27
Backup MySQL databases
#!/bin/bash
cd [backup_folder]
today=`date +%Y-%m-%d`
filename="mysql/mysql-$today.sql"
# Backup all databases
# mysqldump -u [username] -p[password] --all-databases > $filename
@janzikan
janzikan / send_email.vbs
Created May 4, 2014 06:19
VBS: Send email
'****CONFIGURE THE FROM EMAIL ADDRESS AND PASSWORD
Const fromEmail = "username@gmail.com"
Const password = "password"
'****END OF CONFIGURATION
Dim emailObj, emailConfig
Set emailObj = CreateObject("CDO.Message")
emailObj.From = fromEmail
@janzikan
janzikan / git_stats.rb
Created November 14, 2014 15:00
Ruby: Git statistics
#!/usr/bin/env ruby
require 'optparse'
require 'optparse/date'
options = {}
parser = OptionParser.new do |opts|
opts.banner = 'Usage: git_stats.rb [options]'
@janzikan
janzikan / post-receive
Created July 16, 2015 12:13
Git: deployment with post receive hook
#!/bin/sh
unset GIT_DIR
cd /var/www/[PROJECT_DIR] && git pull origin master
@janzikan
janzikan / deploy_jekyll.rake
Created July 18, 2015 07:30
Rake: task for deployment of jekyll site
task :deploy do
command = "jekyll build && \
git push origin master && \
rsync -avz --delete _site/ [SERVER]:/var/www/[PROJECT_DIR]"
sh command
end
@janzikan
janzikan / mastodon_stats.gs
Created April 21, 2017 08:18
Google Apps Script: Mastodon stats scraping
function addData() {
var values = fetchStats();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
sheet.appendRow([currentDateTime(), values[0], values[1]]);
}
function fetchStats() {
var url = 'https://instances.mastodon.xyz/list';
var content = UrlFetchApp.fetch(url).getContentText();
@janzikan
janzikan / cachematrix.R
Created May 17, 2017 15:56
R: Generate inverse matrix witch caching
# Provide getter and setter methods for the given matrix and its
# inverse that is cached in a variable.
makeCacheMatrix <- function(x = matrix()) {
# Variable used for caching
inverse <- NULL
# Set
set <- function(y) {
x <<- y
@janzikan
janzikan / stopwatch.rb
Created November 21, 2017 13:32
Ruby: Measure execution time of your code
def stopwatch(cycles = 1)
cycles = cycles.to_i
return if cycles == 0
start = Time.now.to_f
cycles.times do
yield
end